diff --git a/.gitignore b/.gitignore index 8f01f60bf9c979a098c81d1609cc176cab630a5c..0a116f850780386a9fe1010b22164f4c7dbf8228 100644 --- a/.gitignore +++ b/.gitignore @@ -53,6 +53,7 @@ coverage.xml .pytest_cache/ .benchmarks/ cover/ +*_report.xml # Translations *.mo @@ -130,6 +131,9 @@ venv.bak/ # VSCode project settings .vscode/ +# Visual Studio project settings +/.vs + # Rope project settings .ropeproject @@ -155,3 +159,14 @@ cython_debug/ # Sqlite *.db + +# TeraFlowSDN-generated files +tfs_runtime_env_vars.sh +tfs_runtime_env_vars*.sh +tfs_bchain_runtime_env_vars.sh +delete_local_deployment.sh +local_docker_deployment.sh +local_k8s_deployment.sh + +# Other logs +**/logs/*.log.* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 668b5ce62658a085faebfb3fd6b9296edf50a928..dac76342a9fdb48247cc171cfdf37fd6b60600ba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,9 +34,12 @@ include: - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - local: '/src/opticalcentralizedattackdetector/.gitlab-ci.yml' - local: '/src/automation/.gitlab-ci.yml' + - local: '/src/policy/.gitlab-ci.yml' - local: '/src/webui/.gitlab-ci.yml' #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_attackmitigator/.gitlab-ci.yml' #- local: '/src/slice/.gitlab-ci.yml' #- local: '/src/interdomain/.gitlab-ci.yml' + - local: '/src/pathcomp/.gitlab-ci.yml' + #- local: '/src/dlt/.gitlab-ci.yml' diff --git a/README.md b/README.md index 5670a90c9f95ce5d7290d3c9c884b3c943b4459d..0336b9f6cdb9562ccff27d73f058d6293604de6b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# TeraFlow OS SDN Controller +# TeraFlowSDN Controller [Teraflow H2020 project](https://teraflow-h2020.eu/) - Secured autonomic traffic management for a Tera of SDN Flows @@ -7,13 +7,4 @@ Branch "master" : [![pipeline status](https://gitlab.com/teraflow-h2020/controll Branch "develop" : [![pipeline status](https://gitlab.com/teraflow-h2020/controller/badges/develop/pipeline.svg)](https://gitlab.com/teraflow-h2020/controller/-/commits/develop) [![coverage report](https://gitlab.com/teraflow-h2020/controller/badges/develop/coverage.svg)](https://gitlab.com/teraflow-h2020/controller/-/commits/develop) # Installation Instructions -To install TeraFlow OS SDN Controller in your local Kubernetes deployment, we assume you deployed Kubernetes following the instructions provided in [Wiki: Installing Kubernetes on your Linux machine](https://gitlab.com/teraflow-h2020/controller/-/wikis/Installing-Kubernetes-on-your-Linux-machine). - -Then, follow the instructions in [Wiki: Deploying a TeraFlow OS test instance](https://gitlab.com/teraflow-h2020/controller/-/wikis/Deploying-a-TeraFlow-OS-test-instance) to deploy your instance of TeraFlow OS. - -# Functional Tests -A functional test has been defined to enable experimentation with the TeraFlow OS: - -__Important:__ The OpenConfigDriver, the P4Driver, and the TrandportApiDriver have to be considered as experimental. The configuration and monitoring capabilities they support are limited or partially implemented. Use them with care. - -[Demo at OFC'22 (Bootstrap devices, Manage L3VPN services, Monitor Device Endpoints)](./src/tests/ofc22) +For devel and upcoming release 2.0, we have prepared the following tutorial: [TeraFlowSDN tutorial](https://gitlab.com/teraflow-h2020/controller/-/tree/develop/tutorial). diff --git a/common_requirements.in b/common_requirements.in new file mode 100644 index 0000000000000000000000000000000000000000..772c1115d857664ed113007b89a6f7f9d9c48b99 --- /dev/null +++ b/common_requirements.in @@ -0,0 +1,9 @@ +coverage==6.3 +grpcio==1.47.* +grpcio-health-checking==1.47.* +grpcio-tools==1.47.* +prometheus-client==0.13.0 +protobuf==3.20.* +pytest==6.2.5 +pytest-benchmark==3.4.1 +python-dateutil==2.8.2 diff --git a/data/.gitignore b/data/.gitignore index 5ca4d5198fe878058d83a415a3fed261375b42a3..4507f94635b46c4364e46fefee8974870f678245 100644 --- a/data/.gitignore +++ b/data/.gitignore @@ -1,2 +1,3 @@ +!.gitkeep *.dot *.xml diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000000000000000000000000000000000000..c62778417f7e07a119c778b58fe9c44105d5b1a5 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,350 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +######################################################################################################################## +# Read deployment settings +######################################################################################################################## + +# If not already set, set the URL of your local Docker registry where the images will be uploaded to. +# Leave it blank if you do not want to use any Docker registry. +export TFS_REGISTRY_IMAGE=${TFS_REGISTRY_IMAGE:-""} +#export TFS_REGISTRY_IMAGE="http://my-container-registry.local/" + +# If not already set, set the list of components you want to build images for, and deploy. +# By default, only basic components are deployed +export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device monitoring service compute webui"} + +# If not already set, set the tag you want to use for your images. +export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"} + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +# If not already set, set additional manifest files to be applied after the deployment +export TFS_EXTRA_MANIFESTS=${TFS_EXTRA_MANIFESTS:-""} + +# If not already set, set the new Grafana admin password +export TFS_GRAFANA_PASSWORD=${TFS_GRAFANA_PASSWORD:-"admin123+"} + +# If not already set, disable skip-build flag. +# If TFS_SKIP_BUILD is "YES", the containers are not rebuilt-retagged-repushed and existing ones are used. +export TFS_SKIP_BUILD=${TFS_SKIP_BUILD:-""} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +# Constants +GITLAB_REPO_URL="registry.gitlab.com/teraflow-h2020/controller" +TMP_FOLDER="./tmp" + +# Create a tmp folder for files modified during the deployment +TMP_MANIFESTS_FOLDER="$TMP_FOLDER/manifests" +mkdir -p $TMP_MANIFESTS_FOLDER +TMP_LOGS_FOLDER="$TMP_FOLDER/logs" +mkdir -p $TMP_LOGS_FOLDER + +echo "Deleting and Creating a new namespace..." +kubectl delete namespace $TFS_K8S_NAMESPACE +kubectl create namespace $TFS_K8S_NAMESPACE +printf "\n" + +echo "Deploying components and collecting environment variables..." +ENV_VARS_SCRIPT=tfs_runtime_env_vars.sh +echo "# Environment variables for TeraFlowSDN deployment" > $ENV_VARS_SCRIPT +PYTHONPATH=$(pwd)/src +echo "export PYTHONPATH=${PYTHONPATH}" >> $ENV_VARS_SCRIPT + +for COMPONENT in $TFS_COMPONENTS; do + echo "Processing '$COMPONENT' component..." + + if [ "$TFS_SKIP_BUILD" != "YES" ]; then + echo " Building Docker image..." + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" + + if [ "$COMPONENT" == "automation" ] || [ "$COMPONENT" == "policy" ]; then + docker build -t "$COMPONENT:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" + elif [ "$COMPONENT" == "pathcomp" ]; then + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-frontend.log" + docker build -t "$COMPONENT-frontend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/frontend/Dockerfile . > "$BUILD_LOG" + + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-backend.log" + docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/backend/Dockerfile . > "$BUILD_LOG" + # next command is redundant, but helpful to keep cache updated between rebuilds + IMAGE_NAME="$COMPONENT-backend:$TFS_IMAGE_TAG-builder" + docker build -t "$IMAGE_NAME" --target builder -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" + elif [ "$COMPONENT" == "dlt" ]; then + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-connector.log" + docker build -t "$COMPONENT-connector:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/connector/Dockerfile . > "$BUILD_LOG" + + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-gateway.log" + docker build -t "$COMPONENT-gateway:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/gateway/Dockerfile . > "$BUILD_LOG" + else + docker build -t "$COMPONENT:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/Dockerfile . > "$BUILD_LOG" + fi + + if [ -n "$TFS_REGISTRY_IMAGE" ]; then + echo " Pushing Docker image to '$TFS_REGISTRY_IMAGE'..." + + if [ "$COMPONENT" == "pathcomp" ]; then + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-frontend:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-frontend.log" + docker tag "$COMPONENT-frontend:$TFS_IMAGE_TAG" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-frontend.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-backend:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-backend.log" + docker tag "$COMPONENT-backend:$TFS_IMAGE_TAG" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-backend.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + elif [ "$COMPONENT" == "dlt" ]; then + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-connector:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-connector.log" + docker tag "$COMPONENT-connector:$TFS_IMAGE_TAG" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-connector.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-gateway:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-gateway.log" + docker tag "$COMPONENT-gateway:$TFS_IMAGE_TAG" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-gateway.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + else + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}.log" + docker tag "$COMPONENT:$TFS_IMAGE_TAG" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + fi + fi + fi + + echo " Adapting '$COMPONENT' manifest file..." + MANIFEST="$TMP_MANIFESTS_FOLDER/${COMPONENT}service.yaml" + cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST" + + if [ -n "$TFS_REGISTRY_IMAGE" ]; then + # Registry is set + if [ "$COMPONENT" == "pathcomp" ]; then + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-frontend:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-frontend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-frontend:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-backend:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-backend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-backend:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + elif [ "$COMPONENT" == "dlt" ]; then + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-connector:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-connector:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-connector:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT-gateway:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-gateway:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-gateway:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + else + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$COMPONENT:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + fi + + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST" + else + # Registry is not set + if [ "$COMPONENT" == "pathcomp" ]; then + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-frontend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-frontend:${VERSION}#image: $COMPONENT-frontend:$TFS_IMAGE_TAG#g" "$MANIFEST" + + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-backend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-backend:${VERSION}#image: $COMPONENT-backend:$TFS_IMAGE_TAG#g" "$MANIFEST" + elif [ "$COMPONENT" == "dlt" ]; then + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-connector:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-connector:${VERSION}#image: $COMPONENT-connector:$TFS_IMAGE_TAG#g" "$MANIFEST" + + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-gateway:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-gateway:${VERSION}#image: $COMPONENT-gateway:$TFS_IMAGE_TAG#g" "$MANIFEST" + else + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $COMPONENT:$TFS_IMAGE_TAG#g" "$MANIFEST" + fi + + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST" + fi + + # TODO: harmonize names of the monitoring component + + echo " Deploying '$COMPONENT' component to Kubernetes..." + DEPLOY_LOG="$TMP_LOGS_FOLDER/deploy_${COMPONENT}.log" + kubectl --namespace $TFS_K8S_NAMESPACE apply -f "$MANIFEST" > "$DEPLOY_LOG" + COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") + #kubectl --namespace $TFS_K8S_NAMESPACE scale deployment --replicas=0 ${COMPONENT_OBJNAME}service >> "$DEPLOY_LOG" + #kubectl --namespace $TFS_K8S_NAMESPACE scale deployment --replicas=1 ${COMPONENT_OBJNAME}service >> "$DEPLOY_LOG" + + echo " Collecting env-vars for '$COMPONENT' component..." + + SERVICE_DATA=$(kubectl get service ${COMPONENT_OBJNAME}service --namespace $TFS_K8S_NAMESPACE -o json) + if [ -z "${SERVICE_DATA}" ]; then continue; fi + + # Env vars for service's host address + SERVICE_HOST=$(echo ${SERVICE_DATA} | jq -r '.spec.clusterIP') + if [ -z "${SERVICE_HOST}" ]; then continue; fi + ENVVAR_HOST=$(echo "${COMPONENT}service_SERVICE_HOST" | tr '[:lower:]' '[:upper:]') + echo "export ${ENVVAR_HOST}=${SERVICE_HOST}" >> $ENV_VARS_SCRIPT + + # Env vars for service's 'grpc' port (if any) + SERVICE_PORT_GRPC=$(echo ${SERVICE_DATA} | jq -r '.spec.ports[] | select(.name=="grpc") | .port') + if [ -n "${SERVICE_PORT_GRPC}" ]; then + ENVVAR_PORT_GRPC=$(echo "${COMPONENT}service_SERVICE_PORT_GRPC" | tr '[:lower:]' '[:upper:]') + echo "export ${ENVVAR_PORT_GRPC}=${SERVICE_PORT_GRPC}" >> $ENV_VARS_SCRIPT + fi + + # Env vars for service's 'http' port (if any) + SERVICE_PORT_HTTP=$(echo ${SERVICE_DATA} | jq -r '.spec.ports[] | select(.name=="http") | .port') + if [ -n "${SERVICE_PORT_HTTP}" ]; then + ENVVAR_PORT_HTTP=$(echo "${COMPONENT}service_SERVICE_PORT_HTTP" | tr '[:lower:]' '[:upper:]') + echo "export ${ENVVAR_PORT_HTTP}=${SERVICE_PORT_HTTP}" >> $ENV_VARS_SCRIPT + fi + + printf "\n" +done + +echo "Deploying extra manifests..." +for EXTRA_MANIFEST in $TFS_EXTRA_MANIFESTS; do + echo "Processing manifest '$EXTRA_MANIFEST'..." + if [[ "$EXTRA_MANIFEST" == *"servicemonitor"* ]]; then + kubectl apply -f $EXTRA_MANIFEST + else + kubectl --namespace $TFS_K8S_NAMESPACE apply -f $EXTRA_MANIFEST + fi + printf "\n" +done +printf "\n" + +# By now, leave these controls here. Some component dependencies are not well handled. + +if [[ "$TFS_COMPONENTS" == *"monitoring"* ]]; then + echo "Waiting for 'MonitoringDB' component..." + # Kubernetes does not implement --for='condition=available' for statefulsets. + # By now, we assume a single replica of monitoringdb. To be updated in future releases. + kubectl wait --namespace $TFS_K8S_NAMESPACE \ + --for=jsonpath='{.status.readyReplicas}'=1 --timeout=300s statefulset/monitoringdb + printf "\n" +fi + +for COMPONENT in $TFS_COMPONENTS; do + echo "Waiting for '$COMPONENT' component..." + COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") + kubectl wait --namespace $TFS_K8S_NAMESPACE \ + --for='condition=available' --timeout=300s deployment/${COMPONENT_OBJNAME}service + printf "\n" +done + +if [[ "$TFS_COMPONENTS" == *"webui"* ]] && [[ "$TFS_COMPONENTS" == *"monitoring"* ]]; then + echo "Configuring WebUI DataStores and Dashboards..." + sleep 3 + + # INFLUXDB_HOST="monitoringservice" + # INFLUXDB_PORT=$(kubectl --namespace $TFS_K8S_NAMESPACE get service/monitoringservice -o jsonpath='{.spec.ports[?(@.name=="influxdb")].port}') + # INFLUXDB_URL="http://${INFLUXDB_HOST}:${INFLUXDB_PORT}" + # INFLUXDB_USER=$(kubectl --namespace $TFS_K8S_NAMESPACE get secrets influxdb-secrets -o jsonpath='{.data.INFLUXDB_ADMIN_USER}' | base64 --decode) + # INFLUXDB_PASSWORD=$(kubectl --namespace $TFS_K8S_NAMESPACE get secrets influxdb-secrets -o jsonpath='{.data.INFLUXDB_ADMIN_PASSWORD}' | base64 --decode) + # INFLUXDB_DATABASE=$(kubectl --namespace $TFS_K8S_NAMESPACE get secrets influxdb-secrets -o jsonpath='{.data.INFLUXDB_DB}' | base64 --decode) + + # Exposed through the ingress controller "tfs-ingress" + GRAFANA_HOSTNAME="127.0.0.1" + GRAFANA_PORT="80" + GRAFANA_BASEURL="/grafana" + + # Default Grafana credentials + GRAFANA_USERNAME="admin" + GRAFANA_PASSWORD="admin" + + # Default Grafana API URL + GRAFANA_URL_DEFAULT="http://${GRAFANA_USERNAME}:${GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:${GRAFANA_PORT}${GRAFANA_BASEURL}" + + # Updated Grafana API URL + GRAFANA_URL_UPDATED="http://${GRAFANA_USERNAME}:${TFS_GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:${GRAFANA_PORT}${GRAFANA_BASEURL}" + + echo "export GRAFANA_URL_UPDATED=${GRAFANA_URL_UPDATED}" >> $ENV_VARS_SCRIPT + + echo "Connecting to grafana at URL: ${GRAFANA_URL_DEFAULT}..." + + # Configure Grafana Admin Password + # Ref: https://grafana.com/docs/grafana/latest/http_api/user/#change-password + curl -X PUT -H "Content-Type: application/json" -d '{ + "oldPassword": "'${GRAFANA_PASSWORD}'", + "newPassword": "'${TFS_GRAFANA_PASSWORD}'", + "confirmNew" : "'${TFS_GRAFANA_PASSWORD}'" + }' ${GRAFANA_URL_DEFAULT}/api/user/password + echo + + # Ref: https://grafana.com/docs/grafana/latest/http_api/data_source/ + # TODO: replace user, password and database by variables to be saved + echo "Creating a datasource..." + curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ + "access" : "proxy", + "type" : "postgres", + "name" : "monitoringdb", + "url" : "monitoringservice:8812", + "database" : "monitoring", + "user" : "admin", + "basicAuth": false, + "isDefault": true, + "jsonData" : { + "sslmode" : "disable", + "postgresVersion" : 1100, + "maxOpenConns" : 0, + "maxIdleConns" : 2, + "connMaxLifetime" : 14400, + "tlsAuth" : false, + "tlsAuthWithCACert" : false, + "timescaledb" : false, + "tlsConfigurationMethod": "file-path", + "tlsSkipVerify" : true + }, + "secureJsonData": { + "password": "quest" + } + }' ${GRAFANA_URL_UPDATED}/api/datasources + echo + + # Create Monitoring Dashboard + # Ref: https://grafana.com/docs/grafana/latest/http_api/dashboard/ + curl -X POST -H "Content-Type: application/json" \ + -d '@src/webui/grafana_dashboard_psql.json' \ + ${GRAFANA_URL_UPDATED}/api/dashboards/db + echo + + DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tf-l3-monit" + DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') + curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} + + printf "\n\n" +fi + +./show_deploy.sh + +echo "Done!" diff --git a/deploy_component.sh b/deploy_component.sh new file mode 100755 index 0000000000000000000000000000000000000000..a4cf6184c83ef026562abe8e084430bba3ead9c8 --- /dev/null +++ b/deploy_component.sh @@ -0,0 +1,186 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +######################################################################################################################## +# Read deployment settings +######################################################################################################################## + +# If not already set, set the URL of your local Docker registry where the images will be uploaded to. +# Leave it blank if you do not want to use any Docker registry. +export TFS_REGISTRY_IMAGE=${TFS_REGISTRY_IMAGE:-""} +#export TFS_REGISTRY_IMAGE="http://my-container-registry.local/" + +TFS_COMPONENTS=$1 + +# If not already set, set the tag you want to use for your images. +export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"} + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +# If not already set, set additional manifest files to be applied after the deployment +export TFS_EXTRA_MANIFESTS=${TFS_EXTRA_MANIFESTS:-""} + +# If not already set, set the neew Grafana admin password +export TFS_GRAFANA_PASSWORD=${TFS_GRAFANA_PASSWORD:-"admin123+"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +# Constants +GITLAB_REPO_URL="registry.gitlab.com/teraflow-h2020/controller" +TMP_FOLDER="./tmp" + +# Create a tmp folder for files modified during the deployment +TMP_MANIFESTS_FOLDER="$TMP_FOLDER/manifests" +TMP_LOGS_FOLDER="$TMP_FOLDER/logs" + +echo "Deploying component and collecting environment variables..." +ENV_VARS_SCRIPT=tfs_runtime_env_vars.sh + +for COMPONENT in $TFS_COMPONENTS; do + echo "Processing '$COMPONENT' component..." + IMAGE_NAME="$COMPONENT:$TFS_IMAGE_TAG" + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGE/$IMAGE_NAME" | sed 's,//,/,g' | sed 's,http:/,,g') + + echo " Building Docker image..." + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" + + if [ "$COMPONENT" == "automation" ] || [ "$COMPONENT" == "policy" ]; then + docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" + elif [ "$COMPONENT" == "pathcomp" ]; then + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-frontend.log" + docker build -t "$COMPONENT-frontend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/frontend/Dockerfile . >> "$BUILD_LOG" + + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-backend.log" + docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" + # next command is redundant, but helpful to keep cache updated between rebuilds + docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG-builder" --target builder -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" + else + docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile . > "$BUILD_LOG" + fi + + if [ -n "$TFS_REGISTRY_IMAGE" ]; then + echo " Pushing Docker image to '$TFS_REGISTRY_IMAGE'..." + + if [ "$COMPONENT" == "pathcomp" ]; then + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-frontend.log" + docker tag "$COMPONENT-frontend:$TFS_IMAGE_TAG" "$IMAGE_URL-frontend" > "$TAG_LOG" + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-backend.log" + docker tag "$COMPONENT-backend:$TFS_IMAGE_TAG" "$IMAGE_URL-backend" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-frontend.log" + docker push "$IMAGE_URL-frontend" > "$PUSH_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-backend.log" + docker push "$IMAGE_URL-backend" > "$PUSH_LOG" + else + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}.log" + docker tag "$IMAGE_NAME" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + fi + fi + + echo " Adapting '$COMPONENT' manifest file..." + MANIFEST="$TMP_MANIFESTS_FOLDER/${COMPONENT}service.yaml" + cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST" + + if [ -n "$TFS_REGISTRY_IMAGE" ]; then + # Registry is set + if [ "$COMPONENT" == "pathcomp" ]; then + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-frontend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-frontend:${VERSION}#image: $IMAGE_URL-frontend#g" "$MANIFEST" + + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-backend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-backend:${VERSION}#image: $IMAGE_URL-backend#g" "$MANIFEST" + + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST" + else + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST" + fi + else + # Registry is not set + if [ "$COMPONENT" == "pathcomp" ]; then + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-frontend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-frontend:${VERSION}#image: $IMAGE_NAME-frontend#g" "$MANIFEST" + + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-backend:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-backend:${VERSION}#image: $IMAGE_NAME-backend#g" "$MANIFEST" + + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST" + else + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_NAME#g" "$MANIFEST" + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST" + fi + fi + + # TODO: harmonize names of the monitoring component + + echo " Deploying '$COMPONENT' component to Kubernetes..." + DEPLOY_LOG="$TMP_LOGS_FOLDER/deploy_${COMPONENT}.log" + kubectl --namespace $TFS_K8S_NAMESPACE delete -f "$MANIFEST" > "$DEPLOY_LOG" + kubectl --namespace $TFS_K8S_NAMESPACE apply -f "$MANIFEST" > "$DEPLOY_LOG" + COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") + kubectl --namespace $TFS_K8S_NAMESPACE scale deployment --replicas=0 ${COMPONENT_OBJNAME}service >> "$DEPLOY_LOG" + kubectl --namespace $TFS_K8S_NAMESPACE scale deployment --replicas=1 ${COMPONENT_OBJNAME}service >> "$DEPLOY_LOG" + + echo " Collecting env-vars for '$COMPONENT' component..." + + SERVICE_DATA=$(kubectl get service ${COMPONENT}service --namespace $TFS_K8S_NAMESPACE -o json) + if [ -z "${SERVICE_DATA}" ]; then continue; fi + + # Env vars for service's host address + SERVICE_HOST=$(echo ${SERVICE_DATA} | jq -r '.spec.clusterIP') + if [ -z "${SERVICE_HOST}" ]; then continue; fi + # TODO: remove previous value from file + ENVVAR_HOST=$(echo "${COMPONENT}service_SERVICE_HOST" | tr '[:lower:]' '[:upper:]') + echo "export ${ENVVAR_HOST}=${SERVICE_HOST}" >> $ENV_VARS_SCRIPT + + # Env vars for service's 'grpc' port (if any) + SERVICE_PORT_GRPC=$(echo ${SERVICE_DATA} | jq -r '.spec.ports[] | select(.name=="grpc") | .port') + if [ -n "${SERVICE_PORT_GRPC}" ]; then + ENVVAR_PORT_GRPC=$(echo "${COMPONENT}service_SERVICE_PORT_GRPC" | tr '[:lower:]' '[:upper:]') + echo "export ${ENVVAR_PORT_GRPC}=${SERVICE_PORT_GRPC}" >> $ENV_VARS_SCRIPT + fi + + # Env vars for service's 'http' port (if any) + SERVICE_PORT_HTTP=$(echo ${SERVICE_DATA} | jq -r '.spec.ports[] | select(.name=="http") | .port') + if [ -n "${SERVICE_PORT_HTTP}" ]; then + ENVVAR_PORT_HTTP=$(echo "${COMPONENT}service_SERVICE_PORT_HTTP" | tr '[:lower:]' '[:upper:]') + echo "export ${ENVVAR_PORT_HTTP}=${SERVICE_PORT_HTTP}" >> $ENV_VARS_SCRIPT + fi + + printf "\n" +done + +# By now, leave this control here. Some component dependencies are not well handled +for COMPONENT in $TFS_COMPONENTS; do + echo "Waiting for '$COMPONENT' component..." + kubectl wait --namespace $TFS_K8S_NAMESPACE \ + --for='condition=available' --timeout=300s deployment/${COMPONENT}service + printf "\n" +done + +./show_deploy.sh + +echo "Done!" diff --git a/deploy_mock_blockchain.sh b/deploy_mock_blockchain.sh new file mode 100755 index 0000000000000000000000000000000000000000..066820fc0f9a1005823dd124798e4de122f206f8 --- /dev/null +++ b/deploy_mock_blockchain.sh @@ -0,0 +1,121 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +######################################################################################################################## +# Read deployment settings +######################################################################################################################## + +# Set the URL of your local Docker registry where the images will be uploaded to. +REGISTRY_IMAGE="http://localhost:32000/tfs/" + +# Set the tag you want to use for your images. +IMAGE_TAG="dev" + +# Set the name of the Kubernetes namespace to deploy to. +K8S_NAMESPACE="tfs-bchain" + +COMPONENT="mock_blockchain" + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +# Constants +GITLAB_REPO_URL="registry.gitlab.com/teraflow-h2020/controller" +TMP_FOLDER="./tmp" + +# Create a tmp folder for files modified during the deployment +TMP_MANIFESTS_FOLDER="$TMP_FOLDER/manifests" +mkdir -p $TMP_MANIFESTS_FOLDER +TMP_LOGS_FOLDER="$TMP_FOLDER/logs" +mkdir -p $TMP_LOGS_FOLDER + +echo "Deleting and Creating a new namespace..." +kubectl delete namespace $K8S_NAMESPACE +kubectl create namespace $K8S_NAMESPACE +printf "\n" + +echo "Deploying components and collecting environment variables..." +ENV_VARS_SCRIPT=tfs_bchain_runtime_env_vars.sh +echo "# Environment variables for TeraFlow Mock-Blockchain deployment" > $ENV_VARS_SCRIPT +PYTHONPATH=$(pwd)/src + +echo "Processing '$COMPONENT' component..." +IMAGE_NAME="$COMPONENT:$IMAGE_TAG" +IMAGE_URL=$(echo "$REGISTRY_IMAGE/$IMAGE_NAME" | sed 's,//,/,g' | sed 's,http:/,,g') + +echo " Building Docker image..." +BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" +docker build -t "$IMAGE_NAME" -f ./src/dlt/mock_blockchain/Dockerfile . > "$BUILD_LOG" + +if [ -n "$REGISTRY_IMAGE" ]; then + echo " Pushing Docker image to '$REGISTRY_IMAGE'..." + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}.log" + docker tag "$IMAGE_NAME" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" +fi + +echo " Adapting '$COMPONENT' manifest file..." +MANIFEST="$TMP_MANIFESTS_FOLDER/${COMPONENT}.yaml" +cp ./manifests/"${COMPONENT}".yaml "$MANIFEST" + +if [ -n "$REGISTRY_IMAGE" ]; then + # Registry is set + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST" +else + # Registry is not set + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3) + sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_NAME#g" "$MANIFEST" + sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST" +fi + +echo " Deploying '$COMPONENT' component to Kubernetes..." +DEPLOY_LOG="$TMP_LOGS_FOLDER/deploy_${COMPONENT}.log" +kubectl --namespace $K8S_NAMESPACE apply -f "$MANIFEST" > "$DEPLOY_LOG" +COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") +kubectl --namespace $K8S_NAMESPACE scale deployment --replicas=0 ${COMPONENT_OBJNAME} >> "$DEPLOY_LOG" +kubectl --namespace $K8S_NAMESPACE scale deployment --replicas=1 ${COMPONENT_OBJNAME} >> "$DEPLOY_LOG" + +echo " Collecting env-vars for '$COMPONENT' component..." +SERVICE_DATA=$(kubectl get service ${COMPONENT_OBJNAME} --namespace $K8S_NAMESPACE -o json) + +# Env vars for service's host address +SERVICE_HOST=$(echo ${SERVICE_DATA} | jq -r '.spec.clusterIP') +ENVVAR_HOST=$(echo "${COMPONENT}_SERVICE_HOST" | tr '[:lower:]' '[:upper:]') +echo "export ${ENVVAR_HOST}=${SERVICE_HOST}" >> $ENV_VARS_SCRIPT + +# Env vars for service's 'grpc' port +SERVICE_PORT_GRPC=$(echo ${SERVICE_DATA} | jq -r '.spec.ports[] | select(.name=="grpc") | .port') +ENVVAR_PORT_GRPC=$(echo "${COMPONENT}_SERVICE_PORT_GRPC" | tr '[:lower:]' '[:upper:]') +echo "export ${ENVVAR_PORT_GRPC}=${SERVICE_PORT_GRPC}" >> $ENV_VARS_SCRIPT + +printf "\n" + +echo "Waiting for '$COMPONENT' component..." +kubectl wait --namespace $K8S_NAMESPACE \ + --for='condition=available' --timeout=300s deployment/${COMPONENT_OBJNAME} +printf "\n" + +echo "Deployment Resources:" +kubectl --namespace $K8S_NAMESPACE get all +printf "\n" + +echo "Done!" diff --git a/ecoc22 b/ecoc22 new file mode 120000 index 0000000000000000000000000000000000000000..3c61895e5ac62d0b38ce058ba5ff042442542320 --- /dev/null +++ b/ecoc22 @@ -0,0 +1 @@ +src/tests/ecoc22/ \ No newline at end of file diff --git a/expose_ingress_grpc.sh b/expose_ingress_grpc.sh new file mode 100755 index 0000000000000000000000000000000000000000..e2667247afdf72cc2f48317ace24275408eb11aa --- /dev/null +++ b/expose_ingress_grpc.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +# If not already set, set the list of components you want to build images for, and deploy. +export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device automation policy service compute monitoring dbscanserving opticalattackmitigator opticalcentralizedattackdetector webui"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +echo "Exposing GRPC ports for components..." +for COMPONENT in $TFS_COMPONENTS; do + echo "Processing '$COMPONENT' component..." + + SERVICE_GRPC_PORT=$(kubectl get service ${COMPONENT}service --namespace $TFS_K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.name=="grpc")].port}') + echo " '$COMPONENT' service port: $SERVICE_GRPC_PORT" + if [ -z "${SERVICE_GRPC_PORT}" ]; then + printf "\n" + continue; + fi + + COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") + PATCH='{"data": {"'${SERVICE_GRPC_PORT}'": "'$TFS_K8S_NAMESPACE'/'${COMPONENT_OBJNAME}service':'${SERVICE_GRPC_PORT}'"}}' + #echo "PATCH: ${PATCH}" + kubectl patch configmap nginx-ingress-tcp-microk8s-conf --namespace ingress --patch "${PATCH}" + + PORT_MAP='{"containerPort": '${SERVICE_GRPC_PORT}', "hostPort": '${SERVICE_GRPC_PORT}'}' + CONTAINER='{"name": "nginx-ingress-microk8s", "ports": ['${PORT_MAP}']}' + PATCH='{"spec": {"template": {"spec": {"containers": ['${CONTAINER}']}}}}' + #echo "PATCH: ${PATCH}" + kubectl patch daemonset nginx-ingress-microk8s-controller --namespace ingress --patch "${PATCH}" + + printf "\n" +done + +echo "Done!" diff --git a/hackfest/commands.txt b/hackfest/commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..31558364d74aa1fec729c80c9fab50aa7e0c2313 --- /dev/null +++ b/hackfest/commands.txt @@ -0,0 +1,304 @@ +This is a quick guide for having fast access to the commands. + +################################################################################ +# Prepare environment +################################################################################ + +# (done) Create PyEnv virtual environment +cd ~/tfs-ctrl +pyenv virtualenv 3.9.13 tfs +pyenv local 3.9.13/envs/tfs +./install_requirements.sh + +# (done) Install Python dependencies +pip install pyang +pip install git+https://github.com/robshakir/pyangbind.git +pip install netconf + +# (done) Install PlantUML +# (done) Install dependencies to run PlantUML +sudo apt-get install -y graphviz openjdk-11-jre + +# (done) Download plantuml.7997.jar from http://sourceforge.net/projects/plantuml/files/plantuml.7997.jar/download +cp ~/Downloads/plantuml.7997.jar ~/tfs-ctrl/hackfest/yang/plantuml.jar + +# (done) Install WireShark +# When asked "allow non-root users to capture?" answer "yes" +sudo apt-get install -y wireshark +# Add current user to wireshark group to allow capturing as non-root (requires log-out & log-in, or reboot) +sudo usermod -a -G wireshark $USER + + + +################################################################################ +# YANG +################################################################################ + +## GUIDED + +# Convert Topology YANG to Text-based tree +pyang -f tree topology.yang +pyang -f tree topology.yang -o topology.tree + +# Report a sample message following Topology YANG data model +pyang -f sample-xml-skeleton --sample-xml-skeleton-annotations topology.yang +pyang -f sample-xml-skeleton --sample-xml-skeleton-annotations topology.yang -o topology-sample.xml + +# Convert Topology YANG to UML +pyang -f uml topology.yang -o topology.uml +java -jar plantuml.jar topology.uml + +# Convert Topology YANG to Python bindings +export PYBINDPLUGIN=`/usr/bin/env python -c \ +'import pyangbind; import os; print ("{}/plugin".format(os.path.dirname(pyangbind.__file__)))'` +echo $PYBINDPLUGIN +pyang -f pybind topology.yang --plugindir $PYBINDPLUGIN -o binding_topology.py + +# Test creation of JSON-/XML-encoded Topology messages +python topology.py + +## EXERCISE + +# Convert Connection YANG to Text-based tree +pyang -f tree connection.yang + +# Report a sample message following Connection YANG data model +pyang -f sample-xml-skeleton --sample-xml-skeleton-annotations connection.yang + +# Convert Connection YANG to UML +pyang -f uml connection.yang -o connection.uml +java -jar plantuml.jar connection.uml + +# Convert Connection YANG to Python bindings +export PYBINDPLUGIN=`/usr/bin/env python -c \ + 'import pyangbind; import os; print ("{}/plugin".format(os.path.dirname(pyangbind.__file__)))'` +pyang -f pybind connection.yang --plugindir $PYBINDPLUGIN -o binding_connection.py + +# Test creation of JSON-/XML-encoded Connection messages +python connection.py + + + +################################################################################ +# NETCONF +################################################################################ + +## GUIDED + +Run server: +cd ~/tfs-ctrl/hackfest/netconf +python3 server_topology.py + +In another window, run client: +cd ~/tfs-ctrl/hackfest/netconf +python3 client_topology.py + +## EXERCISE + +Run server: +cd ~/tfs-ctrl/hackfest/netconf/connection +python3 server_topology_connection.py + +In another window, run client: +cd ~/tfs-ctrl/hackfest/netconf/connection +python3 client_connection.py + + + +################################################################################ +# TAPI +################################################################################ + +## GUIDED + +# (done) Install dependencies +cd ~/tfs-ctrl/hackfest/tapi/server +pip install -r requirements.txt + +# (done) Build & Implement methods for the TAPI v2.1.3 server: +cd ~/tfs-ctrl/hackfest/tapi +wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.35/swagger-codegen-cli-3.0.35.jar +wget -O tapi-connectivity.yaml https://github.com/OpenNetworkingFoundation/TAPI/raw/v2.1.3/OAS/tapi-connectivity%402020-06-16.yaml +java -jar swagger-codegen-cli-3.0.35.jar generate --input-spec tapi-connectivity.yaml \ + --lang python-flask --output server --disable-examples --config codegen-config.json +pip install connexion==2.14.1 +cd ~/tfs-ctrl/hackfest/tapi/server +# Rename methods in "tapi_server/controllers/tapi_path_computation_controller.py" as follows: +# operations_tapi_path_computationcompute_p2_p_path_post => operations_tapi_path_computationcompute_p_2_p_path_post +# operations_tapi_path_computationdelete_p2_p_path_post => operations_tapi_path_computationdelete_p_2_p_path_post +# operations_tapi_path_computationoptimize_p2_ppath_post => operations_tapi_path_computationoptimize_p_2_ppath_post +# Implement database based on Reference Implementation [Ref-3] in tapi/server/Acknowledgements.txt + +# Run the TAPI server: +cd ~/tfs-ctrl/hackfest/tapi/server +python3 -m tapi_server 8080 database/mini-ols-context.json + +# Run TAPI client using cURL (In a new window): +$ cd ~/tfs-ctrl/hackfest/tapi/client + +# Interrogate Context and SIPs: +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/service-interface-point=node-4-port-16-output/ + +# Interrogate Topology, Nodes and Links: +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-topology:topology-context/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-topology:topology-context/topology=ols-topo/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-topology:topology-context/topology=ols-topo/node=node-4/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-topology:topology-context/topology=ols-topo/node=node-4/owned-node-edge-point=node-4-port-13/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-topology:topology-context/topology=ols-topo/node=node-4/owned-node-edge-point=node-4-port-13/tapi-connectivity:cep-list/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-topology:topology-context/topology=ols-topo/link=link-4:2-2:4/ + +# Create ConnectivityServices and Connections: +curl -X POST -H "Content-Type: application/json" \ + http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service/ \ + -d @/home/tfs/tfs-ctrl/hackfest/tapi/client/cs1.json + +# Interrogate ConnectivityServices and Connections: +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service=cs1/ +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connection=cs1/ + +# Delete ConnectivityServices and Connections: +curl -X DELETE -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service=cs1/ + + +## EXERCISE +# Exercise: retrieve and draw the topology +# solution in folder tapi_app + +cd ~/tfs-ctrl/hackfest/tapi/tapi_app +python3 tapi_app.py + + + +################################################################################ +# Deploy TeraFlowSDN +################################################################################ + +# Check status of Kubernetes +microk8s.status --wait-ready + +# Check all resources in Kubernetes +microk8s.kubectl get all --all-namespaces + +# Deploy TeraFlowSDN +cd ~/tfs-ctrl +source my_deploy.sh +./deploy.sh + +# Show status of your deployment +(if new terminal) cd ~/tfs-ctrl && source my_deploy.sh +./show_deploy.sh + +# Show logs of a specific component +(if new terminal) cd ~/tfs-ctrl && source my_deploy.sh +scripts/show_logs_device.sh + + + +################################################################################ +# Programmable L3 routers +################################################################################ + +# (done) Build a Netconf server supporting basic OpenConfig data model + +# Start the Netconf/OpenConfig server +cd ~/tfs-ctrl/hackfest/netconf-oc +python3 server_openconfig.py 8300 + + + +################################################################################ +# Service requests +################################################################################ + +## L3VPN service from JSON descriptors + +# (in a new terminal) Start OLS TAPI server: +cd ~/tfs-ctrl/hackfest/tapi/server +python3 -m tapi_server 8080 database/mini-ols-context.json + +# (in a new terminal) Start the Netconf/OpenConfig server for R1 +cd ~/tfs-ctrl/hackfest/netconf-oc +python3 server_openconfig.py 8301 + +# (in a new terminal) Start the Netconf/OpenConfig server for R2 +cd ~/tfs-ctrl/hackfest/netconf-oc +python3 server_openconfig.py 8302 + +# (in a new terminal) Start the Netconf/OpenConfig server for R3 +cd ~/tfs-ctrl/hackfest/netconf-oc +python3 server_openconfig.py 8303 + +# (in a new terminal) Start the Netconf/OpenConfig server for R4 +cd ~/tfs-ctrl/hackfest/netconf-oc +python3 server_openconfig.py 8304 + + + +############ +# Mock OSM +############ + +$ cd ~/tfs-ctrl/hackfest/ +$ python -m mock_osm +Welcome to the MockOSM shell. +Type help or ? to list commands. + +(mock-osm) create +Service b8c99e2c-39d8-424d-9833-554634269555 created +# Service should be created in TFS. Check "Slice" and "Service" pages on WebUI. +# Check configuration rules in "Devices" + +(mock-osm) status +response.status_code=200 +Status of Service b8c99e2c-39d8-424d-9833-554634269555 is {'sdn_status': 'ACTIVE'} + +(mock-osm) delete +Service b8c99e2c-39d8-424d-9833-554634269555 deleted +# Service should be removed from TFS. Check "Slice" and "Service" pages on WebUI. +# Check configuration rules in "Devices" + +(mock-osm) exit +Bye! + +############ +# gNMI +############ + +## Download and install the latest release +$ sudo bash -c "$(curl -sL https://get.containerlab.dev)“ + +## Deploy proposed two SR node scenario +$ cd tfs-ctrl/hackfest/gnmi +$ sudo containerlab deploy -t srlinux.clab.yml + +## Access SR Bash +$ docker exec -it clab-srlinux-srl1 bash + +## Acess SR CLI +$ docker exec -it clab-srlinux-srl1 sr_cli + +## Destroy scenario +$ sudo containerlab destroy --topo srlinux.clab.yml + +## Install gNMIc +$ sudo bash -c "$(curl -sL https://get-gnmic.kmrd.dev)" + +## gNMI Capabilities request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify capabilities + +## gNMI Get request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path /system/name/host-name +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path /interface[name=mgmt0] + +## gNMI Set request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --update-path /system/name/host-name --update-value slr11 + +(we check the changed value) +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path /system/name/host-name + +## Subscribe request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf subscribe --path /interface[name=mgmt0]/statistics +(In another terminal, you can generate traffic) +$ssh admin@clab-srlinux-srl1 diff --git a/src/common/database/api/context/slice/__init__.py b/hackfest/gnmi/.gitkeep similarity index 100% rename from src/common/database/api/context/slice/__init__.py rename to hackfest/gnmi/.gitkeep diff --git a/hackfest/gnmi/sonic.clab.yml b/hackfest/gnmi/sonic.clab.yml new file mode 100644 index 0000000000000000000000000000000000000000..dc4f743213406531fab9ac5988342c2b213d88ad --- /dev/null +++ b/hackfest/gnmi/sonic.clab.yml @@ -0,0 +1,15 @@ +# file: sonic.clab.yml +name: sonic-vs + +topology: + nodes: + srl1: + kind: sonic-vs + image: docker-sonic-vs + srl2: + kind: sonic-vs + image: docker-sonic-vs + + links: + - endpoints: ["srl1:e1-1", "srl2:e1-1"] + diff --git a/hackfest/grpc/commands.txt b/hackfest/grpc/commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..e0148b180c03841098781563976467d980abc464 --- /dev/null +++ b/hackfest/grpc/commands.txt @@ -0,0 +1,36 @@ +== GRPC +$ cd ~/tfs-ctrl/hackfest/grpc + +COMPILE connection.proto: +$ python -m grpc_tools.protoc -I=. --python_out=connection/ connection.proto + +RUN CREATE AND LIST CONNECTION +$ cd ~/tfs-ctrl/hackfest/grpc/connection +$ python3 create.py connection.txt +$ python3 list.py connection.txt + +COMPILE connectionService.proto +$ python -m grpc_tools.protoc -I=. --python_out=connectionService/ --grpc_python_out=connectionService/ connectionService.proto + +RUN SERVER +$ cd ~/tfs-ctrl/hackfest/grpc/connectionService +$ python3 connectionService_server.py + +RUN CLIENT (in another window) +$ cd ~/tfs-ctrl/hackfest/grpc/connectionService +$ python3 connectionService_client.py + +### EXERCISE +COMPILE connectionServiceWithNotif.proto +$ cd ~/tfs-ctrl/hackfest/grpc/ +$ python -m grpc_tools.protoc -I=. --python_out=connectionServiceWithNotif/ --grpc_python_out=connectionServiceWithNotif/ connectionServiceWithNotif.proto + +RUN SERVER +$ cd ~/tfs-ctrl/hackfest/grpc/connectionServiceWithNotif +$ python3 connectionServiceWithNotif_server.py + +RUN CLIENT (in another window) +$ cd ~/tfs-ctrl/hackfest/grpc/connectionServiceWithNotif +$ python3 connectionServiceWithNotif_client.py + + diff --git a/hackfest/grpc/connection.proto b/hackfest/grpc/connection.proto new file mode 100644 index 0000000000000000000000000000000000000000..42661cd5bcc0218d5daf4ffad31b22d6234fcc33 --- /dev/null +++ b/hackfest/grpc/connection.proto @@ -0,0 +1,24 @@ +//Example of connection +syntax = "proto3"; +package connection; + +message Connection { + string connectionId = 1; + string sourceNode = 2; + string targetNode = 3; + string sourcePort = 4; + string targetPort = 5; + uint32 bandwidth = 6; + + enum LayerProtocolName { + ETH = 0; + OPTICAL = 1; + } + + LayerProtocolName layerProtocolName = 7; + +} + +message ConnectionList { + repeated Connection connection = 1; +} diff --git a/hackfest/grpc/connection/connection_pb2.py b/hackfest/grpc/connection/connection_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..e66b665b22303fbf582de9ec378591fae4e09659 --- /dev/null +++ b/hackfest/grpc/connection/connection_pb2.py @@ -0,0 +1,176 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: connection.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='connection.proto', + package='connection', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n\x10\x63onnection.proto\x12\nconnection\"\xf5\x01\n\nConnection\x12\x14\n\x0c\x63onnectionId\x18\x01 \x01(\t\x12\x12\n\nsourceNode\x18\x02 \x01(\t\x12\x12\n\ntargetNode\x18\x03 \x01(\t\x12\x12\n\nsourcePort\x18\x04 \x01(\t\x12\x12\n\ntargetPort\x18\x05 \x01(\t\x12\x11\n\tbandwidth\x18\x06 \x01(\r\x12\x43\n\x11layerProtocolName\x18\x07 \x01(\x0e\x32(.connection.Connection.LayerProtocolName\")\n\x11LayerProtocolName\x12\x07\n\x03\x45TH\x10\x00\x12\x0b\n\x07OPTICAL\x10\x01\"<\n\x0e\x43onnectionList\x12*\n\nconnection\x18\x01 \x03(\x0b\x32\x16.connection.Connectionb\x06proto3') +) + + + +_CONNECTION_LAYERPROTOCOLNAME = _descriptor.EnumDescriptor( + name='LayerProtocolName', + full_name='connection.Connection.LayerProtocolName', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='ETH', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OPTICAL', index=1, number=1, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=237, + serialized_end=278, +) +_sym_db.RegisterEnumDescriptor(_CONNECTION_LAYERPROTOCOLNAME) + + +_CONNECTION = _descriptor.Descriptor( + name='Connection', + full_name='connection.Connection', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='connectionId', full_name='connection.Connection.connectionId', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sourceNode', full_name='connection.Connection.sourceNode', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetNode', full_name='connection.Connection.targetNode', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sourcePort', full_name='connection.Connection.sourcePort', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetPort', full_name='connection.Connection.targetPort', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bandwidth', full_name='connection.Connection.bandwidth', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='layerProtocolName', full_name='connection.Connection.layerProtocolName', index=6, + number=7, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CONNECTION_LAYERPROTOCOLNAME, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=33, + serialized_end=278, +) + + +_CONNECTIONLIST = _descriptor.Descriptor( + name='ConnectionList', + full_name='connection.ConnectionList', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='connection', full_name='connection.ConnectionList.connection', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=280, + serialized_end=340, +) + +_CONNECTION.fields_by_name['layerProtocolName'].enum_type = _CONNECTION_LAYERPROTOCOLNAME +_CONNECTION_LAYERPROTOCOLNAME.containing_type = _CONNECTION +_CONNECTIONLIST.fields_by_name['connection'].message_type = _CONNECTION +DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION +DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), dict( + DESCRIPTOR = _CONNECTION, + __module__ = 'connection_pb2' + # @@protoc_insertion_point(class_scope:connection.Connection) + )) +_sym_db.RegisterMessage(Connection) + +ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), dict( + DESCRIPTOR = _CONNECTIONLIST, + __module__ = 'connection_pb2' + # @@protoc_insertion_point(class_scope:connection.ConnectionList) + )) +_sym_db.RegisterMessage(ConnectionList) + + +# @@protoc_insertion_point(module_scope) diff --git a/hackfest/grpc/connection/create.py b/hackfest/grpc/connection/create.py new file mode 100755 index 0000000000000000000000000000000000000000..df5df77d631f25e0ce5368d537f4cb0f99297669 --- /dev/null +++ b/hackfest/grpc/connection/create.py @@ -0,0 +1,48 @@ +#! /usr/bin/env python3 +import connection_pb2 +import sys + +try: + raw_input # Python 2 +except NameError: + raw_input = input # Python 3 + + +# This function fills in a Connection message based on user input. +def PromptForConnection(connection): + connection.connectionId = raw_input("Enter connectionID: ") + connection.sourceNode = raw_input("Enter sourceNode: ") + connection.targetNode = raw_input("Enter targetNode: ") + connection.sourcePort = raw_input("Enter sourcePort: ") + connection.targetPort = raw_input("Enter targetPort: ") + connection.bandwidth = int( raw_input("Enter bandwidth: ") ) + + type = raw_input("Is this a eth or optical connection? ") + if type == "eth": + connection.layerProtocolName = connection_pb2.Connection.ETH + elif type == "optical": + connection.layerProtocolName = connection_pb2.Connection.OPTICAL + else: + print("Unknown layerProtocolName type; leaving as default value.") + + +if __name__ == '__main__': + if len(sys.argv) != 2: + print("Usage:", sys.argv[0], "CONNECTION_FILE") + sys.exit(-1) + + connectionList = connection_pb2.ConnectionList() + + # Read the existing address book. + try: + with open(sys.argv[1], "rb") as f: + connectionList.ParseFromString(f.read()) + except IOError: + print(sys.argv[1] + ": File not found. Creating a new file.") + + # Add an address. + PromptForConnection(connectionList.connection.add()) + + # Write the new address book back to disk. + with open(sys.argv[1], "wb") as f: + f.write(connectionList.SerializeToString()) diff --git a/hackfest/grpc/connection/list.py b/hackfest/grpc/connection/list.py new file mode 100755 index 0000000000000000000000000000000000000000..47b92cc4aa2e64cb121eddbcf4a0d10f87800fb2 --- /dev/null +++ b/hackfest/grpc/connection/list.py @@ -0,0 +1,33 @@ +#! /usr/bin/env python3 +from __future__ import print_function +import connection_pb2 +import sys + + +# Iterates though all connections in the ConnectionList and prints info about them. +def ListConnections(connectionList): + for connection in connectionList.connection: + print("connectionID:", connection.connectionId) + print(" sourceNode:", connection.sourceNode) + print(" targetNode:", connection.targetNode) + print(" sourcePort:", connection.sourcePort) + print(" targetPort:", connection.targetPort) + print(" bandwidth:", connection.bandwidth) + if connection.layerProtocolName == connection_pb2.Connection.ETH: + print(" layerProtocolName:ETH") + elif connection.layerProtocolName == connection_pb2.Connection.OPTICAL: + print(" layerProtocolName:OPTICAL") + + +if __name__ == '__main__': + if len(sys.argv) != 2: + print("Usage:", sys.argv[0], "CONNECTION_FILE") + sys.exit(-1) + + connectionList = connection_pb2.ConnectionList() + + # Read the existing address book. + with open(sys.argv[1], "rb") as f: + connectionList.ParseFromString(f.read()) + + ListConnections(connectionList) diff --git a/hackfest/grpc/connectionService.proto b/hackfest/grpc/connectionService.proto new file mode 100644 index 0000000000000000000000000000000000000000..aa3bcb4ef68ef8d3185d1b7da21ac0867b9cf59d --- /dev/null +++ b/hackfest/grpc/connectionService.proto @@ -0,0 +1,32 @@ +//Example of connection +syntax = "proto3"; +package connection; + +import "google/protobuf/empty.proto"; + +service ConnectionService { + rpc CreateConnection (Connection) returns (google.protobuf.Empty) {} + rpc ListConnection (google.protobuf.Empty) returns (ConnectionList) {} +} + + +message Connection { + string connectionId = 1; + string sourceNode = 2; + string targetNode = 3; + string sourcePort = 4; + string targetPort = 5; + uint32 bandwidth = 6; + + enum LayerProtocolName { + ETH = 0; + OPTICAL = 1; + } + + LayerProtocolName layerProtocolName = 7; + +} + +message ConnectionList { + repeated Connection connection = 1; +} diff --git a/hackfest/grpc/connectionService/connectionService_client.py b/hackfest/grpc/connectionService/connectionService_client.py new file mode 100644 index 0000000000000000000000000000000000000000..c0f45f7a90efc85bb718a25c2353595c4a12a042 --- /dev/null +++ b/hackfest/grpc/connectionService/connectionService_client.py @@ -0,0 +1,34 @@ +from __future__ import print_function + +import grpc + +import connectionService_pb2 +import connectionService_pb2_grpc +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +try: + raw_input # Python 2 +except NameError: + raw_input = input # Python 3 + +def createConnection(): + with grpc.insecure_channel('localhost:50051') as channel: + connection=connectionService_pb2.Connection() + connection.connectionId = raw_input("Enter connectionID: ") + connection.sourceNode = raw_input("Enter sourceNode: ") + connection.targetNode = raw_input("Enter targetNode: ") + connection.sourcePort = raw_input("Enter sourcePort: ") + connection.targetPort = raw_input("Enter targetPort: ") + connection.bandwidth = int( raw_input("Enter bandwidth: ") ) + stub = connectionService_pb2_grpc.ConnectionServiceStub(channel) + response = stub.CreateConnection(connection) + print("ConnectionService client received: " + str(response) ) + +def listConnection(): + with grpc.insecure_channel('localhost:50051') as channel: + stub = connectionService_pb2_grpc.ConnectionServiceStub(channel) + response = stub.ListConnection(google_dot_protobuf_dot_empty__pb2.Empty()) + print("ConnectionService client received: " + str(response) ) + +if __name__ == '__main__': + createConnection() + listConnection() \ No newline at end of file diff --git a/hackfest/grpc/connectionService/connectionService_pb2.py b/hackfest/grpc/connectionService/connectionService_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..9f1951fa92a017baf4f44470e833aae8d74e0f3b --- /dev/null +++ b/hackfest/grpc/connectionService/connectionService_pb2.py @@ -0,0 +1,211 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: connectionService.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='connectionService.proto', + package='connection', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n\x17\x63onnectionService.proto\x12\nconnection\x1a\x1bgoogle/protobuf/empty.proto\"\xf5\x01\n\nConnection\x12\x14\n\x0c\x63onnectionId\x18\x01 \x01(\t\x12\x12\n\nsourceNode\x18\x02 \x01(\t\x12\x12\n\ntargetNode\x18\x03 \x01(\t\x12\x12\n\nsourcePort\x18\x04 \x01(\t\x12\x12\n\ntargetPort\x18\x05 \x01(\t\x12\x11\n\tbandwidth\x18\x06 \x01(\r\x12\x43\n\x11layerProtocolName\x18\x07 \x01(\x0e\x32(.connection.Connection.LayerProtocolName\")\n\x11LayerProtocolName\x12\x07\n\x03\x45TH\x10\x00\x12\x0b\n\x07OPTICAL\x10\x01\"<\n\x0e\x43onnectionList\x12*\n\nconnection\x18\x01 \x03(\x0b\x32\x16.connection.Connection2\xa1\x01\n\x11\x43onnectionService\x12\x44\n\x10\x43reateConnection\x12\x16.connection.Connection\x1a\x16.google.protobuf.Empty\"\x00\x12\x46\n\x0eListConnection\x12\x16.google.protobuf.Empty\x1a\x1a.connection.ConnectionList\"\x00\x62\x06proto3') + , + dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) + + + +_CONNECTION_LAYERPROTOCOLNAME = _descriptor.EnumDescriptor( + name='LayerProtocolName', + full_name='connection.Connection.LayerProtocolName', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='ETH', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OPTICAL', index=1, number=1, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=273, + serialized_end=314, +) +_sym_db.RegisterEnumDescriptor(_CONNECTION_LAYERPROTOCOLNAME) + + +_CONNECTION = _descriptor.Descriptor( + name='Connection', + full_name='connection.Connection', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='connectionId', full_name='connection.Connection.connectionId', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sourceNode', full_name='connection.Connection.sourceNode', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetNode', full_name='connection.Connection.targetNode', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sourcePort', full_name='connection.Connection.sourcePort', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetPort', full_name='connection.Connection.targetPort', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bandwidth', full_name='connection.Connection.bandwidth', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='layerProtocolName', full_name='connection.Connection.layerProtocolName', index=6, + number=7, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CONNECTION_LAYERPROTOCOLNAME, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=69, + serialized_end=314, +) + + +_CONNECTIONLIST = _descriptor.Descriptor( + name='ConnectionList', + full_name='connection.ConnectionList', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='connection', full_name='connection.ConnectionList.connection', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=316, + serialized_end=376, +) + +_CONNECTION.fields_by_name['layerProtocolName'].enum_type = _CONNECTION_LAYERPROTOCOLNAME +_CONNECTION_LAYERPROTOCOLNAME.containing_type = _CONNECTION +_CONNECTIONLIST.fields_by_name['connection'].message_type = _CONNECTION +DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION +DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), dict( + DESCRIPTOR = _CONNECTION, + __module__ = 'connectionService_pb2' + # @@protoc_insertion_point(class_scope:connection.Connection) + )) +_sym_db.RegisterMessage(Connection) + +ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), dict( + DESCRIPTOR = _CONNECTIONLIST, + __module__ = 'connectionService_pb2' + # @@protoc_insertion_point(class_scope:connection.ConnectionList) + )) +_sym_db.RegisterMessage(ConnectionList) + + + +_CONNECTIONSERVICE = _descriptor.ServiceDescriptor( + name='ConnectionService', + full_name='connection.ConnectionService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=379, + serialized_end=540, + methods=[ + _descriptor.MethodDescriptor( + name='CreateConnection', + full_name='connection.ConnectionService.CreateConnection', + index=0, + containing_service=None, + input_type=_CONNECTION, + output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ListConnection', + full_name='connection.ConnectionService.ListConnection', + index=1, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_CONNECTIONLIST, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_CONNECTIONSERVICE) + +DESCRIPTOR.services_by_name['ConnectionService'] = _CONNECTIONSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/hackfest/grpc/connectionService/connectionService_pb2_grpc.py b/hackfest/grpc/connectionService/connectionService_pb2_grpc.py new file mode 100644 index 0000000000000000000000000000000000000000..94ffffbf7fd3c90b541f36bd1aac6f23e1b5913b --- /dev/null +++ b/hackfest/grpc/connectionService/connectionService_pb2_grpc.py @@ -0,0 +1,64 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +import connectionService_pb2 as connectionService__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +class ConnectionServiceStub(object): + # missing associated documentation comment in .proto file + pass + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateConnection = channel.unary_unary( + '/connection.ConnectionService/CreateConnection', + request_serializer=connectionService__pb2.Connection.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ListConnection = channel.unary_unary( + '/connection.ConnectionService/ListConnection', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=connectionService__pb2.ConnectionList.FromString, + ) + + +class ConnectionServiceServicer(object): + # missing associated documentation comment in .proto file + pass + + def CreateConnection(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListConnection(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ConnectionServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateConnection': grpc.unary_unary_rpc_method_handler( + servicer.CreateConnection, + request_deserializer=connectionService__pb2.Connection.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ListConnection': grpc.unary_unary_rpc_method_handler( + servicer.ListConnection, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=connectionService__pb2.ConnectionList.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'connection.ConnectionService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/hackfest/grpc/connectionService/connectionService_server.py b/hackfest/grpc/connectionService/connectionService_server.py new file mode 100644 index 0000000000000000000000000000000000000000..6fbd195cdeaf22ddeab86ca0a4860f85a194448f --- /dev/null +++ b/hackfest/grpc/connectionService/connectionService_server.py @@ -0,0 +1,39 @@ +from concurrent import futures +import time +import logging +import grpc + +import connectionService_pb2 +import connectionService_pb2_grpc +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + +_ONE_DAY_IN_SECONDS = 60 * 60 * 24 + +class connectionService(connectionService_pb2_grpc.ConnectionServiceServicer): + def __init__(self): + self.connectionList = connectionService_pb2.ConnectionList() + + def CreateConnection(self, request, context): + logging.debug("Received Connection " + request.connectionId) + self.connectionList.connection.extend([request]) + return google_dot_protobuf_dot_empty__pb2.Empty() + + def ListConnection(self, request, context): + logging.debug("List Connections") + return self.connectionList + +def serve(): + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) + connectionService_pb2_grpc.add_ConnectionServiceServicer_to_server(connectionService(), server) + server.add_insecure_port('[::]:50051') + logging.debug("Starting server") + server.start() + try: + while True: + time.sleep(_ONE_DAY_IN_SECONDS) + except KeyboardInterrupt: + server.stop(0) + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + serve() diff --git a/hackfest/grpc/connectionServiceWithNotif.proto b/hackfest/grpc/connectionServiceWithNotif.proto new file mode 100644 index 0000000000000000000000000000000000000000..8430479c525894e0e13140ad07d5691eb8601aca --- /dev/null +++ b/hackfest/grpc/connectionServiceWithNotif.proto @@ -0,0 +1,36 @@ +//Example of connection +syntax = "proto3"; +package connection; + +import "google/protobuf/empty.proto"; + +service ConnectionServiceWithNotif { + rpc CreateConnection (Connection) returns (google.protobuf.Empty) {} + rpc ListConnection (google.protobuf.Empty) returns (ConnectionList) {} + rpc GetBer(Connection) returns (stream Ber) {} +} + +message Ber { + double value = 1; +} + +message Connection { + string connectionId = 1; + string sourceNode = 2; + string targetNode = 3; + string sourcePort = 4; + string targetPort = 5; + uint32 bandwidth = 6; + + enum LayerProtocolName { + ETH = 0; + OPTICAL = 1; + } + + LayerProtocolName layerProtocolName = 7; + +} + +message ConnectionList { + repeated Connection connection = 1; +} diff --git a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py new file mode 100644 index 0000000000000000000000000000000000000000..e40e0a5fa53e75a3a1ad940c9516d75ada1f180f --- /dev/null +++ b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py @@ -0,0 +1,39 @@ +from __future__ import print_function + +import grpc + +import connectionServiceWithNotif_pb2 +import connectionServiceWithNotif_pb2_grpc +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +try: + raw_input # Python 2 +except NameError: + raw_input = input # Python 3 + +def createConnection(stub): + connection=connectionServiceWithNotif_pb2.Connection() + connection.connectionId = raw_input("Enter connectionID: ") + connection.sourceNode = raw_input("Enter sourceNode: ") + connection.targetNode = raw_input("Enter targetNode: ") + connection.sourcePort = raw_input("Enter sourcePort: ") + connection.targetPort = raw_input("Enter targetPort: ") + connection.bandwidth = int( raw_input("Enter bandwidth: ") ) + + response = stub.CreateConnection(connection) + print("ConnectionService client received: " + str(response) ) + +def listConnection(stub): + response = stub.ListConnection(google_dot_protobuf_dot_empty__pb2.Empty()) + print("ConnectionService client received: " + str(response) ) + +def getBer(stub): + responses = stub.GetBer(connectionServiceWithNotif_pb2.Connection(connectionId="conn1")) + for response in responses: + print("Received Ber %s" % (response.value) ) + +if __name__ == '__main__': + with grpc.insecure_channel('localhost:50051') as channel: + stub = connectionServiceWithNotif_pb2_grpc.ConnectionServiceWithNotifStub(channel) + #createConnection(stub) + listConnection(stub) + getBer(stub) \ No newline at end of file diff --git a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_pb2.py b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..403dd0ce409700875e8fc80b011564d055c5c4cb --- /dev/null +++ b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_pb2.py @@ -0,0 +1,259 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: connectionServiceWithNotif.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='connectionServiceWithNotif.proto', + package='connection', + syntax='proto3', + serialized_options=None, + serialized_pb=_b('\n connectionServiceWithNotif.proto\x12\nconnection\x1a\x1bgoogle/protobuf/empty.proto\"\x14\n\x03\x42\x65r\x12\r\n\x05value\x18\x01 \x01(\x01\"\xf5\x01\n\nConnection\x12\x14\n\x0c\x63onnectionId\x18\x01 \x01(\t\x12\x12\n\nsourceNode\x18\x02 \x01(\t\x12\x12\n\ntargetNode\x18\x03 \x01(\t\x12\x12\n\nsourcePort\x18\x04 \x01(\t\x12\x12\n\ntargetPort\x18\x05 \x01(\t\x12\x11\n\tbandwidth\x18\x06 \x01(\r\x12\x43\n\x11layerProtocolName\x18\x07 \x01(\x0e\x32(.connection.Connection.LayerProtocolName\")\n\x11LayerProtocolName\x12\x07\n\x03\x45TH\x10\x00\x12\x0b\n\x07OPTICAL\x10\x01\"<\n\x0e\x43onnectionList\x12*\n\nconnection\x18\x01 \x03(\x0b\x32\x16.connection.Connection2\xe1\x01\n\x1a\x43onnectionServiceWithNotif\x12\x44\n\x10\x43reateConnection\x12\x16.connection.Connection\x1a\x16.google.protobuf.Empty\"\x00\x12\x46\n\x0eListConnection\x12\x16.google.protobuf.Empty\x1a\x1a.connection.ConnectionList\"\x00\x12\x35\n\x06GetBer\x12\x16.connection.Connection\x1a\x0f.connection.Ber\"\x00\x30\x01\x62\x06proto3') + , + dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,]) + + + +_CONNECTION_LAYERPROTOCOLNAME = _descriptor.EnumDescriptor( + name='LayerProtocolName', + full_name='connection.Connection.LayerProtocolName', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='ETH', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OPTICAL', index=1, number=1, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=304, + serialized_end=345, +) +_sym_db.RegisterEnumDescriptor(_CONNECTION_LAYERPROTOCOLNAME) + + +_BER = _descriptor.Descriptor( + name='Ber', + full_name='connection.Ber', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='value', full_name='connection.Ber.value', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=77, + serialized_end=97, +) + + +_CONNECTION = _descriptor.Descriptor( + name='Connection', + full_name='connection.Connection', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='connectionId', full_name='connection.Connection.connectionId', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sourceNode', full_name='connection.Connection.sourceNode', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetNode', full_name='connection.Connection.targetNode', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sourcePort', full_name='connection.Connection.sourcePort', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetPort', full_name='connection.Connection.targetPort', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bandwidth', full_name='connection.Connection.bandwidth', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='layerProtocolName', full_name='connection.Connection.layerProtocolName', index=6, + number=7, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CONNECTION_LAYERPROTOCOLNAME, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=100, + serialized_end=345, +) + + +_CONNECTIONLIST = _descriptor.Descriptor( + name='ConnectionList', + full_name='connection.ConnectionList', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='connection', full_name='connection.ConnectionList.connection', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=347, + serialized_end=407, +) + +_CONNECTION.fields_by_name['layerProtocolName'].enum_type = _CONNECTION_LAYERPROTOCOLNAME +_CONNECTION_LAYERPROTOCOLNAME.containing_type = _CONNECTION +_CONNECTIONLIST.fields_by_name['connection'].message_type = _CONNECTION +DESCRIPTOR.message_types_by_name['Ber'] = _BER +DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION +DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Ber = _reflection.GeneratedProtocolMessageType('Ber', (_message.Message,), dict( + DESCRIPTOR = _BER, + __module__ = 'connectionServiceWithNotif_pb2' + # @@protoc_insertion_point(class_scope:connection.Ber) + )) +_sym_db.RegisterMessage(Ber) + +Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), dict( + DESCRIPTOR = _CONNECTION, + __module__ = 'connectionServiceWithNotif_pb2' + # @@protoc_insertion_point(class_scope:connection.Connection) + )) +_sym_db.RegisterMessage(Connection) + +ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), dict( + DESCRIPTOR = _CONNECTIONLIST, + __module__ = 'connectionServiceWithNotif_pb2' + # @@protoc_insertion_point(class_scope:connection.ConnectionList) + )) +_sym_db.RegisterMessage(ConnectionList) + + + +_CONNECTIONSERVICEWITHNOTIF = _descriptor.ServiceDescriptor( + name='ConnectionServiceWithNotif', + full_name='connection.ConnectionServiceWithNotif', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=410, + serialized_end=635, + methods=[ + _descriptor.MethodDescriptor( + name='CreateConnection', + full_name='connection.ConnectionServiceWithNotif.CreateConnection', + index=0, + containing_service=None, + input_type=_CONNECTION, + output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='ListConnection', + full_name='connection.ConnectionServiceWithNotif.ListConnection', + index=1, + containing_service=None, + input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, + output_type=_CONNECTIONLIST, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='GetBer', + full_name='connection.ConnectionServiceWithNotif.GetBer', + index=2, + containing_service=None, + input_type=_CONNECTION, + output_type=_BER, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_CONNECTIONSERVICEWITHNOTIF) + +DESCRIPTOR.services_by_name['ConnectionServiceWithNotif'] = _CONNECTIONSERVICEWITHNOTIF + +# @@protoc_insertion_point(module_scope) diff --git a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_pb2_grpc.py b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_pb2_grpc.py new file mode 100644 index 0000000000000000000000000000000000000000..9a88a22b4bd9055f1d2e905abaa2496faadb5533 --- /dev/null +++ b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_pb2_grpc.py @@ -0,0 +1,81 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +import connectionServiceWithNotif_pb2 as connectionServiceWithNotif__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +class ConnectionServiceWithNotifStub(object): + # missing associated documentation comment in .proto file + pass + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.CreateConnection = channel.unary_unary( + '/connection.ConnectionServiceWithNotif/CreateConnection', + request_serializer=connectionServiceWithNotif__pb2.Connection.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.ListConnection = channel.unary_unary( + '/connection.ConnectionServiceWithNotif/ListConnection', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=connectionServiceWithNotif__pb2.ConnectionList.FromString, + ) + self.GetBer = channel.unary_stream( + '/connection.ConnectionServiceWithNotif/GetBer', + request_serializer=connectionServiceWithNotif__pb2.Connection.SerializeToString, + response_deserializer=connectionServiceWithNotif__pb2.Ber.FromString, + ) + + +class ConnectionServiceWithNotifServicer(object): + # missing associated documentation comment in .proto file + pass + + def CreateConnection(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListConnection(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetBer(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ConnectionServiceWithNotifServicer_to_server(servicer, server): + rpc_method_handlers = { + 'CreateConnection': grpc.unary_unary_rpc_method_handler( + servicer.CreateConnection, + request_deserializer=connectionServiceWithNotif__pb2.Connection.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'ListConnection': grpc.unary_unary_rpc_method_handler( + servicer.ListConnection, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=connectionServiceWithNotif__pb2.ConnectionList.SerializeToString, + ), + 'GetBer': grpc.unary_stream_rpc_method_handler( + servicer.GetBer, + request_deserializer=connectionServiceWithNotif__pb2.Connection.FromString, + response_serializer=connectionServiceWithNotif__pb2.Ber.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'connection.ConnectionServiceWithNotif', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py new file mode 100644 index 0000000000000000000000000000000000000000..a9970056dbd6308e1191f4e57b7be7d20a94c43e --- /dev/null +++ b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py @@ -0,0 +1,46 @@ +from concurrent import futures +import time +import logging +import grpc + +import connectionServiceWithNotif_pb2 +import connectionServiceWithNotif_pb2_grpc +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + +_ONE_DAY_IN_SECONDS = 60 * 60 * 24 + +class connectionServiceWithNotif(connectionServiceWithNotif_pb2_grpc.ConnectionServiceWithNotifServicer): + def __init__(self): + self.connectionList = connectionServiceWithNotif_pb2.ConnectionList() + + def CreateConnection(self, request, context): + logging.debug("Received Connection " + request.connectionId) + self.connectionList.connection.extend([request]) + return google_dot_protobuf_dot_empty__pb2.Empty() + + def ListConnection(self, request, context): + logging.debug("List Connections") + return self.connectionList + def GetBer (self, request, context): + logging.debug("Get Ber") + while True: + time.sleep(5) + ber=connectionServiceWithNotif_pb2.Ber(value=10) + yield ber + + +def serve(): + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) + connectionServiceWithNotif_pb2_grpc.add_ConnectionServiceWithNotifServicer_to_server(connectionServiceWithNotif(), server) + server.add_insecure_port('[::]:50051') + logging.debug("Starting server") + server.start() + try: + while True: + time.sleep(_ONE_DAY_IN_SECONDS) + except KeyboardInterrupt: + server.stop(0) + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + serve() diff --git a/hackfest/grpc/topologyService.proto b/hackfest/grpc/topologyService.proto new file mode 100644 index 0000000000000000000000000000000000000000..cf9601a4bf4c07a5f0bf73f9feb9f1e89d50ba63 --- /dev/null +++ b/hackfest/grpc/topologyService.proto @@ -0,0 +1,38 @@ +//Example of topology +syntax = "proto3"; +package topology; + +import "google/protobuf/empty.proto"; + +service TopologyService { + rpc GetTopology (google.protobuf.Empty) returns (Topology) {} +} + + +message Link { + string link_id = 1; + string source_node = 2; + string target_node = 3; + string source_port = 4; + string target_port = 5; +} + +message Node { + string node_id = 1; + repeated Port port = 2; +} + +message Port { + string port_id = 1; + enum LayerProtocolName { + ETH = 0; + OPTICAL = 1; + } + LayerProtocolName layerProtocolName = 2; +} + +message Topology { + repeated Node node = 1; + repeated Link link = 2; +} + diff --git a/hackfest/grpc/topologyService/topologyService_client.py b/hackfest/grpc/topologyService/topologyService_client.py new file mode 100644 index 0000000000000000000000000000000000000000..24ce803b0348110acda02237058db4101d605acc --- /dev/null +++ b/hackfest/grpc/topologyService/topologyService_client.py @@ -0,0 +1,21 @@ +from __future__ import print_function + +import grpc + +import topologyService_pb2 +import topologyService_pb2_grpc +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +try: + raw_input # Python 2 +except NameError: + raw_input = input # Python 3 + + +def getTopology(): + with grpc.insecure_channel('localhost:50051') as channel: + stub = topologyService_pb2_grpc.TopologyServiceStub(channel) + response = stub.GetTopology(google_dot_protobuf_dot_empty__pb2.Empty()) + print("TopologyService client received: " + str(response) ) + +if __name__ == '__main__': + getTopology() diff --git a/hackfest/grpc/topologyService/topologyService_server.py b/hackfest/grpc/topologyService/topologyService_server.py new file mode 100644 index 0000000000000000000000000000000000000000..bb72e224239297226b2cf03bca2a72f4b0086ba2 --- /dev/null +++ b/hackfest/grpc/topologyService/topologyService_server.py @@ -0,0 +1,48 @@ +from concurrent import futures +import time +import logging +import grpc + +import topologyService_pb2 +import topologyService_pb2_grpc +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + +_ONE_DAY_IN_SECONDS = 60 * 60 * 24 + +class topologyService(topologyService_pb2_grpc.TopologyServiceServicer): + def __init__(self): + self.topology = topologyService_pb2.Topology() + node1=self.topology.node.add() + node1.node_id = "node1" + portA = node1.port.add() + portA.port_id = "node1portA" + node2=self.topology.node.add() + node2.node_id = "node2" + portB=node2.port.add() + portB.port_id = "node2portA" + link=self.topology.link.add() + link.link_id = "link1" + link.source_node = "node1" + link.target_node = "node2" + link.source_port = "node1portA" + link.target_port = "node2portA" + + def GetTopology(self, request, context): + logging.debug("Get Topology") + return self.topology + +def serve(): + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) + topologyService_pb2_grpc.add_TopologyServiceServicer_to_server(topologyService(), server) + server.add_insecure_port('[::]:50051') + logging.debug("Starting server") + server.start() + try: + while True: + time.sleep(_ONE_DAY_IN_SECONDS) + except KeyboardInterrupt: + server.stop(0) + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + serve() diff --git a/hackfest/kafka/commands.txt b/hackfest/kafka/commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..f29d6020b5fa044b1d60020b30075c763161f31f --- /dev/null +++ b/hackfest/kafka/commands.txt @@ -0,0 +1,27 @@ +== KAFKA +$ cd ~/tfs-ctrl/hackfest/kafka + +(INSTALL) +$ pip3 install kafka-python +$ wget https://ftp.cixug.es/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz +$ tar -xzf kafka_2.13-2.8.0.tgz +(RUN) +$ cd kafka_2.13-2.8.0 +$ bin/zookeeper-server-start.sh config/zookeeper.properties +(In new window) +$ cd ~/tfs-ctrl/hackfest/kafka/kafka_2.13-2.8.0 +$ bin/kafka-server-start.sh config/server.properties + +CREATE TOPIC +(In new window) +$ cd ~/tfs-ctrl/hackfest/kafka/kafka_2.13-2.8.0 +$ bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 + +(In new window) +$ cd ~/tfs-ctrl/hackfest/kafka +$ python3 sub.py + +(In new window) +$ cd ~/tfs-ctrl/hackfest/kafka +$ python3 pub.py + diff --git a/hackfest/kafka/kafka_2.13-2.8.0.tgz b/hackfest/kafka/kafka_2.13-2.8.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..29538c5ea8fefb4d432e4b7e53d60316d0371629 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0.tgz differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/LICENSE b/hackfest/kafka/kafka_2.13-2.8.0/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..4d8e2c76a41c83859ea80f4e25be9892e98485c9 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/LICENSE @@ -0,0 +1,320 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + +------------------------------------------------------------------------------- +This project bundles some components that are also licensed under the Apache +License Version 2.0: + +audience-annotations-0.5.0 +commons-cli-1.4 +commons-lang3-3.8.1 +jackson-annotations-2.10.5 +jackson-core-2.10.5 +jackson-databind-2.10.5.1 +jackson-dataformat-csv-2.10.5 +jackson-datatype-jdk8-2.10.5 +jackson-jaxrs-base-2.10.5 +jackson-jaxrs-json-provider-2.10.5 +jackson-module-jaxb-annotations-2.10.5 +jackson-module-paranamer-2.10.5 +jackson-module-scala_2.13-2.10.5 +jakarta.validation-api-2.0.2 +javassist-3.27.0-GA +jetty-client-9.4.38.v20210224 +jetty-continuation-9.4.38.v20210224 +jetty-http-9.4.38.v20210224 +jetty-io-9.4.38.v20210224 +jetty-security-9.4.38.v20210224 +jetty-server-9.4.38.v20210224 +jetty-servlet-9.4.38.v20210224 +jetty-servlets-9.4.38.v20210224 +jetty-util-9.4.38.v20210224 +jetty-util-ajax-9.4.38.v20210224 +jersey-common-2.31 +jersey-server-2.31 +log4j-1.2.17 +lz4-java-1.7.1 +maven-artifact-3.6.3 +metrics-core-2.2.0 +netty-buffer-4.1.59.Final +netty-codec-4.1.59.Final +netty-common-4.1.59.Final +netty-handler-4.1.59.Final +netty-resolver-4.1.59.Final +netty-transport-4.1.59.Final +netty-transport-native-epoll-4.1.59.Final +netty-transport-native-epoll-4.1.59.Final +netty-transport-native-unix-common-4.1.59.Final +plexus-utils-3.2.1 +rocksdbjni-5.18.4 +scala-collection-compat_2.13-2.3.0 +scala-library-2.13.5 +scala-logging_2.13-3.9.2 +scala-reflect-2.13.5 +scala-java8-compat_2.13-0.9.1 +snappy-java-1.1.8.1 +zookeeper-3.5.9 +zookeeper-jute-3.5.9 + +=============================================================================== +This product bundles various third-party components under other open source +licenses. This section summarizes those components and their licenses. +See licenses/ for text of these licenses. + +--------------------------------------- +Eclipse Distribution License - v 1.0 +see: licenses/eclipse-distribution-license-1.0 + +jakarta.activation-api-1.2.1 +jakarta.xml.bind-api-2.3.2 + +--------------------------------------- +Eclipse Public License - v 2.0 +see: licenses/eclipse-public-license-2.0 + +jakarta.annotation-api-1.3.5 +jakarta.ws.rs-api-2.1.6 +javax.ws.rs-api-2.1.1 +hk2-api-2.6.1 +hk2-locator-2.6.1 +hk2-utils-2.6.1 +osgi-resource-locator-1.0.3 +aopalliance-repackaged-2.6.1 +jakarta.inject-2.6.1 +jersey-container-servlet-2.31 +jersey-container-servlet-core-2.31 +jersey-client-2.31 +jersey-hk2-2.31 +jersey-media-jaxb-2.31 + +--------------------------------------- +CDDL 1.1 + GPLv2 with classpath exception +see: licenses/CDDL+GPL-1.1 + +javax.servlet-api-3.1.0 +jaxb-api-2.3.0 +activation-1.1.1 + +--------------------------------------- +MIT License + +argparse4j-0.7.0, see: licenses/argparse-MIT +jopt-simple-5.0.4, see: licenses/jopt-simple-MIT +slf4j-api-1.7.30, see: licenses/slf4j-MIT +slf4j-log4j12-1.7.30, see: licenses/slf4j-MIT + +--------------------------------------- +BSD 2-Clause + +zstd-jni-1.4.9-1, see: licenses/zstd-jni-BSD-2-clause + +--------------------------------------- +BSD 3-Clause + +paranamer-2.8, see: licenses/paranamer-BSD-3-clause + +--------------------------------------- +Do What The F*ck You Want To Public License +see: licenses/DWTFYWTPL + +reflections-0.9.12 \ No newline at end of file diff --git a/hackfest/kafka/kafka_2.13-2.8.0/NOTICE b/hackfest/kafka/kafka_2.13-2.8.0/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..674c942b127bb637d086bd9caadb5f152358518c --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/NOTICE @@ -0,0 +1,19 @@ +Apache Kafka +Copyright 2021 The Apache Software Foundation. + +This product includes software developed at +The Apache Software Foundation (https://www.apache.org/). + +This distribution has a binary dependency on jersey, which is available under the CDDL +License. The source code of jersey can be found at https://github.com/jersey/jersey/. + +The streams-scala (streams/streams-scala) module was donated by Lightbend and the original code was copyrighted by them: +Copyright (C) 2018 Lightbend Inc. +Copyright (C) 2017-2018 Alexis Seigneurin. + +This project contains the following code copied from Apache Hadoop: +clients/src/main/java/org/apache/kafka/common/utils/PureJavaCrc32C.java +Some portions of this file Copyright (c) 2004-2006 Intel Corporation and licensed under the BSD license. + +This project contains the following code copied from Apache Hive: +streams/src/main/java/org/apache/kafka/streams/state/internals/Murmur3.java diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-distributed.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-distributed.sh new file mode 100755 index 0000000000000000000000000000000000000000..b8088ad92345137d6861553619ba9843dce2fb5a --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-distributed.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 [-daemon] connect-distributed.properties" + exit 1 +fi + +base_dir=$(dirname $0) + +if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then + export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/connect-log4j.properties" +fi + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" +fi + +EXTRA_ARGS=${EXTRA_ARGS-'-name connectDistributed'} + +COMMAND=$1 +case $COMMAND in + -daemon) + EXTRA_ARGS="-daemon "$EXTRA_ARGS + shift + ;; + *) + ;; +esac + +exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.cli.ConnectDistributed "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-mirror-maker.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-mirror-maker.sh new file mode 100755 index 0000000000000000000000000000000000000000..8e2b2e162daac7e026c499da03f10ab1b08937a9 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-mirror-maker.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 [-daemon] mm2.properties" + exit 1 +fi + +base_dir=$(dirname $0) + +if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then + export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/connect-log4j.properties" +fi + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" +fi + +EXTRA_ARGS=${EXTRA_ARGS-'-name mirrorMaker'} + +COMMAND=$1 +case $COMMAND in + -daemon) + EXTRA_ARGS="-daemon "$EXTRA_ARGS + shift + ;; + *) + ;; +esac + +exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.mirror.MirrorMaker "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-standalone.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-standalone.sh new file mode 100755 index 0000000000000000000000000000000000000000..441069fed31393c8469778538e504171a73eb304 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/connect-standalone.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 [-daemon] connect-standalone.properties" + exit 1 +fi + +base_dir=$(dirname $0) + +if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then + export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/connect-log4j.properties" +fi + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" +fi + +EXTRA_ARGS=${EXTRA_ARGS-'-name connectStandalone'} + +COMMAND=$1 +case $COMMAND in + -daemon) + EXTRA_ARGS="-daemon "$EXTRA_ARGS + shift + ;; + *) + ;; +esac + +exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.cli.ConnectStandalone "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-acls.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-acls.sh new file mode 100755 index 0000000000000000000000000000000000000000..8fa65542e10bfa32e3a9fea7e0ec0d3161d92e92 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-acls.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.AclCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-broker-api-versions.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-broker-api-versions.sh new file mode 100755 index 0000000000000000000000000000000000000000..4f560a0a60cd599b6a66bc573167dee26d36c67d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-broker-api-versions.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.BrokerApiVersionsCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-cluster.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-cluster.sh new file mode 100755 index 0000000000000000000000000000000000000000..574007e9cd4b8ad540a3ab3918d52df195fd90a1 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-cluster.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.ClusterTool "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-configs.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-configs.sh new file mode 100755 index 0000000000000000000000000000000000000000..2f9eb8c239f596ec8d171f40ddec38a13177a2e8 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-configs.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.ConfigCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-console-consumer.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-console-consumer.sh new file mode 100755 index 0000000000000000000000000000000000000000..dbaac2b83b1890eeeeb1a19c5831254fe408d788 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-console-consumer.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsoleConsumer "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-console-producer.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-console-producer.sh new file mode 100755 index 0000000000000000000000000000000000000000..e5187b8b5335fa2a688f9c18665266731ced0506 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-console-producer.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi +exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsoleProducer "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-consumer-groups.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-consumer-groups.sh new file mode 100755 index 0000000000000000000000000000000000000000..feb063de75693b73d0f874a03d14ce87294df7c5 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-consumer-groups.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.ConsumerGroupCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-consumer-perf-test.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-consumer-perf-test.sh new file mode 100755 index 0000000000000000000000000000000000000000..77cda721d6c5238d354f3f133bab93c5352edd6a --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-consumer-perf-test.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi +exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsumerPerformance "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-delegation-tokens.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-delegation-tokens.sh new file mode 100755 index 0000000000000000000000000000000000000000..49cb276ab318289f690c6855a326804d2cf720ab --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-delegation-tokens.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.DelegationTokenCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-delete-records.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-delete-records.sh new file mode 100755 index 0000000000000000000000000000000000000000..8726f919992329db81c4e1b8da6765e34184f1e0 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-delete-records.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.DeleteRecordsCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-dump-log.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-dump-log.sh new file mode 100755 index 0000000000000000000000000000000000000000..a97ea7d3d9f8cf57b9ea41012ab8c9b92d389d8d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-dump-log.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.DumpLogSegments "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-features.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-features.sh new file mode 100755 index 0000000000000000000000000000000000000000..9dd9f16fd1b05568db04418be9c0c99adf8f9324 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-features.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.FeatureCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-leader-election.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-leader-election.sh new file mode 100755 index 0000000000000000000000000000000000000000..88baef398de95cd1cf737a6d8589d9fdd5a5ac3f --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-leader-election.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.LeaderElectionCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-log-dirs.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-log-dirs.sh new file mode 100755 index 0000000000000000000000000000000000000000..dc16edcc7c5ebefff42ea3089472560427f25727 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-log-dirs.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.LogDirsCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-metadata-shell.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-metadata-shell.sh new file mode 100755 index 0000000000000000000000000000000000000000..289f0c1b51f27cd6e93126bc51c81ab4357440db --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-metadata-shell.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.shell.MetadataShell "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-mirror-maker.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-mirror-maker.sh new file mode 100755 index 0000000000000000000000000000000000000000..981f2711af960be2dc2dc3ce2374c6db3303aa1a --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-mirror-maker.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.MirrorMaker "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-preferred-replica-election.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-preferred-replica-election.sh new file mode 100755 index 0000000000000000000000000000000000000000..638a92ad6e053092f95d0bedc8c6876b31b6bb97 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-preferred-replica-election.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.PreferredReplicaLeaderElectionCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-producer-perf-test.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-producer-perf-test.sh new file mode 100755 index 0000000000000000000000000000000000000000..73a62888a13d547fe21fc89d41035c775f26026f --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-producer-perf-test.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi +exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ProducerPerformance "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-reassign-partitions.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-reassign-partitions.sh new file mode 100755 index 0000000000000000000000000000000000000000..4c7f1bc35e0a98b2ba978ce07ab9465c841d8b1b --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-reassign-partitions.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.ReassignPartitionsCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-replica-verification.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-replica-verification.sh new file mode 100755 index 0000000000000000000000000000000000000000..4960836c0d034f338bec16fdb5e7dccc4fa18821 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-replica-verification.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.ReplicaVerificationTool "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-run-class.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-run-class.sh new file mode 100755 index 0000000000000000000000000000000000000000..3889be7e3e5f8d074cf94938ab9113c2fdb00df1 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-run-class.sh @@ -0,0 +1,331 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 [-daemon] [-name servicename] [-loggc] classname [opts]" + exit 1 +fi + +# CYGWIN == 1 if Cygwin is detected, else 0. +if [[ $(uname -a) =~ "CYGWIN" ]]; then + CYGWIN=1 +else + CYGWIN=0 +fi + +if [ -z "$INCLUDE_TEST_JARS" ]; then + INCLUDE_TEST_JARS=false +fi + +# Exclude jars not necessary for running commands. +regex="(-(test|test-sources|src|scaladoc|javadoc)\.jar|jar.asc)$" +should_include_file() { + if [ "$INCLUDE_TEST_JARS" = true ]; then + return 0 + fi + file=$1 + if [ -z "$(echo "$file" | egrep "$regex")" ] ; then + return 0 + else + return 1 + fi +} + +base_dir=$(dirname $0)/.. + +if [ -z "$SCALA_VERSION" ]; then + SCALA_VERSION=2.13.5 + if [[ -f "$base_dir/gradle.properties" ]]; then + SCALA_VERSION=`grep "^scalaVersion=" "$base_dir/gradle.properties" | cut -d= -f 2` + fi +fi + +if [ -z "$SCALA_BINARY_VERSION" ]; then + SCALA_BINARY_VERSION=$(echo $SCALA_VERSION | cut -f 1-2 -d '.') +fi + +# run ./gradlew copyDependantLibs to get all dependant jars in a local dir +shopt -s nullglob +if [ -z "$UPGRADE_KAFKA_STREAMS_TEST_VERSION" ]; then + for dir in "$base_dir"/core/build/dependant-libs-${SCALA_VERSION}*; + do + CLASSPATH="$CLASSPATH:$dir/*" + done +fi + +for file in "$base_dir"/examples/build/libs/kafka-examples*.jar; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done + +if [ -z "$UPGRADE_KAFKA_STREAMS_TEST_VERSION" ]; then + clients_lib_dir=$(dirname $0)/../clients/build/libs + streams_lib_dir=$(dirname $0)/../streams/build/libs + streams_dependant_clients_lib_dir=$(dirname $0)/../streams/build/dependant-libs-${SCALA_VERSION} +else + clients_lib_dir=/opt/kafka-$UPGRADE_KAFKA_STREAMS_TEST_VERSION/libs + streams_lib_dir=$clients_lib_dir + streams_dependant_clients_lib_dir=$streams_lib_dir +fi + + +for file in "$clients_lib_dir"/kafka-clients*.jar; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done + +for file in "$streams_lib_dir"/kafka-streams*.jar; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done + +if [ -z "$UPGRADE_KAFKA_STREAMS_TEST_VERSION" ]; then + for file in "$base_dir"/streams/examples/build/libs/kafka-streams-examples*.jar; + do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi + done +else + VERSION_NO_DOTS=`echo $UPGRADE_KAFKA_STREAMS_TEST_VERSION | sed 's/\.//g'` + SHORT_VERSION_NO_DOTS=${VERSION_NO_DOTS:0:((${#VERSION_NO_DOTS} - 1))} # remove last char, ie, bug-fix number + for file in "$base_dir"/streams/upgrade-system-tests-$SHORT_VERSION_NO_DOTS/build/libs/kafka-streams-upgrade-system-tests*.jar; + do + if should_include_file "$file"; then + CLASSPATH="$file":"$CLASSPATH" + fi + done + if [ "$SHORT_VERSION_NO_DOTS" = "0100" ]; then + CLASSPATH="/opt/kafka-$UPGRADE_KAFKA_STREAMS_TEST_VERSION/libs/zkclient-0.8.jar":"$CLASSPATH" + CLASSPATH="/opt/kafka-$UPGRADE_KAFKA_STREAMS_TEST_VERSION/libs/zookeeper-3.4.6.jar":"$CLASSPATH" + fi + if [ "$SHORT_VERSION_NO_DOTS" = "0101" ]; then + CLASSPATH="/opt/kafka-$UPGRADE_KAFKA_STREAMS_TEST_VERSION/libs/zkclient-0.9.jar":"$CLASSPATH" + CLASSPATH="/opt/kafka-$UPGRADE_KAFKA_STREAMS_TEST_VERSION/libs/zookeeper-3.4.8.jar":"$CLASSPATH" + fi +fi + +for file in "$streams_dependant_clients_lib_dir"/rocksdb*.jar; +do + CLASSPATH="$CLASSPATH":"$file" +done + +for file in "$streams_dependant_clients_lib_dir"/*hamcrest*.jar; +do + CLASSPATH="$CLASSPATH":"$file" +done + +for file in "$base_dir"/shell/build/libs/kafka-shell*.jar; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done + +for dir in "$base_dir"/shell/build/dependant-libs-${SCALA_VERSION}*; +do + CLASSPATH="$CLASSPATH:$dir/*" +done + +for file in "$base_dir"/tools/build/libs/kafka-tools*.jar; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done + +for dir in "$base_dir"/tools/build/dependant-libs-${SCALA_VERSION}*; +do + CLASSPATH="$CLASSPATH:$dir/*" +done + +for cc_pkg in "api" "transforms" "runtime" "file" "mirror" "mirror-client" "json" "tools" "basic-auth-extension" +do + for file in "$base_dir"/connect/${cc_pkg}/build/libs/connect-${cc_pkg}*.jar; + do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi + done + if [ -d "$base_dir/connect/${cc_pkg}/build/dependant-libs" ] ; then + CLASSPATH="$CLASSPATH:$base_dir/connect/${cc_pkg}/build/dependant-libs/*" + fi +done + +# classpath addition for release +for file in "$base_dir"/libs/*; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done + +for file in "$base_dir"/core/build/libs/kafka_${SCALA_BINARY_VERSION}*.jar; +do + if should_include_file "$file"; then + CLASSPATH="$CLASSPATH":"$file" + fi +done +shopt -u nullglob + +if [ -z "$CLASSPATH" ] ; then + echo "Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=$SCALA_VERSION'" + exit 1 +fi + +# JMX settings +if [ -z "$KAFKA_JMX_OPTS" ]; then + KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false " +fi + +# JMX port to use +if [ $JMX_PORT ]; then + KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT " +fi + +# Log directory to use +if [ "x$LOG_DIR" = "x" ]; then + LOG_DIR="$base_dir/logs" +fi + +# Log4j settings +if [ -z "$KAFKA_LOG4J_OPTS" ]; then + # Log to console. This is a tool. + LOG4J_DIR="$base_dir/config/tools-log4j.properties" + # If Cygwin is detected, LOG4J_DIR is converted to Windows format. + (( CYGWIN )) && LOG4J_DIR=$(cygpath --path --mixed "${LOG4J_DIR}") + KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:${LOG4J_DIR}" +else + # create logs directory + if [ ! -d "$LOG_DIR" ]; then + mkdir -p "$LOG_DIR" + fi +fi + +# If Cygwin is detected, LOG_DIR is converted to Windows format. +(( CYGWIN )) && LOG_DIR=$(cygpath --path --mixed "${LOG_DIR}") +KAFKA_LOG4J_OPTS="-Dkafka.logs.dir=$LOG_DIR $KAFKA_LOG4J_OPTS" + +# Generic jvm settings you want to add +if [ -z "$KAFKA_OPTS" ]; then + KAFKA_OPTS="" +fi + +# Set Debug options if enabled +if [ "x$KAFKA_DEBUG" != "x" ]; then + + # Use default ports + DEFAULT_JAVA_DEBUG_PORT="5005" + + if [ -z "$JAVA_DEBUG_PORT" ]; then + JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT" + fi + + # Use the defaults if JAVA_DEBUG_OPTS was not set + DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=${DEBUG_SUSPEND_FLAG:-n},address=$JAVA_DEBUG_PORT" + if [ -z "$JAVA_DEBUG_OPTS" ]; then + JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS" + fi + + echo "Enabling Java debug options: $JAVA_DEBUG_OPTS" + KAFKA_OPTS="$JAVA_DEBUG_OPTS $KAFKA_OPTS" +fi + +# Which java to use +if [ -z "$JAVA_HOME" ]; then + JAVA="java" +else + JAVA="$JAVA_HOME/bin/java" +fi + +# Memory options +if [ -z "$KAFKA_HEAP_OPTS" ]; then + KAFKA_HEAP_OPTS="-Xmx256M" +fi + +# JVM performance options +# MaxInlineLevel=15 is the default since JDK 14 and can be removed once older JDKs are no longer supported +if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then + KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -Djava.awt.headless=true" +fi + +while [ $# -gt 0 ]; do + COMMAND=$1 + case $COMMAND in + -name) + DAEMON_NAME=$2 + CONSOLE_OUTPUT_FILE=$LOG_DIR/$DAEMON_NAME.out + shift 2 + ;; + -loggc) + if [ -z "$KAFKA_GC_LOG_OPTS" ]; then + GC_LOG_ENABLED="true" + fi + shift + ;; + -daemon) + DAEMON_MODE="true" + shift + ;; + *) + break + ;; + esac +done + +# GC options +GC_FILE_SUFFIX='-gc.log' +GC_LOG_FILE_NAME='' +if [ "x$GC_LOG_ENABLED" = "xtrue" ]; then + GC_LOG_FILE_NAME=$DAEMON_NAME$GC_FILE_SUFFIX + + # The first segment of the version number, which is '1' for releases before Java 9 + # it then becomes '9', '10', ... + # Some examples of the first line of `java --version`: + # 8 -> java version "1.8.0_152" + # 9.0.4 -> java version "9.0.4" + # 10 -> java version "10" 2018-03-20 + # 10.0.1 -> java version "10.0.1" 2018-04-17 + # We need to match to the end of the line to prevent sed from printing the characters that do not match + JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p') + if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then + KAFKA_GC_LOG_OPTS="-Xlog:gc*:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,tags:filecount=10,filesize=100M" + else + KAFKA_GC_LOG_OPTS="-Xloggc:$LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M" + fi +fi + +# Remove a possible colon prefix from the classpath (happens at lines like `CLASSPATH="$CLASSPATH:$file"` when CLASSPATH is blank) +# Syntax used on the right side is native Bash string manipulation; for more details see +# http://tldp.org/LDP/abs/html/string-manipulation.html, specifically the section titled "Substring Removal" +CLASSPATH=${CLASSPATH#:} + +# If Cygwin is detected, classpath is converted to Windows format. +(( CYGWIN )) && CLASSPATH=$(cygpath --path --mixed "${CLASSPATH}") + +# Launch mode +if [ "x$DAEMON_MODE" = "xtrue" ]; then + nohup "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp "$CLASSPATH" $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null & +else + exec "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp "$CLASSPATH" $KAFKA_OPTS "$@" +fi diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-server-start.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-server-start.sh new file mode 100755 index 0000000000000000000000000000000000000000..5a53126172de9d024891942d9f4748b7fcd4592b --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-server-start.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 [-daemon] server.properties [--override property=value]*" + exit 1 +fi +base_dir=$(dirname $0) + +if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then + export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties" +fi + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" +fi + +EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'} + +COMMAND=$1 +case $COMMAND in + -daemon) + EXTRA_ARGS="-daemon "$EXTRA_ARGS + shift + ;; + *) + ;; +esac + +exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-server-stop.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-server-stop.sh new file mode 100755 index 0000000000000000000000000000000000000000..437189f4a5b4ca92579f5803762e392eb31bb6f7 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-server-stop.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +SIGNAL=${SIGNAL:-TERM} + +OSNAME=$(uname -s) +if [[ "$OSNAME" == "OS/390" ]]; then + if [ -z $JOBNAME ]; then + JOBNAME="KAFKSTRT" + fi + PIDS=$(ps -A -o pid,jobname,comm | grep -i $JOBNAME | grep java | grep -v grep | awk '{print $1}') +elif [[ "$OSNAME" == "OS400" ]]; then + PIDS=$(ps -Af | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $2}') +else + PIDS=$(ps ax | grep ' kafka\.Kafka ' | grep java | grep -v grep | awk '{print $1}') +fi + +if [ -z "$PIDS" ]; then + echo "No kafka server to stop" + exit 1 +else + kill -s $SIGNAL $PIDS +fi diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-storage.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-storage.sh new file mode 100755 index 0000000000000000000000000000000000000000..eef93423877f02afe15e9a517f76d700baba522d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-storage.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.StorageTool "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-streams-application-reset.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-streams-application-reset.sh new file mode 100755 index 0000000000000000000000000000000000000000..336373254004ea9b2027082b1efcedbf9ab8ddd4 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-streams-application-reset.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi + +exec $(dirname $0)/kafka-run-class.sh kafka.tools.StreamsResetter "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-topics.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-topics.sh new file mode 100755 index 0000000000000000000000000000000000000000..ad6a2d4d2a0160c0fba70820a70a6f6d208b5ca7 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-topics.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.TopicCommand "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-verifiable-consumer.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-verifiable-consumer.sh new file mode 100755 index 0000000000000000000000000000000000000000..852847df03ba5cfe420d9337d5c76f810383092f --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-verifiable-consumer.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi +exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableConsumer "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-verifiable-producer.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-verifiable-producer.sh new file mode 100755 index 0000000000000000000000000000000000000000..b59bae7d2beae882715ce5b8cf83fe8ef3e3acf0 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/kafka-verifiable-producer.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M" +fi +exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableProducer "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/trogdor.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/trogdor.sh new file mode 100755 index 0000000000000000000000000000000000000000..3324c4ea8ec3e7ae8d687d67250d8bfd71ec98cf --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/trogdor.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +usage() { + cat <nul 2>&1 + IF NOT ERRORLEVEL 1 ( + rem 32-bit OS + set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M + ) ELSE ( + rem 64-bit OS + set KAFKA_HEAP_OPTS=-Xmx1G -Xms1G + ) +) +"%~dp0kafka-run-class.bat" kafka.Kafka %* +EndLocal diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-server-stop.bat b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-server-stop.bat new file mode 100644 index 0000000000000000000000000000000000000000..676577cf958645fde5ec95cb521f7e02f1616099 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-server-stop.bat @@ -0,0 +1,18 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +wmic process where (commandline like "%%kafka.Kafka%%" and not name="wmic.exe") delete +rem ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print $1}' | xargs kill -SIGTERM diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-streams-application-reset.bat b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-streams-application-reset.bat new file mode 100644 index 0000000000000000000000000000000000000000..1cfb6f518c824e0e77db2272ef65ca0d49662e21 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-streams-application-reset.bat @@ -0,0 +1,23 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +SetLocal +IF ["%KAFKA_HEAP_OPTS%"] EQU [""] ( + set KAFKA_HEAP_OPTS=-Xmx512M +) + +"%~dp0kafka-run-class.bat" kafka.tools.StreamsResetter %* +EndLocal diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-topics.bat b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-topics.bat new file mode 100644 index 0000000000000000000000000000000000000000..677b09d077d99691b8b1f0197f2e4a3676e4b27b --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/kafka-topics.bat @@ -0,0 +1,17 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +"%~dp0kafka-run-class.bat" kafka.admin.TopicCommand %* diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-server-start.bat b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-server-start.bat new file mode 100644 index 0000000000000000000000000000000000000000..f201a585135d2db55a15d8e45004feb6a536fe7f --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-server-start.bat @@ -0,0 +1,30 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +IF [%1] EQU [] ( + echo USAGE: %0 zookeeper.properties + EXIT /B 1 +) + +SetLocal +IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] ( + set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../config/log4j.properties +) +IF ["%KAFKA_HEAP_OPTS%"] EQU [""] ( + set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M +) +"%~dp0kafka-run-class.bat" org.apache.zookeeper.server.quorum.QuorumPeerMain %* +EndLocal diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-server-stop.bat b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-server-stop.bat new file mode 100644 index 0000000000000000000000000000000000000000..8b57dd8d63069ef579e7f41a60bba71f1018e29d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-server-stop.bat @@ -0,0 +1,17 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +wmic process where (commandline like "%%zookeeper%%" and not name="wmic.exe") delete diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-shell.bat b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-shell.bat new file mode 100644 index 0000000000000000000000000000000000000000..f1c86c430c1709744a0f31acbc70706dc27cfbec --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/windows/zookeeper-shell.bat @@ -0,0 +1,22 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +IF [%1] EQU [] ( + echo USAGE: %0 zookeeper_host:port[/path] [-zk-tls-config-file file] [args...] + EXIT /B 1 +) + +"%~dp0kafka-run-class.bat" org.apache.zookeeper.ZooKeeperMainWithTlsSupportForKafka -server %* diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-security-migration.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-security-migration.sh new file mode 100755 index 0000000000000000000000000000000000000000..722bde7cc4c621cf8f7f7279397f7776fb66eff9 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-security-migration.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +exec $(dirname $0)/kafka-run-class.sh kafka.admin.ZkSecurityMigrator "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-server-start.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-server-start.sh new file mode 100755 index 0000000000000000000000000000000000000000..bd9c1142817c082b19b1c71cc39fb0149ed7dba1 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-server-start.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 [-daemon] zookeeper.properties" + exit 1 +fi +base_dir=$(dirname $0) + +if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then + export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties" +fi + +if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then + export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M" +fi + +EXTRA_ARGS=${EXTRA_ARGS-'-name zookeeper -loggc'} + +COMMAND=$1 +case $COMMAND in + -daemon) + EXTRA_ARGS="-daemon "$EXTRA_ARGS + shift + ;; + *) + ;; +esac + +exec $base_dir/kafka-run-class.sh $EXTRA_ARGS org.apache.zookeeper.server.quorum.QuorumPeerMain "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-server-stop.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-server-stop.sh new file mode 100755 index 0000000000000000000000000000000000000000..11665f32707f872698de907ea3580db83d427d14 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-server-stop.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +SIGNAL=${SIGNAL:-TERM} + +OSNAME=$(uname -s) +if [[ "$OSNAME" == "OS/390" ]]; then + if [ -z $JOBNAME ]; then + JOBNAME="ZKEESTRT" + fi + PIDS=$(ps -A -o pid,jobname,comm | grep -i $JOBNAME | grep java | grep -v grep | awk '{print $1}') +elif [[ "$OSNAME" == "OS400" ]]; then + PIDS=$(ps -Af | grep java | grep -i QuorumPeerMain | grep -v grep | awk '{print $2}') +else + PIDS=$(ps ax | grep java | grep -i QuorumPeerMain | grep -v grep | awk '{print $1}') +fi + +if [ -z "$PIDS" ]; then + echo "No zookeeper server to stop" + exit 1 +else + kill -s $SIGNAL $PIDS +fi diff --git a/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-shell.sh b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-shell.sh new file mode 100755 index 0000000000000000000000000000000000000000..2f1d0f2c61670a56f89cb62c52a1a3373fafeab1 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/bin/zookeeper-shell.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +if [ $# -lt 1 ]; +then + echo "USAGE: $0 zookeeper_host:port[/path] [-zk-tls-config-file file] [args...]" + exit 1 +fi + +exec $(dirname $0)/kafka-run-class.sh org.apache.zookeeper.ZooKeeperMainWithTlsSupportForKafka -server "$@" diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-console-sink.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-console-sink.properties new file mode 100644 index 0000000000000000000000000000000000000000..e240a8f0dd8dd41b22c77fc80671e6ece995dba4 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-console-sink.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +name=local-console-sink +connector.class=org.apache.kafka.connect.file.FileStreamSinkConnector +tasks.max=1 +topics=connect-test \ No newline at end of file diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-console-source.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-console-source.properties new file mode 100644 index 0000000000000000000000000000000000000000..d0e20690e7c6446c7a8e6de8d47b17148fb9a0cf --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-console-source.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +name=local-console-source +connector.class=org.apache.kafka.connect.file.FileStreamSourceConnector +tasks.max=1 +topic=connect-test \ No newline at end of file diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-distributed.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-distributed.properties new file mode 100644 index 0000000000000000000000000000000000000000..72db145f3f892fb9eee72f94e2bee4b78f36a196 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-distributed.properties @@ -0,0 +1,86 @@ +## +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +## + +# This file contains some of the configurations for the Kafka Connect distributed worker. This file is intended +# to be used with the examples, and some settings may differ from those used in a production system, especially +# the `bootstrap.servers` and those specifying replication factors. + +# A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. +bootstrap.servers=localhost:9092 + +# unique name for the cluster, used in forming the Connect cluster group. Note that this must not conflict with consumer group IDs +group.id=connect-cluster + +# The converters specify the format of data in Kafka and how to translate it into Connect data. Every Connect user will +# need to configure these based on the format they want their data in when loaded from or stored into Kafka +key.converter=org.apache.kafka.connect.json.JsonConverter +value.converter=org.apache.kafka.connect.json.JsonConverter +# Converter-specific settings can be passed in by prefixing the Converter's setting with the converter we want to apply +# it to +key.converter.schemas.enable=true +value.converter.schemas.enable=true + +# Topic to use for storing offsets. This topic should have many partitions and be replicated and compacted. +# Kafka Connect will attempt to create the topic automatically when needed, but you can always manually create +# the topic before starting Kafka Connect if a specific topic configuration is needed. +# Most users will want to use the built-in default replication factor of 3 or in some cases even specify a larger value. +# Since this means there must be at least as many brokers as the maximum replication factor used, we'd like to be able +# to run this example on a single-broker cluster and so here we instead set the replication factor to 1. +offset.storage.topic=connect-offsets +offset.storage.replication.factor=1 +#offset.storage.partitions=25 + +# Topic to use for storing connector and task configurations; note that this should be a single partition, highly replicated, +# and compacted topic. Kafka Connect will attempt to create the topic automatically when needed, but you can always manually create +# the topic before starting Kafka Connect if a specific topic configuration is needed. +# Most users will want to use the built-in default replication factor of 3 or in some cases even specify a larger value. +# Since this means there must be at least as many brokers as the maximum replication factor used, we'd like to be able +# to run this example on a single-broker cluster and so here we instead set the replication factor to 1. +config.storage.topic=connect-configs +config.storage.replication.factor=1 + +# Topic to use for storing statuses. This topic can have multiple partitions and should be replicated and compacted. +# Kafka Connect will attempt to create the topic automatically when needed, but you can always manually create +# the topic before starting Kafka Connect if a specific topic configuration is needed. +# Most users will want to use the built-in default replication factor of 3 or in some cases even specify a larger value. +# Since this means there must be at least as many brokers as the maximum replication factor used, we'd like to be able +# to run this example on a single-broker cluster and so here we instead set the replication factor to 1. +status.storage.topic=connect-status +status.storage.replication.factor=1 +#status.storage.partitions=5 + +# Flush much faster than normal, which is useful for testing/debugging +offset.flush.interval.ms=10000 + +# These are provided to inform the user about the presence of the REST host and port configs +# Hostname & Port for the REST API to listen on. If this is set, it will bind to the interface used to listen to requests. +#rest.host.name= +#rest.port=8083 + +# The Hostname & Port that will be given out to other workers to connect to i.e. URLs that are routable from other servers. +#rest.advertised.host.name= +#rest.advertised.port= + +# Set to a list of filesystem paths separated by commas (,) to enable class loading isolation for plugins +# (connectors, converters, transformations). The list should consist of top level directories that include +# any combination of: +# a) directories immediately containing jars with plugins and their dependencies +# b) uber-jars with plugins and their dependencies +# c) directories immediately containing the package directory structure of classes of plugins and their dependencies +# Examples: +# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors, +#plugin.path= diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-file-sink.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-file-sink.properties new file mode 100644 index 0000000000000000000000000000000000000000..594ccc6e953c5494a9ac8958b848a267e1631dd8 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-file-sink.properties @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +name=local-file-sink +connector.class=FileStreamSink +tasks.max=1 +file=test.sink.txt +topics=connect-test \ No newline at end of file diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-file-source.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-file-source.properties new file mode 100644 index 0000000000000000000000000000000000000000..599cf4cb2ac79e7c015f6e7b78fd8eb037cb2091 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-file-source.properties @@ -0,0 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +name=local-file-source +connector.class=FileStreamSource +tasks.max=1 +file=test.txt +topic=connect-test \ No newline at end of file diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-log4j.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-log4j.properties new file mode 100644 index 0000000000000000000000000000000000000000..f695e37eb348b6efa6752e28fbbe0ae67f4d68c5 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-log4j.properties @@ -0,0 +1,43 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +log4j.rootLogger=INFO, stdout, connectAppender + +# Send the logs to the console. +# +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# Send the logs to a file, rolling the file at midnight local time. For example, the `File` option specifies the +# location of the log files (e.g. ${kafka.logs.dir}/connect.log), and at midnight local time the file is closed +# and copied in the same directory but with a filename that ends in the `DatePattern` option. +# +log4j.appender.connectAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.connectAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.connectAppender.File=${kafka.logs.dir}/connect.log +log4j.appender.connectAppender.layout=org.apache.log4j.PatternLayout + +# The `%X{connector.context}` parameter in the layout includes connector-specific and task-specific information +# in the log message, where appropriate. This makes it easier to identify those log messages that apply to a +# specific connector. Simply add this parameter to the log layout configuration below to include the contextual information. +# +connect.log.pattern=[%d] %p %m (%c:%L)%n +#connect.log.pattern=[%d] %p %X{connector.context}%m (%c:%L)%n + +log4j.appender.stdout.layout.ConversionPattern=${connect.log.pattern} +log4j.appender.connectAppender.layout.ConversionPattern=${connect.log.pattern} + +log4j.logger.org.apache.zookeeper=ERROR +log4j.logger.org.reflections=ERROR diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-mirror-maker.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-mirror-maker.properties new file mode 100644 index 0000000000000000000000000000000000000000..40afda5e4ad68d3c76345d63b4b5bb1d4a4bf301 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-mirror-maker.properties @@ -0,0 +1,59 @@ +# Licensed to the Apache Software Foundation (ASF) under A or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +# see org.apache.kafka.clients.consumer.ConsumerConfig for more details + +# Sample MirrorMaker 2.0 top-level configuration file +# Run with ./bin/connect-mirror-maker.sh connect-mirror-maker.properties + +# specify any number of cluster aliases +clusters = A, B + +# connection information for each cluster +# This is a comma separated host:port pairs for each cluster +# for e.g. "A_host1:9092, A_host2:9092, A_host3:9092" +A.bootstrap.servers = A_host1:9092, A_host2:9092, A_host3:9092 +B.bootstrap.servers = B_host1:9092, B_host2:9092, B_host3:9092 + +# enable and configure individual replication flows +A->B.enabled = true + +# regex which defines which topics gets replicated. For eg "foo-.*" +A->B.topics = .* + +B->A.enabled = true +B->A.topics = .* + +# Setting replication factor of newly created remote topics +replication.factor=1 + +############################# Internal Topic Settings ############################# +# The replication factor for mm2 internal topics "heartbeats", "B.checkpoints.internal" and +# "mm2-offset-syncs.B.internal" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +checkpoints.topic.replication.factor=1 +heartbeats.topic.replication.factor=1 +offset-syncs.topic.replication.factor=1 + +# The replication factor for connect internal topics "mm2-configs.B.internal", "mm2-offsets.B.internal" and +# "mm2-status.B.internal" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offset.storage.replication.factor=1 +status.storage.replication.factor=1 +config.storage.replication.factor=1 + +# customize as needed +# replication.policy.separator = _ +# sync.topic.acls.enabled = false +# emit.heartbeats.interval.seconds = 5 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/connect-standalone.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-standalone.properties new file mode 100644 index 0000000000000000000000000000000000000000..a340a3bf315cc76d1bf5aae1e62932ebd5faf792 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/connect-standalone.properties @@ -0,0 +1,41 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +# These are defaults. This file just demonstrates how to override some settings. +bootstrap.servers=localhost:9092 + +# The converters specify the format of data in Kafka and how to translate it into Connect data. Every Connect user will +# need to configure these based on the format they want their data in when loaded from or stored into Kafka +key.converter=org.apache.kafka.connect.json.JsonConverter +value.converter=org.apache.kafka.connect.json.JsonConverter +# Converter-specific settings can be passed in by prefixing the Converter's setting with the converter we want to apply +# it to +key.converter.schemas.enable=true +value.converter.schemas.enable=true + +offset.storage.file.filename=/tmp/connect.offsets +# Flush much faster than normal, which is useful for testing/debugging +offset.flush.interval.ms=10000 + +# Set to a list of filesystem paths separated by commas (,) to enable class loading isolation for plugins +# (connectors, converters, transformations). The list should consist of top level directories that include +# any combination of: +# a) directories immediately containing jars with plugins and their dependencies +# b) uber-jars with plugins and their dependencies +# c) directories immediately containing the package directory structure of classes of plugins and their dependencies +# Note: symlinks will be followed to discover dependencies or plugins. +# Examples: +# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors, +#plugin.path= diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/consumer.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/consumer.properties new file mode 100644 index 0000000000000000000000000000000000000000..01bb12eb0899f43945307afeba09e6b96013defa --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/consumer.properties @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +# see org.apache.kafka.clients.consumer.ConsumerConfig for more details + +# list of brokers used for bootstrapping knowledge about the rest of the cluster +# format: host1:port1,host2:port2 ... +bootstrap.servers=localhost:9092 + +# consumer group id +group.id=test-consumer-group + +# What to do when there is no initial offset in Kafka or if the current +# offset does not exist any more on the server: latest, earliest, none +#auto.offset.reset= diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/README.md b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/README.md new file mode 100644 index 0000000000000000000000000000000000000000..466dbe08e193c55e2c64d77fb6284e51fddb0fec --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/README.md @@ -0,0 +1,178 @@ +KRaft (aka KIP-500) mode Early Access Release +========================================================= + +# Introduction +It is now possible to run Apache Kafka without Apache ZooKeeper! We call this the [Kafka Raft metadata mode](https://cwiki.apache.org/confluence/display/KAFKA/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum), typically shortened to `KRaft mode`. +`KRaft` is intended to be pronounced like `craft` (as in `craftsmanship`). It is currently *EARLY ACCESS AND SHOULD NOT BE USED IN PRODUCTION*, but it +is available for testing in the Kafka 2.8 release. + +When the Kafka cluster is in KRaft mode, it does not store its metadata in ZooKeeper. In fact, you do not have to run ZooKeeper at all, because it stores its metadata in a KRaft quorum of controller nodes. + +KRaft mode has many benefits -- some obvious, and some not so obvious. Clearly, it is nice to manage and configure one service rather than two services. In addition, you can now run a single process Kafka cluster. +Most important of all, KRaft mode is more scalable. We expect to be able to [support many more topics and partitions](https://www.confluent.io/kafka-summit-san-francisco-2019/kafka-needs-no-keeper/) in this mode. + +# Quickstart + +## Warning +KRaft mode in Kafka 2.8 is provided for testing only, *NOT* for production. We do not yet support upgrading existing ZooKeeper-based Kafka clusters into this mode. In fact, when Kafka 3.0 is released, +it will not be possible to upgrade your KRaft clusters from 2.8 to 3.0. There may be bugs, including serious ones. You should *assume that your data could be lost at any time* if you try the early access release of KRaft mode. + +## Generate a cluster ID +The first step is to generate an ID for your new cluster, using the kafka-storage tool: + +~~~~ +$ ./bin/kafka-storage.sh random-uuid +xtzWWN4bTjitpL3kfd9s5g +~~~~ + +## Format Storage Directories +The next step is to format your storage directories. If you are running in single-node mode, you can do this with one command: + +~~~~ +$ ./bin/kafka-storage.sh format -t -c ./config/kraft/server.properties +Formatting /tmp/kraft-combined-logs +~~~~ + +If you are using multiple nodes, then you should run the format command on each node. Be sure to use the same cluster ID for each one. + +## Start the Kafka Server +Finally, you are ready to start the Kafka server on each node. + +~~~~ +$ ./bin/kafka-server-start.sh ./config/kraft/server.properties +[2021-02-26 15:37:11,071] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$) +[2021-02-26 15:37:11,294] INFO Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation (org.apache.zookeeper.common.X509Util) +[2021-02-26 15:37:11,466] INFO [Log partition=@metadata-0, dir=/tmp/kraft-combined-logs] Loading producer state till offset 0 with message format version 2 (kafka.log.Log) +[2021-02-26 15:37:11,509] INFO [raft-expiration-reaper]: Starting (kafka.raft.TimingWheelExpirationService$ExpiredOperationReaper) +[2021-02-26 15:37:11,640] INFO [RaftManager nodeId=1] Completed transition to Unattached(epoch=0, voters=[1], electionTimeoutMs=9037) (org.apache.kafka.raft.QuorumState) +... +~~~~ + +Just like with a ZooKeeper based broker, you can connect to port 9092 (or whatever port you configured) to perform administrative operations or produce or consume data. + +~~~~ +$ ./bin/kafka-topics.sh --create --topic foo --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092 +Created topic foo. +~~~~ + +# Deployment + +## Controller Servers +In KRaft mode, only a small group of specially selected servers can act as controllers (unlike the ZooKeeper-based mode, where any server can become the +Controller). The specially selected controller servers will participate in the metadata quorum. Each controller server is either active, or a hot +standby for the current active controller server. + +You will typically select 3 or 5 servers for this role, depending on factors like cost and the number of concurrent failures your system should withstand +without availability impact. Just like with ZooKeeper, you must keep a majority of the controllers alive in order to maintain availability. So if you have 3 +controllers, you can tolerate 1 failure; with 5 controllers, you can tolerate 2 failures. + +## Process Roles +Each Kafka server now has a new configuration key called `process.roles` which can have the following values: + +* If `process.roles` is set to `broker`, the server acts as a broker in KRaft mode. +* If `process.roles` is set to `controller`, the server acts as a controller in KRaft mode. +* If `process.roles` is set to `broker,controller`, the server acts as both a broker and a controller in KRaft mode. +* If `process.roles` is not set at all then we are assumed to be in ZooKeeper mode. As mentioned earlier, you can't currently transition back and forth between ZooKeeper mode and KRaft mode without reformatting. + +Nodes that act as both brokers and controllers are referred to as "combined" nodes. Combined nodes are simpler to operate for simple use cases and allow you to avoid +some fixed memory overheads associated with JVMs. The key disadvantage is that the controller will be less isolated from the rest of the system. For example, if activity on the broker causes an out of +memory condition, the controller part of the server is not isolated from that OOM condition. + +## Quorum Voters +All nodes in the system must set the `controller.quorum.voters` configuration. This identifies the quorum controller servers that should be used. All the controllers must be enumerated. +This is similar to how, when using ZooKeeper, the `zookeeper.connect` configuration must contain all the ZooKeeper servers. Unlike with the ZooKeeper config, however, `controller.quorum.voters` +also has IDs for each node. The format is id1@host1:port1,id2@host2:port2, etc. + +So if you have 10 brokers and 3 controllers named controller1, controller2, controller3, you might have the following configuration on controller1: +``` +process.roles=controller +node.id=1 +listeners=CONTROLLER://controller1.example.com:9093 +controller.quorum.voters=1@controller1.example.com:9093,2@controller2.example.com:9093,3@controller3.example.com:9093 +``` + +Each broker and each controller must set `controller.quorum.voters`. Note that the node ID supplied in the `controller.quorum.voters` configuration must match that supplied to the server. +So on controller1, node.id must be set to 1, and so forth. Note that there is no requirement for controller IDs to start at 0 or 1. However, the easiest and least confusing way to allocate +node IDs is probably just to give each server a numeric ID, starting from 0. + +Note that clients never need to configure `controller.quorum.voters`; only servers do. + +## Kafka Storage Tool +As described above in the QuickStart section, you must use the `kafka-storage.sh` tool to generate a cluster ID for your new cluster, and then run the format command on each node before starting the node. + +This is different from how Kafka has operated in the past. Previously, Kafka would format blank storage directories automatically, and also generate a new cluster UUID automatically. One reason for the change +is that auto-formatting can sometimes obscure an error condition. For example, under UNIX, if a data directory can't be mounted, it may show up as blank. In this case, auto-formatting would be the wrong thing to do. + +This is particularly important for the metadata log maintained by the controller servers. If two controllers out of three controllers were able to start with blank logs, a leader might be able to be elected with +nothing in the log, which would cause all metadata to be lost. + +# Missing Features +We do not yet support generating or loading KIP-630 metadata snapshots. This means that after a while, the time required to restart a broker will become very large. This is a known issue and we are working on +completing snapshots for the next release. + +We also don't support any kind of upgrade right now, either to or from KRaft mode. This is another important gap that we are working on. + +Finally, the following Kafka features have not yet been fully implemented: + +* Support for certain security features: configuring an Authorizer, setting up SCRAM, delegation tokens, and so forth +* Support for transactions and exactly-once semantics +* Support for adding partitions to existing topics +* Support for partition reassignment +* Support for some configurations, like enabling unclean leader election by default or dynamically changing broker endpoints +* Support for KIP-112 "JBOD" modes +* Support for KIP-631 controller metrics + +We've tried to make it clear when a feature is not supported in the early access release, but you may encounter some rough edges. We will cover these feature gaps incrementally in the `trunk` branch. + +# Debugging +If you encounter an issue, you might want to take a look at the metadata log. + +## kafka-dump-log +One way to view the metadata log is with kafka-dump-log.sh tool, like so: + +~~~~ +$ ./bin/kafka-dump-log.sh --cluster-metadata-decoder --skip-record-metadata --files /tmp/kraft-combined-logs/\@metadata-0/*.log +Dumping /tmp/kraft-combined-logs/@metadata-0/00000000000000000000.log +Starting offset: 0 +baseOffset: 0 lastOffset: 0 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 1 isTransactional: false isControl: true position: 0 CreateTime: 1614382631640 size: 89 magic: 2 compresscodec: NONE crc: 1438115474 isvalid: true + +baseOffset: 1 lastOffset: 1 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 1 isTransactional: false isControl: false position: 89 CreateTime: 1614382632329 size: 137 magic: 2 compresscodec: NONE crc: 1095855865 isvalid: true + payload: {"type":"REGISTER_BROKER_RECORD","version":0,"data":{"brokerId":1,"incarnationId":"P3UFsWoNR-erL9PK98YLsA","brokerEpoch":0,"endPoints":[{"name":"PLAINTEXT","host":"localhost","port":9092,"securityProtocol":0}],"features":[],"rack":null}} +baseOffset: 2 lastOffset: 2 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 1 isTransactional: false isControl: false position: 226 CreateTime: 1614382632453 size: 83 magic: 2 compresscodec: NONE crc: 455187130 isvalid: true + payload: {"type":"UNFENCE_BROKER_RECORD","version":0,"data":{"id":1,"epoch":0}} +baseOffset: 3 lastOffset: 3 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 1 isTransactional: false isControl: false position: 309 CreateTime: 1614382634484 size: 83 magic: 2 compresscodec: NONE crc: 4055692847 isvalid: true + payload: {"type":"FENCE_BROKER_RECORD","version":0,"data":{"id":1,"epoch":0}} +baseOffset: 4 lastOffset: 4 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 2 isTransactional: false isControl: true position: 392 CreateTime: 1614382671857 size: 89 magic: 2 compresscodec: NONE crc: 1318571838 isvalid: true + +baseOffset: 5 lastOffset: 5 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 2 isTransactional: false isControl: false position: 481 CreateTime: 1614382672440 size: 137 magic: 2 compresscodec: NONE crc: 841144615 isvalid: true + payload: {"type":"REGISTER_BROKER_RECORD","version":0,"data":{"brokerId":1,"incarnationId":"RXRJu7cnScKRZOnWQGs86g","brokerEpoch":4,"endPoints":[{"name":"PLAINTEXT","host":"localhost","port":9092,"securityProtocol":0}],"features":[],"rack":null}} +baseOffset: 6 lastOffset: 6 count: 1 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 2 isTransactional: false isControl: false position: 618 CreateTime: 1614382672544 size: 83 magic: 2 compresscodec: NONE crc: 4155905922 isvalid: true + payload: {"type":"UNFENCE_BROKER_RECORD","version":0,"data":{"id":1,"epoch":4}} +baseOffset: 7 lastOffset: 8 count: 2 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 2 isTransactional: false isControl: false position: 701 CreateTime: 1614382712158 size: 159 magic: 2 compresscodec: NONE crc: 3726758683 isvalid: true + payload: {"type":"TOPIC_RECORD","version":0,"data":{"name":"foo","topicId":"5zoAlv-xEh9xRANKXt1Lbg"}} + payload: {"type":"PARTITION_RECORD","version":0,"data":{"partitionId":0,"topicId":"5zoAlv-xEh9xRANKXt1Lbg","replicas":[1],"isr":[1],"removingReplicas":null,"addingReplicas":null,"leader":1,"leaderEpoch":0,"partitionEpoch":0}} +~~~~ + +## The Metadata Shell +Another tool for examining the metadata logs is the Kafka metadata shell. Just like the ZooKeeper shell, this allows you to inspect the metadata of the cluster. + +~~~~ +$ ./bin/kafka-metadata-shell.sh --snapshot /tmp/kraft-combined-logs/\@metadata-0/00000000000000000000.log +>> ls / +brokers local metadataQuorum topicIds topics +>> ls /topics +foo +>> cat /topics/foo/0/data +{ + "partitionId" : 0, + "topicId" : "5zoAlv-xEh9xRANKXt1Lbg", + "replicas" : [ 1 ], + "isr" : [ 1 ], + "removingReplicas" : null, + "addingReplicas" : null, + "leader" : 1, + "leaderEpoch" : 0, + "partitionEpoch" : 0 +} +>> exit +~~~~ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/broker.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/broker.properties new file mode 100644 index 0000000000000000000000000000000000000000..1b71803093acd9ca92e6aa0f1cd4b7984a4c2221 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/broker.properties @@ -0,0 +1,128 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +# +# This configuration file is intended for use in KRaft mode, where +# Apache ZooKeeper is not present. See config/kraft/README.md for details. +# + +############################# Server Basics ############################# + +# The role of this server. Setting this puts us in KRaft mode +process.roles=broker + +# The node id associated with this instance's roles +node.id=1 + +# The connect string for the controller quorum +controller.quorum.voters=1@localhost:9093 + +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +listeners=PLAINTEXT://localhost:9092 +inter.broker.listener.name=PLAINTEXT + +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +advertised.listeners=PLAINTEXT://localhost:9092 + +# Listener, host name, and port for the controller to advertise to the brokers. If +# this server is a controller, this listener must be configured. +controller.listener.names=CONTROLLER + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/kraft-broker-logs + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/controller.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/controller.properties new file mode 100644 index 0000000000000000000000000000000000000000..30fe3e78f3ad8e5c7e65c78e9d35cf5c0b4f7038 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/controller.properties @@ -0,0 +1,127 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +# +# This configuration file is intended for use in KRaft mode, where +# Apache ZooKeeper is not present. See config/kraft/README.md for details. +# + +############################# Server Basics ############################# + +# The role of this server. Setting this puts us in KRaft mode +process.roles=controller + +# The node id associated with this instance's roles +node.id=1 + +# The connect string for the controller quorum +controller.quorum.voters=1@localhost:9093 + +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +listeners=PLAINTEXT://:9093 + +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +#advertised.listeners=PLAINTEXT://your.host.name:9092 + +# Listener, host name, and port for the controller to advertise to the brokers. If +# this server is a controller, this listener must be configured. +controller.listener.names=PLAINTEXT + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/raft-controller-logs + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/server.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/server.properties new file mode 100644 index 0000000000000000000000000000000000000000..8e6406c3b43f2e14d2dcc30b828bbd997d8048ef --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/kraft/server.properties @@ -0,0 +1,128 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +# +# This configuration file is intended for use in KRaft mode, where +# Apache ZooKeeper is not present. See config/kraft/README.md for details. +# + +############################# Server Basics ############################# + +# The role of this server. Setting this puts us in KRaft mode +process.roles=broker,controller + +# The node id associated with this instance's roles +node.id=1 + +# The connect string for the controller quorum +controller.quorum.voters=1@localhost:9093 + +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +listeners=PLAINTEXT://:9092,CONTROLLER://:9093 +inter.broker.listener.name=PLAINTEXT + +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +advertised.listeners=PLAINTEXT://localhost:9092 + +# Listener, host name, and port for the controller to advertise to the brokers. If +# this server is a controller, this listener must be configured. +controller.listener.names=CONTROLLER + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/kraft-combined-logs + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/log4j.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/log4j.properties new file mode 100644 index 0000000000000000000000000000000000000000..4cbce9d104291fe0a8c6d6acb7e6fc67dde4ecc5 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/log4j.properties @@ -0,0 +1,91 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +# Unspecified loggers and loggers with additivity=true output to server.log and stdout +# Note that INFO only applies to unspecified loggers, the log level of the child logger is used otherwise +log4j.rootLogger=INFO, stdout, kafkaAppender + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n + +log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log +log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n + +log4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.stateChangeAppender.File=${kafka.logs.dir}/state-change.log +log4j.appender.stateChangeAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.stateChangeAppender.layout.ConversionPattern=[%d] %p %m (%c)%n + +log4j.appender.requestAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.requestAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.requestAppender.File=${kafka.logs.dir}/kafka-request.log +log4j.appender.requestAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.requestAppender.layout.ConversionPattern=[%d] %p %m (%c)%n + +log4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log +log4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n + +log4j.appender.controllerAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log +log4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n + +log4j.appender.authorizerAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.authorizerAppender.DatePattern='.'yyyy-MM-dd-HH +log4j.appender.authorizerAppender.File=${kafka.logs.dir}/kafka-authorizer.log +log4j.appender.authorizerAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.authorizerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n + +# Change the line below to adjust ZK client logging +log4j.logger.org.apache.zookeeper=INFO + +# Change the two lines below to adjust the general broker logging level (output to server.log and stdout) +log4j.logger.kafka=INFO +log4j.logger.org.apache.kafka=INFO + +# Change to DEBUG or TRACE to enable request logging +log4j.logger.kafka.request.logger=WARN, requestAppender +log4j.additivity.kafka.request.logger=false + +# Uncomment the lines below and change log4j.logger.kafka.network.RequestChannel$ to TRACE for additional output +# related to the handling of requests +#log4j.logger.kafka.network.Processor=TRACE, requestAppender +#log4j.logger.kafka.server.KafkaApis=TRACE, requestAppender +#log4j.additivity.kafka.server.KafkaApis=false +log4j.logger.kafka.network.RequestChannel$=WARN, requestAppender +log4j.additivity.kafka.network.RequestChannel$=false + +log4j.logger.kafka.controller=TRACE, controllerAppender +log4j.additivity.kafka.controller=false + +log4j.logger.kafka.log.LogCleaner=INFO, cleanerAppender +log4j.additivity.kafka.log.LogCleaner=false + +log4j.logger.state.change.logger=INFO, stateChangeAppender +log4j.additivity.state.change.logger=false + +# Access denials are logged at INFO level, change to DEBUG to also log allowed accesses +log4j.logger.kafka.authorizer.logger=INFO, authorizerAppender +log4j.additivity.kafka.authorizer.logger=false + diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/producer.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/producer.properties new file mode 100644 index 0000000000000000000000000000000000000000..4786b988a29b84436280b361a4749aba8d9a02b1 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/producer.properties @@ -0,0 +1,45 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +# see org.apache.kafka.clients.producer.ProducerConfig for more details + +############################# Producer Basics ############################# + +# list of brokers used for bootstrapping knowledge about the rest of the cluster +# format: host1:port1,host2:port2 ... +bootstrap.servers=localhost:9092 + +# specify the compression codec for all data generated: none, gzip, snappy, lz4, zstd +compression.type=none + +# name of the partitioner class for partitioning events; default partition spreads data randomly +#partitioner.class= + +# the maximum amount of time the client will wait for the response of a request +#request.timeout.ms= + +# how long `KafkaProducer.send` and `KafkaProducer.partitionsFor` will block for +#max.block.ms= + +# the producer will wait for up to the given delay to allow other records to be sent so that the sends can be batched together +#linger.ms= + +# the maximum size of a request in bytes +#max.request.size= + +# the default batch size in bytes when batching multiple records sent to a partition +#batch.size= + +# the total bytes of memory the producer can use to buffer records waiting to be sent to the server +#buffer.memory= diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/server.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/server.properties new file mode 100644 index 0000000000000000000000000000000000000000..b1cf5c454169c2f08d56f4af09ef1726f622728d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/server.properties @@ -0,0 +1,136 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +# see kafka.server.KafkaConfig for additional details and defaults + +############################# Server Basics ############################# + +# The id of the broker. This must be set to a unique integer for each broker. +broker.id=0 + +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +#listeners=PLAINTEXT://:9092 + +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +#advertised.listeners=PLAINTEXT://your.host.name:9092 + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/kafka-logs + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 + +############################# Zookeeper ############################# + +# Zookeeper connection string (see zookeeper docs for details). +# This is a comma separated host:port pairs, each corresponding to a zk +# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". +# You can also append an optional chroot string to the urls to specify the +# root directory for all kafka znodes. +zookeeper.connect=localhost:2181 + +# Timeout in ms for connecting to zookeeper +zookeeper.connection.timeout.ms=18000 + + +############################# Group Coordinator Settings ############################# + +# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance. +# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms. +# The default value for this is 3 seconds. +# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing. +# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup. +group.initial.rebalance.delay.ms=0 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/tools-log4j.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/tools-log4j.properties new file mode 100644 index 0000000000000000000000000000000000000000..b19e343265fc3601423cfb08535a139639116375 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/tools-log4j.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +log4j.rootLogger=WARN, stderr + +log4j.appender.stderr=org.apache.log4j.ConsoleAppender +log4j.appender.stderr.layout=org.apache.log4j.PatternLayout +log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n +log4j.appender.stderr.Target=System.err diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/trogdor.conf b/hackfest/kafka/kafka_2.13-2.8.0/config/trogdor.conf new file mode 100644 index 0000000000000000000000000000000000000000..320cbe7560cd0c45f076de4801826424f9df3882 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/trogdor.conf @@ -0,0 +1,25 @@ +{ + "_comment": [ + "Licensed to the Apache Software Foundation (ASF) under one or more", + "contributor license agreements. See the NOTICE file distributed with", + "this work for additional information regarding copyright ownership.", + "The ASF licenses this file to You 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." + ], + "platform": "org.apache.kafka.trogdor.basic.BasicPlatform", "nodes": { + "node0": { + "hostname": "localhost", + "trogdor.agent.port": 8888, + "trogdor.coordinator.port": 8889 + } + } +} diff --git a/hackfest/kafka/kafka_2.13-2.8.0/config/zookeeper.properties b/hackfest/kafka/kafka_2.13-2.8.0/config/zookeeper.properties new file mode 100644 index 0000000000000000000000000000000000000000..90f4332ec31cf5e6612daa5fb75c4ac0d0093dd8 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/config/zookeeper.properties @@ -0,0 +1,24 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +# the directory where the snapshot is stored. +dataDir=/tmp/zookeeper +# the port at which the clients will connect +clientPort=2181 +# disable the per-ip limit on the number of connections since this is a non-production config +maxClientCnxns=0 +# Disable the adminserver by default to avoid port conflicts. +# Set the port to something non-conflicting if choosing to enable this +admin.enableServer=false +# admin.serverPort=8080 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/activation-1.1.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/activation-1.1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b703ab283e0cddabf9c1b5e28658f9198c0def4 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/activation-1.1.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/aopalliance-repackaged-2.6.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/aopalliance-repackaged-2.6.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..35502f09dcaa845e9ad63fa1ea6f5989cf97731a Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/aopalliance-repackaged-2.6.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/argparse4j-0.7.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/argparse4j-0.7.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..b1865dd3827eada57d396d4fc1e012ff990c5f3b Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/argparse4j-0.7.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/audience-annotations-0.5.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/audience-annotations-0.5.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..52491a7ea2048e9ab82534472a1c9fff7396d031 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/audience-annotations-0.5.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/commons-cli-1.4.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/commons-cli-1.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..22deb3089e2f79a983406bd13a75a3e6238afdcf Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/commons-cli-1.4.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/commons-lang3-3.8.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/commons-lang3-3.8.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..2c65ce67d5c2b746e0583e4879c35ed0751b505e Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/commons-lang3-3.8.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-api-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-api-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..7c5ba4316738de9603684b5ee3f81d6ca187f052 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-api-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-basic-auth-extension-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-basic-auth-extension-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..86fcdd7b7f76b7a11df061692bc92c3495712039 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-basic-auth-extension-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-file-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-file-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..ba1b1b19b53fec6727ccad01aaf1df14e54149a0 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-file-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-json-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-json-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..b96a4b00566737cba09a8690ed7c075677ba80ea Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-json-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-mirror-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-mirror-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..9947af91f87c2e13ec32b08094f93319fd850c6f Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-mirror-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-mirror-client-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-mirror-client-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..4099b02b464300e3da31fb289855a88402726e98 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-mirror-client-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-runtime-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-runtime-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..ce0fb813f99fb33e5f105ec76b59d192843ee0a9 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-runtime-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-transforms-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-transforms-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..b72a124106678af9728fd050fc14ae833e506c6a Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/connect-transforms-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-api-2.6.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-api-2.6.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..03d6eb05921f28d7fdca0f7bf1af7b187cdf1a8b Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-api-2.6.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-locator-2.6.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-locator-2.6.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..0906bd1bdaca955a54c37a2b70ed393d5aa9fcca Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-locator-2.6.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-utils-2.6.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-utils-2.6.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..768bc48800fee6da4526f9b8cff0de1773a7bc3f Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/hk2-utils-2.6.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-annotations-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-annotations-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..74a8b1ba76ed2ba3498f38338f96f1615ad6d65d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-annotations-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-core-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-core-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..ed1817300546847acc182edb40b0f068a605d711 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-core-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-databind-2.10.5.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-databind-2.10.5.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..3246c3d3c27860b7ae0579dd7b2474d0a800d7e3 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-databind-2.10.5.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-dataformat-csv-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-dataformat-csv-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..df564d944d0a752a58825dc8e9f094f7a5f13764 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-dataformat-csv-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-datatype-jdk8-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-datatype-jdk8-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..32d020097821a02469a843129cd6c9b055f9fd4b Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-datatype-jdk8-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-jaxrs-base-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-jaxrs-base-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..74d74f53703a8b92803a9d7d0cf4b2c8afdb6cb5 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-jaxrs-base-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-jaxrs-json-provider-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-jaxrs-json-provider-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..9d6dde11b2661743a97b296f34653a5514a33bf1 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-jaxrs-json-provider-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-jaxb-annotations-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-jaxb-annotations-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..ea23eb79435cc855c6b7c97e542caf54ddd6cb05 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-jaxb-annotations-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-paranamer-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-paranamer-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..63efc6ac43de3ed20d3034ec4074f7f8b62911af Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-paranamer-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-scala_2.13-2.10.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-scala_2.13-2.10.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..51326637eff340dbfa724e4f554fd28ec57bdefb Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jackson-module-scala_2.13-2.10.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.activation-api-1.2.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.activation-api-1.2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..bbfb52ff01e082afd65ee6444f2645e999f98ee0 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.activation-api-1.2.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.annotation-api-1.3.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.annotation-api-1.3.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..606d992eb235afffc3284caf6a2f97939e8a1682 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.annotation-api-1.3.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.inject-2.6.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.inject-2.6.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..cee6acd2a0a81094bb1b6f8b75f2c6913301ba6d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.inject-2.6.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.validation-api-2.0.2.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.validation-api-2.0.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..d68c9f7f36d2cfda66f0b89e0719b73b034143b5 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.validation-api-2.0.2.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.ws.rs-api-2.1.6.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.ws.rs-api-2.1.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..4850659bb6c9f2872836f4d0d5f4600da774d440 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.ws.rs-api-2.1.6.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.xml.bind-api-2.3.2.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.xml.bind-api-2.3.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..b16236d561c08c177f79a99e2c7a47be1f81616d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jakarta.xml.bind-api-2.3.2.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/javassist-3.27.0-GA.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/javassist-3.27.0-GA.jar new file mode 100644 index 0000000000000000000000000000000000000000..092e59b4d68c3d5832cef4e04324212fd319ab48 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/javassist-3.27.0-GA.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/javax.servlet-api-3.1.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/javax.servlet-api-3.1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..6b14c3d267867e76c04948bb31b3de18e01412ee Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/javax.servlet-api-3.1.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/javax.ws.rs-api-2.1.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/javax.ws.rs-api-2.1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..3eabbf0874c4a56edf5f47fb9e26c2c125dc23b2 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/javax.ws.rs-api-2.1.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jaxb-api-2.3.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jaxb-api-2.3.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..0817c083ad9965d72e18c87dd23b63f8241adc50 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jaxb-api-2.3.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-client-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-client-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..6f4cbe1f0181c85eb4fa1351b55a86ca13a26719 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-client-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-common-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-common-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..22a163898ff67d1bfed6c81feb806e2371ca4b53 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-common-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-container-servlet-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-container-servlet-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..5395f6d31d9c070a8b31ff699d56e70dad3db935 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-container-servlet-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-container-servlet-core-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-container-servlet-core-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..9e0d13fd4cf64859d2c2e106bf1b5c003acfe822 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-container-servlet-core-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-hk2-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-hk2-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..1c8faeaae7a57fa13e8f1bf642c95782f7747345 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-hk2-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-media-jaxb-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-media-jaxb-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..b30472a94abce99d9379cf0f3c08df226a3913f4 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-media-jaxb-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-server-2.31.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-server-2.31.jar new file mode 100644 index 0000000000000000000000000000000000000000..8093610a304e2c1f8c4b0422261368b0c47be8bf Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jersey-server-2.31.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-client-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-client-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..8f3456444abdace3451d6abbf5f849adb38d8159 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-client-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-continuation-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-continuation-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..628c66adb35f67ef4083337f943633ee5a21359d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-continuation-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-http-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-http-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..0e4b3a626f5c445f7f94956e7547cfaf41e42a77 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-http-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-io-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-io-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..410024d7c32c47ec1a910e59f349d463af084fb9 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-io-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-security-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-security-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..959f42617384cd30caf86e2f2528164f9aad2fc7 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-security-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-server-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-server-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..93ef391b9669a8c2e8d720d04af7fe058af699e0 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-server-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-servlet-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-servlet-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..87712d80c28bfe61ab993917e2561286c542057d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-servlet-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-servlets-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-servlets-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..6fb55c290838080c1278fbc7fa1149fdbd707f5a Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-servlets-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-util-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-util-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..a55699def34d2aa97981fa41296da44d31a3671d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-util-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-util-ajax-9.4.39.v20210325.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-util-ajax-9.4.39.v20210325.jar new file mode 100644 index 0000000000000000000000000000000000000000..edfdee3e9bbf4bd19d6bdd46538616ff2c6f4e52 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jetty-util-ajax-9.4.39.v20210325.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jline-3.12.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jline-3.12.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..fcb8d4dd6d1450ee214cce78eff1942a1cc1a9d3 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jline-3.12.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/jopt-simple-5.0.4.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/jopt-simple-5.0.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..317b2b069c413d1b58a471e7d49d85e03e4425d6 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/jopt-simple-5.0.4.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-clients-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-clients-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..375b2f82a46b67cae763c06166757bfa6ebf8ec5 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-clients-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-log4j-appender-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-log4j-appender-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..83ca256013d5076a283dd4ca413e8dc130bde93d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-log4j-appender-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-metadata-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-metadata-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..ab64f115e1d856ebf866029f342d78430272ee62 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-metadata-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-raft-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-raft-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..93b2c24b40312b89f7419f0d49b861085790984c Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-raft-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-shell-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-shell-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..4f1271f7e37292832911395c0c9909030e969d7b Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-shell-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..fc135def8c22b6ad32deba9f3a723444c2a69d22 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-examples-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-examples-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..7bc625021f55234fcdadc5f3b19e27e419ef3bd9 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-examples-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-scala_2.13-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-scala_2.13-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..49b1bd169f5e052d8d7a2f7a1b09ea3df8efcc2f Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-scala_2.13-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-test-utils-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-test-utils-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..50e01359e90596c87a296622276dee3a95b95459 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-streams-test-utils-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-tools-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-tools-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..ef49b423f6db1a79258437f816d49a7621317219 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka-tools-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-javadoc.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-javadoc.jar new file mode 100644 index 0000000000000000000000000000000000000000..31705d79e6163ebc7636b3d610b64c3744b83f6f Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-javadoc.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-javadoc.jar.asc b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-javadoc.jar.asc new file mode 100644 index 0000000000000000000000000000000000000000..fb9b148683c4d81ac9a6b09c5fdfea76b9b996e6 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-javadoc.jar.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJgdv10AAoJEAFsz8oOL9Vh/HQP/ixN0ulA7WE41KuceF60xJ7+ +kiM3r4pJaJkcUuJRn8Q2U9w5vym0AMlRe7OlbHtRztpsHnUj2fyNvw/lIcWvvHey +G9UWCrjfReq7+Lcb7XsCRJZ1KCnlyKz6r2Jdh5E7nNlH9Fxe1pZv/1M4SZVXeud9 +Rq5byoQsVWGdNinmPvwckFbdmcmyiSGWbUlCVe9MYx+NfxcUisREGDkPdqaOeN+Y +HCEdmY0vpeMgkIpJOEDJHGwrJmp5sWT50Qor5J4FFtBlVPFyEeWVxyL9/025WyZe +wFzAVBmUXYLdhuF1Tq2fmfYTJWasbnu34PHsduq3t0TVAFzOyLDbgoRUnLWRA2Ws +eJgRRn2gKzB40vNpLTk79PjPEe37BKto2HxK/hhZebgl4TlhwR+atn54mfnuL73W ++eCoNikh2Xww1d83Fyv43dUggIr6H+3yipIRqoch4gf5Q40CFArbTDY5QBjWwiTW +2Ee8QuqxK5J21+ThwH+O/3ThcHZPWQvSqKz5AdpgF0JR2/Tzp/or93fthuBAJ+cM +op4IrfCt2uJlUNHzZL5x+WVxwVyhoC7HGJ9tq90aeN1F8d+2wT7gWRVtfASDnbE2 +Se8G3rfJEx2YD2Q0d1oxRR8na0mtfxT3gu4jcxhjlfRaBEBoGZ20nhnaIh2ZT7xN +9FBtpv1yg9q9PW0pordO +=heAh +-----END PGP SIGNATURE----- diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-sources.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..75d51d1b5c0f5335db597a7cd8720b0122dedb64 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-sources.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-sources.jar.asc b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-sources.jar.asc new file mode 100644 index 0000000000000000000000000000000000000000..6abc5e320f316dca38e6c58f66da64fff8cc70e7 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-sources.jar.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJgdv10AAoJEAFsz8oOL9VhPeUP/0ZRAJo+0KZ4JycjaR1ea09S +FKXedSNGRMtU/ttwOuTMeICqvPDqxS5OvJD60Kp1yahODUIHvSb30WfjnQEdfM+5 +UiqOYz809NYVbwdLx951dm/c4++aQ+/cnucJLjl6R8Wj0hxOSU/Whb383tl7RBx8 +GVScgAEN+q0qC+jjNi6dm5TKjBxJqFbMcSlc34yk8Wno0d8y1ls1dBvNFmEtIZ1I ++gMUCuRKHrooudis5zPKXLrjCL8VZxqDAuovuRDLbVJDawbMB8sHYXE9phfOvoYi +27SDc7gpQJZ6Xwy2Ns1QaX8DowZgEx4xgZSzO1zHJfTvUoIxIFrg76L9CxbChr+P +eoWY0/UVpIiHRjLwkiVoHSCvgTKohL4kv74fID3xELdvClU4AMNAy9jVVakhLcgq +D/qK4t7+4VlWj/CZOoiN8ZrT/A2l3RcBp6OuXLcLQrEfuL1b2d/SkP9N3VGB3qfV +OUomFztr/CLxR8CNHvMWG2GbbVY/zDVaYPGMtHaorszLV/0+Fpz7+W0WRj4ZwU72 +fxIDKwM/nUrctJZS/D8zXveHtPypDvxsJVIwCGqULhtoYvKBmSaMFtVJ8eq8yO7A +BSbC1/nRGj8aaVItfKPjFoQtjOByzkuqQnG7WgwGIdiwOjOJz0kSkNvRAuRDntUa +j5ACmAY/hiwWEcmEqh7t +=zTA7 +-----END PGP SIGNATURE----- diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test-sources.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..d9bfb261c615da12118f37f3c9a316ea0f7713bc Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test-sources.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test-sources.jar.asc b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test-sources.jar.asc new file mode 100644 index 0000000000000000000000000000000000000000..cb147011ea03462b4f3e34e66659d98ae0947d97 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test-sources.jar.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJgdv1zAAoJEAFsz8oOL9Vh3gIP/00PY5XCwsUFDR9hYnqdNAbZ +5xQWW5hCpnIWNbpAFPY5qf+oW40IuhsjcoJFKk6PNnAwptekx1I/2avz3PD3F613 +mj4b1fPx1LPFtS7+IUEHdb+KuzS4pIQ6zMyRwbISjmJFyPUsxULsx6nrFix53201 ++EPSlxdrygGIb1nlGzSaBe+4UybdsODo1HagXV6jBIsMntFkW7Y5wZAZh+QFQnOm +wPZPFBiwZ1Ly2R1eTs2uWvPfOhoG7Vgdoc1LWIJfWXnlLqE+eSdn7/TMxQ9KYKkZ +1UjWzLE5YEj6rVj4TnxpqNKq8hMGSX6ZDFEXlu95UJuqSZt+o4Z4PxYXY8SNo3U+ +uYpfftnkL26DVyqQS3BjLILSsnICtsuGLnlVdJJr3NzWQRCFVvsuWKyKRixlruk9 +KUDvZN4aR2FJW5N0Xy3cCS6b5m0WoiH14PiA0rgAq1KYD0QMPgFm/FhZkovTslcG +wfZYHtTULWO3NImkPSfRYUX+2RyEkHhfELfnLmQ8P560ULFW8Ckj3OoBk/Im5Faw +rO//gVonTKOuyh9EiGjHVx+VaihbIjf8GBZ7b9q/yZZqTybAashDpqnFD+vAo+jy +YwvxM6fF2CekJpD0Sk+eOcJNB9Ujwz973bDGuqSYhXG330xa1JbJ1hH73p10fsvR +g6OUBQRbTDCXmODUTcsf +=gek7 +-----END PGP SIGNATURE----- diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test.jar new file mode 100644 index 0000000000000000000000000000000000000000..7a7e9f7d6efffa2728bf404fd51469338a8eb265 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test.jar.asc b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test.jar.asc new file mode 100644 index 0000000000000000000000000000000000000000..85b5dfe93c5708432c5229ba8011cc366ee5ce0d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0-test.jar.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJgdv1zAAoJEAFsz8oOL9VhGp0QAKRfapWQIdqIRBWZUEzHFlbJ +Z+x0pLGiRJMDyoKj4pDqMyHWaTkW1Oav+XXQXlXHrZVClTiAnwyvYtpVQ42NbDu1 ++EyNuJ20phLVRMRhlMYYNaOVsI309a13RmmRxKWy4L147SZr9v+ay3g+jkjWU/GO +SjnQpT4VrmZjBvbfNYBlP7+yXevoIajpaozau1pIfROzsTdAXDW4pYbDZq7R/htq +fyxrqM2X3pY+WvMm2NpJ+zG3oZtAfSfI4/57PQse9dqWFzxzoGBDW/S9EJdqBWMT +M+6q36N+vYDQ8Y3Wlhe3lZfpsbQ8s2+JbloxO+c5qLyTJpLFnj0lMuc5AqQ4f8pd +B2uVQ3J/dlhj9JL9KA2nL0l1kQ40itUrzSEEsyhkeM/JExpG3GOjUrh0i1fAqaAA +kl04d9cfRNTYnOLL3d1D6M1rcQA9ydBk3MbvAV+3pQLSjKpkGuYDQeH4IcBBKW0F +XvIZEp+xw0eFLoT3DqPYkZJ/ry0r7+JFGJ+zVRU/djs8msspx5nRsEhB+6hvD3sj +SFGwAyJXmi8PMDrJTBqIewNgFC0OXoN4RQVxN0mQKaKVy98gqD2JaRQOjALJvDQQ +kJN2lyZ6OYLfsD8vHm2lYVU3WtRFMugWj/gWs2qJ6ikrDIkLbsFav83pS59gRao/ +vCnwpEMCseMe6XiLH2x5 +=0naQ +-----END PGP SIGNATURE----- diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..158454d4dc57312add0b36eb4d6c85a9496c0078 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0.jar.asc b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0.jar.asc new file mode 100644 index 0000000000000000000000000000000000000000..1ea0782e60696919ca50267ac8ff5c3d4d44738d --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/libs/kafka_2.13-2.8.0.jar.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.64 + +iQIcBAABCgAGBQJgdv10AAoJEAFsz8oOL9VhscQP/2Fac2u6DezA+EToziIjIBMh +9gUfnWBBsY//tAaxosYnKp/VX2eRUd2XZ3ChKj1mk1qSosQ8jUOpu8fHgDV45t1T +uWsV1KsTTHu+fgy8zdQ/G4XGQYPdFalc9v8kvHI//ZlHWXcSTvR/B8m4pKyLg/mu +1xQuaLycrEt5dpXIxq+FYG+GnA+lJIrQlq11ZDTWJMSg1qnGVAXLX333HLIIlC5V +YoG7HFCImqX7aHe6sapKGlXYSeMLgO+wnLFXL9cjvxv+2wd+G4DSAz8s05mYiPjf +Bqx2Pp34ah3Oqh8lh4RL9aRqGWAmHrbFQkKQmo4sx8RW1qXp6qaMwSASPAcJQC5e +8gpwGwwo781l1HeKZO633ASrQs9RbQ4rgs4BciT+fhCu63ytjN1vRLz7vLbh9D5t +ZkXsJw33BU6h639sFPKu8eMyYe6ArqQ/5QsLMA+kE88b0wH5qCi57zf40iQQ+HAc +uULfefE+PnEIJrALvOcY9QDJVGxyvS6SOINZ0Fl6sLnfkxLMG/CV5B0UVWWWntNA +ei9F8b7utP8PzSxTnxCr3yWGnE2qVz2hrJeYkXdadZS3Tq6Qt2lVMZ+n0hf1szVn +0DmY27c/cADLIeviJHQzmB2ifVRCZP5dBGn1WqUWSg8oZfh5z+nYktuvdbZIROOQ +DvZIiIsAYS7eJHuJBYQs +=oHk2 +-----END PGP SIGNATURE----- diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/log4j-1.2.17.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/log4j-1.2.17.jar new file mode 100644 index 0000000000000000000000000000000000000000..1d425cf7d7e25f81be64d32c406ff66cfb6c4766 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/log4j-1.2.17.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/lz4-java-1.7.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/lz4-java-1.7.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..95f57ca102eb37f7f1a911aa7d45f0ba58c60c9c Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/lz4-java-1.7.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/maven-artifact-3.6.3.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/maven-artifact-3.6.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..42c81115aa98ff96892a048b0ca93533b5bbfef6 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/maven-artifact-3.6.3.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/metrics-core-2.2.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/metrics-core-2.2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..0f6d1cb0ecbd37f673bc87e109cacc535e23350a Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/metrics-core-2.2.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-buffer-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-buffer-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..2f021341cc3c8318c058cb1343ec8d5b8f53e4fb Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-buffer-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-codec-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-codec-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..d637c6b933624a3d8fbf1259d86ad082a0ba580f Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-codec-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-common-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-common-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..b9c80a8efc70065d3f12462d45ea25acef260cc2 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-common-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-handler-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-handler-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..c28e942be8ef401f64434e5407cbbe36ac9eb0a1 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-handler-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-resolver-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-resolver-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..45e3662a7299a6e27128fc102c4a51346824c09e Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-resolver-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..e277f71afc865c510847223b534d25933331c03d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-native-epoll-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-native-epoll-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..0d1ea389e28b4108b077c4a95adcec87b8eef411 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-native-epoll-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-native-unix-common-4.1.62.Final.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-native-unix-common-4.1.62.Final.jar new file mode 100644 index 0000000000000000000000000000000000000000..66e66cc1c58d302046c31c0637f4b5c0c930c83a Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/netty-transport-native-unix-common-4.1.62.Final.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/osgi-resource-locator-1.0.3.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/osgi-resource-locator-1.0.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..0f3c38653fb6182b0833f554340dd0c7ca7c4093 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/osgi-resource-locator-1.0.3.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/paranamer-2.8.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/paranamer-2.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..0bf659b93e74bb53003bc521f59c855d0ab8e692 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/paranamer-2.8.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/plexus-utils-3.2.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/plexus-utils-3.2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..d749dd7256acf0748f47ffcb88df78f9e113a7e4 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/plexus-utils-3.2.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/reflections-0.9.12.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/reflections-0.9.12.jar new file mode 100644 index 0000000000000000000000000000000000000000..0f176b914126b6893fa8ae34ce21b2d710f60cae Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/reflections-0.9.12.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/rocksdbjni-5.18.4.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/rocksdbjni-5.18.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..86ddb6e01d843af1956f1fbc4d070d056cc00a8c Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/rocksdbjni-5.18.4.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-collection-compat_2.13-2.3.0.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-collection-compat_2.13-2.3.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..cf5a1ea639da93205480fd3cb02a9ef537b9629d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-collection-compat_2.13-2.3.0.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-java8-compat_2.13-0.9.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-java8-compat_2.13-0.9.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..506333953adecdf8929446e1b69a32f1fa606230 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-java8-compat_2.13-0.9.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-library-2.13.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-library-2.13.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..1eb317d14db71a69da63d378882e093937b31b8d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-library-2.13.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-logging_2.13-3.9.2.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-logging_2.13-3.9.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..1e4465168d033a52bec61ac3fdd5f430a61ecb6a Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-logging_2.13-3.9.2.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-reflect-2.13.5.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-reflect-2.13.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..ebd9e242e32320d733eb07ee6043f54f8f8b39e1 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/scala-reflect-2.13.5.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/slf4j-api-1.7.30.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/slf4j-api-1.7.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..29ac26fb8cad7ef5934377a8c269c4e521520e5c Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/slf4j-api-1.7.30.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/slf4j-log4j12-1.7.30.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/slf4j-log4j12-1.7.30.jar new file mode 100644 index 0000000000000000000000000000000000000000..c6bc8b2efe5f92db94964defab9a80818758d613 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/slf4j-log4j12-1.7.30.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/snappy-java-1.1.8.1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/snappy-java-1.1.8.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..896967f9bd87c47505c0bf7b22512e675acd8510 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/snappy-java-1.1.8.1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/zookeeper-3.5.9.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/zookeeper-3.5.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..f5eceaab89c99f8ebff3aeaf82dfc9355e7bb80e Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/zookeeper-3.5.9.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/zookeeper-jute-3.5.9.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/zookeeper-jute-3.5.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..3c9c184a068aa5efdf64ba7767acd543653463d6 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/zookeeper-jute-3.5.9.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/libs/zstd-jni-1.4.9-1.jar b/hackfest/kafka/kafka_2.13-2.8.0/libs/zstd-jni-1.4.9-1.jar new file mode 100644 index 0000000000000000000000000000000000000000..5e88a7b99f71cf7ebe742c611187c99f5b41746d Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/libs/zstd-jni-1.4.9-1.jar differ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/CDDL+GPL-1.1 b/hackfest/kafka/kafka_2.13-2.8.0/licenses/CDDL+GPL-1.1 new file mode 100644 index 0000000000000000000000000000000000000000..4b156e6e78b43d59b07391bda0e39b62ca2f4e29 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/CDDL+GPL-1.1 @@ -0,0 +1,760 @@ +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 + +1. Definitions. + + 1.1. "Contributor" means each individual or entity that creates or + contributes to the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Software, prior Modifications used by a Contributor (if any), and + the Modifications made by that particular Contributor. + + 1.3. "Covered Software" means (a) the Original Software, or (b) + Modifications, or (c) the combination of files containing Original + Software with files containing Modifications, in each case including + portions thereof. + + 1.4. "Executable" means the Covered Software in any form other than + Source Code. + + 1.5. "Initial Developer" means the individual or entity that first + makes Original Software available under this License. + + 1.6. "Larger Work" means a work which combines Covered Software or + portions thereof with code not governed by the terms of this License. + + 1.7. "License" means this document. + + 1.8. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means the Source Code and Executable form of + any of the following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original Software + or previous Modifications; + + B. Any new file that contains any part of the Original Software or + previous Modification; or + + C. Any new file that is contributed or otherwise made available + under the terms of this License. + + 1.10. "Original Software" means the Source Code and Executable form + of computer software code that is originally released under this + License. + + 1.11. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.12. "Source Code" means (a) the common form of computer software + code in which modifications are made and (b) associated + documentation included in or with such code. + + 1.13. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, + this License. For legal entities, "You" includes any entity which + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject + to third party intellectual property claims, the Initial Developer + hereby grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer, to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Software (or portions thereof), with or without Modifications, + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Software, to make, have made, use, practice, sell, and + offer for sale, and/or otherwise dispose of the Original Software + (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are effective on + the date Initial Developer first distributes or otherwise makes the + Original Software available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: (1) for code that You delete from the Original Software, or + (2) for infringements caused by: (i) the modification of the + Original Software, or (ii) the combination of the Original Software + with other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject + to third party intellectual property claims, each Contributor hereby + grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as Covered Software + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling + of Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by that Contributor (or + portions thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective + on the date Contributor first distributes or otherwise makes the + Modifications available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: (1) for any code that Contributor has deleted from the + Contributor Version; (2) for infringements caused by: (i) third + party modifications of Contributor Version, or (ii) the combination + of Modifications made by that Contributor with other software + (except as part of the Contributor Version) or other devices; or (3) + under Patent Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + + Any Covered Software that You distribute or otherwise make available + in Executable form must also be made available in Source Code form + and that Source Code form must be distributed only under the terms + of this License. You must include a copy of this License with every + copy of the Source Code form of the Covered Software You distribute + or otherwise make available. You must inform recipients of any such + Covered Software in Executable form as to how they can obtain such + Covered Software in Source Code form in a reasonable manner on or + through a medium customarily used for software exchange. + + 3.2. Modifications. + + The Modifications that You create or to which You contribute are + governed by the terms of this License. You represent that You + believe Your Modifications are Your original creation(s) and/or You + have sufficient rights to grant the rights conveyed by this License. + + 3.3. Required Notices. + + You must include a notice in each of Your Modifications that + identifies You as the Contributor of the Modification. You may not + remove or alter any copyright, patent or trademark notices contained + within the Covered Software, or any notices of licensing or any + descriptive text giving attribution to any Contributor or the + Initial Developer. + + 3.4. Application of Additional Terms. + + You may not offer or impose any terms on any Covered Software in + Source Code form that alters or restricts the applicable version of + this License or the recipients' rights hereunder. You may choose to + offer, and to charge a fee for, warranty, support, indemnity or + liability obligations to one or more recipients of Covered Software. + However, you may do so only on Your own behalf, and not on behalf of + the Initial Developer or any Contributor. You must make it + absolutely clear that any such warranty, support, indemnity or + liability obligation is offered by You alone, and You hereby agree + to indemnify the Initial Developer and every Contributor for any + liability incurred by the Initial Developer or such Contributor as a + result of warranty, support, indemnity or liability terms You offer. + + 3.5. Distribution of Executable Versions. + + You may distribute the Executable form of the Covered Software under + the terms of this License or under the terms of a license of Your + choice, which may contain terms different from this License, + provided that You are in compliance with the terms of this License + and that the license for the Executable form does not attempt to + limit or alter the recipient's rights in the Source Code form from + the rights set forth in this License. If You distribute the Covered + Software in Executable form under a different license, You must make + it absolutely clear that any terms which differ from this License + are offered by You alone, not by the Initial Developer or + Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of any such terms You offer. + + 3.6. Larger Works. + + You may create a Larger Work by combining Covered Software with + other code not governed by the terms of this License and distribute + the Larger Work as a single product. In such a case, You must make + sure the requirements of this License are fulfilled for the Covered + Software. + +4. Versions of the License. + + 4.1. New Versions. + + Oracle is the initial license steward and may publish revised and/or + new versions of this License from time to time. Each version will be + given a distinguishing version number. Except as provided in Section + 4.3, no one other than the license steward has the right to modify + this License. + + 4.2. Effect of New Versions. + + You may always continue to use, distribute or otherwise make the + Covered Software available under the terms of the version of the + License under which You originally received the Covered Software. If + the Initial Developer includes a notice in the Original Software + prohibiting it from being distributed or otherwise made available + under any subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the version + of the License under which You originally received the Covered + Software. Otherwise, You may also choose to use, distribute or + otherwise make the Covered Software available under the terms of any + subsequent version of the License published by the license steward. + + 4.3. Modified Versions. + + When You are an Initial Developer and You want to create a new + license for Your Original Software, You may create and use a + modified version of this License if You: (a) rename the license and + remove any references to the name of the license steward (except to + note that the license differs from this License); and (b) otherwise + make it clear that the license contains terms which differ from this + License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE + IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR + NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF + THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE + DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY + OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, + REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN + ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS + AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond the + termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or a + Contributor (the Initial Developer or Contributor against whom You + assert such claim is referred to as "Participant") alleging that the + Participant Software (meaning the Contributor Version where the + Participant is a Contributor or the Original Software where the + Participant is the Initial Developer) directly or indirectly + infringes any patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial Developer (if the + Initial Developer is not the Participant) and all Contributors under + Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice + from Participant terminate prospectively and automatically at the + expiration of such 60 day notice period, unless if within such 60 + day period You withdraw Your claim with respect to the Participant + Software against such Participant either unilaterally or pursuant to + a written agreement with Participant. + + 6.3. If You assert a patent infringement claim against Participant + alleging that the Participant Software directly or indirectly + infringes any patent where such claim is resolved (such as by + license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 6.4. In the event of termination under Sections 6.1 or 6.2 above, + all end user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE + TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER + FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR + LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE + POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT + APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH + PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH + LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR + LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION + AND LIMITATION MAY NOT APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a "commercial item," as that term is defined + in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" (as that term is defined at 48 C.F.R. § + 252.227-7014(a)(1)) and "commercial computer software documentation" + as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent + with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 + (June 1995), all U.S. Government End Users acquire Covered Software + with only those rights set forth herein. This U.S. Government Rights + clause is in lieu of, and supersedes, any other FAR, DFAR, or other + clause or provision that addresses Government rights in computer + software under this License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + the law of the jurisdiction specified in a notice contained within + the Original Software (except to the extent applicable law, if any, + provides otherwise), excluding such jurisdiction's conflict-of-law + provisions. Any litigation relating to this License shall be subject + to the jurisdiction of the courts located in the jurisdiction and + venue specified in a notice contained within the Original Software, + with the losing party responsible for costs, including, without + limitation, court costs and reasonable attorneys' fees and expenses. + The application of the United Nations Convention on Contracts for + the International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall be + construed against the drafter shall not apply to this License. You + agree that You alone are responsible for compliance with the United + States export administration regulations (and the export control + laws and regulation of any other countries) when You use, distribute + or otherwise make available any Covered Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +------------------------------------------------------------------------ + +NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION +LICENSE (CDDL) + +The code released under the CDDL shall be governed by the laws of the +State of California (excluding conflict-of-law provisions). Any +litigation relating to this License shall be subject to the jurisdiction +of the Federal Courts of the Northern District of California and the +state courts of the State of California, with venue lying in Santa Clara +County, California. + + + + The GNU General Public License (GPL) Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor +Boston, MA 02110-1335 +USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to +share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free software--to +make sure the software is free for all its users. This General Public +License applies to most of the Free Software Foundation's software and +to any other program whose authors commit to using it. (Some other Free +Software Foundation software is covered by the GNU Library General +Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. +Our General Public Licenses are designed to make sure that you have the +freedom to distribute copies of free software (and charge for this +service if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone +to deny you these rights or to ask you to surrender the rights. These +restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis +or for a fee, you must give the recipients all the rights that you have. +You must make sure that they, too, receive or can get the source code. +And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + +Finally, any free program is threatened constantly by software patents. +We wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program +proprietary. To prevent this, we have made it clear that any patent must +be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a +notice placed by the copyright holder saying it may be distributed under +the terms of this General Public License. The "Program", below, refers +to any such program or work, and a "work based on the Program" means +either the Program or any derivative work under copyright law: that is +to say, a work containing the Program or a portion of it, either +verbatim or with modifications and/or translated into another language. +(Hereinafter, translation is included without limitation in the term +"modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of running +the Program is not restricted, and the output from the Program is +covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice +and disclaimer of warranty; keep intact all the notices that refer to +this License and to the absence of any warranty; and give any other +recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of +it, thus forming a work based on the Program, and copy and distribute +such modifications or work under the terms of Section 1 above, provided +that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any part + thereof, to be licensed as a whole at no charge to all third parties + under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this License. + (Exception: if the Program itself is interactive but does not + normally print such an announcement, your work based on the Program + is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, and +can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based on +the Program, the distribution of the whole must be on the terms of this +License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of a +storage or distribution medium does not bring the other work under the +scope of this License. + +3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your cost + of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed + only for noncommercial distribution and only if you received the + program in object code or executable form with such an offer, in + accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source code +means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to control +compilation and installation of the executable. However, as a special +exception, the source code distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies the +executable. + +If distribution of executable or object code is made by offering access +to copy from a designated place, then offering equivalent access to copy +the source code from the same place counts as distribution of the source +code, even though third parties are not compelled to copy the source +along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and will +automatically terminate your rights under this License. However, parties +who have received copies, or rights, from you under this License will +not have their licenses terminated so long as such parties remain in +full compliance. + +5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and all +its terms and conditions for copying, distributing or modifying the +Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further restrictions +on the recipients' exercise of the rights granted herein. You are not +responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot distribute +so as to satisfy simultaneously your obligations under this License and +any other pertinent obligations, then as a consequence you may not +distribute the Program at all. For example, if a patent license would +not permit royalty-free redistribution of the Program by all those who +receive copies directly or indirectly through you, then the only way you +could satisfy both it and this License would be to refrain entirely from +distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is implemented +by public license practices. Many people have made generous +contributions to the wide range of software distributed through that +system in reliance on consistent application of that system; it is up to +the author/donor to decide if he or she is willing to distribute +software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be +a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License may +add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among countries +not thus excluded. In such case, this License incorporates the +limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a version +number of this License, you may choose any version ever published by the +Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE +ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH +YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR +DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM +(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF +THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR +OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type + `show w'. This is free software, and you are welcome to redistribute + it under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the commands +you use may be called something other than `show w' and `show c'; they +could even be mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (which makes passes at compilers) written by + James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications +with the library. If this is what you want to do, use the GNU Library +General Public License instead of this License. + +# + +Certain source files distributed by Oracle America, Inc. and/or its +affiliates are subject to the following clarification and special +exception to the GPLv2, based on the GNU Project exception for its +Classpath libraries, known as the GNU Classpath Exception, but only +where Oracle has expressly included in the particular source file's +header the words "Oracle designates this particular file as subject to +the "Classpath" exception as provided by Oracle in the LICENSE file +that accompanied this code." + +You should also note that Oracle includes multiple, independent +programs in this software package. Some of those programs are provided +under licenses deemed incompatible with the GPLv2 by the Free Software +Foundation and others. For example, the package includes programs +licensed under the Apache License, Version 2.0. Such programs are +licensed to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding +the Classpath Exception to the necessary parts of its GPLv2 code, which +permits you to use that code in combination with other independent +modules not licensed under the GPLv2. However, note that this would +not permit you to commingle code under an incompatible license with +Oracle's GPLv2 licensed code by, for example, cutting and pasting such +code into a file also containing Oracle's GPLv2 licensed code and then +distributing the result. Additionally, if you were to remove the +Classpath Exception from any of the files to which it applies and +distribute the result, you would likely be required to license some or +all of the other code in that distribution under the GPLv2 as well, and +since the GPLv2 is incompatible with the license terms of some items +included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to +further distribute the package. + +Proceed with caution and we recommend that you obtain the advice of a +lawyer skilled in open source matters before removing the Classpath +Exception or making modifications to this package which may +subsequently be redistributed and/or involve the use of third party +software. + +CLASSPATH EXCEPTION +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License version 2 cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from or +based on this library. If you modify this library, you may extend this +exception to your version of the library, but you are not obligated to +do so. If you do not wish to do so, delete this exception statement +from your version. + diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/DWTFYWTPL b/hackfest/kafka/kafka_2.13-2.8.0/licenses/DWTFYWTPL new file mode 100644 index 0000000000000000000000000000000000000000..5a8e332545f667aab9bf3a17f11dba27c70b656a --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/DWTFYWTPL @@ -0,0 +1,14 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/argparse-MIT b/hackfest/kafka/kafka_2.13-2.8.0/licenses/argparse-MIT new file mode 100644 index 0000000000000000000000000000000000000000..773b0df0e35919182940e77905607e6219243028 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/argparse-MIT @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2011-2017 Tatsuhiro Tsujikawa + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/eclipse-distribution-license-1.0 b/hackfest/kafka/kafka_2.13-2.8.0/licenses/eclipse-distribution-license-1.0 new file mode 100644 index 0000000000000000000000000000000000000000..5f06513abf5fedd6b0d480ab36a2f941ba1b4545 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/eclipse-distribution-license-1.0 @@ -0,0 +1,13 @@ +Eclipse Distribution License - v 1.0 + +Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/eclipse-public-license-2.0 b/hackfest/kafka/kafka_2.13-2.8.0/licenses/eclipse-public-license-2.0 new file mode 100644 index 0000000000000000000000000000000000000000..c9f1425f82d02665b3ecd4d24b84e86437e7ea8a --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/eclipse-public-license-2.0 @@ -0,0 +1,87 @@ +Eclipse Public License - v 2.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. +1. DEFINITIONS + +“Contribution” means: + + a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution “originates” from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works. + +“Contributor” means any person or entity that Distributes the Program. + +“Licensed Patents” mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +“Program” means the Contributions Distributed in accordance with this Agreement. + +“Recipient” means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors. + +“Derivative Works” shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. + +“Modified Works” shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof. + +“Distribute” means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy. + +“Source Code” means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files. + +“Secondary License” means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor. +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works. + b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and + b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and + iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and + b) a copy of this Agreement must be included with each copy of the Program. + +3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices’) contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices. +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (“Commercial Contributor”) hereby agrees to defend and indemnify every other Contributor (“Indemnified Contributor”) against any losses, damages and costs (collectively “Losses”) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement. +Exhibit A – Form of Secondary Licenses Notice + +“This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}.” + + Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. + + You may add additional accurate notices of copyright ownership. + diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/jopt-simple-MIT b/hackfest/kafka/kafka_2.13-2.8.0/licenses/jopt-simple-MIT new file mode 100644 index 0000000000000000000000000000000000000000..54b27325bb6b2b92043e23932329dc2ef107e291 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/jopt-simple-MIT @@ -0,0 +1,24 @@ +/* + The MIT License + + Copyright (c) 2004-2016 Paul R. Holser, Jr. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/paranamer-BSD-3-clause b/hackfest/kafka/kafka_2.13-2.8.0/licenses/paranamer-BSD-3-clause new file mode 100644 index 0000000000000000000000000000000000000000..9eab87918636a2933a9e780689d08839f515c898 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/paranamer-BSD-3-clause @@ -0,0 +1,29 @@ +[ ParaNamer used to be 'Pubic Domain', but since it includes a small piece of ASM it is now the same license as that: BSD ] + + Portions copyright (c) 2006-2018 Paul Hammant & ThoughtWorks Inc + Portions copyright (c) 2000-2007 INRIA, France Telecom + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/slf4j-MIT b/hackfest/kafka/kafka_2.13-2.8.0/licenses/slf4j-MIT new file mode 100644 index 0000000000000000000000000000000000000000..315bd4979f1558116a47bf33cea913c2b60c39f3 --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/slf4j-MIT @@ -0,0 +1,24 @@ +Copyright (c) 2004-2017 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + diff --git a/hackfest/kafka/kafka_2.13-2.8.0/licenses/zstd-jni-BSD-2-clause b/hackfest/kafka/kafka_2.13-2.8.0/licenses/zstd-jni-BSD-2-clause new file mode 100644 index 0000000000000000000000000000000000000000..66abb8ae782c862428611d37f6c646cf9cc50fca --- /dev/null +++ b/hackfest/kafka/kafka_2.13-2.8.0/licenses/zstd-jni-BSD-2-clause @@ -0,0 +1,26 @@ +Zstd-jni: JNI bindings to Zstd Library + +Copyright (c) 2015-present, Luben Karavelov/ All rights reserved. + +BSD License + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/hackfest/kafka/kafka_2.13-2.8.0/logs/.gitkeep b/hackfest/kafka/kafka_2.13-2.8.0/logs/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/kafka/kafka_2.13-2.8.0/site-docs/kafka_2.13-2.8.0-site-docs.tgz b/hackfest/kafka/kafka_2.13-2.8.0/site-docs/kafka_2.13-2.8.0-site-docs.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0d17c747bb0dad60e3815b7073d8b6a0c3c0cdc6 Binary files /dev/null and b/hackfest/kafka/kafka_2.13-2.8.0/site-docs/kafka_2.13-2.8.0-site-docs.tgz differ diff --git a/hackfest/kafka/pub.py b/hackfest/kafka/pub.py new file mode 100644 index 0000000000000000000000000000000000000000..12d3dc2ddef1a9da4396893b72d99d6afc322076 --- /dev/null +++ b/hackfest/kafka/pub.py @@ -0,0 +1,12 @@ +from time import sleep +from json import dumps +from kafka import KafkaProducer + +producer = KafkaProducer(bootstrap_servers=['localhost:9092'], + value_serializer=lambda x: + dumps(x).encode('utf-8')) + +for e in range(10): + data = {'number' : e} + producer.send('my-topic', value=data) + sleep(5) diff --git a/hackfest/kafka/sub.py b/hackfest/kafka/sub.py new file mode 100644 index 0000000000000000000000000000000000000000..f61ab4d47c157f957f670380a5bea2d2684940f8 --- /dev/null +++ b/hackfest/kafka/sub.py @@ -0,0 +1,16 @@ +from kafka import KafkaConsumer +from json import loads + +consumer = KafkaConsumer( + 'my-topic', + bootstrap_servers=['localhost:9092'], + auto_offset_reset='earliest', + enable_auto_commit=True, + group_id='my-group', + value_deserializer=lambda x: loads(x.decode('utf-8'))) + + +for message in consumer: + message = message.value + print('{} received'.format(message)) + diff --git a/src/compute/tests/mock_osm/MockOSM.py b/hackfest/mock_osm/MockOSM.py similarity index 100% rename from src/compute/tests/mock_osm/MockOSM.py rename to hackfest/mock_osm/MockOSM.py diff --git a/src/compute/tests/mock_osm/WimconnectorIETFL2VPN.py b/hackfest/mock_osm/WimconnectorIETFL2VPN.py similarity index 91% rename from src/compute/tests/mock_osm/WimconnectorIETFL2VPN.py rename to hackfest/mock_osm/WimconnectorIETFL2VPN.py index b9639e8046593c1dbf4017cff963ceb7c51d0532..e1273b4e483a06df23d94bdf107005ce7585fb5e 100644 --- a/src/compute/tests/mock_osm/WimconnectorIETFL2VPN.py +++ b/hackfest/mock_osm/WimconnectorIETFL2VPN.py @@ -33,6 +33,7 @@ the Layer 2 service. import requests import uuid import logging +import copy #from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError from .sdnconn import SdnConnectorBase, SdnConnectorError @@ -222,8 +223,29 @@ class WimconnectorIETFL2VPN(SdnConnectorBase): http_code=response_service_creation.status_code, ) - """Second step, create the connections and vpn attachments""" + self.logger.info('connection_points = {:s}'.format(str(connection_points))) + + # Check if protected paths are requested + extended_connection_points = [] for connection_point in connection_points: + extended_connection_points.append(connection_point) + + connection_point_wan_info = self.search_mapp(connection_point) + service_mapping_info = connection_point_wan_info.get('service_mapping_info', {}) + redundant_service_endpoint_ids = service_mapping_info.get('redundant') + + if redundant_service_endpoint_ids is None: continue + if len(redundant_service_endpoint_ids) == 0: continue + + for redundant_service_endpoint_id in redundant_service_endpoint_ids: + redundant_connection_point = copy.deepcopy(connection_point) + redundant_connection_point['service_endpoint_id'] = redundant_service_endpoint_id + extended_connection_points.append(redundant_connection_point) + + self.logger.info('extended_connection_points = {:s}'.format(str(extended_connection_points))) + + """Second step, create the connections and vpn attachments""" + for connection_point in extended_connection_points: connection_point_wan_info = self.search_mapp(connection_point) site_network_access = {} connection = {} @@ -264,6 +286,23 @@ class WimconnectorIETFL2VPN(SdnConnectorBase): site_network_access["bearer"] = connection_point_wan_info[ "service_mapping_info" ]["bearer"] + + access_priority = connection_point_wan_info["service_mapping_info"].get("priority") + if access_priority is not None: + availability = {} + availability["access-priority"] = access_priority + availability["single-active"] = [None] + site_network_access["availability"] = availability + + constraint = {} + constraint['constraint-type'] = 'end-to-end-diverse' + constraint['target'] = {'all-other-accesses': [None]} + + access_diversity = {} + access_diversity['constraints'] = {'constraint': []} + access_diversity['constraints']['constraint'].append(constraint) + site_network_access["access-diversity"] = access_diversity + site_network_accesses = {} site_network_access_list = [] site_network_access_list.append(site_network_access) @@ -332,7 +371,7 @@ class WimconnectorIETFL2VPN(SdnConnectorBase): self.delete_connectivity_service(vpn_service["vpn-id"]) raise SdnConnectorError( - "Request no accepted", + "Request not accepted", http_code=response_endpoint_site_network_access_creation.status_code, ) except requests.exceptions.ConnectionError: diff --git a/src/common/rpc_method_wrapper/__init__.py b/hackfest/mock_osm/__init__.py similarity index 100% rename from src/common/rpc_method_wrapper/__init__.py rename to hackfest/mock_osm/__init__.py diff --git a/hackfest/mock_osm/__main__.py b/hackfest/mock_osm/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..e76616eab38cc072f959231e08743e312cf6b0b2 --- /dev/null +++ b/hackfest/mock_osm/__main__.py @@ -0,0 +1,94 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import cmd, logging +from .MockOSM import MockOSM + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +WIM_URL = 'http://10.0.2.15:80' +WIM_USERNAME = 'admin' +WIM_PASSWORD = 'admin' + +# Ref: https://osm.etsi.org/wikipub/index.php/WIM +def create_port_mapping(device_id, port_id, service_endpoint_id, site_id): + bearer_ref = '{:s}:{:s}'.format(device_id, port_id) + return { + 'device-id' : device_id, # pop_switch_dpid + 'service_endpoint_id' : service_endpoint_id, # wan_service_endpoint_id + 'service_mapping_info': { # wan_service_mapping_info, other extra info + 'bearer': {'bearer-reference': bearer_ref}, + 'site-id': site_id, + }, + } + +WIM_PORT_MAPPING = [ + create_port_mapping('R1', '1/2', 'ep-R1-1/2', '1'), + create_port_mapping('R1', '1/3', 'ep-R1-1/3', '1'), + create_port_mapping('R2', '1/2', 'ep-R2-1/2', '2'), + create_port_mapping('R2', '1/3', 'ep-R2-1/3', '2'), + create_port_mapping('R3', '1/2', 'ep-R3-1/2', '3'), + create_port_mapping('R3', '1/3', 'ep-R3-1/3', '3'), + create_port_mapping('R4', '1/2', 'ep-R4-1/2', '4'), + create_port_mapping('R4', '1/3', 'ep-R4-1/3', '4'), +] + +SERVICE_TYPE = 'ELINE' +SERVICE_CONNECTION_POINTS = [ + {'service_endpoint_id': 'ep-R1-1/2', + 'service_endpoint_encapsulation_type': 'dot1q', + 'service_endpoint_encapsulation_info': {'vlan': 1234}}, + {'service_endpoint_id': 'ep-R4-1/3', + 'service_endpoint_encapsulation_type': 'dot1q', + 'service_endpoint_encapsulation_info': {'vlan': 1234}}, +] + +class MockOSMShell(cmd.Cmd): + intro = 'Welcome to the MockOSM shell.\nType help or ? to list commands.\n' + prompt = '(mock-osm) ' + file = None + + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + self.mock_osm = MockOSM(WIM_URL, WIM_PORT_MAPPING, WIM_USERNAME, WIM_PASSWORD) + + # ----- basic turtle commands ----- + def do_create(self, arg): + 'Create an ELINE (L2) service' + service_uuid = self.mock_osm.create_connectivity_service( + SERVICE_TYPE, SERVICE_CONNECTION_POINTS) + print('Service {:s} created'.format(service_uuid)) + + def do_status(self, arg): + 'Retrieve status of services' + service_uuids = list(self.mock_osm.conn_info.keys()) + for service_uuid in service_uuids: + status = self.mock_osm.get_connectivity_service_status(service_uuid) + print('Status of Service {:s} is {:s}'.format(service_uuid, str(status))) + + def do_delete(self, arg): + 'Delete all services' + service_uuids = list(self.mock_osm.conn_info.keys()) + for service_uuid in service_uuids: + self.mock_osm.delete_connectivity_service(service_uuid) + print('Service {:s} deleted'.format(service_uuid)) + + def do_exit(self, arg): + 'Exit MockOSM' + print('Bye!') + return True + +if __name__ == '__main__': + MockOSMShell().cmdloop() diff --git a/src/compute/tests/mock_osm/acknowledgements.txt b/hackfest/mock_osm/acknowledgements.txt similarity index 100% rename from src/compute/tests/mock_osm/acknowledgements.txt rename to hackfest/mock_osm/acknowledgements.txt diff --git a/hackfest/mock_osm/commands.txt b/hackfest/mock_osm/commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e21bac3d668f6f6b1c20ceb485d3a4ad679f95e --- /dev/null +++ b/hackfest/mock_osm/commands.txt @@ -0,0 +1,25 @@ +############ +# Mock OSM +############ + +$ cd ~/tfs-ctrl/hackfest/ +$ python -m mock_osm +Welcome to the MockOSM shell. +Type help or ? to list commands. + +(mock-osm) create +Service b8c99e2c-39d8-424d-9833-554634269555 created +# Service should be created in TFS. Check "Slice" and "Service" pages on WebUI. +# Check configuration rules in "Devices" + +(mock-osm) status +response.status_code=200 +Status of Service b8c99e2c-39d8-424d-9833-554634269555 is {'sdn_status': 'ACTIVE'} + +(mock-osm) delete +Service b8c99e2c-39d8-424d-9833-554634269555 deleted +# Service should be removed from TFS. Check "Slice" and "Service" pages on WebUI. +# Check configuration rules in "Devices" + +(mock-osm) exit +Bye! diff --git a/src/compute/tests/mock_osm/sdnconn.py b/hackfest/mock_osm/sdnconn.py similarity index 100% rename from src/compute/tests/mock_osm/sdnconn.py rename to hackfest/mock_osm/sdnconn.py diff --git a/hackfest/netconf-oc/build-instructions.txt b/hackfest/netconf-oc/build-instructions.txt new file mode 100644 index 0000000000000000000000000000000000000000..c485bc006d25244d170f6c515ea985d7cec6d75b --- /dev/null +++ b/hackfest/netconf-oc/build-instructions.txt @@ -0,0 +1,14 @@ +# Build a Netconf server supporting basic OpenConfig data model + +mkdir -p ~/tfs-ctrl/netconf-oc/{git_openconfig,openconfig} + +git clone https://github.com/openconfig/public.git ~/tfs-ctrl/netconf-oc/git_openconfig + +cd ~/tfs-ctrl/netconf-oc + +export PYBINDPLUGIN=`/usr/bin/env python -c 'import pyangbind; import os; print ("{}/plugin".format(os.path.dirname(pyangbind.__file__)))'` +pyang --plugindir $PYBINDPLUGIN -p git_openconfig/release/models/ -f pybind --split-class-dir openconfig \ + git_openconfig/release/models/interfaces/openconfig-interfaces.yang \ + git_openconfig/release/models/interfaces/openconfig-if-ethernet.yang \ + git_openconfig/release/models/platform/openconfig-platform.yang \ + git_openconfig/release/models/platform/openconfig-platform-port.yang diff --git a/hackfest/netconf-oc/device_definition.py b/hackfest/netconf-oc/device_definition.py new file mode 100644 index 0000000000000000000000000000000000000000..15efdee42794ebba474ed4a1c5573e6ed5b688a1 --- /dev/null +++ b/hackfest/netconf-oc/device_definition.py @@ -0,0 +1,24 @@ +from lxml import etree +from netconf import util +from pyangbind.lib.serialise import pybindIETFXMLEncoder + +from openconfig.components import components +from openconfig.interfaces import interfaces + +def get_device_definition(): + occ = components() + port_1_1 = occ.component.add("1/1") + port_1_1.state._set_type("PORT") # state.type is read-only; use special method to set it + + port_1_2 = occ.component.add("1/2") + port_1_2.state._set_type("PORT") # state.type is read-only; use special method to set it + + port_1_3 = occ.component.add("1/3") + port_1_3.state._set_type("PORT") # state.type is read-only; use special method to set it + + ocif = interfaces() + + data = util.elm("nc:data") + data.append(etree.XML(pybindIETFXMLEncoder.serialise(occ))) + data.append(etree.XML(pybindIETFXMLEncoder.serialise(ocif))) + return data diff --git a/hackfest/netconf-oc/interfaces.xml b/hackfest/netconf-oc/interfaces.xml new file mode 100644 index 0000000000000000000000000000000000000000..8358a0595573953b61c28f0deeca2e99d554f4ce --- /dev/null +++ b/hackfest/netconf-oc/interfaces.xml @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hackfest/netconf-oc/openconfig/__init__.py b/hackfest/netconf-oc/openconfig/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..ccaf6ed7248d84e4f7b154ceb40c906debe512b8 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/__init__.py @@ -0,0 +1,399 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import interfaces +class openconfig_interfaces(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /openconfig-interfaces. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Model for managing network interfaces and subinterfaces. This +module also defines convenience types / groupings for other +models to create references to interfaces: + + base-interface-ref (type) - reference to a base interface + interface-ref (grouping) - container for reference to a + interface + subinterface + interface-ref-state (grouping) - container for read-only + (opstate) reference to interface + subinterface + +This model reuses data items defined in the IETF YANG model for +interfaces described by RFC 7223 with an alternate structure +(particularly for operational state data) and with +additional configuration items. + +Portions of this code were derived from IETF RFC 7223. +Please reproduce this note if possible. + +IETF code is subject to the following copyright and license: +Copyright (c) IETF Trust and the persons identified as authors of +the code. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, is permitted pursuant to, and subject to the license +terms contained in, the Simplified BSD License set forth in +Section 4.c of the IETF Trust's Legal Provisions Relating +to IETF Documents (http://trustee.ietf.org/license-info). + """ + __slots__ = ('_path_helper', '_extmethods', '__interfaces',) + + _yang_name = 'openconfig-interfaces' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__interfaces = YANGDynClass(base=interfaces.interfaces, is_container='container', yang_name="interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_interfaces(self): + """ + Getter method for interfaces, mapped from YANG variable /interfaces (container) + + YANG Description: Top level container for interfaces, including configuration +and state data. + """ + return self.__interfaces + + def _set_interfaces(self, v, load=False): + """ + Setter method for interfaces, mapped from YANG variable /interfaces (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_interfaces is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_interfaces() directly. + + YANG Description: Top level container for interfaces, including configuration +and state data. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=interfaces.interfaces, is_container='container', yang_name="interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """interfaces must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=interfaces.interfaces, is_container='container', yang_name="interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__interfaces = t + if hasattr(self, '_set'): + self._set() + + def _unset_interfaces(self): + self.__interfaces = YANGDynClass(base=interfaces.interfaces, is_container='container', yang_name="interfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + interfaces = __builtin__.property(_get_interfaces, _set_interfaces) + + + _pyangbind_elements = OrderedDict([('interfaces', interfaces), ]) + + +class openconfig_if_ethernet(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-if-ethernet - based on the path /openconfig-if-ethernet. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Model for managing Ethernet interfaces -- augments the OpenConfig +model for interface configuration and state. + """ + _pyangbind_elements = {} + + + +from . import components +class openconfig_platform(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /openconfig-platform. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: This module defines a data model for representing a system +component inventory, which can include hardware or software +elements arranged in an arbitrary structure. The primary +relationship supported by the model is containment, e.g., +components containing subcomponents. + +It is expected that this model reflects every field replacable +unit on the device at a minimum (i.e., additional information +may be supplied about non-replacable components). + +Every element in the inventory is termed a 'component' with each +component expected to have a unique name and type, and optionally +a unique system-assigned identifier and FRU number. The +uniqueness is guaranteed by the system within the device. + +Components may have properties defined by the system that are +modeled as a list of key-value pairs. These may or may not be +user-configurable. The model provides a flag for the system +to optionally indicate which properties are user configurable. + +Each component also has a list of 'subcomponents' which are +references to other components. Appearance in a list of +subcomponents indicates a containment relationship as described +above. For example, a linecard component may have a list of +references to port components that reside on the linecard. + +This schema is generic to allow devices to express their own +platform-specific structure. It may be augmented by additional +component type-specific schemas that provide a common structure +for well-known component types. In these cases, the system is +expected to populate the common component schema, and may +optionally also represent the component and its properties in the +generic structure. + +The properties for each component may include dynamic values, +e.g., in the 'state' part of the schema. For example, a CPU +component may report its utilization, temperature, or other +physical properties. The intent is to capture all platform- +specific physical data in one location, including inventory +(presence or absence of a component) and state (physical +attributes or status). + """ + __slots__ = ('_path_helper', '_extmethods', '__components',) + + _yang_name = 'openconfig-platform' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__components = YANGDynClass(base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_components(self): + """ + Getter method for components, mapped from YANG variable /components (container) + + YANG Description: Enclosing container for the components in the system. + """ + return self.__components + + def _set_components(self, v, load=False): + """ + Setter method for components, mapped from YANG variable /components (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_components is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_components() directly. + + YANG Description: Enclosing container for the components in the system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """components must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__components = t + if hasattr(self, '_set'): + self._set() + + def _unset_components(self): + self.__components = YANGDynClass(base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + components = __builtin__.property(_get_components, _set_components) + + + _pyangbind_elements = OrderedDict([('components', components), ]) + + +from . import components +class openconfig_platform_common(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /openconfig-platform-common. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: This modules contains common groupings that are used in multiple +components within the platform module. + """ + __slots__ = ('_path_helper', '_extmethods', '__components',) + + _yang_name = 'openconfig-platform-common' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__components = YANGDynClass(base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_components(self): + """ + Getter method for components, mapped from YANG variable /components (container) + + YANG Description: Enclosing container for the components in the system. + """ + return self.__components + + def _set_components(self, v, load=False): + """ + Setter method for components, mapped from YANG variable /components (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_components is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_components() directly. + + YANG Description: Enclosing container for the components in the system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """components must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__components = t + if hasattr(self, '_set'): + self._set() + + def _unset_components(self): + self.__components = YANGDynClass(base=components.components, is_container='container', yang_name="components", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + components = __builtin__.property(_get_components, _set_components) + + + _pyangbind_elements = OrderedDict([('components', components), ]) + + +class openconfig_platform_port(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-port - based on the path /openconfig-platform-port. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: This module defines data related to PORT components in the +openconfig-platform model + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/__init__.py b/hackfest/netconf-oc/openconfig/components/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..1470af40e5acad9715a3acf1473e1e8955426a03 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import component +class components(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the components in the system. + """ + __slots__ = ('_path_helper', '_extmethods', '__component',) + + _yang_name = 'components' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__component = YANGDynClass(base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components'] + + def _get_component(self): + """ + Getter method for component, mapped from YANG variable /components/component (list) + + YANG Description: List of components, keyed by component name. + """ + return self.__component + + def _set_component(self, v, load=False): + """ + Setter method for component, mapped from YANG variable /components/component (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_component is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_component() directly. + + YANG Description: List of components, keyed by component name. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """component must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__component = t + if hasattr(self, '_set'): + self._set() + + def _unset_component(self): + self.__component = YANGDynClass(base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + component = __builtin__.property(_get_component, _set_component) + + + _pyangbind_elements = OrderedDict([('component', component), ]) + + +from . import component +class components(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the components in the system. + """ + __slots__ = ('_path_helper', '_extmethods', '__component',) + + _yang_name = 'components' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__component = YANGDynClass(base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components'] + + def _get_component(self): + """ + Getter method for component, mapped from YANG variable /components/component (list) + + YANG Description: List of components, keyed by component name. + """ + return self.__component + + def _set_component(self, v, load=False): + """ + Setter method for component, mapped from YANG variable /components/component (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_component is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_component() directly. + + YANG Description: List of components, keyed by component name. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """component must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__component = t + if hasattr(self, '_set'): + self._set() + + def _unset_component(self): + self.__component = YANGDynClass(base=YANGListType("name",component.component, yang_name="component", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="component", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + component = __builtin__.property(_get_component, _set_component) + + + _pyangbind_elements = OrderedDict([('component', component), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/__init__.py b/hackfest/netconf-oc/openconfig/components/component/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b80cb6139d5290b7ec4e62a14f2faeba46886d31 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/__init__.py @@ -0,0 +1,1424 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +from . import properties +from . import subcomponents +from . import chassis +from . import port +from . import power_supply +from . import fan +from . import fabric +from . import storage +from . import cpu +from . import integrated_circuit +from . import backplane +from . import software_module +from . import controller_card +class component(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of components, keyed by component name. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state','__properties','__subcomponents','__chassis','__port','__power_supply','__fan','__fabric','__storage','__cpu','__integrated_circuit','__backplane','__software_module','__controller_card',) + + _yang_name = 'component' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__properties = YANGDynClass(base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__subcomponents = YANGDynClass(base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__chassis = YANGDynClass(base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__port = YANGDynClass(base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__power_supply = YANGDynClass(base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__fan = YANGDynClass(base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__fabric = YANGDynClass(base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__storage = YANGDynClass(base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__cpu = YANGDynClass(base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__integrated_circuit = YANGDynClass(base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__backplane = YANGDynClass(base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__software_module = YANGDynClass(base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__controller_card = YANGDynClass(base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/name (leafref) + + YANG Description: References the component name + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the component name + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/config (container) + + YANG Description: Configuration data for each component + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/state (container) + + YANG Description: Operational state data for each component + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_properties(self): + """ + Getter method for properties, mapped from YANG variable /components/component/properties (container) + + YANG Description: Enclosing container + """ + return self.__properties + + def _set_properties(self, v, load=False): + """ + Setter method for properties, mapped from YANG variable /components/component/properties (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_properties is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_properties() directly. + + YANG Description: Enclosing container + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """properties must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__properties = t + if hasattr(self, '_set'): + self._set() + + def _unset_properties(self): + self.__properties = YANGDynClass(base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_subcomponents(self): + """ + Getter method for subcomponents, mapped from YANG variable /components/component/subcomponents (container) + + YANG Description: Enclosing container for subcomponent references + """ + return self.__subcomponents + + def _set_subcomponents(self, v, load=False): + """ + Setter method for subcomponents, mapped from YANG variable /components/component/subcomponents (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_subcomponents is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_subcomponents() directly. + + YANG Description: Enclosing container for subcomponent references + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """subcomponents must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__subcomponents = t + if hasattr(self, '_set'): + self._set() + + def _unset_subcomponents(self): + self.__subcomponents = YANGDynClass(base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_chassis(self): + """ + Getter method for chassis, mapped from YANG variable /components/component/chassis (container) + + YANG Description: Data for chassis components + """ + return self.__chassis + + def _set_chassis(self, v, load=False): + """ + Setter method for chassis, mapped from YANG variable /components/component/chassis (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_chassis is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_chassis() directly. + + YANG Description: Data for chassis components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """chassis must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__chassis = t + if hasattr(self, '_set'): + self._set() + + def _unset_chassis(self): + self.__chassis = YANGDynClass(base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_port(self): + """ + Getter method for port, mapped from YANG variable /components/component/port (container) + + YANG Description: Data for physical port components + """ + return self.__port + + def _set_port(self, v, load=False): + """ + Setter method for port, mapped from YANG variable /components/component/port (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port() directly. + + YANG Description: Data for physical port components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__port = t + if hasattr(self, '_set'): + self._set() + + def _unset_port(self): + self.__port = YANGDynClass(base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_power_supply(self): + """ + Getter method for power_supply, mapped from YANG variable /components/component/power_supply (container) + + YANG Description: Data for power supply components + """ + return self.__power_supply + + def _set_power_supply(self, v, load=False): + """ + Setter method for power_supply, mapped from YANG variable /components/component/power_supply (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_power_supply is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_power_supply() directly. + + YANG Description: Data for power supply components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """power_supply must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__power_supply = t + if hasattr(self, '_set'): + self._set() + + def _unset_power_supply(self): + self.__power_supply = YANGDynClass(base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_fan(self): + """ + Getter method for fan, mapped from YANG variable /components/component/fan (container) + + YANG Description: Data for fan components + """ + return self.__fan + + def _set_fan(self, v, load=False): + """ + Setter method for fan, mapped from YANG variable /components/component/fan (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_fan is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fan() directly. + + YANG Description: Data for fan components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fan must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__fan = t + if hasattr(self, '_set'): + self._set() + + def _unset_fan(self): + self.__fan = YANGDynClass(base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_fabric(self): + """ + Getter method for fabric, mapped from YANG variable /components/component/fabric (container) + + YANG Description: Data for fabric components + """ + return self.__fabric + + def _set_fabric(self, v, load=False): + """ + Setter method for fabric, mapped from YANG variable /components/component/fabric (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_fabric is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fabric() directly. + + YANG Description: Data for fabric components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fabric must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__fabric = t + if hasattr(self, '_set'): + self._set() + + def _unset_fabric(self): + self.__fabric = YANGDynClass(base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_storage(self): + """ + Getter method for storage, mapped from YANG variable /components/component/storage (container) + + YANG Description: Data for storage components + """ + return self.__storage + + def _set_storage(self, v, load=False): + """ + Setter method for storage, mapped from YANG variable /components/component/storage (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_storage is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_storage() directly. + + YANG Description: Data for storage components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """storage must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__storage = t + if hasattr(self, '_set'): + self._set() + + def _unset_storage(self): + self.__storage = YANGDynClass(base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_cpu(self): + """ + Getter method for cpu, mapped from YANG variable /components/component/cpu (container) + + YANG Description: Data for cpu components + """ + return self.__cpu + + def _set_cpu(self, v, load=False): + """ + Setter method for cpu, mapped from YANG variable /components/component/cpu (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_cpu is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_cpu() directly. + + YANG Description: Data for cpu components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """cpu must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__cpu = t + if hasattr(self, '_set'): + self._set() + + def _unset_cpu(self): + self.__cpu = YANGDynClass(base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_integrated_circuit(self): + """ + Getter method for integrated_circuit, mapped from YANG variable /components/component/integrated_circuit (container) + + YANG Description: Data for chip components, such as ASIC, NPUs, etc. + """ + return self.__integrated_circuit + + def _set_integrated_circuit(self, v, load=False): + """ + Setter method for integrated_circuit, mapped from YANG variable /components/component/integrated_circuit (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_integrated_circuit is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_integrated_circuit() directly. + + YANG Description: Data for chip components, such as ASIC, NPUs, etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """integrated_circuit must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__integrated_circuit = t + if hasattr(self, '_set'): + self._set() + + def _unset_integrated_circuit(self): + self.__integrated_circuit = YANGDynClass(base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_backplane(self): + """ + Getter method for backplane, mapped from YANG variable /components/component/backplane (container) + + YANG Description: Data for backplane components + """ + return self.__backplane + + def _set_backplane(self, v, load=False): + """ + Setter method for backplane, mapped from YANG variable /components/component/backplane (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_backplane is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_backplane() directly. + + YANG Description: Data for backplane components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """backplane must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__backplane = t + if hasattr(self, '_set'): + self._set() + + def _unset_backplane(self): + self.__backplane = YANGDynClass(base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_software_module(self): + """ + Getter method for software_module, mapped from YANG variable /components/component/software_module (container) + + YANG Description: Data for software module components, i.e., for components +with type=SOFTWARE_MODULE + """ + return self.__software_module + + def _set_software_module(self, v, load=False): + """ + Setter method for software_module, mapped from YANG variable /components/component/software_module (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_software_module is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_software_module() directly. + + YANG Description: Data for software module components, i.e., for components +with type=SOFTWARE_MODULE + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """software_module must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__software_module = t + if hasattr(self, '_set'): + self._set() + + def _unset_software_module(self): + self.__software_module = YANGDynClass(base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_controller_card(self): + """ + Getter method for controller_card, mapped from YANG variable /components/component/controller_card (container) + + YANG Description: Data for controller card components, i.e., for components +with type=CONTROLLER_CARD + """ + return self.__controller_card + + def _set_controller_card(self, v, load=False): + """ + Setter method for controller_card, mapped from YANG variable /components/component/controller_card (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_controller_card is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_controller_card() directly. + + YANG Description: Data for controller card components, i.e., for components +with type=CONTROLLER_CARD + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """controller_card must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__controller_card = t + if hasattr(self, '_set'): + self._set() + + def _unset_controller_card(self): + self.__controller_card = YANGDynClass(base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + properties = __builtin__.property(_get_properties, _set_properties) + subcomponents = __builtin__.property(_get_subcomponents, _set_subcomponents) + chassis = __builtin__.property(_get_chassis, _set_chassis) + port = __builtin__.property(_get_port, _set_port) + power_supply = __builtin__.property(_get_power_supply, _set_power_supply) + fan = __builtin__.property(_get_fan, _set_fan) + fabric = __builtin__.property(_get_fabric, _set_fabric) + storage = __builtin__.property(_get_storage, _set_storage) + cpu = __builtin__.property(_get_cpu, _set_cpu) + integrated_circuit = __builtin__.property(_get_integrated_circuit, _set_integrated_circuit) + backplane = __builtin__.property(_get_backplane, _set_backplane) + software_module = __builtin__.property(_get_software_module, _set_software_module) + controller_card = __builtin__.property(_get_controller_card, _set_controller_card) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ('properties', properties), ('subcomponents', subcomponents), ('chassis', chassis), ('port', port), ('power_supply', power_supply), ('fan', fan), ('fabric', fabric), ('storage', storage), ('cpu', cpu), ('integrated_circuit', integrated_circuit), ('backplane', backplane), ('software_module', software_module), ('controller_card', controller_card), ]) + + +from . import config +from . import state +from . import properties +from . import subcomponents +from . import chassis +from . import port +from . import power_supply +from . import fan +from . import fabric +from . import storage +from . import cpu +from . import integrated_circuit +from . import backplane +from . import software_module +from . import controller_card +class component(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of components, keyed by component name. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state','__properties','__subcomponents','__chassis','__port','__power_supply','__fan','__fabric','__storage','__cpu','__integrated_circuit','__backplane','__software_module','__controller_card',) + + _yang_name = 'component' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__properties = YANGDynClass(base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__subcomponents = YANGDynClass(base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__chassis = YANGDynClass(base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__port = YANGDynClass(base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__power_supply = YANGDynClass(base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__fan = YANGDynClass(base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__fabric = YANGDynClass(base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__storage = YANGDynClass(base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__cpu = YANGDynClass(base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__integrated_circuit = YANGDynClass(base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__backplane = YANGDynClass(base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__software_module = YANGDynClass(base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__controller_card = YANGDynClass(base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/name (leafref) + + YANG Description: References the component name + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the component name + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/config (container) + + YANG Description: Configuration data for each component + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/state (container) + + YANG Description: Operational state data for each component + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_properties(self): + """ + Getter method for properties, mapped from YANG variable /components/component/properties (container) + + YANG Description: Enclosing container + """ + return self.__properties + + def _set_properties(self, v, load=False): + """ + Setter method for properties, mapped from YANG variable /components/component/properties (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_properties is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_properties() directly. + + YANG Description: Enclosing container + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """properties must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__properties = t + if hasattr(self, '_set'): + self._set() + + def _unset_properties(self): + self.__properties = YANGDynClass(base=properties.properties, is_container='container', yang_name="properties", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_subcomponents(self): + """ + Getter method for subcomponents, mapped from YANG variable /components/component/subcomponents (container) + + YANG Description: Enclosing container for subcomponent references + """ + return self.__subcomponents + + def _set_subcomponents(self, v, load=False): + """ + Setter method for subcomponents, mapped from YANG variable /components/component/subcomponents (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_subcomponents is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_subcomponents() directly. + + YANG Description: Enclosing container for subcomponent references + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """subcomponents must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__subcomponents = t + if hasattr(self, '_set'): + self._set() + + def _unset_subcomponents(self): + self.__subcomponents = YANGDynClass(base=subcomponents.subcomponents, is_container='container', yang_name="subcomponents", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_chassis(self): + """ + Getter method for chassis, mapped from YANG variable /components/component/chassis (container) + + YANG Description: Data for chassis components + """ + return self.__chassis + + def _set_chassis(self, v, load=False): + """ + Setter method for chassis, mapped from YANG variable /components/component/chassis (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_chassis is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_chassis() directly. + + YANG Description: Data for chassis components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """chassis must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__chassis = t + if hasattr(self, '_set'): + self._set() + + def _unset_chassis(self): + self.__chassis = YANGDynClass(base=chassis.chassis, is_container='container', yang_name="chassis", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_port(self): + """ + Getter method for port, mapped from YANG variable /components/component/port (container) + + YANG Description: Data for physical port components + """ + return self.__port + + def _set_port(self, v, load=False): + """ + Setter method for port, mapped from YANG variable /components/component/port (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port() directly. + + YANG Description: Data for physical port components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__port = t + if hasattr(self, '_set'): + self._set() + + def _unset_port(self): + self.__port = YANGDynClass(base=port.port, is_container='container', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_power_supply(self): + """ + Getter method for power_supply, mapped from YANG variable /components/component/power_supply (container) + + YANG Description: Data for power supply components + """ + return self.__power_supply + + def _set_power_supply(self, v, load=False): + """ + Setter method for power_supply, mapped from YANG variable /components/component/power_supply (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_power_supply is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_power_supply() directly. + + YANG Description: Data for power supply components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """power_supply must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__power_supply = t + if hasattr(self, '_set'): + self._set() + + def _unset_power_supply(self): + self.__power_supply = YANGDynClass(base=power_supply.power_supply, is_container='container', yang_name="power-supply", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_fan(self): + """ + Getter method for fan, mapped from YANG variable /components/component/fan (container) + + YANG Description: Data for fan components + """ + return self.__fan + + def _set_fan(self, v, load=False): + """ + Setter method for fan, mapped from YANG variable /components/component/fan (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_fan is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fan() directly. + + YANG Description: Data for fan components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fan must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__fan = t + if hasattr(self, '_set'): + self._set() + + def _unset_fan(self): + self.__fan = YANGDynClass(base=fan.fan, is_container='container', yang_name="fan", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_fabric(self): + """ + Getter method for fabric, mapped from YANG variable /components/component/fabric (container) + + YANG Description: Data for fabric components + """ + return self.__fabric + + def _set_fabric(self, v, load=False): + """ + Setter method for fabric, mapped from YANG variable /components/component/fabric (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_fabric is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fabric() directly. + + YANG Description: Data for fabric components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fabric must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__fabric = t + if hasattr(self, '_set'): + self._set() + + def _unset_fabric(self): + self.__fabric = YANGDynClass(base=fabric.fabric, is_container='container', yang_name="fabric", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_storage(self): + """ + Getter method for storage, mapped from YANG variable /components/component/storage (container) + + YANG Description: Data for storage components + """ + return self.__storage + + def _set_storage(self, v, load=False): + """ + Setter method for storage, mapped from YANG variable /components/component/storage (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_storage is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_storage() directly. + + YANG Description: Data for storage components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """storage must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__storage = t + if hasattr(self, '_set'): + self._set() + + def _unset_storage(self): + self.__storage = YANGDynClass(base=storage.storage, is_container='container', yang_name="storage", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_cpu(self): + """ + Getter method for cpu, mapped from YANG variable /components/component/cpu (container) + + YANG Description: Data for cpu components + """ + return self.__cpu + + def _set_cpu(self, v, load=False): + """ + Setter method for cpu, mapped from YANG variable /components/component/cpu (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_cpu is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_cpu() directly. + + YANG Description: Data for cpu components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """cpu must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__cpu = t + if hasattr(self, '_set'): + self._set() + + def _unset_cpu(self): + self.__cpu = YANGDynClass(base=cpu.cpu, is_container='container', yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_integrated_circuit(self): + """ + Getter method for integrated_circuit, mapped from YANG variable /components/component/integrated_circuit (container) + + YANG Description: Data for chip components, such as ASIC, NPUs, etc. + """ + return self.__integrated_circuit + + def _set_integrated_circuit(self, v, load=False): + """ + Setter method for integrated_circuit, mapped from YANG variable /components/component/integrated_circuit (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_integrated_circuit is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_integrated_circuit() directly. + + YANG Description: Data for chip components, such as ASIC, NPUs, etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """integrated_circuit must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__integrated_circuit = t + if hasattr(self, '_set'): + self._set() + + def _unset_integrated_circuit(self): + self.__integrated_circuit = YANGDynClass(base=integrated_circuit.integrated_circuit, is_container='container', yang_name="integrated-circuit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_backplane(self): + """ + Getter method for backplane, mapped from YANG variable /components/component/backplane (container) + + YANG Description: Data for backplane components + """ + return self.__backplane + + def _set_backplane(self, v, load=False): + """ + Setter method for backplane, mapped from YANG variable /components/component/backplane (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_backplane is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_backplane() directly. + + YANG Description: Data for backplane components + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """backplane must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__backplane = t + if hasattr(self, '_set'): + self._set() + + def _unset_backplane(self): + self.__backplane = YANGDynClass(base=backplane.backplane, is_container='container', yang_name="backplane", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_software_module(self): + """ + Getter method for software_module, mapped from YANG variable /components/component/software_module (container) + + YANG Description: Data for software module components, i.e., for components +with type=SOFTWARE_MODULE + """ + return self.__software_module + + def _set_software_module(self, v, load=False): + """ + Setter method for software_module, mapped from YANG variable /components/component/software_module (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_software_module is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_software_module() directly. + + YANG Description: Data for software module components, i.e., for components +with type=SOFTWARE_MODULE + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """software_module must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__software_module = t + if hasattr(self, '_set'): + self._set() + + def _unset_software_module(self): + self.__software_module = YANGDynClass(base=software_module.software_module, is_container='container', yang_name="software-module", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_controller_card(self): + """ + Getter method for controller_card, mapped from YANG variable /components/component/controller_card (container) + + YANG Description: Data for controller card components, i.e., for components +with type=CONTROLLER_CARD + """ + return self.__controller_card + + def _set_controller_card(self, v, load=False): + """ + Setter method for controller_card, mapped from YANG variable /components/component/controller_card (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_controller_card is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_controller_card() directly. + + YANG Description: Data for controller card components, i.e., for components +with type=CONTROLLER_CARD + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """controller_card must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__controller_card = t + if hasattr(self, '_set'): + self._set() + + def _unset_controller_card(self): + self.__controller_card = YANGDynClass(base=controller_card.controller_card, is_container='container', yang_name="controller-card", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + properties = __builtin__.property(_get_properties, _set_properties) + subcomponents = __builtin__.property(_get_subcomponents, _set_subcomponents) + chassis = __builtin__.property(_get_chassis, _set_chassis) + port = __builtin__.property(_get_port, _set_port) + power_supply = __builtin__.property(_get_power_supply, _set_power_supply) + fan = __builtin__.property(_get_fan, _set_fan) + fabric = __builtin__.property(_get_fabric, _set_fabric) + storage = __builtin__.property(_get_storage, _set_storage) + cpu = __builtin__.property(_get_cpu, _set_cpu) + integrated_circuit = __builtin__.property(_get_integrated_circuit, _set_integrated_circuit) + backplane = __builtin__.property(_get_backplane, _set_backplane) + software_module = __builtin__.property(_get_software_module, _set_software_module) + controller_card = __builtin__.property(_get_controller_card, _set_controller_card) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ('properties', properties), ('subcomponents', subcomponents), ('chassis', chassis), ('port', port), ('power_supply', power_supply), ('fan', fan), ('fabric', fabric), ('storage', storage), ('cpu', cpu), ('integrated_circuit', integrated_circuit), ('backplane', backplane), ('software_module', software_module), ('controller_card', controller_card), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/backplane/__init__.py b/hackfest/netconf-oc/openconfig/components/component/backplane/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..15bef3759aab3b7d456fc2bf3e79d364fbf2aa2f --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/backplane/__init__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class backplane(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/backplane. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for backplane components + """ + _pyangbind_elements = {} + + + +class backplane(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/backplane. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for backplane components + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/chassis/__init__.py b/hackfest/netconf-oc/openconfig/components/component/chassis/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..9e88a339a79e9feb0912c24d1a58043f5a25f5c6 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/chassis/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import utilization +class chassis(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/chassis. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for chassis components + """ + __slots__ = ('_path_helper', '_extmethods', '__utilization',) + + _yang_name = 'chassis' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis'] + + def _get_utilization(self): + """ + Getter method for utilization, mapped from YANG variable /components/component/chassis/utilization (container) + + YANG Description: Utilization of the component. + """ + return self.__utilization + + def _set_utilization(self, v, load=False): + """ + Setter method for utilization, mapped from YANG variable /components/component/chassis/utilization (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_utilization is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_utilization() directly. + + YANG Description: Utilization of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """utilization must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__utilization = t + if hasattr(self, '_set'): + self._set() + + def _unset_utilization(self): + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + utilization = __builtin__.property(_get_utilization, _set_utilization) + + + _pyangbind_elements = OrderedDict([('utilization', utilization), ]) + + +from . import utilization +class chassis(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/chassis. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for chassis components + """ + __slots__ = ('_path_helper', '_extmethods', '__utilization',) + + _yang_name = 'chassis' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis'] + + def _get_utilization(self): + """ + Getter method for utilization, mapped from YANG variable /components/component/chassis/utilization (container) + + YANG Description: Utilization of the component. + """ + return self.__utilization + + def _set_utilization(self, v, load=False): + """ + Setter method for utilization, mapped from YANG variable /components/component/chassis/utilization (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_utilization is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_utilization() directly. + + YANG Description: Utilization of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """utilization must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__utilization = t + if hasattr(self, '_set'): + self._set() + + def _unset_utilization(self): + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + utilization = __builtin__.property(_get_utilization, _set_utilization) + + + _pyangbind_elements = OrderedDict([('utilization', utilization), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/__init__.py b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a1bac9c98ca84bd2fcdb13e29b0419d0695a1be8 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import resources +class utilization(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/chassis/utilization. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Utilization of the component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resources',) + + _yang_name = 'utilization' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization'] + + def _get_resources(self): + """ + Getter method for resources, mapped from YANG variable /components/component/chassis/utilization/resources (container) + + YANG Description: Enclosing container for the resources in this component. + """ + return self.__resources + + def _set_resources(self, v, load=False): + """ + Setter method for resources, mapped from YANG variable /components/component/chassis/utilization/resources (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_resources is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resources() directly. + + YANG Description: Enclosing container for the resources in this component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resources must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__resources = t + if hasattr(self, '_set'): + self._set() + + def _unset_resources(self): + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + resources = __builtin__.property(_get_resources, _set_resources) + + + _pyangbind_elements = OrderedDict([('resources', resources), ]) + + +from . import resources +class utilization(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/chassis/utilization. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Utilization of the component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resources',) + + _yang_name = 'utilization' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization'] + + def _get_resources(self): + """ + Getter method for resources, mapped from YANG variable /components/component/chassis/utilization/resources (container) + + YANG Description: Enclosing container for the resources in this component. + """ + return self.__resources + + def _set_resources(self, v, load=False): + """ + Setter method for resources, mapped from YANG variable /components/component/chassis/utilization/resources (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_resources is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resources() directly. + + YANG Description: Enclosing container for the resources in this component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resources must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__resources = t + if hasattr(self, '_set'): + self._set() + + def _unset_resources(self): + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + resources = __builtin__.property(_get_resources, _set_resources) + + + _pyangbind_elements = OrderedDict([('resources', resources), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/__init__.py b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..29d51abe1879b785d0eaefd71a2055f1e136e89c --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import resource +class resources(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/chassis/utilization/resources. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the resources in this component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resource',) + + _yang_name = 'resources' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources'] + + def _get_resource(self): + """ + Getter method for resource, mapped from YANG variable /components/component/chassis/utilization/resources/resource (list) + + YANG Description: List of resources, keyed by resource name. + """ + return self.__resource + + def _set_resource(self, v, load=False): + """ + Setter method for resource, mapped from YANG variable /components/component/chassis/utilization/resources/resource (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_resource is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resource() directly. + + YANG Description: List of resources, keyed by resource name. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resource must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__resource = t + if hasattr(self, '_set'): + self._set() + + def _unset_resource(self): + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + resource = __builtin__.property(_get_resource, _set_resource) + + + _pyangbind_elements = OrderedDict([('resource', resource), ]) + + +from . import resource +class resources(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/chassis/utilization/resources. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the resources in this component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resource',) + + _yang_name = 'resources' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources'] + + def _get_resource(self): + """ + Getter method for resource, mapped from YANG variable /components/component/chassis/utilization/resources/resource (list) + + YANG Description: List of resources, keyed by resource name. + """ + return self.__resource + + def _set_resource(self, v, load=False): + """ + Setter method for resource, mapped from YANG variable /components/component/chassis/utilization/resources/resource (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_resource is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resource() directly. + + YANG Description: List of resources, keyed by resource name. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resource must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__resource = t + if hasattr(self, '_set'): + self._set() + + def _unset_resource(self): + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + resource = __builtin__.property(_get_resource, _set_resource) + + + _pyangbind_elements = OrderedDict([('resource', resource), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/__init__.py b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..ff0575f656886cc795b63d8f5c0020c03d0254c3 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/__init__.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class resource(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/chassis/utilization/resources/resource. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of resources, keyed by resource name. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'resource' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources', 'resource'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/name (leafref) + + YANG Description: References the resource name. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the resource name. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config (container) + + YANG Description: Configuration data for each resource. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state (container) + + YANG Description: Operational state data for each resource. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + +from . import config +from . import state +class resource(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/chassis/utilization/resources/resource. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of resources, keyed by resource name. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'resource' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources', 'resource'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/name (leafref) + + YANG Description: References the resource name. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the resource name. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config (container) + + YANG Description: Configuration data for each resource. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state (container) + + YANG Description: Operational state data for each resource. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/config/__init__.py b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a766d52ec6ab7a593be38d4f11fbbc16dc80eb81 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/config/__init__.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/chassis/utilization/resources/resource/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources', 'resource', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/chassis/utilization/resources/resource/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources', 'resource', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/state/__init__.py b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..9c38f59397042e87fc192c24bdbf883ce8e6fc54 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/chassis/utilization/resources/resource/state/__init__.py @@ -0,0 +1,686 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/chassis/utilization/resources/resource/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__used','__committed','__free','__max_limit','__high_watermark','__last_high_watermark',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources', 'resource', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_used(self): + """ + Getter method for used, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/used (uint64) + + YANG Description: Number of entries currently in use for the resource. + """ + return self.__used + + def _set_used(self, v, load=False): + """ + Setter method for used, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/used (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_used is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_used() directly. + + YANG Description: Number of entries currently in use for the resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """used must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__used = t + if hasattr(self, '_set'): + self._set() + + def _unset_used(self): + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_committed(self): + """ + Getter method for committed, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/committed (uint64) + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + return self.__committed + + def _set_committed(self, v, load=False): + """ + Setter method for committed, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/committed (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_committed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_committed() directly. + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """committed must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__committed = t + if hasattr(self, '_set'): + self._set() + + def _unset_committed(self): + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_free(self): + """ + Getter method for free, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/free (uint64) + + YANG Description: Number of entries available to use. + """ + return self.__free + + def _set_free(self, v, load=False): + """ + Setter method for free, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/free (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_free is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_free() directly. + + YANG Description: Number of entries available to use. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """free must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__free = t + if hasattr(self, '_set'): + self._set() + + def _unset_free(self): + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_max_limit(self): + """ + Getter method for max_limit, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/max_limit (uint64) + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + return self.__max_limit + + def _set_max_limit(self, v, load=False): + """ + Setter method for max_limit, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/max_limit (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_limit is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_limit() directly. + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_limit must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__max_limit = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_limit(self): + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_high_watermark(self): + """ + Getter method for high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/high_watermark (uint64) + + YANG Description: A watermark of highest number of entries used for this resource. + """ + return self.__high_watermark + + def _set_high_watermark(self, v, load=False): + """ + Setter method for high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/high_watermark (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_high_watermark() directly. + + YANG Description: A watermark of highest number of entries used for this resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """high_watermark must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_high_watermark(self): + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_last_high_watermark(self): + """ + Getter method for last_high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + + YANG Description: The time when the high-watermark was last updated + """ + return self.__last_high_watermark + + def _set_last_high_watermark(self, v, load=False): + """ + Setter method for last_high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_high_watermark() directly. + + YANG Description: The time when the high-watermark was last updated + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_high_watermark must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_high_watermark(self): + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + name = __builtin__.property(_get_name) + used = __builtin__.property(_get_used) + committed = __builtin__.property(_get_committed) + free = __builtin__.property(_get_free) + max_limit = __builtin__.property(_get_max_limit) + high_watermark = __builtin__.property(_get_high_watermark) + last_high_watermark = __builtin__.property(_get_last_high_watermark) + + + _pyangbind_elements = OrderedDict([('name', name), ('used', used), ('committed', committed), ('free', free), ('max_limit', max_limit), ('high_watermark', high_watermark), ('last_high_watermark', last_high_watermark), ]) + + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/chassis/utilization/resources/resource/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__used','__committed','__free','__max_limit','__high_watermark','__last_high_watermark',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'chassis', 'utilization', 'resources', 'resource', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_used(self): + """ + Getter method for used, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/used (uint64) + + YANG Description: Number of entries currently in use for the resource. + """ + return self.__used + + def _set_used(self, v, load=False): + """ + Setter method for used, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/used (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_used is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_used() directly. + + YANG Description: Number of entries currently in use for the resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """used must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__used = t + if hasattr(self, '_set'): + self._set() + + def _unset_used(self): + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_committed(self): + """ + Getter method for committed, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/committed (uint64) + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + return self.__committed + + def _set_committed(self, v, load=False): + """ + Setter method for committed, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/committed (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_committed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_committed() directly. + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """committed must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__committed = t + if hasattr(self, '_set'): + self._set() + + def _unset_committed(self): + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_free(self): + """ + Getter method for free, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/free (uint64) + + YANG Description: Number of entries available to use. + """ + return self.__free + + def _set_free(self, v, load=False): + """ + Setter method for free, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/free (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_free is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_free() directly. + + YANG Description: Number of entries available to use. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """free must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__free = t + if hasattr(self, '_set'): + self._set() + + def _unset_free(self): + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_max_limit(self): + """ + Getter method for max_limit, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/max_limit (uint64) + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + return self.__max_limit + + def _set_max_limit(self, v, load=False): + """ + Setter method for max_limit, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/max_limit (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_limit is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_limit() directly. + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_limit must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__max_limit = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_limit(self): + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_high_watermark(self): + """ + Getter method for high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/high_watermark (uint64) + + YANG Description: A watermark of highest number of entries used for this resource. + """ + return self.__high_watermark + + def _set_high_watermark(self, v, load=False): + """ + Setter method for high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/high_watermark (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_high_watermark() directly. + + YANG Description: A watermark of highest number of entries used for this resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """high_watermark must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_high_watermark(self): + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_last_high_watermark(self): + """ + Getter method for last_high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + + YANG Description: The time when the high-watermark was last updated + """ + return self.__last_high_watermark + + def _set_last_high_watermark(self, v, load=False): + """ + Setter method for last_high_watermark, mapped from YANG variable /components/component/chassis/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_high_watermark() directly. + + YANG Description: The time when the high-watermark was last updated + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_high_watermark must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_high_watermark(self): + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + name = __builtin__.property(_get_name) + used = __builtin__.property(_get_used) + committed = __builtin__.property(_get_committed) + free = __builtin__.property(_get_free) + max_limit = __builtin__.property(_get_max_limit) + high_watermark = __builtin__.property(_get_high_watermark) + last_high_watermark = __builtin__.property(_get_last_high_watermark) + + + _pyangbind_elements = OrderedDict([('name', name), ('used', used), ('committed', committed), ('free', free), ('max_limit', max_limit), ('high_watermark', high_watermark), ('last_high_watermark', last_high_watermark), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/config/__init__.py b/hackfest/netconf-oc/openconfig/components/component/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..05fc5b7959140a835f0cbeee106f326b689e072c --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/config/__init__.py @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each component + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/config/name (string) + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each component + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/config/name (string) + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/controller_card/__init__.py b/hackfest/netconf-oc/openconfig/components/component/controller_card/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..7575a47edcbec0bded345e9bdb3a4ef2c18d6b45 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/controller_card/__init__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class controller_card(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/controller-card. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for controller card components, i.e., for components +with type=CONTROLLER_CARD + """ + _pyangbind_elements = {} + + + +class controller_card(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/controller-card. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for controller card components, i.e., for components +with type=CONTROLLER_CARD + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/cpu/__init__.py b/hackfest/netconf-oc/openconfig/components/component/cpu/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..06420eb73a3c14d5e991872eecd4cd68f4b726e2 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/cpu/__init__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class cpu(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/cpu. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for cpu components + """ + _pyangbind_elements = {} + + + +class cpu(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/cpu. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for cpu components + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/fabric/__init__.py b/hackfest/netconf-oc/openconfig/components/component/fabric/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b88c441d803837f34cfe270a482ddf6a1d9dd878 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/fabric/__init__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class fabric(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/fabric. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for fabric components + """ + _pyangbind_elements = {} + + + +class fabric(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/fabric. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for fabric components + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/fan/__init__.py b/hackfest/netconf-oc/openconfig/components/component/fan/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e1d3cd8498e89aa26235c0ba94d2aee418c27e70 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/fan/__init__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class fan(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/fan. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for fan components + """ + _pyangbind_elements = {} + + + +class fan(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/fan. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for fan components + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/__init__.py b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a2f0ee8b82fa19dd322d3224de33942a050a6fa2 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import utilization +class integrated_circuit(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/integrated-circuit. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for chip components, such as ASIC, NPUs, etc. + """ + __slots__ = ('_path_helper', '_extmethods', '__utilization',) + + _yang_name = 'integrated-circuit' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit'] + + def _get_utilization(self): + """ + Getter method for utilization, mapped from YANG variable /components/component/integrated_circuit/utilization (container) + + YANG Description: Utilization of the component. + """ + return self.__utilization + + def _set_utilization(self, v, load=False): + """ + Setter method for utilization, mapped from YANG variable /components/component/integrated_circuit/utilization (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_utilization is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_utilization() directly. + + YANG Description: Utilization of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """utilization must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__utilization = t + if hasattr(self, '_set'): + self._set() + + def _unset_utilization(self): + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + utilization = __builtin__.property(_get_utilization, _set_utilization) + + + _pyangbind_elements = OrderedDict([('utilization', utilization), ]) + + +from . import utilization +class integrated_circuit(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/integrated-circuit. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for chip components, such as ASIC, NPUs, etc. + """ + __slots__ = ('_path_helper', '_extmethods', '__utilization',) + + _yang_name = 'integrated-circuit' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit'] + + def _get_utilization(self): + """ + Getter method for utilization, mapped from YANG variable /components/component/integrated_circuit/utilization (container) + + YANG Description: Utilization of the component. + """ + return self.__utilization + + def _set_utilization(self, v, load=False): + """ + Setter method for utilization, mapped from YANG variable /components/component/integrated_circuit/utilization (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_utilization is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_utilization() directly. + + YANG Description: Utilization of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """utilization must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__utilization = t + if hasattr(self, '_set'): + self._set() + + def _unset_utilization(self): + self.__utilization = YANGDynClass(base=utilization.utilization, is_container='container', yang_name="utilization", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + utilization = __builtin__.property(_get_utilization, _set_utilization) + + + _pyangbind_elements = OrderedDict([('utilization', utilization), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/__init__.py b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..dc2ebc87c9230ab64955cec0a4bfcf752b97acc0 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import resources +class utilization(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/integrated-circuit/utilization. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Utilization of the component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resources',) + + _yang_name = 'utilization' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization'] + + def _get_resources(self): + """ + Getter method for resources, mapped from YANG variable /components/component/integrated_circuit/utilization/resources (container) + + YANG Description: Enclosing container for the resources in this component. + """ + return self.__resources + + def _set_resources(self, v, load=False): + """ + Setter method for resources, mapped from YANG variable /components/component/integrated_circuit/utilization/resources (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_resources is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resources() directly. + + YANG Description: Enclosing container for the resources in this component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resources must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__resources = t + if hasattr(self, '_set'): + self._set() + + def _unset_resources(self): + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + resources = __builtin__.property(_get_resources, _set_resources) + + + _pyangbind_elements = OrderedDict([('resources', resources), ]) + + +from . import resources +class utilization(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/integrated-circuit/utilization. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Utilization of the component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resources',) + + _yang_name = 'utilization' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization'] + + def _get_resources(self): + """ + Getter method for resources, mapped from YANG variable /components/component/integrated_circuit/utilization/resources (container) + + YANG Description: Enclosing container for the resources in this component. + """ + return self.__resources + + def _set_resources(self, v, load=False): + """ + Setter method for resources, mapped from YANG variable /components/component/integrated_circuit/utilization/resources (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_resources is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resources() directly. + + YANG Description: Enclosing container for the resources in this component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resources must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__resources = t + if hasattr(self, '_set'): + self._set() + + def _unset_resources(self): + self.__resources = YANGDynClass(base=resources.resources, is_container='container', yang_name="resources", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + resources = __builtin__.property(_get_resources, _set_resources) + + + _pyangbind_elements = OrderedDict([('resources', resources), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/__init__.py b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..f0833cc9b6254d4dab2a73303835af935316be07 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import resource +class resources(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/integrated-circuit/utilization/resources. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the resources in this component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resource',) + + _yang_name = 'resources' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources'] + + def _get_resource(self): + """ + Getter method for resource, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource (list) + + YANG Description: List of resources, keyed by resource name. + """ + return self.__resource + + def _set_resource(self, v, load=False): + """ + Setter method for resource, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_resource is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resource() directly. + + YANG Description: List of resources, keyed by resource name. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resource must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__resource = t + if hasattr(self, '_set'): + self._set() + + def _unset_resource(self): + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + resource = __builtin__.property(_get_resource, _set_resource) + + + _pyangbind_elements = OrderedDict([('resource', resource), ]) + + +from . import resource +class resources(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/integrated-circuit/utilization/resources. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the resources in this component. + """ + __slots__ = ('_path_helper', '_extmethods', '__resource',) + + _yang_name = 'resources' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources'] + + def _get_resource(self): + """ + Getter method for resource, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource (list) + + YANG Description: List of resources, keyed by resource name. + """ + return self.__resource + + def _set_resource(self, v, load=False): + """ + Setter method for resource, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_resource is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_resource() directly. + + YANG Description: List of resources, keyed by resource name. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """resource must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__resource = t + if hasattr(self, '_set'): + self._set() + + def _unset_resource(self): + self.__resource = YANGDynClass(base=YANGListType("name",resource.resource, yang_name="resource", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="resource", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + resource = __builtin__.property(_get_resource, _set_resource) + + + _pyangbind_elements = OrderedDict([('resource', resource), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/__init__.py b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..fe54dd37de1e3c4637206e887b07286d611d1e1c --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/__init__.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class resource(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/integrated-circuit/utilization/resources/resource. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of resources, keyed by resource name. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'resource' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources', 'resource'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/name (leafref) + + YANG Description: References the resource name. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the resource name. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config (container) + + YANG Description: Configuration data for each resource. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state (container) + + YANG Description: Operational state data for each resource. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + +from . import config +from . import state +class resource(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/integrated-circuit/utilization/resources/resource. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of resources, keyed by resource name. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'resource' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources', 'resource'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/name (leafref) + + YANG Description: References the resource name. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the resource name. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config (container) + + YANG Description: Configuration data for each resource. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state (container) + + YANG Description: Operational state data for each resource. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/config/__init__.py b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..dbc0dc799a609085f77f18a623042a7b1ca556ce --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/config/__init__.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/integrated-circuit/utilization/resources/resource/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources', 'resource', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/integrated-circuit/utilization/resources/resource/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources', 'resource', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/state/__init__.py b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e4cb2cec886fe113f1fd595c386eef65e084374f --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/integrated_circuit/utilization/resources/resource/state/__init__.py @@ -0,0 +1,686 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/integrated-circuit/utilization/resources/resource/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__used','__committed','__free','__max_limit','__high_watermark','__last_high_watermark',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources', 'resource', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_used(self): + """ + Getter method for used, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/used (uint64) + + YANG Description: Number of entries currently in use for the resource. + """ + return self.__used + + def _set_used(self, v, load=False): + """ + Setter method for used, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/used (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_used is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_used() directly. + + YANG Description: Number of entries currently in use for the resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """used must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__used = t + if hasattr(self, '_set'): + self._set() + + def _unset_used(self): + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_committed(self): + """ + Getter method for committed, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/committed (uint64) + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + return self.__committed + + def _set_committed(self, v, load=False): + """ + Setter method for committed, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/committed (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_committed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_committed() directly. + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """committed must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__committed = t + if hasattr(self, '_set'): + self._set() + + def _unset_committed(self): + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_free(self): + """ + Getter method for free, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/free (uint64) + + YANG Description: Number of entries available to use. + """ + return self.__free + + def _set_free(self, v, load=False): + """ + Setter method for free, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/free (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_free is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_free() directly. + + YANG Description: Number of entries available to use. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """free must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__free = t + if hasattr(self, '_set'): + self._set() + + def _unset_free(self): + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_max_limit(self): + """ + Getter method for max_limit, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/max_limit (uint64) + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + return self.__max_limit + + def _set_max_limit(self, v, load=False): + """ + Setter method for max_limit, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/max_limit (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_limit is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_limit() directly. + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_limit must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__max_limit = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_limit(self): + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_high_watermark(self): + """ + Getter method for high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/high_watermark (uint64) + + YANG Description: A watermark of highest number of entries used for this resource. + """ + return self.__high_watermark + + def _set_high_watermark(self, v, load=False): + """ + Setter method for high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/high_watermark (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_high_watermark() directly. + + YANG Description: A watermark of highest number of entries used for this resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """high_watermark must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_high_watermark(self): + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_last_high_watermark(self): + """ + Getter method for last_high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + + YANG Description: The time when the high-watermark was last updated + """ + return self.__last_high_watermark + + def _set_last_high_watermark(self, v, load=False): + """ + Setter method for last_high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_high_watermark() directly. + + YANG Description: The time when the high-watermark was last updated + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_high_watermark must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_high_watermark(self): + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + name = __builtin__.property(_get_name) + used = __builtin__.property(_get_used) + committed = __builtin__.property(_get_committed) + free = __builtin__.property(_get_free) + max_limit = __builtin__.property(_get_max_limit) + high_watermark = __builtin__.property(_get_high_watermark) + last_high_watermark = __builtin__.property(_get_last_high_watermark) + + + _pyangbind_elements = OrderedDict([('name', name), ('used', used), ('committed', committed), ('free', free), ('max_limit', max_limit), ('high_watermark', high_watermark), ('last_high_watermark', last_high_watermark), ]) + + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/integrated-circuit/utilization/resources/resource/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each resource. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__used','__committed','__free','__max_limit','__high_watermark','__last_high_watermark',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'integrated-circuit', 'utilization', 'resources', 'resource', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/name (string) + + YANG Description: Resource name within the component. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Resource name within the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_used(self): + """ + Getter method for used, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/used (uint64) + + YANG Description: Number of entries currently in use for the resource. + """ + return self.__used + + def _set_used(self, v, load=False): + """ + Setter method for used, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/used (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_used is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_used() directly. + + YANG Description: Number of entries currently in use for the resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """used must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__used = t + if hasattr(self, '_set'): + self._set() + + def _unset_used(self): + self.__used = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="used", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_committed(self): + """ + Getter method for committed, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/committed (uint64) + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + return self.__committed + + def _set_committed(self, v, load=False): + """ + Setter method for committed, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/committed (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_committed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_committed() directly. + + YANG Description: Number of entries currently reserved for this resource. This is only +relevant to tables which allocate a block of resource for a given +feature. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """committed must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__committed = t + if hasattr(self, '_set'): + self._set() + + def _unset_committed(self): + self.__committed = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="committed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_free(self): + """ + Getter method for free, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/free (uint64) + + YANG Description: Number of entries available to use. + """ + return self.__free + + def _set_free(self, v, load=False): + """ + Setter method for free, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/free (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_free is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_free() directly. + + YANG Description: Number of entries available to use. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """free must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__free = t + if hasattr(self, '_set'): + self._set() + + def _unset_free(self): + self.__free = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="free", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_max_limit(self): + """ + Getter method for max_limit, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/max_limit (uint64) + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + return self.__max_limit + + def _set_max_limit(self, v, load=False): + """ + Setter method for max_limit, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/max_limit (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_limit is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_limit() directly. + + YANG Description: Maximum number of entries available for the resource. The value +is the theoretical maximum resource utilization possible. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_limit must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__max_limit = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_limit(self): + self.__max_limit = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-limit", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_high_watermark(self): + """ + Getter method for high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/high_watermark (uint64) + + YANG Description: A watermark of highest number of entries used for this resource. + """ + return self.__high_watermark + + def _set_high_watermark(self, v, load=False): + """ + Setter method for high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/high_watermark (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_high_watermark() directly. + + YANG Description: A watermark of highest number of entries used for this resource. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """high_watermark must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_high_watermark(self): + self.__high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_last_high_watermark(self): + """ + Getter method for last_high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + + YANG Description: The time when the high-watermark was last updated + """ + return self.__last_high_watermark + + def _set_last_high_watermark(self, v, load=False): + """ + Setter method for last_high_watermark, mapped from YANG variable /components/component/integrated_circuit/utilization/resources/resource/state/last_high_watermark (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_high_watermark is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_high_watermark() directly. + + YANG Description: The time when the high-watermark was last updated + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_high_watermark must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_high_watermark = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_high_watermark(self): + self.__last_high_watermark = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-high-watermark", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + name = __builtin__.property(_get_name) + used = __builtin__.property(_get_used) + committed = __builtin__.property(_get_committed) + free = __builtin__.property(_get_free) + max_limit = __builtin__.property(_get_max_limit) + high_watermark = __builtin__.property(_get_high_watermark) + last_high_watermark = __builtin__.property(_get_last_high_watermark) + + + _pyangbind_elements = OrderedDict([('name', name), ('used', used), ('committed', committed), ('free', free), ('max_limit', max_limit), ('high_watermark', high_watermark), ('last_high_watermark', last_high_watermark), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/port/__init__.py b/hackfest/netconf-oc/openconfig/components/component/port/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..74542ccd89fc359229b55c7fbb2f6d6701d0fd1a --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/port/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import breakout_mode +class port(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/port. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for physical port components + """ + __slots__ = ('_path_helper', '_extmethods', '__breakout_mode',) + + _yang_name = 'port' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__breakout_mode = YANGDynClass(base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port'] + + def _get_breakout_mode(self): + """ + Getter method for breakout_mode, mapped from YANG variable /components/component/port/breakout_mode (container) + + YANG Description: Top-level container for port breakout-mode data. + """ + return self.__breakout_mode + + def _set_breakout_mode(self, v, load=False): + """ + Setter method for breakout_mode, mapped from YANG variable /components/component/port/breakout_mode (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_breakout_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_breakout_mode() directly. + + YANG Description: Top-level container for port breakout-mode data. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """breakout_mode must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__breakout_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_breakout_mode(self): + self.__breakout_mode = YANGDynClass(base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + breakout_mode = __builtin__.property(_get_breakout_mode, _set_breakout_mode) + + + _pyangbind_elements = OrderedDict([('breakout_mode', breakout_mode), ]) + + +from . import breakout_mode +class port(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/port. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for physical port components + """ + __slots__ = ('_path_helper', '_extmethods', '__breakout_mode',) + + _yang_name = 'port' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__breakout_mode = YANGDynClass(base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port'] + + def _get_breakout_mode(self): + """ + Getter method for breakout_mode, mapped from YANG variable /components/component/port/breakout_mode (container) + + YANG Description: Top-level container for port breakout-mode data. + """ + return self.__breakout_mode + + def _set_breakout_mode(self, v, load=False): + """ + Setter method for breakout_mode, mapped from YANG variable /components/component/port/breakout_mode (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_breakout_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_breakout_mode() directly. + + YANG Description: Top-level container for port breakout-mode data. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """breakout_mode must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__breakout_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_breakout_mode(self): + self.__breakout_mode = YANGDynClass(base=breakout_mode.breakout_mode, is_container='container', yang_name="breakout-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + breakout_mode = __builtin__.property(_get_breakout_mode, _set_breakout_mode) + + + _pyangbind_elements = OrderedDict([('breakout_mode', breakout_mode), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/__init__.py b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..363988ab6a25e9f8e5928b71e5004f95a6dd49f6 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/__init__.py @@ -0,0 +1,300 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import groups +class breakout_mode(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/port/breakout-mode. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top-level container for port breakout-mode data. + """ + __slots__ = ('_path_helper', '_extmethods', '__groups',) + + _yang_name = 'breakout-mode' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__groups = YANGDynClass(base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode'] + + def _get_groups(self): + """ + Getter method for groups, mapped from YANG variable /components/component/port/breakout_mode/groups (container) + + YANG Description: Top level container for breakout groups data. + +When a device has the capability to break a port into +interfaces of different speeds and different number of +physical channels, it can breakout a 400G OSFP port with +8 physical channels (with support for 25G NRZ, 50G PAM4 +and 100G PAM4) in the following configuration: + +100G + 100G + 200G -> 1 interface with 2 physical channels +and 1 interface with 4 physical channels and 1 interface with +2 physical channels. With this configuration the interface in +1st breakout group would use 50G PAM4 modulation, interface +in 2nd breakout group would use 25G NRZ modulation and the +interface in 3rd breakout group would use 100G PAM4 modulation +This configuration would result in 3 entries in the breakout +groups list. + +When a device does not have the capability to break a port +into interfaces of different speeds and different number of +physical channels, it would breakout a 400G OSFP port with +8 physical channels in the following configuration: + +50G -> 8 interfaces with 1 physical channel each, this would +result in 1 entry in the breakout groups list. + """ + return self.__groups + + def _set_groups(self, v, load=False): + """ + Setter method for groups, mapped from YANG variable /components/component/port/breakout_mode/groups (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_groups is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_groups() directly. + + YANG Description: Top level container for breakout groups data. + +When a device has the capability to break a port into +interfaces of different speeds and different number of +physical channels, it can breakout a 400G OSFP port with +8 physical channels (with support for 25G NRZ, 50G PAM4 +and 100G PAM4) in the following configuration: + +100G + 100G + 200G -> 1 interface with 2 physical channels +and 1 interface with 4 physical channels and 1 interface with +2 physical channels. With this configuration the interface in +1st breakout group would use 50G PAM4 modulation, interface +in 2nd breakout group would use 25G NRZ modulation and the +interface in 3rd breakout group would use 100G PAM4 modulation +This configuration would result in 3 entries in the breakout +groups list. + +When a device does not have the capability to break a port +into interfaces of different speeds and different number of +physical channels, it would breakout a 400G OSFP port with +8 physical channels in the following configuration: + +50G -> 8 interfaces with 1 physical channel each, this would +result in 1 entry in the breakout groups list. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """groups must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__groups = t + if hasattr(self, '_set'): + self._set() + + def _unset_groups(self): + self.__groups = YANGDynClass(base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + groups = __builtin__.property(_get_groups, _set_groups) + + + _pyangbind_elements = OrderedDict([('groups', groups), ]) + + +from . import groups +class breakout_mode(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/port/breakout-mode. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top-level container for port breakout-mode data. + """ + __slots__ = ('_path_helper', '_extmethods', '__groups',) + + _yang_name = 'breakout-mode' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__groups = YANGDynClass(base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode'] + + def _get_groups(self): + """ + Getter method for groups, mapped from YANG variable /components/component/port/breakout_mode/groups (container) + + YANG Description: Top level container for breakout groups data. + +When a device has the capability to break a port into +interfaces of different speeds and different number of +physical channels, it can breakout a 400G OSFP port with +8 physical channels (with support for 25G NRZ, 50G PAM4 +and 100G PAM4) in the following configuration: + +100G + 100G + 200G -> 1 interface with 2 physical channels +and 1 interface with 4 physical channels and 1 interface with +2 physical channels. With this configuration the interface in +1st breakout group would use 50G PAM4 modulation, interface +in 2nd breakout group would use 25G NRZ modulation and the +interface in 3rd breakout group would use 100G PAM4 modulation +This configuration would result in 3 entries in the breakout +groups list. + +When a device does not have the capability to break a port +into interfaces of different speeds and different number of +physical channels, it would breakout a 400G OSFP port with +8 physical channels in the following configuration: + +50G -> 8 interfaces with 1 physical channel each, this would +result in 1 entry in the breakout groups list. + """ + return self.__groups + + def _set_groups(self, v, load=False): + """ + Setter method for groups, mapped from YANG variable /components/component/port/breakout_mode/groups (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_groups is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_groups() directly. + + YANG Description: Top level container for breakout groups data. + +When a device has the capability to break a port into +interfaces of different speeds and different number of +physical channels, it can breakout a 400G OSFP port with +8 physical channels (with support for 25G NRZ, 50G PAM4 +and 100G PAM4) in the following configuration: + +100G + 100G + 200G -> 1 interface with 2 physical channels +and 1 interface with 4 physical channels and 1 interface with +2 physical channels. With this configuration the interface in +1st breakout group would use 50G PAM4 modulation, interface +in 2nd breakout group would use 25G NRZ modulation and the +interface in 3rd breakout group would use 100G PAM4 modulation +This configuration would result in 3 entries in the breakout +groups list. + +When a device does not have the capability to break a port +into interfaces of different speeds and different number of +physical channels, it would breakout a 400G OSFP port with +8 physical channels in the following configuration: + +50G -> 8 interfaces with 1 physical channel each, this would +result in 1 entry in the breakout groups list. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """groups must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__groups = t + if hasattr(self, '_set'): + self._set() + + def _unset_groups(self): + self.__groups = YANGDynClass(base=groups.groups, is_container='container', yang_name="groups", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + groups = __builtin__.property(_get_groups, _set_groups) + + + _pyangbind_elements = OrderedDict([('groups', groups), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/__init__.py b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..523eb15138bed339e2361a968fc3701cdbfb2774 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/__init__.py @@ -0,0 +1,254 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import group +class groups(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/port/breakout-mode/groups. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top level container for breakout groups data. + +When a device has the capability to break a port into +interfaces of different speeds and different number of +physical channels, it can breakout a 400G OSFP port with +8 physical channels (with support for 25G NRZ, 50G PAM4 +and 100G PAM4) in the following configuration: + +100G + 100G + 200G -> 1 interface with 2 physical channels +and 1 interface with 4 physical channels and 1 interface with +2 physical channels. With this configuration the interface in +1st breakout group would use 50G PAM4 modulation, interface +in 2nd breakout group would use 25G NRZ modulation and the +interface in 3rd breakout group would use 100G PAM4 modulation +This configuration would result in 3 entries in the breakout +groups list. + +When a device does not have the capability to break a port +into interfaces of different speeds and different number of +physical channels, it would breakout a 400G OSFP port with +8 physical channels in the following configuration: + +50G -> 8 interfaces with 1 physical channel each, this would +result in 1 entry in the breakout groups list. + """ + __slots__ = ('_path_helper', '_extmethods', '__group',) + + _yang_name = 'groups' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__group = YANGDynClass(base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups'] + + def _get_group(self): + """ + Getter method for group, mapped from YANG variable /components/component/port/breakout_mode/groups/group (list) + + YANG Description: List of breakout groups. + """ + return self.__group + + def _set_group(self, v, load=False): + """ + Setter method for group, mapped from YANG variable /components/component/port/breakout_mode/groups/group (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_group is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_group() directly. + + YANG Description: List of breakout groups. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """group must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True)""", + }) + + self.__group = t + if hasattr(self, '_set'): + self._set() + + def _unset_group(self): + self.__group = YANGDynClass(base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True) + + group = __builtin__.property(_get_group, _set_group) + + + _pyangbind_elements = OrderedDict([('group', group), ]) + + +from . import group +class groups(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/port/breakout-mode/groups. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top level container for breakout groups data. + +When a device has the capability to break a port into +interfaces of different speeds and different number of +physical channels, it can breakout a 400G OSFP port with +8 physical channels (with support for 25G NRZ, 50G PAM4 +and 100G PAM4) in the following configuration: + +100G + 100G + 200G -> 1 interface with 2 physical channels +and 1 interface with 4 physical channels and 1 interface with +2 physical channels. With this configuration the interface in +1st breakout group would use 50G PAM4 modulation, interface +in 2nd breakout group would use 25G NRZ modulation and the +interface in 3rd breakout group would use 100G PAM4 modulation +This configuration would result in 3 entries in the breakout +groups list. + +When a device does not have the capability to break a port +into interfaces of different speeds and different number of +physical channels, it would breakout a 400G OSFP port with +8 physical channels in the following configuration: + +50G -> 8 interfaces with 1 physical channel each, this would +result in 1 entry in the breakout groups list. + """ + __slots__ = ('_path_helper', '_extmethods', '__group',) + + _yang_name = 'groups' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__group = YANGDynClass(base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups'] + + def _get_group(self): + """ + Getter method for group, mapped from YANG variable /components/component/port/breakout_mode/groups/group (list) + + YANG Description: List of breakout groups. + """ + return self.__group + + def _set_group(self, v, load=False): + """ + Setter method for group, mapped from YANG variable /components/component/port/breakout_mode/groups/group (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_group is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_group() directly. + + YANG Description: List of breakout groups. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """group must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True)""", + }) + + self.__group = t + if hasattr(self, '_set'): + self._set() + + def _unset_group(self): + self.__group = YANGDynClass(base=YANGListType("index",group.group, yang_name="group", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="group", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='list', is_config=True) + + group = __builtin__.property(_get_group, _set_group) + + + _pyangbind_elements = OrderedDict([('group', group), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/__init__.py b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..82104e792886041d3ef76eebd8a47bd8a8e17bf5 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/__init__.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class group(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/port/breakout-mode/groups/group. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of breakout groups. + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__config','__state',) + + _yang_name = 'group' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups', 'group'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/index (leafref) + + YANG Description: Index of the breakout group entry in the breakout groups list. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/index (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: Index of the breakout group entry in the breakout groups list. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config (container) + + YANG Description: Configuration data for breakout group. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state (container) + + YANG Description: Operational state data for breakout group. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + index = __builtin__.property(_get_index, _set_index) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('index', index), ('config', config), ('state', state), ]) + + +from . import config +from . import state +class group(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/port/breakout-mode/groups/group. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of breakout groups. + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__config','__state',) + + _yang_name = 'group' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups', 'group'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/index (leafref) + + YANG Description: Index of the breakout group entry in the breakout groups list. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/index (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: Index of the breakout group entry in the breakout groups list. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config (container) + + YANG Description: Configuration data for breakout group. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state (container) + + YANG Description: Operational state data for breakout group. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='container', is_config=True) + + index = __builtin__.property(_get_index, _set_index) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('index', index), ('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/config/__init__.py b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..5a989534cd1f8272ee971533e2e4cc97e3b4fffc --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/config/__init__.py @@ -0,0 +1,464 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/port/breakout-mode/groups/group/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for breakout group. + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__num_breakouts','__breakout_speed','__num_physical_channels',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True) + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups', 'group', 'config'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/index (uint8) + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/index (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + + def _get_num_breakouts(self): + """ + Getter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_breakouts (uint8) + + YANG Description: Sets the number of interfaces using this breakout group. + """ + return self.__num_breakouts + + def _set_num_breakouts(self, v, load=False): + """ + Setter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_breakouts (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_breakouts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_breakouts() directly. + + YANG Description: Sets the number of interfaces using this breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_breakouts must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True)""", + }) + + self.__num_breakouts = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_breakouts(self): + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + + def _get_breakout_speed(self): + """ + Getter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/breakout_speed (identityref) + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + return self.__breakout_speed + + def _set_breakout_speed(self, v, load=False): + """ + Setter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/breakout_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_breakout_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_breakout_speed() directly. + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """breakout_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform-port:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True)""", + }) + + self.__breakout_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_breakout_speed(self): + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True) + + + def _get_num_physical_channels(self): + """ + Getter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_physical_channels (uint8) + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + return self.__num_physical_channels + + def _set_num_physical_channels(self, v, load=False): + """ + Setter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_physical_channels (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_physical_channels is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_physical_channels() directly. + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_physical_channels must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True)""", + }) + + self.__num_physical_channels = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_physical_channels(self): + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + index = __builtin__.property(_get_index, _set_index) + num_breakouts = __builtin__.property(_get_num_breakouts, _set_num_breakouts) + breakout_speed = __builtin__.property(_get_breakout_speed, _set_breakout_speed) + num_physical_channels = __builtin__.property(_get_num_physical_channels, _set_num_physical_channels) + + + _pyangbind_elements = OrderedDict([('index', index), ('num_breakouts', num_breakouts), ('breakout_speed', breakout_speed), ('num_physical_channels', num_physical_channels), ]) + + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/port/breakout-mode/groups/group/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for breakout group. + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__num_breakouts','__breakout_speed','__num_physical_channels',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True) + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups', 'group', 'config'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/index (uint8) + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/index (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + + def _get_num_breakouts(self): + """ + Getter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_breakouts (uint8) + + YANG Description: Sets the number of interfaces using this breakout group. + """ + return self.__num_breakouts + + def _set_num_breakouts(self, v, load=False): + """ + Setter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_breakouts (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_breakouts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_breakouts() directly. + + YANG Description: Sets the number of interfaces using this breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_breakouts must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True)""", + }) + + self.__num_breakouts = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_breakouts(self): + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + + def _get_breakout_speed(self): + """ + Getter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/breakout_speed (identityref) + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + return self.__breakout_speed + + def _set_breakout_speed(self, v, load=False): + """ + Setter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/breakout_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_breakout_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_breakout_speed() directly. + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """breakout_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform-port:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True)""", + }) + + self.__breakout_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_breakout_speed(self): + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=True) + + + def _get_num_physical_channels(self): + """ + Getter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_physical_channels (uint8) + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + return self.__num_physical_channels + + def _set_num_physical_channels(self, v, load=False): + """ + Setter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/config/num_physical_channels (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_physical_channels is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_physical_channels() directly. + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_physical_channels must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True)""", + }) + + self.__num_physical_channels = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_physical_channels(self): + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=True) + + index = __builtin__.property(_get_index, _set_index) + num_breakouts = __builtin__.property(_get_num_breakouts, _set_num_breakouts) + breakout_speed = __builtin__.property(_get_breakout_speed, _set_breakout_speed) + num_physical_channels = __builtin__.property(_get_num_physical_channels, _set_num_physical_channels) + + + _pyangbind_elements = OrderedDict([('index', index), ('num_breakouts', num_breakouts), ('breakout_speed', breakout_speed), ('num_physical_channels', num_physical_channels), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/state/__init__.py b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..71c63f44b61ef5b032652a2d43928d96c83a3a29 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/port/breakout_mode/groups/group/state/__init__.py @@ -0,0 +1,464 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/port/breakout-mode/groups/group/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for breakout group. + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__num_breakouts','__breakout_speed','__num_physical_channels',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False) + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups', 'group', 'state'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/index (uint8) + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/index (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + + def _get_num_breakouts(self): + """ + Getter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_breakouts (uint8) + + YANG Description: Sets the number of interfaces using this breakout group. + """ + return self.__num_breakouts + + def _set_num_breakouts(self, v, load=False): + """ + Setter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_breakouts (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_breakouts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_breakouts() directly. + + YANG Description: Sets the number of interfaces using this breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_breakouts must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False)""", + }) + + self.__num_breakouts = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_breakouts(self): + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + + def _get_breakout_speed(self): + """ + Getter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/breakout_speed (identityref) + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + return self.__breakout_speed + + def _set_breakout_speed(self, v, load=False): + """ + Setter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/breakout_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_breakout_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_breakout_speed() directly. + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """breakout_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform-port:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False)""", + }) + + self.__breakout_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_breakout_speed(self): + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False) + + + def _get_num_physical_channels(self): + """ + Getter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_physical_channels (uint8) + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + return self.__num_physical_channels + + def _set_num_physical_channels(self, v, load=False): + """ + Setter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_physical_channels (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_physical_channels is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_physical_channels() directly. + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_physical_channels must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False)""", + }) + + self.__num_physical_channels = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_physical_channels(self): + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + index = __builtin__.property(_get_index) + num_breakouts = __builtin__.property(_get_num_breakouts) + breakout_speed = __builtin__.property(_get_breakout_speed) + num_physical_channels = __builtin__.property(_get_num_physical_channels) + + + _pyangbind_elements = OrderedDict([('index', index), ('num_breakouts', num_breakouts), ('breakout_speed', breakout_speed), ('num_physical_channels', num_physical_channels), ]) + + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/port/breakout-mode/groups/group/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for breakout group. + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__num_breakouts','__breakout_speed','__num_physical_channels',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False) + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'port', 'breakout-mode', 'groups', 'group', 'state'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/index (uint8) + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/index (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: Each index specifies breakouts that are identical in +terms of speed and the number of physical channels. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + + def _get_num_breakouts(self): + """ + Getter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_breakouts (uint8) + + YANG Description: Sets the number of interfaces using this breakout group. + """ + return self.__num_breakouts + + def _set_num_breakouts(self, v, load=False): + """ + Setter method for num_breakouts, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_breakouts (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_breakouts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_breakouts() directly. + + YANG Description: Sets the number of interfaces using this breakout group. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_breakouts must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False)""", + }) + + self.__num_breakouts = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_breakouts(self): + self.__num_breakouts = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-breakouts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + + def _get_breakout_speed(self): + """ + Getter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/breakout_speed (identityref) + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + return self.__breakout_speed + + def _set_breakout_speed(self, v, load=False): + """ + Setter method for breakout_speed, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/breakout_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_breakout_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_breakout_speed() directly. + + YANG Description: Speed of interfaces in this breakout group, supported +values are defined by the ETHERNET_SPEED identity. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """breakout_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform-port:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False)""", + }) + + self.__breakout_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_breakout_speed(self): + self.__breakout_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="breakout-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='identityref', is_config=False) + + + def _get_num_physical_channels(self): + """ + Getter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_physical_channels (uint8) + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + return self.__num_physical_channels + + def _set_num_physical_channels(self, v, load=False): + """ + Setter method for num_physical_channels, mapped from YANG variable /components/component/port/breakout_mode/groups/group/state/num_physical_channels (uint8) + If this variable is read-only (config: false) in the + source YANG file, then _set_num_physical_channels is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_num_physical_channels() directly. + + YANG Description: Sets the number of lanes or physical channels assigned +to the interfaces in this breakout group. This leaf need +not be set if there is only one breakout group where all +the interfaces are of equal speed and have equal number +of physical channels + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """num_physical_channels must be of a type compatible with uint8""", + 'defined-type': "uint8", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False)""", + }) + + self.__num_physical_channels = t + if hasattr(self, '_set'): + self._set() + + def _unset_num_physical_channels(self): + self.__num_physical_channels = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..255']}, int_size=8), is_leaf=True, yang_name="num-physical-channels", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='uint8', is_config=False) + + index = __builtin__.property(_get_index) + num_breakouts = __builtin__.property(_get_num_breakouts) + breakout_speed = __builtin__.property(_get_breakout_speed) + num_physical_channels = __builtin__.property(_get_num_physical_channels) + + + _pyangbind_elements = OrderedDict([('index', index), ('num_breakouts', num_breakouts), ('breakout_speed', breakout_speed), ('num_physical_channels', num_physical_channels), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/power_supply/__init__.py b/hackfest/netconf-oc/openconfig/components/component/power_supply/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..08a05b98f2d93e26ac391b1cd2c91bcec671348a --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/power_supply/__init__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class power_supply(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/power-supply. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for power supply components + """ + _pyangbind_elements = {} + + + +class power_supply(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/power-supply. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for power supply components + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/properties/__init__.py b/hackfest/netconf-oc/openconfig/components/component/properties/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..4605df88f39390969e0932a0afac4f43ecd8ba9b --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/properties/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import property_ +class properties(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/properties. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container + """ + __slots__ = ('_path_helper', '_extmethods', '__property_',) + + _yang_name = 'properties' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__property_ = YANGDynClass(base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties'] + + def _get_property_(self): + """ + Getter method for property_, mapped from YANG variable /components/component/properties/property (list) + + YANG Description: List of system properties for the component + """ + return self.__property_ + + def _set_property_(self, v, load=False): + """ + Setter method for property_, mapped from YANG variable /components/component/properties/property (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_property_ is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_property_() directly. + + YANG Description: List of system properties for the component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """property_ must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__property_ = t + if hasattr(self, '_set'): + self._set() + + def _unset_property_(self): + self.__property_ = YANGDynClass(base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + property_ = __builtin__.property(_get_property_, _set_property_) + + + _pyangbind_elements = OrderedDict([('property_', property_), ]) + + +from . import property_ +class properties(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/properties. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container + """ + __slots__ = ('_path_helper', '_extmethods', '__property_',) + + _yang_name = 'properties' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__property_ = YANGDynClass(base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties'] + + def _get_property_(self): + """ + Getter method for property_, mapped from YANG variable /components/component/properties/property (list) + + YANG Description: List of system properties for the component + """ + return self.__property_ + + def _set_property_(self, v, load=False): + """ + Setter method for property_, mapped from YANG variable /components/component/properties/property (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_property_ is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_property_() directly. + + YANG Description: List of system properties for the component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """property_ must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__property_ = t + if hasattr(self, '_set'): + self._set() + + def _unset_property_(self): + self.__property_ = YANGDynClass(base=YANGListType("name",property_.property_, yang_name="property", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="property", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + property_ = __builtin__.property(_get_property_, _set_property_) + + + _pyangbind_elements = OrderedDict([('property_', property_), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/properties/property_/__init__.py b/hackfest/netconf-oc/openconfig/components/component/properties/property_/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..9e49ab5a26b56c05f1a8db30528d46bc66c17ed8 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/properties/property_/__init__.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class property_(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/properties/property. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of system properties for the component + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'property' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties', 'property'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/properties/property/name (leafref) + + YANG Description: Reference to the property name. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/properties/property/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the property name. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/properties/property/config (container) + + YANG Description: Configuration data for each property + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/properties/property/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each property + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/properties/property/state (container) + + YANG Description: Operational state data for each property + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/properties/property/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each property + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + +from . import config +from . import state +class property_(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/properties/property. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of system properties for the component + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'property' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties', 'property'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/properties/property/name (leafref) + + YANG Description: Reference to the property name. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/properties/property/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the property name. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/properties/property/config (container) + + YANG Description: Configuration data for each property + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/properties/property/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for each property + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/properties/property/state (container) + + YANG Description: Operational state data for each property + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/properties/property/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for each property + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/properties/property_/config/__init__.py b/hackfest/netconf-oc/openconfig/components/component/properties/property_/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..6eaa7c03a7e44c436f5b85ad31cce5b1b57a6438 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/properties/property_/config/__init__.py @@ -0,0 +1,296 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/properties/property/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each property + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__value',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties', 'property', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/properties/property/config/name (string) + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/properties/property/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + + def _get_value(self): + """ + Getter method for value, mapped from YANG variable /components/component/properties/property/config/value (union) + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + return self.__value + + def _set_value(self, v, load=False): + """ + Setter method for value, mapped from YANG variable /components/component/properties/property/config/value (union) + If this variable is read-only (config: false) in the + source YANG file, then _set_value is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_value() directly. + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """value must be of a type compatible with union""", + 'defined-type': "openconfig-platform:union", + 'generated-type': """YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True)""", + }) + + self.__value = t + if hasattr(self, '_set'): + self._set() + + def _unset_value(self): + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + value = __builtin__.property(_get_value, _set_value) + + + _pyangbind_elements = OrderedDict([('name', name), ('value', value), ]) + + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/properties/property/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for each property + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__value',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties', 'property', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/properties/property/config/name (string) + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/properties/property/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=True) + + + def _get_value(self): + """ + Getter method for value, mapped from YANG variable /components/component/properties/property/config/value (union) + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + return self.__value + + def _set_value(self, v, load=False): + """ + Setter method for value, mapped from YANG variable /components/component/properties/property/config/value (union) + If this variable is read-only (config: false) in the + source YANG file, then _set_value is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_value() directly. + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """value must be of a type compatible with union""", + 'defined-type': "openconfig-platform:union", + 'generated-type': """YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True)""", + }) + + self.__value = t + if hasattr(self, '_set'): + self._set() + + def _unset_value(self): + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + value = __builtin__.property(_get_value, _set_value) + + + _pyangbind_elements = OrderedDict([('name', name), ('value', value), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/properties/property_/state/__init__.py b/hackfest/netconf-oc/openconfig/components/component/properties/property_/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..4d50a0520390ca70e3bffbe75bc4290912c88e2a --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/properties/property_/state/__init__.py @@ -0,0 +1,374 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/properties/property/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each property + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__value','__configurable',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + self.__configurable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties', 'property', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/properties/property/state/name (string) + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/properties/property/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_value(self): + """ + Getter method for value, mapped from YANG variable /components/component/properties/property/state/value (union) + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + return self.__value + + def _set_value(self, v, load=False): + """ + Setter method for value, mapped from YANG variable /components/component/properties/property/state/value (union) + If this variable is read-only (config: false) in the + source YANG file, then _set_value is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_value() directly. + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """value must be of a type compatible with union""", + 'defined-type': "openconfig-platform:union", + 'generated-type': """YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False)""", + }) + + self.__value = t + if hasattr(self, '_set'): + self._set() + + def _unset_value(self): + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + + + def _get_configurable(self): + """ + Getter method for configurable, mapped from YANG variable /components/component/properties/property/state/configurable (boolean) + + YANG Description: Indication whether the property is user-configurable + """ + return self.__configurable + + def _set_configurable(self, v, load=False): + """ + Setter method for configurable, mapped from YANG variable /components/component/properties/property/state/configurable (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_configurable is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_configurable() directly. + + YANG Description: Indication whether the property is user-configurable + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """configurable must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__configurable = t + if hasattr(self, '_set'): + self._set() + + def _unset_configurable(self): + self.__configurable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + name = __builtin__.property(_get_name) + value = __builtin__.property(_get_value) + configurable = __builtin__.property(_get_configurable) + + + _pyangbind_elements = OrderedDict([('name', name), ('value', value), ('configurable', configurable), ]) + + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/properties/property/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each property + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__value','__configurable',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + self.__configurable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'properties', 'property', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/properties/property/state/name (string) + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/properties/property/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: System-supplied name of the property -- this is typically +non-configurable + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_value(self): + """ + Getter method for value, mapped from YANG variable /components/component/properties/property/state/value (union) + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + return self.__value + + def _set_value(self, v, load=False): + """ + Setter method for value, mapped from YANG variable /components/component/properties/property/state/value (union) + If this variable is read-only (config: false) in the + source YANG file, then _set_value is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_value() directly. + + YANG Description: Property values can take on a variety of types. Signed and +unsigned integer types may be provided in smaller sizes, +e.g., int8, uint16, etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """value must be of a type compatible with union""", + 'defined-type': "openconfig-platform:union", + 'generated-type': """YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False)""", + }) + + self.__value = t + if hasattr(self, '_set'): + self._set() + + def _unset_value(self): + self.__value = YANGDynClass(base=[six.text_type,YANGBool,RestrictedClassType(base_type=long, restriction_dict={'range': ['-9223372036854775808..9223372036854775807']}, int_size=64),RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64),RestrictedPrecisionDecimalType(precision=2),], is_leaf=True, yang_name="value", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + + + def _get_configurable(self): + """ + Getter method for configurable, mapped from YANG variable /components/component/properties/property/state/configurable (boolean) + + YANG Description: Indication whether the property is user-configurable + """ + return self.__configurable + + def _set_configurable(self, v, load=False): + """ + Setter method for configurable, mapped from YANG variable /components/component/properties/property/state/configurable (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_configurable is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_configurable() directly. + + YANG Description: Indication whether the property is user-configurable + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """configurable must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__configurable = t + if hasattr(self, '_set'): + self._set() + + def _unset_configurable(self): + self.__configurable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="configurable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + name = __builtin__.property(_get_name) + value = __builtin__.property(_get_value) + configurable = __builtin__.property(_get_configurable) + + + _pyangbind_elements = OrderedDict([('name', name), ('value', value), ('configurable', configurable), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/software_module/__init__.py b/hackfest/netconf-oc/openconfig/components/component/software_module/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..3fa4f2989b255366b0cfe148f1a31ec6906ec0af --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/software_module/__init__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class software_module(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/software-module. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for software module components, i.e., for components +with type=SOFTWARE_MODULE + """ + _pyangbind_elements = {} + + + +class software_module(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/software-module. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for software module components, i.e., for components +with type=SOFTWARE_MODULE + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..462352e048ab1174f602de5bc9ff24445cdc3da9 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/__init__.py @@ -0,0 +1,2528 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import last_switchover_reason +from . import temperature +from . import memory +from . import pcie +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each component + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__type','__id','__location','__description','__mfg_name','__mfg_date','__hardware_version','__firmware_version','__software_version','__serial_no','__part_no','__clei_code','__removable','__oper_status','__empty','__parent','__redundant_role','__last_switchover_reason','__last_switchover_time','__last_reboot_reason','__last_reboot_time','__switchover_ready','__temperature','__memory','__allocated_power','__used_power','__pcie',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__type = YANGDynClass(base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + self.__id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__location = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__mfg_name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__mfg_date = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False) + self.__hardware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__firmware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__software_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__serial_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__part_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__clei_code = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__removable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + self.__empty = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__parent = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + self.__redundant_role = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False) + self.__last_switchover_reason = YANGDynClass(base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__last_switchover_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__last_reboot_reason = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + self.__last_reboot_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__switchover_ready = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__temperature = YANGDynClass(base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__memory = YANGDynClass(base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__allocated_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + self.__used_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + self.__pcie = YANGDynClass(base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/state/name (string) + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_type(self): + """ + Getter method for type, mapped from YANG variable /components/component/state/type (union) + + YANG Description: Type of component as identified by the system + """ + return self.__type + + def _set_type(self, v, load=False): + """ + Setter method for type, mapped from YANG variable /components/component/state/type (union) + If this variable is read-only (config: false) in the + source YANG file, then _set_type is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_type() directly. + + YANG Description: Type of component as identified by the system + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """type must be of a type compatible with union""", + 'defined-type': "openconfig-platform:union", + 'generated-type': """YANGDynClass(base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False)""", + }) + + self.__type = t + if hasattr(self, '_set'): + self._set() + + def _unset_type(self): + self.__type = YANGDynClass(base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + + + def _get_id(self): + """ + Getter method for id, mapped from YANG variable /components/component/state/id (string) + + YANG Description: Unique identifier assigned by the system for the +component + """ + return self.__id + + def _set_id(self, v, load=False): + """ + Setter method for id, mapped from YANG variable /components/component/state/id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_id() directly. + + YANG Description: Unique identifier assigned by the system for the +component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__id = t + if hasattr(self, '_set'): + self._set() + + def _unset_id(self): + self.__id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_location(self): + """ + Getter method for location, mapped from YANG variable /components/component/state/location (string) + + YANG Description: System-supplied description of the location of the +component within the system. This could be a bay position, +slot number, socket location, etc. For component types that +have an explicit slot-id attribute, such as linecards, the +system should populate the more specific slot-id. + """ + return self.__location + + def _set_location(self, v, load=False): + """ + Setter method for location, mapped from YANG variable /components/component/state/location (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_location is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_location() directly. + + YANG Description: System-supplied description of the location of the +component within the system. This could be a bay position, +slot number, socket location, etc. For component types that +have an explicit slot-id attribute, such as linecards, the +system should populate the more specific slot-id. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """location must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__location = t + if hasattr(self, '_set'): + self._set() + + def _unset_location(self): + self.__location = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_description(self): + """ + Getter method for description, mapped from YANG variable /components/component/state/description (string) + + YANG Description: System-supplied description of the component + """ + return self.__description + + def _set_description(self, v, load=False): + """ + Setter method for description, mapped from YANG variable /components/component/state/description (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_description is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_description() directly. + + YANG Description: System-supplied description of the component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """description must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__description = t + if hasattr(self, '_set'): + self._set() + + def _unset_description(self): + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_mfg_name(self): + """ + Getter method for mfg_name, mapped from YANG variable /components/component/state/mfg_name (string) + + YANG Description: System-supplied identifier for the manufacturer of the +component. This data is particularly useful when a +component manufacturer is different than the overall +device vendor. + """ + return self.__mfg_name + + def _set_mfg_name(self, v, load=False): + """ + Setter method for mfg_name, mapped from YANG variable /components/component/state/mfg_name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_mfg_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mfg_name() directly. + + YANG Description: System-supplied identifier for the manufacturer of the +component. This data is particularly useful when a +component manufacturer is different than the overall +device vendor. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mfg_name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__mfg_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_mfg_name(self): + self.__mfg_name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_mfg_date(self): + """ + Getter method for mfg_date, mapped from YANG variable /components/component/state/mfg_date (oc-yang:date) + + YANG Description: System-supplied representation of the component's +manufacturing date. + """ + return self.__mfg_date + + def _set_mfg_date(self, v, load=False): + """ + Setter method for mfg_date, mapped from YANG variable /components/component/state/mfg_date (oc-yang:date) + If this variable is read-only (config: false) in the + source YANG file, then _set_mfg_date is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mfg_date() directly. + + YANG Description: System-supplied representation of the component's +manufacturing date. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mfg_date must be of a type compatible with oc-yang:date""", + 'defined-type': "oc-yang:date", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False)""", + }) + + self.__mfg_date = t + if hasattr(self, '_set'): + self._set() + + def _unset_mfg_date(self): + self.__mfg_date = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False) + + + def _get_hardware_version(self): + """ + Getter method for hardware_version, mapped from YANG variable /components/component/state/hardware_version (string) + + YANG Description: For hardware components, this is the hardware revision of +the component. + """ + return self.__hardware_version + + def _set_hardware_version(self, v, load=False): + """ + Setter method for hardware_version, mapped from YANG variable /components/component/state/hardware_version (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_hardware_version is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hardware_version() directly. + + YANG Description: For hardware components, this is the hardware revision of +the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hardware_version must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__hardware_version = t + if hasattr(self, '_set'): + self._set() + + def _unset_hardware_version(self): + self.__hardware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_firmware_version(self): + """ + Getter method for firmware_version, mapped from YANG variable /components/component/state/firmware_version (string) + + YANG Description: For hardware components, this is the version of associated +firmware that is running on the component, if applicable. + """ + return self.__firmware_version + + def _set_firmware_version(self, v, load=False): + """ + Setter method for firmware_version, mapped from YANG variable /components/component/state/firmware_version (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_firmware_version is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_firmware_version() directly. + + YANG Description: For hardware components, this is the version of associated +firmware that is running on the component, if applicable. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """firmware_version must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__firmware_version = t + if hasattr(self, '_set'): + self._set() + + def _unset_firmware_version(self): + self.__firmware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_software_version(self): + """ + Getter method for software_version, mapped from YANG variable /components/component/state/software_version (string) + + YANG Description: For software components such as operating system or other +software module, this is the version of the currently +running software. + """ + return self.__software_version + + def _set_software_version(self, v, load=False): + """ + Setter method for software_version, mapped from YANG variable /components/component/state/software_version (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_software_version is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_software_version() directly. + + YANG Description: For software components such as operating system or other +software module, this is the version of the currently +running software. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """software_version must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__software_version = t + if hasattr(self, '_set'): + self._set() + + def _unset_software_version(self): + self.__software_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_serial_no(self): + """ + Getter method for serial_no, mapped from YANG variable /components/component/state/serial_no (string) + + YANG Description: System-assigned serial number of the component. + """ + return self.__serial_no + + def _set_serial_no(self, v, load=False): + """ + Setter method for serial_no, mapped from YANG variable /components/component/state/serial_no (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_serial_no is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_serial_no() directly. + + YANG Description: System-assigned serial number of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """serial_no must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__serial_no = t + if hasattr(self, '_set'): + self._set() + + def _unset_serial_no(self): + self.__serial_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_part_no(self): + """ + Getter method for part_no, mapped from YANG variable /components/component/state/part_no (string) + + YANG Description: System-assigned part number for the component. This should +be present in particular if the component is also an FRU +(field replaceable unit) + """ + return self.__part_no + + def _set_part_no(self, v, load=False): + """ + Setter method for part_no, mapped from YANG variable /components/component/state/part_no (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_part_no is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_part_no() directly. + + YANG Description: System-assigned part number for the component. This should +be present in particular if the component is also an FRU +(field replaceable unit) + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """part_no must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__part_no = t + if hasattr(self, '_set'): + self._set() + + def _unset_part_no(self): + self.__part_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_clei_code(self): + """ + Getter method for clei_code, mapped from YANG variable /components/component/state/clei_code (string) + + YANG Description: Common Language Equipment Identifier (CLEI) code of the +component. This should be present in particular if the +component is also an FRU (field replaceable unit) + """ + return self.__clei_code + + def _set_clei_code(self, v, load=False): + """ + Setter method for clei_code, mapped from YANG variable /components/component/state/clei_code (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_clei_code is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_clei_code() directly. + + YANG Description: Common Language Equipment Identifier (CLEI) code of the +component. This should be present in particular if the +component is also an FRU (field replaceable unit) + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """clei_code must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__clei_code = t + if hasattr(self, '_set'): + self._set() + + def _unset_clei_code(self): + self.__clei_code = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_removable(self): + """ + Getter method for removable, mapped from YANG variable /components/component/state/removable (boolean) + + YANG Description: If true, this component is removable or is a field +replaceable unit + """ + return self.__removable + + def _set_removable(self, v, load=False): + """ + Setter method for removable, mapped from YANG variable /components/component/state/removable (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_removable is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_removable() directly. + + YANG Description: If true, this component is removable or is a field +replaceable unit + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """removable must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__removable = t + if hasattr(self, '_set'): + self._set() + + def _unset_removable(self): + self.__removable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_oper_status(self): + """ + Getter method for oper_status, mapped from YANG variable /components/component/state/oper_status (identityref) + + YANG Description: If applicable, this reports the current operational status +of the component. + """ + return self.__oper_status + + def _set_oper_status(self, v, load=False): + """ + Setter method for oper_status, mapped from YANG variable /components/component/state/oper_status (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_oper_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_oper_status() directly. + + YANG Description: If applicable, this reports the current operational status +of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """oper_status must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False)""", + }) + + self.__oper_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_oper_status(self): + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + + def _get_empty(self): + """ + Getter method for empty, mapped from YANG variable /components/component/state/empty (boolean) + + YANG Description: The empty leaf may be used by the device to indicate that a +component position exists but is not populated. Using this +flag, it is possible for the management system to learn how +many positions are available (e.g., occupied vs. empty +linecard slots in a chassis). + """ + return self.__empty + + def _set_empty(self, v, load=False): + """ + Setter method for empty, mapped from YANG variable /components/component/state/empty (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_empty is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_empty() directly. + + YANG Description: The empty leaf may be used by the device to indicate that a +component position exists but is not populated. Using this +flag, it is possible for the management system to learn how +many positions are available (e.g., occupied vs. empty +linecard slots in a chassis). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """empty must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__empty = t + if hasattr(self, '_set'): + self._set() + + def _unset_empty(self): + self.__empty = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_parent(self): + """ + Getter method for parent, mapped from YANG variable /components/component/state/parent (leafref) + + YANG Description: Reference to the name of the parent component. Note that +this reference must be kept synchronized with the +corresponding subcomponent reference from the parent +component. + """ + return self.__parent + + def _set_parent(self, v, load=False): + """ + Setter method for parent, mapped from YANG variable /components/component/state/parent (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_parent is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_parent() directly. + + YANG Description: Reference to the name of the parent component. Note that +this reference must be kept synchronized with the +corresponding subcomponent reference from the parent +component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """parent must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False)""", + }) + + self.__parent = t + if hasattr(self, '_set'): + self._set() + + def _unset_parent(self): + self.__parent = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + + + def _get_redundant_role(self): + """ + Getter method for redundant_role, mapped from YANG variable /components/component/state/redundant_role (oc-platform-types:component-redundant-role) + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the role of the component. + """ + return self.__redundant_role + + def _set_redundant_role(self, v, load=False): + """ + Setter method for redundant_role, mapped from YANG variable /components/component/state/redundant_role (oc-platform-types:component-redundant-role) + If this variable is read-only (config: false) in the + source YANG file, then _set_redundant_role is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_redundant_role() directly. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the role of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """redundant_role must be of a type compatible with oc-platform-types:component-redundant-role""", + 'defined-type': "oc-platform-types:component-redundant-role", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False)""", + }) + + self.__redundant_role = t + if hasattr(self, '_set'): + self._set() + + def _unset_redundant_role(self): + self.__redundant_role = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False) + + + def _get_last_switchover_reason(self): + """ + Getter method for last_switchover_reason, mapped from YANG variable /components/component/state/last_switchover_reason (container) + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the reason of the last change of the +component's role. + """ + return self.__last_switchover_reason + + def _set_last_switchover_reason(self, v, load=False): + """ + Setter method for last_switchover_reason, mapped from YANG variable /components/component/state/last_switchover_reason (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_switchover_reason is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_switchover_reason() directly. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the reason of the last change of the +component's role. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_switchover_reason must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__last_switchover_reason = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_switchover_reason(self): + self.__last_switchover_reason = YANGDynClass(base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_last_switchover_time(self): + """ + Getter method for last_switchover_time, mapped from YANG variable /components/component/state/last_switchover_time (oc-types:timeticks64) + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as +secondary), this reports the time of the last change of +the component's role. The value is the timestamp in +nanoseconds relative to the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_switchover_time + + def _set_last_switchover_time(self, v, load=False): + """ + Setter method for last_switchover_time, mapped from YANG variable /components/component/state/last_switchover_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_switchover_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_switchover_time() directly. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as +secondary), this reports the time of the last change of +the component's role. The value is the timestamp in +nanoseconds relative to the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_switchover_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_switchover_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_switchover_time(self): + self.__last_switchover_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_last_reboot_reason(self): + """ + Getter method for last_reboot_reason, mapped from YANG variable /components/component/state/last_reboot_reason (identityref) + + YANG Description: This reports the reason of the last reboot of the component. + """ + return self.__last_reboot_reason + + def _set_last_reboot_reason(self, v, load=False): + """ + Setter method for last_reboot_reason, mapped from YANG variable /components/component/state/last_reboot_reason (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_reboot_reason is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_reboot_reason() directly. + + YANG Description: This reports the reason of the last reboot of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_reboot_reason must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False)""", + }) + + self.__last_reboot_reason = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_reboot_reason(self): + self.__last_reboot_reason = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + + def _get_last_reboot_time(self): + """ + Getter method for last_reboot_time, mapped from YANG variable /components/component/state/last_reboot_time (oc-types:timeticks64) + + YANG Description: This reports the time of the last reboot of the component. The +value is the timestamp in nanoseconds relative to the Unix Epoch +(Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_reboot_time + + def _set_last_reboot_time(self, v, load=False): + """ + Setter method for last_reboot_time, mapped from YANG variable /components/component/state/last_reboot_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_reboot_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_reboot_time() directly. + + YANG Description: This reports the time of the last reboot of the component. The +value is the timestamp in nanoseconds relative to the Unix Epoch +(Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_reboot_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_reboot_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_reboot_time(self): + self.__last_reboot_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_switchover_ready(self): + """ + Getter method for switchover_ready, mapped from YANG variable /components/component/state/switchover_ready (boolean) + + YANG Description: For components that have redundant roles, this reports a value +that indicates if the component is ready to support failover. + +The components with a redundant-role should reflect the overall +system's switchover status. For example, two supervisors in a +device, one as primary and the other as secondary, should both +report the same value. + """ + return self.__switchover_ready + + def _set_switchover_ready(self, v, load=False): + """ + Setter method for switchover_ready, mapped from YANG variable /components/component/state/switchover_ready (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_switchover_ready is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_switchover_ready() directly. + + YANG Description: For components that have redundant roles, this reports a value +that indicates if the component is ready to support failover. + +The components with a redundant-role should reflect the overall +system's switchover status. For example, two supervisors in a +device, one as primary and the other as secondary, should both +report the same value. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """switchover_ready must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__switchover_ready = t + if hasattr(self, '_set'): + self._set() + + def _unset_switchover_ready(self): + self.__switchover_ready = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_temperature(self): + """ + Getter method for temperature, mapped from YANG variable /components/component/state/temperature (container) + + YANG Description: Temperature in degrees Celsius of the component. Values include +the instantaneous, average, minimum, and maximum statistics. If +avg/min/max statistics are not supported, the target is expected +to just supply the instant value + """ + return self.__temperature + + def _set_temperature(self, v, load=False): + """ + Setter method for temperature, mapped from YANG variable /components/component/state/temperature (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_temperature is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_temperature() directly. + + YANG Description: Temperature in degrees Celsius of the component. Values include +the instantaneous, average, minimum, and maximum statistics. If +avg/min/max statistics are not supported, the target is expected +to just supply the instant value + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """temperature must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__temperature = t + if hasattr(self, '_set'): + self._set() + + def _unset_temperature(self): + self.__temperature = YANGDynClass(base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_memory(self): + """ + Getter method for memory, mapped from YANG variable /components/component/state/memory (container) + + YANG Description: For components that have associated memory, these values +report information about available and utilized memory. + """ + return self.__memory + + def _set_memory(self, v, load=False): + """ + Setter method for memory, mapped from YANG variable /components/component/state/memory (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_memory is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_memory() directly. + + YANG Description: For components that have associated memory, these values +report information about available and utilized memory. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """memory must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__memory = t + if hasattr(self, '_set'): + self._set() + + def _unset_memory(self): + self.__memory = YANGDynClass(base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_allocated_power(self): + """ + Getter method for allocated_power, mapped from YANG variable /components/component/state/allocated_power (uint32) + + YANG Description: Power allocated by the system for the component. + """ + return self.__allocated_power + + def _set_allocated_power(self, v, load=False): + """ + Setter method for allocated_power, mapped from YANG variable /components/component/state/allocated_power (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_allocated_power is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_allocated_power() directly. + + YANG Description: Power allocated by the system for the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """allocated_power must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False)""", + }) + + self.__allocated_power = t + if hasattr(self, '_set'): + self._set() + + def _unset_allocated_power(self): + self.__allocated_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + + + def _get_used_power(self): + """ + Getter method for used_power, mapped from YANG variable /components/component/state/used_power (uint32) + + YANG Description: Actual power used by the component. + """ + return self.__used_power + + def _set_used_power(self, v, load=False): + """ + Setter method for used_power, mapped from YANG variable /components/component/state/used_power (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_used_power is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_used_power() directly. + + YANG Description: Actual power used by the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """used_power must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False)""", + }) + + self.__used_power = t + if hasattr(self, '_set'): + self._set() + + def _unset_used_power(self): + self.__used_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + + + def _get_pcie(self): + """ + Getter method for pcie, mapped from YANG variable /components/component/state/pcie (container) + + YANG Description: Components that are connected to the system over the Peripheral +Component Interconnect Express (PCIe), report the fatal, non-fatal +and correctable PCIe error counts. + """ + return self.__pcie + + def _set_pcie(self, v, load=False): + """ + Setter method for pcie, mapped from YANG variable /components/component/state/pcie (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_pcie is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_pcie() directly. + + YANG Description: Components that are connected to the system over the Peripheral +Component Interconnect Express (PCIe), report the fatal, non-fatal +and correctable PCIe error counts. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """pcie must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__pcie = t + if hasattr(self, '_set'): + self._set() + + def _unset_pcie(self): + self.__pcie = YANGDynClass(base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + name = __builtin__.property(_get_name) + type = __builtin__.property(_get_type) + id = __builtin__.property(_get_id) + location = __builtin__.property(_get_location) + description = __builtin__.property(_get_description) + mfg_name = __builtin__.property(_get_mfg_name) + mfg_date = __builtin__.property(_get_mfg_date) + hardware_version = __builtin__.property(_get_hardware_version) + firmware_version = __builtin__.property(_get_firmware_version) + software_version = __builtin__.property(_get_software_version) + serial_no = __builtin__.property(_get_serial_no) + part_no = __builtin__.property(_get_part_no) + clei_code = __builtin__.property(_get_clei_code) + removable = __builtin__.property(_get_removable) + oper_status = __builtin__.property(_get_oper_status) + empty = __builtin__.property(_get_empty) + parent = __builtin__.property(_get_parent) + redundant_role = __builtin__.property(_get_redundant_role) + last_switchover_reason = __builtin__.property(_get_last_switchover_reason) + last_switchover_time = __builtin__.property(_get_last_switchover_time) + last_reboot_reason = __builtin__.property(_get_last_reboot_reason) + last_reboot_time = __builtin__.property(_get_last_reboot_time) + switchover_ready = __builtin__.property(_get_switchover_ready) + temperature = __builtin__.property(_get_temperature) + memory = __builtin__.property(_get_memory) + allocated_power = __builtin__.property(_get_allocated_power) + used_power = __builtin__.property(_get_used_power) + pcie = __builtin__.property(_get_pcie) + + + _pyangbind_elements = OrderedDict([('name', name), ('type', type), ('id', id), ('location', location), ('description', description), ('mfg_name', mfg_name), ('mfg_date', mfg_date), ('hardware_version', hardware_version), ('firmware_version', firmware_version), ('software_version', software_version), ('serial_no', serial_no), ('part_no', part_no), ('clei_code', clei_code), ('removable', removable), ('oper_status', oper_status), ('empty', empty), ('parent', parent), ('redundant_role', redundant_role), ('last_switchover_reason', last_switchover_reason), ('last_switchover_time', last_switchover_time), ('last_reboot_reason', last_reboot_reason), ('last_reboot_time', last_reboot_time), ('switchover_ready', switchover_ready), ('temperature', temperature), ('memory', memory), ('allocated_power', allocated_power), ('used_power', used_power), ('pcie', pcie), ]) + + +from . import last_switchover_reason +from . import temperature +from . import memory +from . import pcie +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for each component + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__type','__id','__location','__description','__mfg_name','__mfg_date','__hardware_version','__firmware_version','__software_version','__serial_no','__part_no','__clei_code','__removable','__oper_status','__empty','__parent','__redundant_role','__last_switchover_reason','__last_switchover_time','__last_reboot_reason','__last_reboot_time','__switchover_ready','__temperature','__memory','__allocated_power','__used_power','__pcie',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__type = YANGDynClass(base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + self.__id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__location = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__mfg_name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__mfg_date = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False) + self.__hardware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__firmware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__software_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__serial_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__part_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__clei_code = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + self.__removable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + self.__empty = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__parent = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + self.__redundant_role = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False) + self.__last_switchover_reason = YANGDynClass(base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__last_switchover_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__last_reboot_reason = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + self.__last_reboot_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__switchover_ready = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__temperature = YANGDynClass(base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__memory = YANGDynClass(base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__allocated_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + self.__used_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + self.__pcie = YANGDynClass(base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/state/name (string) + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Device name for the component -- this may not be a +configurable parameter on many implementations. Where +component preconfiguration is supported, for example, +the component name may be configurable. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_type(self): + """ + Getter method for type, mapped from YANG variable /components/component/state/type (union) + + YANG Description: Type of component as identified by the system + """ + return self.__type + + def _set_type(self, v, load=False): + """ + Setter method for type, mapped from YANG variable /components/component/state/type (union) + If this variable is read-only (config: false) in the + source YANG file, then _set_type is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_type() directly. + + YANG Description: Type of component as identified by the system + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """type must be of a type compatible with union""", + 'defined-type': "openconfig-platform:union", + 'generated-type': """YANGDynClass(base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False)""", + }) + + self.__type = t + if hasattr(self, '_set'): + self._set() + + def _unset_type(self): + self.__type = YANGDynClass(base=[RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CHASSIS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BACKPLANE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FABRIC': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:POWER_SUPPLY': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FAN': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SENSOR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:FRU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:LINECARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CONTROLLER_CARD': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:PORT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:TRANSCEIVER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:CPU': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:STORAGE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INTEGRATED_CIRCUIT': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:OPERATING_SYSTEM_UPDATE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BIOS': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:BOOT_LOADER': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:SOFTWARE_MODULE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},),], is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='union', is_config=False) + + + def _get_id(self): + """ + Getter method for id, mapped from YANG variable /components/component/state/id (string) + + YANG Description: Unique identifier assigned by the system for the +component + """ + return self.__id + + def _set_id(self, v, load=False): + """ + Setter method for id, mapped from YANG variable /components/component/state/id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_id() directly. + + YANG Description: Unique identifier assigned by the system for the +component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__id = t + if hasattr(self, '_set'): + self._set() + + def _unset_id(self): + self.__id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_location(self): + """ + Getter method for location, mapped from YANG variable /components/component/state/location (string) + + YANG Description: System-supplied description of the location of the +component within the system. This could be a bay position, +slot number, socket location, etc. For component types that +have an explicit slot-id attribute, such as linecards, the +system should populate the more specific slot-id. + """ + return self.__location + + def _set_location(self, v, load=False): + """ + Setter method for location, mapped from YANG variable /components/component/state/location (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_location is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_location() directly. + + YANG Description: System-supplied description of the location of the +component within the system. This could be a bay position, +slot number, socket location, etc. For component types that +have an explicit slot-id attribute, such as linecards, the +system should populate the more specific slot-id. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """location must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__location = t + if hasattr(self, '_set'): + self._set() + + def _unset_location(self): + self.__location = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="location", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_description(self): + """ + Getter method for description, mapped from YANG variable /components/component/state/description (string) + + YANG Description: System-supplied description of the component + """ + return self.__description + + def _set_description(self, v, load=False): + """ + Setter method for description, mapped from YANG variable /components/component/state/description (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_description is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_description() directly. + + YANG Description: System-supplied description of the component + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """description must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__description = t + if hasattr(self, '_set'): + self._set() + + def _unset_description(self): + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_mfg_name(self): + """ + Getter method for mfg_name, mapped from YANG variable /components/component/state/mfg_name (string) + + YANG Description: System-supplied identifier for the manufacturer of the +component. This data is particularly useful when a +component manufacturer is different than the overall +device vendor. + """ + return self.__mfg_name + + def _set_mfg_name(self, v, load=False): + """ + Setter method for mfg_name, mapped from YANG variable /components/component/state/mfg_name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_mfg_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mfg_name() directly. + + YANG Description: System-supplied identifier for the manufacturer of the +component. This data is particularly useful when a +component manufacturer is different than the overall +device vendor. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mfg_name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__mfg_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_mfg_name(self): + self.__mfg_name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="mfg-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_mfg_date(self): + """ + Getter method for mfg_date, mapped from YANG variable /components/component/state/mfg_date (oc-yang:date) + + YANG Description: System-supplied representation of the component's +manufacturing date. + """ + return self.__mfg_date + + def _set_mfg_date(self, v, load=False): + """ + Setter method for mfg_date, mapped from YANG variable /components/component/state/mfg_date (oc-yang:date) + If this variable is read-only (config: false) in the + source YANG file, then _set_mfg_date is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mfg_date() directly. + + YANG Description: System-supplied representation of the component's +manufacturing date. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mfg_date must be of a type compatible with oc-yang:date""", + 'defined-type': "oc-yang:date", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False)""", + }) + + self.__mfg_date = t + if hasattr(self, '_set'): + self._set() + + def _unset_mfg_date(self): + self.__mfg_date = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9]{4}\\-(0[1-9]|1[0-2])\\-(0[1-9]|[12][0-9]|3[01])'}), is_leaf=True, yang_name="mfg-date", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:date', is_config=False) + + + def _get_hardware_version(self): + """ + Getter method for hardware_version, mapped from YANG variable /components/component/state/hardware_version (string) + + YANG Description: For hardware components, this is the hardware revision of +the component. + """ + return self.__hardware_version + + def _set_hardware_version(self, v, load=False): + """ + Setter method for hardware_version, mapped from YANG variable /components/component/state/hardware_version (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_hardware_version is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hardware_version() directly. + + YANG Description: For hardware components, this is the hardware revision of +the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hardware_version must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__hardware_version = t + if hasattr(self, '_set'): + self._set() + + def _unset_hardware_version(self): + self.__hardware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_firmware_version(self): + """ + Getter method for firmware_version, mapped from YANG variable /components/component/state/firmware_version (string) + + YANG Description: For hardware components, this is the version of associated +firmware that is running on the component, if applicable. + """ + return self.__firmware_version + + def _set_firmware_version(self, v, load=False): + """ + Setter method for firmware_version, mapped from YANG variable /components/component/state/firmware_version (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_firmware_version is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_firmware_version() directly. + + YANG Description: For hardware components, this is the version of associated +firmware that is running on the component, if applicable. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """firmware_version must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__firmware_version = t + if hasattr(self, '_set'): + self._set() + + def _unset_firmware_version(self): + self.__firmware_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="firmware-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_software_version(self): + """ + Getter method for software_version, mapped from YANG variable /components/component/state/software_version (string) + + YANG Description: For software components such as operating system or other +software module, this is the version of the currently +running software. + """ + return self.__software_version + + def _set_software_version(self, v, load=False): + """ + Setter method for software_version, mapped from YANG variable /components/component/state/software_version (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_software_version is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_software_version() directly. + + YANG Description: For software components such as operating system or other +software module, this is the version of the currently +running software. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """software_version must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__software_version = t + if hasattr(self, '_set'): + self._set() + + def _unset_software_version(self): + self.__software_version = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="software-version", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_serial_no(self): + """ + Getter method for serial_no, mapped from YANG variable /components/component/state/serial_no (string) + + YANG Description: System-assigned serial number of the component. + """ + return self.__serial_no + + def _set_serial_no(self, v, load=False): + """ + Setter method for serial_no, mapped from YANG variable /components/component/state/serial_no (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_serial_no is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_serial_no() directly. + + YANG Description: System-assigned serial number of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """serial_no must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__serial_no = t + if hasattr(self, '_set'): + self._set() + + def _unset_serial_no(self): + self.__serial_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="serial-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_part_no(self): + """ + Getter method for part_no, mapped from YANG variable /components/component/state/part_no (string) + + YANG Description: System-assigned part number for the component. This should +be present in particular if the component is also an FRU +(field replaceable unit) + """ + return self.__part_no + + def _set_part_no(self, v, load=False): + """ + Setter method for part_no, mapped from YANG variable /components/component/state/part_no (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_part_no is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_part_no() directly. + + YANG Description: System-assigned part number for the component. This should +be present in particular if the component is also an FRU +(field replaceable unit) + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """part_no must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__part_no = t + if hasattr(self, '_set'): + self._set() + + def _unset_part_no(self): + self.__part_no = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="part-no", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_clei_code(self): + """ + Getter method for clei_code, mapped from YANG variable /components/component/state/clei_code (string) + + YANG Description: Common Language Equipment Identifier (CLEI) code of the +component. This should be present in particular if the +component is also an FRU (field replaceable unit) + """ + return self.__clei_code + + def _set_clei_code(self, v, load=False): + """ + Setter method for clei_code, mapped from YANG variable /components/component/state/clei_code (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_clei_code is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_clei_code() directly. + + YANG Description: Common Language Equipment Identifier (CLEI) code of the +component. This should be present in particular if the +component is also an FRU (field replaceable unit) + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """clei_code must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__clei_code = t + if hasattr(self, '_set'): + self._set() + + def _unset_clei_code(self): + self.__clei_code = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="clei-code", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + + def _get_removable(self): + """ + Getter method for removable, mapped from YANG variable /components/component/state/removable (boolean) + + YANG Description: If true, this component is removable or is a field +replaceable unit + """ + return self.__removable + + def _set_removable(self, v, load=False): + """ + Setter method for removable, mapped from YANG variable /components/component/state/removable (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_removable is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_removable() directly. + + YANG Description: If true, this component is removable or is a field +replaceable unit + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """removable must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__removable = t + if hasattr(self, '_set'): + self._set() + + def _unset_removable(self): + self.__removable = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="removable", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_oper_status(self): + """ + Getter method for oper_status, mapped from YANG variable /components/component/state/oper_status (identityref) + + YANG Description: If applicable, this reports the current operational status +of the component. + """ + return self.__oper_status + + def _set_oper_status(self, v, load=False): + """ + Setter method for oper_status, mapped from YANG variable /components/component/state/oper_status (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_oper_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_oper_status() directly. + + YANG Description: If applicable, this reports the current operational status +of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """oper_status must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False)""", + }) + + self.__oper_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_oper_status(self): + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:ACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:INACTIVE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:DISABLED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + + def _get_empty(self): + """ + Getter method for empty, mapped from YANG variable /components/component/state/empty (boolean) + + YANG Description: The empty leaf may be used by the device to indicate that a +component position exists but is not populated. Using this +flag, it is possible for the management system to learn how +many positions are available (e.g., occupied vs. empty +linecard slots in a chassis). + """ + return self.__empty + + def _set_empty(self, v, load=False): + """ + Setter method for empty, mapped from YANG variable /components/component/state/empty (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_empty is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_empty() directly. + + YANG Description: The empty leaf may be used by the device to indicate that a +component position exists but is not populated. Using this +flag, it is possible for the management system to learn how +many positions are available (e.g., occupied vs. empty +linecard slots in a chassis). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """empty must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__empty = t + if hasattr(self, '_set'): + self._set() + + def _unset_empty(self): + self.__empty = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="empty", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_parent(self): + """ + Getter method for parent, mapped from YANG variable /components/component/state/parent (leafref) + + YANG Description: Reference to the name of the parent component. Note that +this reference must be kept synchronized with the +corresponding subcomponent reference from the parent +component. + """ + return self.__parent + + def _set_parent(self, v, load=False): + """ + Setter method for parent, mapped from YANG variable /components/component/state/parent (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_parent is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_parent() directly. + + YANG Description: Reference to the name of the parent component. Note that +this reference must be kept synchronized with the +corresponding subcomponent reference from the parent +component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """parent must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False)""", + }) + + self.__parent = t + if hasattr(self, '_set'): + self._set() + + def _unset_parent(self): + self.__parent = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="parent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + + + def _get_redundant_role(self): + """ + Getter method for redundant_role, mapped from YANG variable /components/component/state/redundant_role (oc-platform-types:component-redundant-role) + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the role of the component. + """ + return self.__redundant_role + + def _set_redundant_role(self, v, load=False): + """ + Setter method for redundant_role, mapped from YANG variable /components/component/state/redundant_role (oc-platform-types:component-redundant-role) + If this variable is read-only (config: false) in the + source YANG file, then _set_redundant_role is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_redundant_role() directly. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the role of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """redundant_role must be of a type compatible with oc-platform-types:component-redundant-role""", + 'defined-type': "oc-platform-types:component-redundant-role", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False)""", + }) + + self.__redundant_role = t + if hasattr(self, '_set'): + self._set() + + def _unset_redundant_role(self): + self.__redundant_role = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'PRIMARY': {}, 'SECONDARY': {}},), is_leaf=True, yang_name="redundant-role", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-platform-types:component-redundant-role', is_config=False) + + + def _get_last_switchover_reason(self): + """ + Getter method for last_switchover_reason, mapped from YANG variable /components/component/state/last_switchover_reason (container) + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the reason of the last change of the +component's role. + """ + return self.__last_switchover_reason + + def _set_last_switchover_reason(self, v, load=False): + """ + Setter method for last_switchover_reason, mapped from YANG variable /components/component/state/last_switchover_reason (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_switchover_reason is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_switchover_reason() directly. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the reason of the last change of the +component's role. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_switchover_reason must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__last_switchover_reason = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_switchover_reason(self): + self.__last_switchover_reason = YANGDynClass(base=last_switchover_reason.last_switchover_reason, is_container='container', yang_name="last-switchover-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_last_switchover_time(self): + """ + Getter method for last_switchover_time, mapped from YANG variable /components/component/state/last_switchover_time (oc-types:timeticks64) + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as +secondary), this reports the time of the last change of +the component's role. The value is the timestamp in +nanoseconds relative to the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_switchover_time + + def _set_last_switchover_time(self, v, load=False): + """ + Setter method for last_switchover_time, mapped from YANG variable /components/component/state/last_switchover_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_switchover_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_switchover_time() directly. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as +secondary), this reports the time of the last change of +the component's role. The value is the timestamp in +nanoseconds relative to the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_switchover_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_switchover_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_switchover_time(self): + self.__last_switchover_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-switchover-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_last_reboot_reason(self): + """ + Getter method for last_reboot_reason, mapped from YANG variable /components/component/state/last_reboot_reason (identityref) + + YANG Description: This reports the reason of the last reboot of the component. + """ + return self.__last_reboot_reason + + def _set_last_reboot_reason(self, v, load=False): + """ + Setter method for last_reboot_reason, mapped from YANG variable /components/component/state/last_reboot_reason (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_reboot_reason is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_reboot_reason() directly. + + YANG Description: This reports the reason of the last reboot of the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_reboot_reason must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False)""", + }) + + self.__last_reboot_reason = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_reboot_reason(self): + self.__last_reboot_reason = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_USER_INITIATED': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_POWER_FAILURE': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}, 'oc-platform-types:REBOOT_CRITICAL_ERROR': {'@module': 'openconfig-platform-types', '@namespace': 'http://openconfig.net/yang/platform-types'}},), is_leaf=True, yang_name="last-reboot-reason", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + + def _get_last_reboot_time(self): + """ + Getter method for last_reboot_time, mapped from YANG variable /components/component/state/last_reboot_time (oc-types:timeticks64) + + YANG Description: This reports the time of the last reboot of the component. The +value is the timestamp in nanoseconds relative to the Unix Epoch +(Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_reboot_time + + def _set_last_reboot_time(self, v, load=False): + """ + Setter method for last_reboot_time, mapped from YANG variable /components/component/state/last_reboot_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_reboot_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_reboot_time() directly. + + YANG Description: This reports the time of the last reboot of the component. The +value is the timestamp in nanoseconds relative to the Unix Epoch +(Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_reboot_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_reboot_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_reboot_time(self): + self.__last_reboot_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-reboot-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_switchover_ready(self): + """ + Getter method for switchover_ready, mapped from YANG variable /components/component/state/switchover_ready (boolean) + + YANG Description: For components that have redundant roles, this reports a value +that indicates if the component is ready to support failover. + +The components with a redundant-role should reflect the overall +system's switchover status. For example, two supervisors in a +device, one as primary and the other as secondary, should both +report the same value. + """ + return self.__switchover_ready + + def _set_switchover_ready(self, v, load=False): + """ + Setter method for switchover_ready, mapped from YANG variable /components/component/state/switchover_ready (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_switchover_ready is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_switchover_ready() directly. + + YANG Description: For components that have redundant roles, this reports a value +that indicates if the component is ready to support failover. + +The components with a redundant-role should reflect the overall +system's switchover status. For example, two supervisors in a +device, one as primary and the other as secondary, should both +report the same value. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """switchover_ready must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__switchover_ready = t + if hasattr(self, '_set'): + self._set() + + def _unset_switchover_ready(self): + self.__switchover_ready = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="switchover-ready", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_temperature(self): + """ + Getter method for temperature, mapped from YANG variable /components/component/state/temperature (container) + + YANG Description: Temperature in degrees Celsius of the component. Values include +the instantaneous, average, minimum, and maximum statistics. If +avg/min/max statistics are not supported, the target is expected +to just supply the instant value + """ + return self.__temperature + + def _set_temperature(self, v, load=False): + """ + Setter method for temperature, mapped from YANG variable /components/component/state/temperature (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_temperature is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_temperature() directly. + + YANG Description: Temperature in degrees Celsius of the component. Values include +the instantaneous, average, minimum, and maximum statistics. If +avg/min/max statistics are not supported, the target is expected +to just supply the instant value + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """temperature must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__temperature = t + if hasattr(self, '_set'): + self._set() + + def _unset_temperature(self): + self.__temperature = YANGDynClass(base=temperature.temperature, is_container='container', yang_name="temperature", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_memory(self): + """ + Getter method for memory, mapped from YANG variable /components/component/state/memory (container) + + YANG Description: For components that have associated memory, these values +report information about available and utilized memory. + """ + return self.__memory + + def _set_memory(self, v, load=False): + """ + Setter method for memory, mapped from YANG variable /components/component/state/memory (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_memory is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_memory() directly. + + YANG Description: For components that have associated memory, these values +report information about available and utilized memory. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """memory must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__memory = t + if hasattr(self, '_set'): + self._set() + + def _unset_memory(self): + self.__memory = YANGDynClass(base=memory.memory, is_container='container', yang_name="memory", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_allocated_power(self): + """ + Getter method for allocated_power, mapped from YANG variable /components/component/state/allocated_power (uint32) + + YANG Description: Power allocated by the system for the component. + """ + return self.__allocated_power + + def _set_allocated_power(self, v, load=False): + """ + Setter method for allocated_power, mapped from YANG variable /components/component/state/allocated_power (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_allocated_power is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_allocated_power() directly. + + YANG Description: Power allocated by the system for the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """allocated_power must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False)""", + }) + + self.__allocated_power = t + if hasattr(self, '_set'): + self._set() + + def _unset_allocated_power(self): + self.__allocated_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="allocated-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + + + def _get_used_power(self): + """ + Getter method for used_power, mapped from YANG variable /components/component/state/used_power (uint32) + + YANG Description: Actual power used by the component. + """ + return self.__used_power + + def _set_used_power(self, v, load=False): + """ + Setter method for used_power, mapped from YANG variable /components/component/state/used_power (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_used_power is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_used_power() directly. + + YANG Description: Actual power used by the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """used_power must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False)""", + }) + + self.__used_power = t + if hasattr(self, '_set'): + self._set() + + def _unset_used_power(self): + self.__used_power = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="used-power", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + + + def _get_pcie(self): + """ + Getter method for pcie, mapped from YANG variable /components/component/state/pcie (container) + + YANG Description: Components that are connected to the system over the Peripheral +Component Interconnect Express (PCIe), report the fatal, non-fatal +and correctable PCIe error counts. + """ + return self.__pcie + + def _set_pcie(self, v, load=False): + """ + Setter method for pcie, mapped from YANG variable /components/component/state/pcie (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_pcie is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_pcie() directly. + + YANG Description: Components that are connected to the system over the Peripheral +Component Interconnect Express (PCIe), report the fatal, non-fatal +and correctable PCIe error counts. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """pcie must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__pcie = t + if hasattr(self, '_set'): + self._set() + + def _unset_pcie(self): + self.__pcie = YANGDynClass(base=pcie.pcie, is_container='container', yang_name="pcie", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + name = __builtin__.property(_get_name) + type = __builtin__.property(_get_type) + id = __builtin__.property(_get_id) + location = __builtin__.property(_get_location) + description = __builtin__.property(_get_description) + mfg_name = __builtin__.property(_get_mfg_name) + mfg_date = __builtin__.property(_get_mfg_date) + hardware_version = __builtin__.property(_get_hardware_version) + firmware_version = __builtin__.property(_get_firmware_version) + software_version = __builtin__.property(_get_software_version) + serial_no = __builtin__.property(_get_serial_no) + part_no = __builtin__.property(_get_part_no) + clei_code = __builtin__.property(_get_clei_code) + removable = __builtin__.property(_get_removable) + oper_status = __builtin__.property(_get_oper_status) + empty = __builtin__.property(_get_empty) + parent = __builtin__.property(_get_parent) + redundant_role = __builtin__.property(_get_redundant_role) + last_switchover_reason = __builtin__.property(_get_last_switchover_reason) + last_switchover_time = __builtin__.property(_get_last_switchover_time) + last_reboot_reason = __builtin__.property(_get_last_reboot_reason) + last_reboot_time = __builtin__.property(_get_last_reboot_time) + switchover_ready = __builtin__.property(_get_switchover_ready) + temperature = __builtin__.property(_get_temperature) + memory = __builtin__.property(_get_memory) + allocated_power = __builtin__.property(_get_allocated_power) + used_power = __builtin__.property(_get_used_power) + pcie = __builtin__.property(_get_pcie) + + + _pyangbind_elements = OrderedDict([('name', name), ('type', type), ('id', id), ('location', location), ('description', description), ('mfg_name', mfg_name), ('mfg_date', mfg_date), ('hardware_version', hardware_version), ('firmware_version', firmware_version), ('software_version', software_version), ('serial_no', serial_no), ('part_no', part_no), ('clei_code', clei_code), ('removable', removable), ('oper_status', oper_status), ('empty', empty), ('parent', parent), ('redundant_role', redundant_role), ('last_switchover_reason', last_switchover_reason), ('last_switchover_time', last_switchover_time), ('last_reboot_reason', last_reboot_reason), ('last_reboot_time', last_reboot_time), ('switchover_ready', switchover_ready), ('temperature', temperature), ('memory', memory), ('allocated_power', allocated_power), ('used_power', used_power), ('pcie', pcie), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/last_switchover_reason/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/last_switchover_reason/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..0786fb99cde68f9b4e23aa280f7a17e3fe280383 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/last_switchover_reason/__init__.py @@ -0,0 +1,306 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class last_switchover_reason(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/last-switchover-reason. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the reason of the last change of the +component's role. + """ + __slots__ = ('_path_helper', '_extmethods', '__trigger','__details',) + + _yang_name = 'last-switchover-reason' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__trigger = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False) + self.__details = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'last-switchover-reason'] + + def _get_trigger(self): + """ + Getter method for trigger, mapped from YANG variable /components/component/state/last_switchover_reason/trigger (component-redundant-role-switchover-reason-trigger) + + YANG Description: Records the generic triggers, e.g. user or system +initiated the switchover. + """ + return self.__trigger + + def _set_trigger(self, v, load=False): + """ + Setter method for trigger, mapped from YANG variable /components/component/state/last_switchover_reason/trigger (component-redundant-role-switchover-reason-trigger) + If this variable is read-only (config: false) in the + source YANG file, then _set_trigger is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_trigger() directly. + + YANG Description: Records the generic triggers, e.g. user or system +initiated the switchover. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """trigger must be of a type compatible with component-redundant-role-switchover-reason-trigger""", + 'defined-type': "openconfig-platform:component-redundant-role-switchover-reason-trigger", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False)""", + }) + + self.__trigger = t + if hasattr(self, '_set'): + self._set() + + def _unset_trigger(self): + self.__trigger = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False) + + + def _get_details(self): + """ + Getter method for details, mapped from YANG variable /components/component/state/last_switchover_reason/details (string) + + YANG Description: Records detailed description of why the switchover happens. +For example, when system initiated the switchover, this leaf +can be used to record the specific reason, e.g. due to critical +errors of the routing daemon in the primary role. + """ + return self.__details + + def _set_details(self, v, load=False): + """ + Setter method for details, mapped from YANG variable /components/component/state/last_switchover_reason/details (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_details is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_details() directly. + + YANG Description: Records detailed description of why the switchover happens. +For example, when system initiated the switchover, this leaf +can be used to record the specific reason, e.g. due to critical +errors of the routing daemon in the primary role. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """details must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__details = t + if hasattr(self, '_set'): + self._set() + + def _unset_details(self): + self.__details = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + trigger = __builtin__.property(_get_trigger) + details = __builtin__.property(_get_details) + + + _pyangbind_elements = OrderedDict([('trigger', trigger), ('details', details), ]) + + +class last_switchover_reason(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/last-switchover-reason. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: For components that have redundant roles (e.g. two +supervisors in a device, one as primary the other as secondary), +this reports the reason of the last change of the +component's role. + """ + __slots__ = ('_path_helper', '_extmethods', '__trigger','__details',) + + _yang_name = 'last-switchover-reason' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__trigger = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False) + self.__details = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'last-switchover-reason'] + + def _get_trigger(self): + """ + Getter method for trigger, mapped from YANG variable /components/component/state/last_switchover_reason/trigger (component-redundant-role-switchover-reason-trigger) + + YANG Description: Records the generic triggers, e.g. user or system +initiated the switchover. + """ + return self.__trigger + + def _set_trigger(self, v, load=False): + """ + Setter method for trigger, mapped from YANG variable /components/component/state/last_switchover_reason/trigger (component-redundant-role-switchover-reason-trigger) + If this variable is read-only (config: false) in the + source YANG file, then _set_trigger is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_trigger() directly. + + YANG Description: Records the generic triggers, e.g. user or system +initiated the switchover. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """trigger must be of a type compatible with component-redundant-role-switchover-reason-trigger""", + 'defined-type': "openconfig-platform:component-redundant-role-switchover-reason-trigger", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False)""", + }) + + self.__trigger = t + if hasattr(self, '_set'): + self._set() + + def _unset_trigger(self): + self.__trigger = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'USER_INITIATED': {}, 'SYSTEM_INITIATED': {}},), is_leaf=True, yang_name="trigger", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='component-redundant-role-switchover-reason-trigger', is_config=False) + + + def _get_details(self): + """ + Getter method for details, mapped from YANG variable /components/component/state/last_switchover_reason/details (string) + + YANG Description: Records detailed description of why the switchover happens. +For example, when system initiated the switchover, this leaf +can be used to record the specific reason, e.g. due to critical +errors of the routing daemon in the primary role. + """ + return self.__details + + def _set_details(self, v, load=False): + """ + Setter method for details, mapped from YANG variable /components/component/state/last_switchover_reason/details (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_details is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_details() directly. + + YANG Description: Records detailed description of why the switchover happens. +For example, when system initiated the switchover, this leaf +can be used to record the specific reason, e.g. due to critical +errors of the routing daemon in the primary role. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """details must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False)""", + }) + + self.__details = t + if hasattr(self, '_set'): + self._set() + + def _unset_details(self): + self.__details = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="details", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='string', is_config=False) + + trigger = __builtin__.property(_get_trigger) + details = __builtin__.property(_get_details) + + + _pyangbind_elements = OrderedDict([('trigger', trigger), ('details', details), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/memory/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/memory/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..9a153eaf65f4eaef08cb2cef68057aa114183d8b --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/memory/__init__.py @@ -0,0 +1,298 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class memory(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/memory. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: For components that have associated memory, these values +report information about available and utilized memory. + """ + __slots__ = ('_path_helper', '_extmethods', '__available','__utilized',) + + _yang_name = 'memory' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__available = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__utilized = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'memory'] + + def _get_available(self): + """ + Getter method for available, mapped from YANG variable /components/component/state/memory/available (uint64) + + YANG Description: The available memory physically installed, or logically +allocated to the component. + """ + return self.__available + + def _set_available(self, v, load=False): + """ + Setter method for available, mapped from YANG variable /components/component/state/memory/available (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_available is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_available() directly. + + YANG Description: The available memory physically installed, or logically +allocated to the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """available must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__available = t + if hasattr(self, '_set'): + self._set() + + def _unset_available(self): + self.__available = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_utilized(self): + """ + Getter method for utilized, mapped from YANG variable /components/component/state/memory/utilized (uint64) + + YANG Description: The memory currently in use by processes running on +the component, not considering reserved memory that is +not available for use. + """ + return self.__utilized + + def _set_utilized(self, v, load=False): + """ + Setter method for utilized, mapped from YANG variable /components/component/state/memory/utilized (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_utilized is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_utilized() directly. + + YANG Description: The memory currently in use by processes running on +the component, not considering reserved memory that is +not available for use. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """utilized must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__utilized = t + if hasattr(self, '_set'): + self._set() + + def _unset_utilized(self): + self.__utilized = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + available = __builtin__.property(_get_available) + utilized = __builtin__.property(_get_utilized) + + + _pyangbind_elements = OrderedDict([('available', available), ('utilized', utilized), ]) + + +class memory(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/memory. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: For components that have associated memory, these values +report information about available and utilized memory. + """ + __slots__ = ('_path_helper', '_extmethods', '__available','__utilized',) + + _yang_name = 'memory' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__available = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + self.__utilized = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'memory'] + + def _get_available(self): + """ + Getter method for available, mapped from YANG variable /components/component/state/memory/available (uint64) + + YANG Description: The available memory physically installed, or logically +allocated to the component. + """ + return self.__available + + def _set_available(self, v, load=False): + """ + Setter method for available, mapped from YANG variable /components/component/state/memory/available (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_available is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_available() directly. + + YANG Description: The available memory physically installed, or logically +allocated to the component. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """available must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__available = t + if hasattr(self, '_set'): + self._set() + + def _unset_available(self): + self.__available = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="available", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + + def _get_utilized(self): + """ + Getter method for utilized, mapped from YANG variable /components/component/state/memory/utilized (uint64) + + YANG Description: The memory currently in use by processes running on +the component, not considering reserved memory that is +not available for use. + """ + return self.__utilized + + def _set_utilized(self, v, load=False): + """ + Setter method for utilized, mapped from YANG variable /components/component/state/memory/utilized (uint64) + If this variable is read-only (config: false) in the + source YANG file, then _set_utilized is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_utilized() directly. + + YANG Description: The memory currently in use by processes running on +the component, not considering reserved memory that is +not available for use. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """utilized must be of a type compatible with uint64""", + 'defined-type': "uint64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False)""", + }) + + self.__utilized = t + if hasattr(self, '_set'): + self._set() + + def _unset_utilized(self): + self.__utilized = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="utilized", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint64', is_config=False) + + available = __builtin__.property(_get_available) + utilized = __builtin__.property(_get_utilized) + + + _pyangbind_elements = OrderedDict([('available', available), ('utilized', utilized), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/pcie/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/pcie/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..aae99fcd62370ff7596b1401df999fe6a2a4ec0c --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/pcie/__init__.py @@ -0,0 +1,372 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import fatal_errors +from . import non_fatal_errors +from . import correctable_errors +class pcie(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/pcie. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Components that are connected to the system over the Peripheral +Component Interconnect Express (PCIe), report the fatal, non-fatal +and correctable PCIe error counts. + """ + __slots__ = ('_path_helper', '_extmethods', '__fatal_errors','__non_fatal_errors','__correctable_errors',) + + _yang_name = 'pcie' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__fatal_errors = YANGDynClass(base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__non_fatal_errors = YANGDynClass(base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__correctable_errors = YANGDynClass(base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie'] + + def _get_fatal_errors(self): + """ + Getter method for fatal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors (container) + + YANG Description: The count of the fatal PCIe errors. + """ + return self.__fatal_errors + + def _set_fatal_errors(self, v, load=False): + """ + Setter method for fatal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_fatal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fatal_errors() directly. + + YANG Description: The count of the fatal PCIe errors. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fatal_errors must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__fatal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_fatal_errors(self): + self.__fatal_errors = YANGDynClass(base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_non_fatal_errors(self): + """ + Getter method for non_fatal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors (container) + + YANG Description: The count of the non-fatal PCIe errors. + """ + return self.__non_fatal_errors + + def _set_non_fatal_errors(self, v, load=False): + """ + Setter method for non_fatal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_non_fatal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_non_fatal_errors() directly. + + YANG Description: The count of the non-fatal PCIe errors. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """non_fatal_errors must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__non_fatal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_non_fatal_errors(self): + self.__non_fatal_errors = YANGDynClass(base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_correctable_errors(self): + """ + Getter method for correctable_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors (container) + + YANG Description: The count of the correctable PCIe errors. + """ + return self.__correctable_errors + + def _set_correctable_errors(self, v, load=False): + """ + Setter method for correctable_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_correctable_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_correctable_errors() directly. + + YANG Description: The count of the correctable PCIe errors. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """correctable_errors must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__correctable_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_correctable_errors(self): + self.__correctable_errors = YANGDynClass(base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + fatal_errors = __builtin__.property(_get_fatal_errors) + non_fatal_errors = __builtin__.property(_get_non_fatal_errors) + correctable_errors = __builtin__.property(_get_correctable_errors) + + + _pyangbind_elements = OrderedDict([('fatal_errors', fatal_errors), ('non_fatal_errors', non_fatal_errors), ('correctable_errors', correctable_errors), ]) + + +from . import fatal_errors +from . import non_fatal_errors +from . import correctable_errors +class pcie(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/pcie. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Components that are connected to the system over the Peripheral +Component Interconnect Express (PCIe), report the fatal, non-fatal +and correctable PCIe error counts. + """ + __slots__ = ('_path_helper', '_extmethods', '__fatal_errors','__non_fatal_errors','__correctable_errors',) + + _yang_name = 'pcie' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__fatal_errors = YANGDynClass(base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__non_fatal_errors = YANGDynClass(base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + self.__correctable_errors = YANGDynClass(base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie'] + + def _get_fatal_errors(self): + """ + Getter method for fatal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors (container) + + YANG Description: The count of the fatal PCIe errors. + """ + return self.__fatal_errors + + def _set_fatal_errors(self, v, load=False): + """ + Setter method for fatal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_fatal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fatal_errors() directly. + + YANG Description: The count of the fatal PCIe errors. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fatal_errors must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__fatal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_fatal_errors(self): + self.__fatal_errors = YANGDynClass(base=fatal_errors.fatal_errors, is_container='container', yang_name="fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_non_fatal_errors(self): + """ + Getter method for non_fatal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors (container) + + YANG Description: The count of the non-fatal PCIe errors. + """ + return self.__non_fatal_errors + + def _set_non_fatal_errors(self, v, load=False): + """ + Setter method for non_fatal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_non_fatal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_non_fatal_errors() directly. + + YANG Description: The count of the non-fatal PCIe errors. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """non_fatal_errors must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__non_fatal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_non_fatal_errors(self): + self.__non_fatal_errors = YANGDynClass(base=non_fatal_errors.non_fatal_errors, is_container='container', yang_name="non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + + def _get_correctable_errors(self): + """ + Getter method for correctable_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors (container) + + YANG Description: The count of the correctable PCIe errors. + """ + return self.__correctable_errors + + def _set_correctable_errors(self, v, load=False): + """ + Setter method for correctable_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_correctable_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_correctable_errors() directly. + + YANG Description: The count of the correctable PCIe errors. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """correctable_errors must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False)""", + }) + + self.__correctable_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_correctable_errors(self): + self.__correctable_errors = YANGDynClass(base=correctable_errors.correctable_errors, is_container='container', yang_name="correctable-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=False) + + fatal_errors = __builtin__.property(_get_fatal_errors) + non_fatal_errors = __builtin__.property(_get_non_fatal_errors) + correctable_errors = __builtin__.property(_get_correctable_errors) + + + _pyangbind_elements = OrderedDict([('fatal_errors', fatal_errors), ('non_fatal_errors', non_fatal_errors), ('correctable_errors', correctable_errors), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/pcie/correctable_errors/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/pcie/correctable_errors/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..bbef37323ba6b26d689f1575ce9afcd1ffbb9a7e --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/pcie/correctable_errors/__init__.py @@ -0,0 +1,866 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class correctable_errors(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/pcie/correctable-errors. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The count of the correctable PCIe errors. + """ + __slots__ = ('_path_helper', '_extmethods', '__total_errors','__receiver_errors','__bad_tlp_errors','__bad_dllp_errors','__relay_rollover_errors','__replay_timeout_errors','__advisory_non_fatal_errors','__internal_errors','__hdr_log_overflow_errors',) + + _yang_name = 'correctable-errors' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__receiver_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__bad_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__bad_dllp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__relay_rollover_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__replay_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__advisory_non_fatal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__hdr_log_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie', 'correctable-errors'] + + def _get_total_errors(self): + """ + Getter method for total_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/total_errors (oc-yang:counter64) + + YANG Description: Total number of correctable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__total_errors + + def _set_total_errors(self, v, load=False): + """ + Setter method for total_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/total_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_total_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_total_errors() directly. + + YANG Description: Total number of correctable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """total_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__total_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_total_errors(self): + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_receiver_errors(self): + """ + Getter method for receiver_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/receiver_errors (oc-yang:counter64) + + YANG Description: Number of receiver errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__receiver_errors + + def _set_receiver_errors(self, v, load=False): + """ + Setter method for receiver_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/receiver_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_receiver_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_receiver_errors() directly. + + YANG Description: Number of receiver errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """receiver_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__receiver_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_receiver_errors(self): + self.__receiver_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_bad_tlp_errors(self): + """ + Getter method for bad_tlp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_tlp_errors (oc-yang:counter64) + + YANG Description: Number of TLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__bad_tlp_errors + + def _set_bad_tlp_errors(self, v, load=False): + """ + Setter method for bad_tlp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_bad_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bad_tlp_errors() directly. + + YANG Description: Number of TLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bad_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__bad_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_bad_tlp_errors(self): + self.__bad_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_bad_dllp_errors(self): + """ + Getter method for bad_dllp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_dllp_errors (oc-yang:counter64) + + YANG Description: Number of DLLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__bad_dllp_errors + + def _set_bad_dllp_errors(self, v, load=False): + """ + Setter method for bad_dllp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_dllp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_bad_dllp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bad_dllp_errors() directly. + + YANG Description: Number of DLLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bad_dllp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__bad_dllp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_bad_dllp_errors(self): + self.__bad_dllp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_relay_rollover_errors(self): + """ + Getter method for relay_rollover_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/relay_rollover_errors (oc-yang:counter64) + + YANG Description: Number of relay rollover errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__relay_rollover_errors + + def _set_relay_rollover_errors(self, v, load=False): + """ + Setter method for relay_rollover_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/relay_rollover_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_relay_rollover_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_relay_rollover_errors() directly. + + YANG Description: Number of relay rollover errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """relay_rollover_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__relay_rollover_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_relay_rollover_errors(self): + self.__relay_rollover_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_replay_timeout_errors(self): + """ + Getter method for replay_timeout_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/replay_timeout_errors (oc-yang:counter64) + + YANG Description: Number of replay timeout errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__replay_timeout_errors + + def _set_replay_timeout_errors(self, v, load=False): + """ + Setter method for replay_timeout_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/replay_timeout_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_replay_timeout_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_replay_timeout_errors() directly. + + YANG Description: Number of replay timeout errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """replay_timeout_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__replay_timeout_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_replay_timeout_errors(self): + self.__replay_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_advisory_non_fatal_errors(self): + """ + Getter method for advisory_non_fatal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/advisory_non_fatal_errors (oc-yang:counter64) + + YANG Description: Number of advisory non fatal errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__advisory_non_fatal_errors + + def _set_advisory_non_fatal_errors(self, v, load=False): + """ + Setter method for advisory_non_fatal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/advisory_non_fatal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_advisory_non_fatal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_advisory_non_fatal_errors() directly. + + YANG Description: Number of advisory non fatal errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """advisory_non_fatal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__advisory_non_fatal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_advisory_non_fatal_errors(self): + self.__advisory_non_fatal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_internal_errors(self): + """ + Getter method for internal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/internal_errors (oc-yang:counter64) + + YANG Description: Number of internal errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + return self.__internal_errors + + def _set_internal_errors(self, v, load=False): + """ + Setter method for internal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/internal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_internal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_internal_errors() directly. + + YANG Description: Number of internal errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """internal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__internal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_internal_errors(self): + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_hdr_log_overflow_errors(self): + """ + Getter method for hdr_log_overflow_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/hdr_log_overflow_errors (oc-yang:counter64) + + YANG Description: Number of header log overflow errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__hdr_log_overflow_errors + + def _set_hdr_log_overflow_errors(self, v, load=False): + """ + Setter method for hdr_log_overflow_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/hdr_log_overflow_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_hdr_log_overflow_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hdr_log_overflow_errors() directly. + + YANG Description: Number of header log overflow errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hdr_log_overflow_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__hdr_log_overflow_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_hdr_log_overflow_errors(self): + self.__hdr_log_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + total_errors = __builtin__.property(_get_total_errors) + receiver_errors = __builtin__.property(_get_receiver_errors) + bad_tlp_errors = __builtin__.property(_get_bad_tlp_errors) + bad_dllp_errors = __builtin__.property(_get_bad_dllp_errors) + relay_rollover_errors = __builtin__.property(_get_relay_rollover_errors) + replay_timeout_errors = __builtin__.property(_get_replay_timeout_errors) + advisory_non_fatal_errors = __builtin__.property(_get_advisory_non_fatal_errors) + internal_errors = __builtin__.property(_get_internal_errors) + hdr_log_overflow_errors = __builtin__.property(_get_hdr_log_overflow_errors) + + + _pyangbind_elements = OrderedDict([('total_errors', total_errors), ('receiver_errors', receiver_errors), ('bad_tlp_errors', bad_tlp_errors), ('bad_dllp_errors', bad_dllp_errors), ('relay_rollover_errors', relay_rollover_errors), ('replay_timeout_errors', replay_timeout_errors), ('advisory_non_fatal_errors', advisory_non_fatal_errors), ('internal_errors', internal_errors), ('hdr_log_overflow_errors', hdr_log_overflow_errors), ]) + + +class correctable_errors(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/pcie/correctable-errors. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The count of the correctable PCIe errors. + """ + __slots__ = ('_path_helper', '_extmethods', '__total_errors','__receiver_errors','__bad_tlp_errors','__bad_dllp_errors','__relay_rollover_errors','__replay_timeout_errors','__advisory_non_fatal_errors','__internal_errors','__hdr_log_overflow_errors',) + + _yang_name = 'correctable-errors' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__receiver_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__bad_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__bad_dllp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__relay_rollover_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__replay_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__advisory_non_fatal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__hdr_log_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie', 'correctable-errors'] + + def _get_total_errors(self): + """ + Getter method for total_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/total_errors (oc-yang:counter64) + + YANG Description: Total number of correctable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__total_errors + + def _set_total_errors(self, v, load=False): + """ + Setter method for total_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/total_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_total_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_total_errors() directly. + + YANG Description: Total number of correctable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """total_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__total_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_total_errors(self): + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_receiver_errors(self): + """ + Getter method for receiver_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/receiver_errors (oc-yang:counter64) + + YANG Description: Number of receiver errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__receiver_errors + + def _set_receiver_errors(self, v, load=False): + """ + Setter method for receiver_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/receiver_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_receiver_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_receiver_errors() directly. + + YANG Description: Number of receiver errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """receiver_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__receiver_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_receiver_errors(self): + self.__receiver_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_bad_tlp_errors(self): + """ + Getter method for bad_tlp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_tlp_errors (oc-yang:counter64) + + YANG Description: Number of TLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__bad_tlp_errors + + def _set_bad_tlp_errors(self, v, load=False): + """ + Setter method for bad_tlp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_bad_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bad_tlp_errors() directly. + + YANG Description: Number of TLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bad_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__bad_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_bad_tlp_errors(self): + self.__bad_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_bad_dllp_errors(self): + """ + Getter method for bad_dllp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_dllp_errors (oc-yang:counter64) + + YANG Description: Number of DLLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__bad_dllp_errors + + def _set_bad_dllp_errors(self, v, load=False): + """ + Setter method for bad_dllp_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/bad_dllp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_bad_dllp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bad_dllp_errors() directly. + + YANG Description: Number of DLLPs with bad LCRC detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bad_dllp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__bad_dllp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_bad_dllp_errors(self): + self.__bad_dllp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="bad-dllp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_relay_rollover_errors(self): + """ + Getter method for relay_rollover_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/relay_rollover_errors (oc-yang:counter64) + + YANG Description: Number of relay rollover errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__relay_rollover_errors + + def _set_relay_rollover_errors(self, v, load=False): + """ + Setter method for relay_rollover_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/relay_rollover_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_relay_rollover_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_relay_rollover_errors() directly. + + YANG Description: Number of relay rollover errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """relay_rollover_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__relay_rollover_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_relay_rollover_errors(self): + self.__relay_rollover_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="relay-rollover-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_replay_timeout_errors(self): + """ + Getter method for replay_timeout_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/replay_timeout_errors (oc-yang:counter64) + + YANG Description: Number of replay timeout errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__replay_timeout_errors + + def _set_replay_timeout_errors(self, v, load=False): + """ + Setter method for replay_timeout_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/replay_timeout_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_replay_timeout_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_replay_timeout_errors() directly. + + YANG Description: Number of replay timeout errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """replay_timeout_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__replay_timeout_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_replay_timeout_errors(self): + self.__replay_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="replay-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_advisory_non_fatal_errors(self): + """ + Getter method for advisory_non_fatal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/advisory_non_fatal_errors (oc-yang:counter64) + + YANG Description: Number of advisory non fatal errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__advisory_non_fatal_errors + + def _set_advisory_non_fatal_errors(self, v, load=False): + """ + Setter method for advisory_non_fatal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/advisory_non_fatal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_advisory_non_fatal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_advisory_non_fatal_errors() directly. + + YANG Description: Number of advisory non fatal errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """advisory_non_fatal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__advisory_non_fatal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_advisory_non_fatal_errors(self): + self.__advisory_non_fatal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="advisory-non-fatal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_internal_errors(self): + """ + Getter method for internal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/internal_errors (oc-yang:counter64) + + YANG Description: Number of internal errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + return self.__internal_errors + + def _set_internal_errors(self, v, load=False): + """ + Setter method for internal_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/internal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_internal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_internal_errors() directly. + + YANG Description: Number of internal errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """internal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__internal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_internal_errors(self): + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_hdr_log_overflow_errors(self): + """ + Getter method for hdr_log_overflow_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/hdr_log_overflow_errors (oc-yang:counter64) + + YANG Description: Number of header log overflow errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__hdr_log_overflow_errors + + def _set_hdr_log_overflow_errors(self, v, load=False): + """ + Setter method for hdr_log_overflow_errors, mapped from YANG variable /components/component/state/pcie/correctable_errors/hdr_log_overflow_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_hdr_log_overflow_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hdr_log_overflow_errors() directly. + + YANG Description: Number of header log overflow errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hdr_log_overflow_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__hdr_log_overflow_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_hdr_log_overflow_errors(self): + self.__hdr_log_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="hdr-log-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + total_errors = __builtin__.property(_get_total_errors) + receiver_errors = __builtin__.property(_get_receiver_errors) + bad_tlp_errors = __builtin__.property(_get_bad_tlp_errors) + bad_dllp_errors = __builtin__.property(_get_bad_dllp_errors) + relay_rollover_errors = __builtin__.property(_get_relay_rollover_errors) + replay_timeout_errors = __builtin__.property(_get_replay_timeout_errors) + advisory_non_fatal_errors = __builtin__.property(_get_advisory_non_fatal_errors) + internal_errors = __builtin__.property(_get_internal_errors) + hdr_log_overflow_errors = __builtin__.property(_get_hdr_log_overflow_errors) + + + _pyangbind_elements = OrderedDict([('total_errors', total_errors), ('receiver_errors', receiver_errors), ('bad_tlp_errors', bad_tlp_errors), ('bad_dllp_errors', bad_dllp_errors), ('relay_rollover_errors', relay_rollover_errors), ('replay_timeout_errors', replay_timeout_errors), ('advisory_non_fatal_errors', advisory_non_fatal_errors), ('internal_errors', internal_errors), ('hdr_log_overflow_errors', hdr_log_overflow_errors), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/pcie/fatal_errors/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/pcie/fatal_errors/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..12185542ccc99155d1fd1bd22407db0421a753c0 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/pcie/fatal_errors/__init__.py @@ -0,0 +1,1604 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class fatal_errors(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/pcie/fatal-errors. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The count of the fatal PCIe errors. + """ + __slots__ = ('_path_helper', '_extmethods', '__total_errors','__undefined_errors','__data_link_errors','__surprise_down_errors','__poisoned_tlp_errors','__flow_control_protocol_errors','__completion_timeout_errors','__completion_abort_errors','__unexpected_completion_errors','__receiver_overflow_errors','__malformed_tlp_errors','__ecrc_errors','__unsupported_request_errors','__acs_violation_errors','__internal_errors','__blocked_tlp_errors','__atomic_op_blocked_errors','__tlp_prefix_blocked_errors',) + + _yang_name = 'fatal-errors' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie', 'fatal-errors'] + + def _get_total_errors(self): + """ + Getter method for total_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/total_errors (oc-yang:counter64) + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__total_errors + + def _set_total_errors(self, v, load=False): + """ + Setter method for total_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/total_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_total_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_total_errors() directly. + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """total_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__total_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_total_errors(self): + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_undefined_errors(self): + """ + Getter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/undefined_errors (oc-yang:counter64) + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__undefined_errors + + def _set_undefined_errors(self, v, load=False): + """ + Setter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/undefined_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_undefined_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_undefined_errors() directly. + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """undefined_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__undefined_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_undefined_errors(self): + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_data_link_errors(self): + """ + Getter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/data_link_errors (oc-yang:counter64) + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__data_link_errors + + def _set_data_link_errors(self, v, load=False): + """ + Setter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/data_link_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_data_link_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_data_link_errors() directly. + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """data_link_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__data_link_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_data_link_errors(self): + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_surprise_down_errors(self): + """ + Getter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/surprise_down_errors (oc-yang:counter64) + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__surprise_down_errors + + def _set_surprise_down_errors(self, v, load=False): + """ + Setter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/surprise_down_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_surprise_down_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_surprise_down_errors() directly. + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """surprise_down_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__surprise_down_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_surprise_down_errors(self): + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_poisoned_tlp_errors(self): + """ + Getter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__poisoned_tlp_errors + + def _set_poisoned_tlp_errors(self, v, load=False): + """ + Setter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_poisoned_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_poisoned_tlp_errors() directly. + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """poisoned_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__poisoned_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_poisoned_tlp_errors(self): + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_flow_control_protocol_errors(self): + """ + Getter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__flow_control_protocol_errors + + def _set_flow_control_protocol_errors(self, v, load=False): + """ + Setter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_flow_control_protocol_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_flow_control_protocol_errors() directly. + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """flow_control_protocol_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__flow_control_protocol_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_flow_control_protocol_errors(self): + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_timeout_errors(self): + """ + Getter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_timeout_errors (oc-yang:counter64) + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_timeout_errors + + def _set_completion_timeout_errors(self, v, load=False): + """ + Setter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_timeout_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_timeout_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_timeout_errors() directly. + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_timeout_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_timeout_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_timeout_errors(self): + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_abort_errors(self): + """ + Getter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_abort_errors (oc-yang:counter64) + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_abort_errors + + def _set_completion_abort_errors(self, v, load=False): + """ + Setter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_abort_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_abort_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_abort_errors() directly. + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_abort_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_abort_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_abort_errors(self): + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unexpected_completion_errors(self): + """ + Getter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unexpected_completion_errors (oc-yang:counter64) + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unexpected_completion_errors + + def _set_unexpected_completion_errors(self, v, load=False): + """ + Setter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unexpected_completion_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unexpected_completion_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unexpected_completion_errors() directly. + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unexpected_completion_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unexpected_completion_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unexpected_completion_errors(self): + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_receiver_overflow_errors(self): + """ + Getter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/receiver_overflow_errors (oc-yang:counter64) + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__receiver_overflow_errors + + def _set_receiver_overflow_errors(self, v, load=False): + """ + Setter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/receiver_overflow_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_receiver_overflow_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_receiver_overflow_errors() directly. + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """receiver_overflow_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__receiver_overflow_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_receiver_overflow_errors(self): + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_malformed_tlp_errors(self): + """ + Getter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/malformed_tlp_errors (oc-yang:counter64) + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__malformed_tlp_errors + + def _set_malformed_tlp_errors(self, v, load=False): + """ + Setter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/malformed_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_malformed_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_malformed_tlp_errors() directly. + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """malformed_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__malformed_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_malformed_tlp_errors(self): + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_ecrc_errors(self): + """ + Getter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/ecrc_errors (oc-yang:counter64) + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + return self.__ecrc_errors + + def _set_ecrc_errors(self, v, load=False): + """ + Setter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/ecrc_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_ecrc_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ecrc_errors() directly. + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ecrc_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__ecrc_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_ecrc_errors(self): + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unsupported_request_errors(self): + """ + Getter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unsupported_request_errors (oc-yang:counter64) + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unsupported_request_errors + + def _set_unsupported_request_errors(self, v, load=False): + """ + Setter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unsupported_request_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unsupported_request_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unsupported_request_errors() directly. + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unsupported_request_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unsupported_request_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unsupported_request_errors(self): + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_acs_violation_errors(self): + """ + Getter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/acs_violation_errors (oc-yang:counter64) + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__acs_violation_errors + + def _set_acs_violation_errors(self, v, load=False): + """ + Setter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/acs_violation_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_acs_violation_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_acs_violation_errors() directly. + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """acs_violation_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__acs_violation_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_acs_violation_errors(self): + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_internal_errors(self): + """ + Getter method for internal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/internal_errors (oc-yang:counter64) + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__internal_errors + + def _set_internal_errors(self, v, load=False): + """ + Setter method for internal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/internal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_internal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_internal_errors() directly. + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """internal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__internal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_internal_errors(self): + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_blocked_tlp_errors(self): + """ + Getter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/blocked_tlp_errors (oc-yang:counter64) + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__blocked_tlp_errors + + def _set_blocked_tlp_errors(self, v, load=False): + """ + Setter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/blocked_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_blocked_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_blocked_tlp_errors() directly. + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """blocked_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__blocked_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_blocked_tlp_errors(self): + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_atomic_op_blocked_errors(self): + """ + Getter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + return self.__atomic_op_blocked_errors + + def _set_atomic_op_blocked_errors(self, v, load=False): + """ + Setter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_atomic_op_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_atomic_op_blocked_errors() directly. + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """atomic_op_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__atomic_op_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_atomic_op_blocked_errors(self): + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_tlp_prefix_blocked_errors(self): + """ + Getter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__tlp_prefix_blocked_errors + + def _set_tlp_prefix_blocked_errors(self, v, load=False): + """ + Setter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_tlp_prefix_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_tlp_prefix_blocked_errors() directly. + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """tlp_prefix_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__tlp_prefix_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_tlp_prefix_blocked_errors(self): + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + total_errors = __builtin__.property(_get_total_errors) + undefined_errors = __builtin__.property(_get_undefined_errors) + data_link_errors = __builtin__.property(_get_data_link_errors) + surprise_down_errors = __builtin__.property(_get_surprise_down_errors) + poisoned_tlp_errors = __builtin__.property(_get_poisoned_tlp_errors) + flow_control_protocol_errors = __builtin__.property(_get_flow_control_protocol_errors) + completion_timeout_errors = __builtin__.property(_get_completion_timeout_errors) + completion_abort_errors = __builtin__.property(_get_completion_abort_errors) + unexpected_completion_errors = __builtin__.property(_get_unexpected_completion_errors) + receiver_overflow_errors = __builtin__.property(_get_receiver_overflow_errors) + malformed_tlp_errors = __builtin__.property(_get_malformed_tlp_errors) + ecrc_errors = __builtin__.property(_get_ecrc_errors) + unsupported_request_errors = __builtin__.property(_get_unsupported_request_errors) + acs_violation_errors = __builtin__.property(_get_acs_violation_errors) + internal_errors = __builtin__.property(_get_internal_errors) + blocked_tlp_errors = __builtin__.property(_get_blocked_tlp_errors) + atomic_op_blocked_errors = __builtin__.property(_get_atomic_op_blocked_errors) + tlp_prefix_blocked_errors = __builtin__.property(_get_tlp_prefix_blocked_errors) + + + _pyangbind_elements = OrderedDict([('total_errors', total_errors), ('undefined_errors', undefined_errors), ('data_link_errors', data_link_errors), ('surprise_down_errors', surprise_down_errors), ('poisoned_tlp_errors', poisoned_tlp_errors), ('flow_control_protocol_errors', flow_control_protocol_errors), ('completion_timeout_errors', completion_timeout_errors), ('completion_abort_errors', completion_abort_errors), ('unexpected_completion_errors', unexpected_completion_errors), ('receiver_overflow_errors', receiver_overflow_errors), ('malformed_tlp_errors', malformed_tlp_errors), ('ecrc_errors', ecrc_errors), ('unsupported_request_errors', unsupported_request_errors), ('acs_violation_errors', acs_violation_errors), ('internal_errors', internal_errors), ('blocked_tlp_errors', blocked_tlp_errors), ('atomic_op_blocked_errors', atomic_op_blocked_errors), ('tlp_prefix_blocked_errors', tlp_prefix_blocked_errors), ]) + + +class fatal_errors(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/pcie/fatal-errors. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The count of the fatal PCIe errors. + """ + __slots__ = ('_path_helper', '_extmethods', '__total_errors','__undefined_errors','__data_link_errors','__surprise_down_errors','__poisoned_tlp_errors','__flow_control_protocol_errors','__completion_timeout_errors','__completion_abort_errors','__unexpected_completion_errors','__receiver_overflow_errors','__malformed_tlp_errors','__ecrc_errors','__unsupported_request_errors','__acs_violation_errors','__internal_errors','__blocked_tlp_errors','__atomic_op_blocked_errors','__tlp_prefix_blocked_errors',) + + _yang_name = 'fatal-errors' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie', 'fatal-errors'] + + def _get_total_errors(self): + """ + Getter method for total_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/total_errors (oc-yang:counter64) + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__total_errors + + def _set_total_errors(self, v, load=False): + """ + Setter method for total_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/total_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_total_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_total_errors() directly. + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """total_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__total_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_total_errors(self): + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_undefined_errors(self): + """ + Getter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/undefined_errors (oc-yang:counter64) + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__undefined_errors + + def _set_undefined_errors(self, v, load=False): + """ + Setter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/undefined_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_undefined_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_undefined_errors() directly. + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """undefined_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__undefined_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_undefined_errors(self): + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_data_link_errors(self): + """ + Getter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/data_link_errors (oc-yang:counter64) + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__data_link_errors + + def _set_data_link_errors(self, v, load=False): + """ + Setter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/data_link_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_data_link_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_data_link_errors() directly. + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """data_link_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__data_link_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_data_link_errors(self): + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_surprise_down_errors(self): + """ + Getter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/surprise_down_errors (oc-yang:counter64) + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__surprise_down_errors + + def _set_surprise_down_errors(self, v, load=False): + """ + Setter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/surprise_down_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_surprise_down_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_surprise_down_errors() directly. + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """surprise_down_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__surprise_down_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_surprise_down_errors(self): + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_poisoned_tlp_errors(self): + """ + Getter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__poisoned_tlp_errors + + def _set_poisoned_tlp_errors(self, v, load=False): + """ + Setter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_poisoned_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_poisoned_tlp_errors() directly. + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """poisoned_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__poisoned_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_poisoned_tlp_errors(self): + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_flow_control_protocol_errors(self): + """ + Getter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__flow_control_protocol_errors + + def _set_flow_control_protocol_errors(self, v, load=False): + """ + Setter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_flow_control_protocol_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_flow_control_protocol_errors() directly. + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """flow_control_protocol_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__flow_control_protocol_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_flow_control_protocol_errors(self): + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_timeout_errors(self): + """ + Getter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_timeout_errors (oc-yang:counter64) + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_timeout_errors + + def _set_completion_timeout_errors(self, v, load=False): + """ + Setter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_timeout_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_timeout_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_timeout_errors() directly. + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_timeout_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_timeout_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_timeout_errors(self): + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_abort_errors(self): + """ + Getter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_abort_errors (oc-yang:counter64) + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_abort_errors + + def _set_completion_abort_errors(self, v, load=False): + """ + Setter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/completion_abort_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_abort_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_abort_errors() directly. + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_abort_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_abort_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_abort_errors(self): + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unexpected_completion_errors(self): + """ + Getter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unexpected_completion_errors (oc-yang:counter64) + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unexpected_completion_errors + + def _set_unexpected_completion_errors(self, v, load=False): + """ + Setter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unexpected_completion_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unexpected_completion_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unexpected_completion_errors() directly. + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unexpected_completion_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unexpected_completion_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unexpected_completion_errors(self): + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_receiver_overflow_errors(self): + """ + Getter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/receiver_overflow_errors (oc-yang:counter64) + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__receiver_overflow_errors + + def _set_receiver_overflow_errors(self, v, load=False): + """ + Setter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/receiver_overflow_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_receiver_overflow_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_receiver_overflow_errors() directly. + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """receiver_overflow_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__receiver_overflow_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_receiver_overflow_errors(self): + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_malformed_tlp_errors(self): + """ + Getter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/malformed_tlp_errors (oc-yang:counter64) + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__malformed_tlp_errors + + def _set_malformed_tlp_errors(self, v, load=False): + """ + Setter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/malformed_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_malformed_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_malformed_tlp_errors() directly. + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """malformed_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__malformed_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_malformed_tlp_errors(self): + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_ecrc_errors(self): + """ + Getter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/ecrc_errors (oc-yang:counter64) + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + return self.__ecrc_errors + + def _set_ecrc_errors(self, v, load=False): + """ + Setter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/ecrc_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_ecrc_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ecrc_errors() directly. + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ecrc_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__ecrc_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_ecrc_errors(self): + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unsupported_request_errors(self): + """ + Getter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unsupported_request_errors (oc-yang:counter64) + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unsupported_request_errors + + def _set_unsupported_request_errors(self, v, load=False): + """ + Setter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/unsupported_request_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unsupported_request_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unsupported_request_errors() directly. + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unsupported_request_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unsupported_request_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unsupported_request_errors(self): + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_acs_violation_errors(self): + """ + Getter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/acs_violation_errors (oc-yang:counter64) + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__acs_violation_errors + + def _set_acs_violation_errors(self, v, load=False): + """ + Setter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/acs_violation_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_acs_violation_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_acs_violation_errors() directly. + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """acs_violation_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__acs_violation_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_acs_violation_errors(self): + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_internal_errors(self): + """ + Getter method for internal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/internal_errors (oc-yang:counter64) + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__internal_errors + + def _set_internal_errors(self, v, load=False): + """ + Setter method for internal_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/internal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_internal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_internal_errors() directly. + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """internal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__internal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_internal_errors(self): + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_blocked_tlp_errors(self): + """ + Getter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/blocked_tlp_errors (oc-yang:counter64) + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__blocked_tlp_errors + + def _set_blocked_tlp_errors(self, v, load=False): + """ + Setter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/blocked_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_blocked_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_blocked_tlp_errors() directly. + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """blocked_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__blocked_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_blocked_tlp_errors(self): + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_atomic_op_blocked_errors(self): + """ + Getter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + return self.__atomic_op_blocked_errors + + def _set_atomic_op_blocked_errors(self, v, load=False): + """ + Setter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_atomic_op_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_atomic_op_blocked_errors() directly. + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """atomic_op_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__atomic_op_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_atomic_op_blocked_errors(self): + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_tlp_prefix_blocked_errors(self): + """ + Getter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__tlp_prefix_blocked_errors + + def _set_tlp_prefix_blocked_errors(self, v, load=False): + """ + Setter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_tlp_prefix_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_tlp_prefix_blocked_errors() directly. + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """tlp_prefix_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__tlp_prefix_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_tlp_prefix_blocked_errors(self): + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + total_errors = __builtin__.property(_get_total_errors) + undefined_errors = __builtin__.property(_get_undefined_errors) + data_link_errors = __builtin__.property(_get_data_link_errors) + surprise_down_errors = __builtin__.property(_get_surprise_down_errors) + poisoned_tlp_errors = __builtin__.property(_get_poisoned_tlp_errors) + flow_control_protocol_errors = __builtin__.property(_get_flow_control_protocol_errors) + completion_timeout_errors = __builtin__.property(_get_completion_timeout_errors) + completion_abort_errors = __builtin__.property(_get_completion_abort_errors) + unexpected_completion_errors = __builtin__.property(_get_unexpected_completion_errors) + receiver_overflow_errors = __builtin__.property(_get_receiver_overflow_errors) + malformed_tlp_errors = __builtin__.property(_get_malformed_tlp_errors) + ecrc_errors = __builtin__.property(_get_ecrc_errors) + unsupported_request_errors = __builtin__.property(_get_unsupported_request_errors) + acs_violation_errors = __builtin__.property(_get_acs_violation_errors) + internal_errors = __builtin__.property(_get_internal_errors) + blocked_tlp_errors = __builtin__.property(_get_blocked_tlp_errors) + atomic_op_blocked_errors = __builtin__.property(_get_atomic_op_blocked_errors) + tlp_prefix_blocked_errors = __builtin__.property(_get_tlp_prefix_blocked_errors) + + + _pyangbind_elements = OrderedDict([('total_errors', total_errors), ('undefined_errors', undefined_errors), ('data_link_errors', data_link_errors), ('surprise_down_errors', surprise_down_errors), ('poisoned_tlp_errors', poisoned_tlp_errors), ('flow_control_protocol_errors', flow_control_protocol_errors), ('completion_timeout_errors', completion_timeout_errors), ('completion_abort_errors', completion_abort_errors), ('unexpected_completion_errors', unexpected_completion_errors), ('receiver_overflow_errors', receiver_overflow_errors), ('malformed_tlp_errors', malformed_tlp_errors), ('ecrc_errors', ecrc_errors), ('unsupported_request_errors', unsupported_request_errors), ('acs_violation_errors', acs_violation_errors), ('internal_errors', internal_errors), ('blocked_tlp_errors', blocked_tlp_errors), ('atomic_op_blocked_errors', atomic_op_blocked_errors), ('tlp_prefix_blocked_errors', tlp_prefix_blocked_errors), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/pcie/non_fatal_errors/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/pcie/non_fatal_errors/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..02674f40f1f19a8023fc756bb1b2225f7750e645 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/pcie/non_fatal_errors/__init__.py @@ -0,0 +1,1604 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class non_fatal_errors(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/pcie/non-fatal-errors. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The count of the non-fatal PCIe errors. + """ + __slots__ = ('_path_helper', '_extmethods', '__total_errors','__undefined_errors','__data_link_errors','__surprise_down_errors','__poisoned_tlp_errors','__flow_control_protocol_errors','__completion_timeout_errors','__completion_abort_errors','__unexpected_completion_errors','__receiver_overflow_errors','__malformed_tlp_errors','__ecrc_errors','__unsupported_request_errors','__acs_violation_errors','__internal_errors','__blocked_tlp_errors','__atomic_op_blocked_errors','__tlp_prefix_blocked_errors',) + + _yang_name = 'non-fatal-errors' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie', 'non-fatal-errors'] + + def _get_total_errors(self): + """ + Getter method for total_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/total_errors (oc-yang:counter64) + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__total_errors + + def _set_total_errors(self, v, load=False): + """ + Setter method for total_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/total_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_total_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_total_errors() directly. + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """total_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__total_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_total_errors(self): + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_undefined_errors(self): + """ + Getter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/undefined_errors (oc-yang:counter64) + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__undefined_errors + + def _set_undefined_errors(self, v, load=False): + """ + Setter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/undefined_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_undefined_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_undefined_errors() directly. + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """undefined_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__undefined_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_undefined_errors(self): + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_data_link_errors(self): + """ + Getter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/data_link_errors (oc-yang:counter64) + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__data_link_errors + + def _set_data_link_errors(self, v, load=False): + """ + Setter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/data_link_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_data_link_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_data_link_errors() directly. + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """data_link_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__data_link_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_data_link_errors(self): + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_surprise_down_errors(self): + """ + Getter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/surprise_down_errors (oc-yang:counter64) + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__surprise_down_errors + + def _set_surprise_down_errors(self, v, load=False): + """ + Setter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/surprise_down_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_surprise_down_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_surprise_down_errors() directly. + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """surprise_down_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__surprise_down_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_surprise_down_errors(self): + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_poisoned_tlp_errors(self): + """ + Getter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__poisoned_tlp_errors + + def _set_poisoned_tlp_errors(self, v, load=False): + """ + Setter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_poisoned_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_poisoned_tlp_errors() directly. + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """poisoned_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__poisoned_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_poisoned_tlp_errors(self): + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_flow_control_protocol_errors(self): + """ + Getter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__flow_control_protocol_errors + + def _set_flow_control_protocol_errors(self, v, load=False): + """ + Setter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_flow_control_protocol_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_flow_control_protocol_errors() directly. + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """flow_control_protocol_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__flow_control_protocol_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_flow_control_protocol_errors(self): + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_timeout_errors(self): + """ + Getter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_timeout_errors (oc-yang:counter64) + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_timeout_errors + + def _set_completion_timeout_errors(self, v, load=False): + """ + Setter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_timeout_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_timeout_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_timeout_errors() directly. + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_timeout_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_timeout_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_timeout_errors(self): + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_abort_errors(self): + """ + Getter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_abort_errors (oc-yang:counter64) + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_abort_errors + + def _set_completion_abort_errors(self, v, load=False): + """ + Setter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_abort_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_abort_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_abort_errors() directly. + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_abort_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_abort_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_abort_errors(self): + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unexpected_completion_errors(self): + """ + Getter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unexpected_completion_errors (oc-yang:counter64) + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unexpected_completion_errors + + def _set_unexpected_completion_errors(self, v, load=False): + """ + Setter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unexpected_completion_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unexpected_completion_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unexpected_completion_errors() directly. + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unexpected_completion_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unexpected_completion_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unexpected_completion_errors(self): + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_receiver_overflow_errors(self): + """ + Getter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/receiver_overflow_errors (oc-yang:counter64) + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__receiver_overflow_errors + + def _set_receiver_overflow_errors(self, v, load=False): + """ + Setter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/receiver_overflow_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_receiver_overflow_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_receiver_overflow_errors() directly. + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """receiver_overflow_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__receiver_overflow_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_receiver_overflow_errors(self): + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_malformed_tlp_errors(self): + """ + Getter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/malformed_tlp_errors (oc-yang:counter64) + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__malformed_tlp_errors + + def _set_malformed_tlp_errors(self, v, load=False): + """ + Setter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/malformed_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_malformed_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_malformed_tlp_errors() directly. + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """malformed_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__malformed_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_malformed_tlp_errors(self): + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_ecrc_errors(self): + """ + Getter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/ecrc_errors (oc-yang:counter64) + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + return self.__ecrc_errors + + def _set_ecrc_errors(self, v, load=False): + """ + Setter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/ecrc_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_ecrc_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ecrc_errors() directly. + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ecrc_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__ecrc_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_ecrc_errors(self): + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unsupported_request_errors(self): + """ + Getter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unsupported_request_errors (oc-yang:counter64) + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unsupported_request_errors + + def _set_unsupported_request_errors(self, v, load=False): + """ + Setter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unsupported_request_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unsupported_request_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unsupported_request_errors() directly. + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unsupported_request_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unsupported_request_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unsupported_request_errors(self): + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_acs_violation_errors(self): + """ + Getter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/acs_violation_errors (oc-yang:counter64) + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__acs_violation_errors + + def _set_acs_violation_errors(self, v, load=False): + """ + Setter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/acs_violation_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_acs_violation_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_acs_violation_errors() directly. + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """acs_violation_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__acs_violation_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_acs_violation_errors(self): + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_internal_errors(self): + """ + Getter method for internal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/internal_errors (oc-yang:counter64) + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__internal_errors + + def _set_internal_errors(self, v, load=False): + """ + Setter method for internal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/internal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_internal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_internal_errors() directly. + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """internal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__internal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_internal_errors(self): + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_blocked_tlp_errors(self): + """ + Getter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/blocked_tlp_errors (oc-yang:counter64) + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__blocked_tlp_errors + + def _set_blocked_tlp_errors(self, v, load=False): + """ + Setter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/blocked_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_blocked_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_blocked_tlp_errors() directly. + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """blocked_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__blocked_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_blocked_tlp_errors(self): + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_atomic_op_blocked_errors(self): + """ + Getter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + return self.__atomic_op_blocked_errors + + def _set_atomic_op_blocked_errors(self, v, load=False): + """ + Setter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_atomic_op_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_atomic_op_blocked_errors() directly. + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """atomic_op_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__atomic_op_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_atomic_op_blocked_errors(self): + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_tlp_prefix_blocked_errors(self): + """ + Getter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__tlp_prefix_blocked_errors + + def _set_tlp_prefix_blocked_errors(self, v, load=False): + """ + Setter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_tlp_prefix_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_tlp_prefix_blocked_errors() directly. + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """tlp_prefix_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__tlp_prefix_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_tlp_prefix_blocked_errors(self): + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + total_errors = __builtin__.property(_get_total_errors) + undefined_errors = __builtin__.property(_get_undefined_errors) + data_link_errors = __builtin__.property(_get_data_link_errors) + surprise_down_errors = __builtin__.property(_get_surprise_down_errors) + poisoned_tlp_errors = __builtin__.property(_get_poisoned_tlp_errors) + flow_control_protocol_errors = __builtin__.property(_get_flow_control_protocol_errors) + completion_timeout_errors = __builtin__.property(_get_completion_timeout_errors) + completion_abort_errors = __builtin__.property(_get_completion_abort_errors) + unexpected_completion_errors = __builtin__.property(_get_unexpected_completion_errors) + receiver_overflow_errors = __builtin__.property(_get_receiver_overflow_errors) + malformed_tlp_errors = __builtin__.property(_get_malformed_tlp_errors) + ecrc_errors = __builtin__.property(_get_ecrc_errors) + unsupported_request_errors = __builtin__.property(_get_unsupported_request_errors) + acs_violation_errors = __builtin__.property(_get_acs_violation_errors) + internal_errors = __builtin__.property(_get_internal_errors) + blocked_tlp_errors = __builtin__.property(_get_blocked_tlp_errors) + atomic_op_blocked_errors = __builtin__.property(_get_atomic_op_blocked_errors) + tlp_prefix_blocked_errors = __builtin__.property(_get_tlp_prefix_blocked_errors) + + + _pyangbind_elements = OrderedDict([('total_errors', total_errors), ('undefined_errors', undefined_errors), ('data_link_errors', data_link_errors), ('surprise_down_errors', surprise_down_errors), ('poisoned_tlp_errors', poisoned_tlp_errors), ('flow_control_protocol_errors', flow_control_protocol_errors), ('completion_timeout_errors', completion_timeout_errors), ('completion_abort_errors', completion_abort_errors), ('unexpected_completion_errors', unexpected_completion_errors), ('receiver_overflow_errors', receiver_overflow_errors), ('malformed_tlp_errors', malformed_tlp_errors), ('ecrc_errors', ecrc_errors), ('unsupported_request_errors', unsupported_request_errors), ('acs_violation_errors', acs_violation_errors), ('internal_errors', internal_errors), ('blocked_tlp_errors', blocked_tlp_errors), ('atomic_op_blocked_errors', atomic_op_blocked_errors), ('tlp_prefix_blocked_errors', tlp_prefix_blocked_errors), ]) + + +class non_fatal_errors(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/pcie/non-fatal-errors. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The count of the non-fatal PCIe errors. + """ + __slots__ = ('_path_helper', '_extmethods', '__total_errors','__undefined_errors','__data_link_errors','__surprise_down_errors','__poisoned_tlp_errors','__flow_control_protocol_errors','__completion_timeout_errors','__completion_abort_errors','__unexpected_completion_errors','__receiver_overflow_errors','__malformed_tlp_errors','__ecrc_errors','__unsupported_request_errors','__acs_violation_errors','__internal_errors','__blocked_tlp_errors','__atomic_op_blocked_errors','__tlp_prefix_blocked_errors',) + + _yang_name = 'non-fatal-errors' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'pcie', 'non-fatal-errors'] + + def _get_total_errors(self): + """ + Getter method for total_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/total_errors (oc-yang:counter64) + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__total_errors + + def _set_total_errors(self, v, load=False): + """ + Setter method for total_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/total_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_total_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_total_errors() directly. + + YANG Description: Total number of uncorrectable errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """total_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__total_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_total_errors(self): + self.__total_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="total-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_undefined_errors(self): + """ + Getter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/undefined_errors (oc-yang:counter64) + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__undefined_errors + + def _set_undefined_errors(self, v, load=False): + """ + Setter method for undefined_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/undefined_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_undefined_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_undefined_errors() directly. + + YANG Description: Number of undefined errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """undefined_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__undefined_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_undefined_errors(self): + self.__undefined_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="undefined-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_data_link_errors(self): + """ + Getter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/data_link_errors (oc-yang:counter64) + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__data_link_errors + + def _set_data_link_errors(self, v, load=False): + """ + Setter method for data_link_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/data_link_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_data_link_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_data_link_errors() directly. + + YANG Description: Number of data-link errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """data_link_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__data_link_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_data_link_errors(self): + self.__data_link_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="data-link-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_surprise_down_errors(self): + """ + Getter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/surprise_down_errors (oc-yang:counter64) + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__surprise_down_errors + + def _set_surprise_down_errors(self, v, load=False): + """ + Setter method for surprise_down_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/surprise_down_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_surprise_down_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_surprise_down_errors() directly. + + YANG Description: Number of unexpected link down errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """surprise_down_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__surprise_down_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_surprise_down_errors(self): + self.__surprise_down_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="surprise-down-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_poisoned_tlp_errors(self): + """ + Getter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__poisoned_tlp_errors + + def _set_poisoned_tlp_errors(self, v, load=False): + """ + Setter method for poisoned_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/poisoned_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_poisoned_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_poisoned_tlp_errors() directly. + + YANG Description: Number of poisoned TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """poisoned_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__poisoned_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_poisoned_tlp_errors(self): + self.__poisoned_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="poisoned-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_flow_control_protocol_errors(self): + """ + Getter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__flow_control_protocol_errors + + def _set_flow_control_protocol_errors(self, v, load=False): + """ + Setter method for flow_control_protocol_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/flow_control_protocol_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_flow_control_protocol_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_flow_control_protocol_errors() directly. + + YANG Description: Number of flow control protocol errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """flow_control_protocol_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__flow_control_protocol_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_flow_control_protocol_errors(self): + self.__flow_control_protocol_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="flow-control-protocol-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_timeout_errors(self): + """ + Getter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_timeout_errors (oc-yang:counter64) + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_timeout_errors + + def _set_completion_timeout_errors(self, v, load=False): + """ + Setter method for completion_timeout_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_timeout_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_timeout_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_timeout_errors() directly. + + YANG Description: Number of completion timeout errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_timeout_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_timeout_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_timeout_errors(self): + self.__completion_timeout_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-timeout-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_completion_abort_errors(self): + """ + Getter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_abort_errors (oc-yang:counter64) + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__completion_abort_errors + + def _set_completion_abort_errors(self, v, load=False): + """ + Setter method for completion_abort_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/completion_abort_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_completion_abort_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_completion_abort_errors() directly. + + YANG Description: Number of completion abort errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """completion_abort_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__completion_abort_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_completion_abort_errors(self): + self.__completion_abort_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="completion-abort-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unexpected_completion_errors(self): + """ + Getter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unexpected_completion_errors (oc-yang:counter64) + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unexpected_completion_errors + + def _set_unexpected_completion_errors(self, v, load=False): + """ + Setter method for unexpected_completion_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unexpected_completion_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unexpected_completion_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unexpected_completion_errors() directly. + + YANG Description: Number of unexpected completion errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unexpected_completion_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unexpected_completion_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unexpected_completion_errors(self): + self.__unexpected_completion_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unexpected-completion-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_receiver_overflow_errors(self): + """ + Getter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/receiver_overflow_errors (oc-yang:counter64) + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__receiver_overflow_errors + + def _set_receiver_overflow_errors(self, v, load=False): + """ + Setter method for receiver_overflow_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/receiver_overflow_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_receiver_overflow_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_receiver_overflow_errors() directly. + + YANG Description: Number of receiver overflow errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """receiver_overflow_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__receiver_overflow_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_receiver_overflow_errors(self): + self.__receiver_overflow_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="receiver-overflow-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_malformed_tlp_errors(self): + """ + Getter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/malformed_tlp_errors (oc-yang:counter64) + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__malformed_tlp_errors + + def _set_malformed_tlp_errors(self, v, load=False): + """ + Setter method for malformed_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/malformed_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_malformed_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_malformed_tlp_errors() directly. + + YANG Description: Number of malformed TLP errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """malformed_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__malformed_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_malformed_tlp_errors(self): + self.__malformed_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="malformed-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_ecrc_errors(self): + """ + Getter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/ecrc_errors (oc-yang:counter64) + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + return self.__ecrc_errors + + def _set_ecrc_errors(self, v, load=False): + """ + Setter method for ecrc_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/ecrc_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_ecrc_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ecrc_errors() directly. + + YANG Description: Number of ECRC errors detected by PCIe device since the system +booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ecrc_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__ecrc_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_ecrc_errors(self): + self.__ecrc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="ecrc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_unsupported_request_errors(self): + """ + Getter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unsupported_request_errors (oc-yang:counter64) + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__unsupported_request_errors + + def _set_unsupported_request_errors(self, v, load=False): + """ + Setter method for unsupported_request_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/unsupported_request_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_unsupported_request_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_unsupported_request_errors() directly. + + YANG Description: Number of unsupported request errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """unsupported_request_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__unsupported_request_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_unsupported_request_errors(self): + self.__unsupported_request_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="unsupported-request-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_acs_violation_errors(self): + """ + Getter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/acs_violation_errors (oc-yang:counter64) + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__acs_violation_errors + + def _set_acs_violation_errors(self, v, load=False): + """ + Setter method for acs_violation_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/acs_violation_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_acs_violation_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_acs_violation_errors() directly. + + YANG Description: Number of access control errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """acs_violation_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__acs_violation_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_acs_violation_errors(self): + self.__acs_violation_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="acs-violation-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_internal_errors(self): + """ + Getter method for internal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/internal_errors (oc-yang:counter64) + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + return self.__internal_errors + + def _set_internal_errors(self, v, load=False): + """ + Setter method for internal_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/internal_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_internal_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_internal_errors() directly. + + YANG Description: Number of internal errors detected by PCIe device since the +system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """internal_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__internal_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_internal_errors(self): + self.__internal_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="internal-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_blocked_tlp_errors(self): + """ + Getter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/blocked_tlp_errors (oc-yang:counter64) + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + return self.__blocked_tlp_errors + + def _set_blocked_tlp_errors(self, v, load=False): + """ + Setter method for blocked_tlp_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/blocked_tlp_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_blocked_tlp_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_blocked_tlp_errors() directly. + + YANG Description: Number of blocked TLP errors detected by PCIe device since +the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """blocked_tlp_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__blocked_tlp_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_blocked_tlp_errors(self): + self.__blocked_tlp_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="blocked-tlp-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_atomic_op_blocked_errors(self): + """ + Getter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + return self.__atomic_op_blocked_errors + + def _set_atomic_op_blocked_errors(self, v, load=False): + """ + Setter method for atomic_op_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/atomic_op_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_atomic_op_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_atomic_op_blocked_errors() directly. + + YANG Description: Number of atomic operation blocked errors detected by PCIe +device since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """atomic_op_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__atomic_op_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_atomic_op_blocked_errors(self): + self.__atomic_op_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="atomic-op-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + + def _get_tlp_prefix_blocked_errors(self): + """ + Getter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + return self.__tlp_prefix_blocked_errors + + def _set_tlp_prefix_blocked_errors(self, v, load=False): + """ + Setter method for tlp_prefix_blocked_errors, mapped from YANG variable /components/component/state/pcie/non_fatal_errors/tlp_prefix_blocked_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_tlp_prefix_blocked_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_tlp_prefix_blocked_errors() directly. + + YANG Description: Number of TLP prefix blocked errors detected by PCIe device +since the system booted, according to PCIe AER driver. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """tlp_prefix_blocked_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__tlp_prefix_blocked_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_tlp_prefix_blocked_errors(self): + self.__tlp_prefix_blocked_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="tlp-prefix-blocked-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-yang:counter64', is_config=False) + + total_errors = __builtin__.property(_get_total_errors) + undefined_errors = __builtin__.property(_get_undefined_errors) + data_link_errors = __builtin__.property(_get_data_link_errors) + surprise_down_errors = __builtin__.property(_get_surprise_down_errors) + poisoned_tlp_errors = __builtin__.property(_get_poisoned_tlp_errors) + flow_control_protocol_errors = __builtin__.property(_get_flow_control_protocol_errors) + completion_timeout_errors = __builtin__.property(_get_completion_timeout_errors) + completion_abort_errors = __builtin__.property(_get_completion_abort_errors) + unexpected_completion_errors = __builtin__.property(_get_unexpected_completion_errors) + receiver_overflow_errors = __builtin__.property(_get_receiver_overflow_errors) + malformed_tlp_errors = __builtin__.property(_get_malformed_tlp_errors) + ecrc_errors = __builtin__.property(_get_ecrc_errors) + unsupported_request_errors = __builtin__.property(_get_unsupported_request_errors) + acs_violation_errors = __builtin__.property(_get_acs_violation_errors) + internal_errors = __builtin__.property(_get_internal_errors) + blocked_tlp_errors = __builtin__.property(_get_blocked_tlp_errors) + atomic_op_blocked_errors = __builtin__.property(_get_atomic_op_blocked_errors) + tlp_prefix_blocked_errors = __builtin__.property(_get_tlp_prefix_blocked_errors) + + + _pyangbind_elements = OrderedDict([('total_errors', total_errors), ('undefined_errors', undefined_errors), ('data_link_errors', data_link_errors), ('surprise_down_errors', surprise_down_errors), ('poisoned_tlp_errors', poisoned_tlp_errors), ('flow_control_protocol_errors', flow_control_protocol_errors), ('completion_timeout_errors', completion_timeout_errors), ('completion_abort_errors', completion_abort_errors), ('unexpected_completion_errors', unexpected_completion_errors), ('receiver_overflow_errors', receiver_overflow_errors), ('malformed_tlp_errors', malformed_tlp_errors), ('ecrc_errors', ecrc_errors), ('unsupported_request_errors', unsupported_request_errors), ('acs_violation_errors', acs_violation_errors), ('internal_errors', internal_errors), ('blocked_tlp_errors', blocked_tlp_errors), ('atomic_op_blocked_errors', atomic_op_blocked_errors), ('tlp_prefix_blocked_errors', tlp_prefix_blocked_errors), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/state/temperature/__init__.py b/hackfest/netconf-oc/openconfig/components/component/state/temperature/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..426d8a1d75604540a04fc92ab9494d9cd330434e --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/state/temperature/__init__.py @@ -0,0 +1,958 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class temperature(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/state/temperature. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Temperature in degrees Celsius of the component. Values include +the instantaneous, average, minimum, and maximum statistics. If +avg/min/max statistics are not supported, the target is expected +to just supply the instant value + """ + __slots__ = ('_path_helper', '_extmethods', '__instant','__avg','__min_','__max_','__interval','__min_time','__max_time','__alarm_status','__alarm_threshold','__alarm_severity',) + + _yang_name = 'temperature' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__instant = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__avg = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__min_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__max_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__interval = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False) + self.__min_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__max_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__alarm_status = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__alarm_threshold = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + self.__alarm_severity = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'temperature'] + + def _get_instant(self): + """ + Getter method for instant, mapped from YANG variable /components/component/state/temperature/instant (decimal64) + + YANG Description: The instantaneous value of the statistic. + """ + return self.__instant + + def _set_instant(self, v, load=False): + """ + Setter method for instant, mapped from YANG variable /components/component/state/temperature/instant (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_instant is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_instant() directly. + + YANG Description: The instantaneous value of the statistic. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """instant must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__instant = t + if hasattr(self, '_set'): + self._set() + + def _unset_instant(self): + self.__instant = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_avg(self): + """ + Getter method for avg, mapped from YANG variable /components/component/state/temperature/avg (decimal64) + + YANG Description: The arithmetic mean value of the statistic over the +sampling period. + """ + return self.__avg + + def _set_avg(self, v, load=False): + """ + Setter method for avg, mapped from YANG variable /components/component/state/temperature/avg (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_avg is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_avg() directly. + + YANG Description: The arithmetic mean value of the statistic over the +sampling period. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """avg must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__avg = t + if hasattr(self, '_set'): + self._set() + + def _unset_avg(self): + self.__avg = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_min_(self): + """ + Getter method for min_, mapped from YANG variable /components/component/state/temperature/min (decimal64) + + YANG Description: The minimum value of the statistic over the sampling +period + """ + return self.__min_ + + def _set_min_(self, v, load=False): + """ + Setter method for min_, mapped from YANG variable /components/component/state/temperature/min (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_min_ is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_min_() directly. + + YANG Description: The minimum value of the statistic over the sampling +period + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """min_ must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__min_ = t + if hasattr(self, '_set'): + self._set() + + def _unset_min_(self): + self.__min_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_max_(self): + """ + Getter method for max_, mapped from YANG variable /components/component/state/temperature/max (decimal64) + + YANG Description: The maximum value of the statistic over the sampling +period + """ + return self.__max_ + + def _set_max_(self, v, load=False): + """ + Setter method for max_, mapped from YANG variable /components/component/state/temperature/max (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_ is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_() directly. + + YANG Description: The maximum value of the statistic over the sampling +period + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_ must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__max_ = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_(self): + self.__max_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_interval(self): + """ + Getter method for interval, mapped from YANG variable /components/component/state/temperature/interval (oc-types:stat-interval) + + YANG Description: If supported by the system, this reports the time interval +over which the min/max/average statistics are computed by +the system. + """ + return self.__interval + + def _set_interval(self, v, load=False): + """ + Setter method for interval, mapped from YANG variable /components/component/state/temperature/interval (oc-types:stat-interval) + If this variable is read-only (config: false) in the + source YANG file, then _set_interval is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_interval() directly. + + YANG Description: If supported by the system, this reports the time interval +over which the min/max/average statistics are computed by +the system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """interval must be of a type compatible with oc-types:stat-interval""", + 'defined-type': "oc-types:stat-interval", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False)""", + }) + + self.__interval = t + if hasattr(self, '_set'): + self._set() + + def _unset_interval(self): + self.__interval = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False) + + + def _get_min_time(self): + """ + Getter method for min_time, mapped from YANG variable /components/component/state/temperature/min_time (oc-types:timeticks64) + + YANG Description: The absolute time at which the minimum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__min_time + + def _set_min_time(self, v, load=False): + """ + Setter method for min_time, mapped from YANG variable /components/component/state/temperature/min_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_min_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_min_time() directly. + + YANG Description: The absolute time at which the minimum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """min_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__min_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_min_time(self): + self.__min_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_max_time(self): + """ + Getter method for max_time, mapped from YANG variable /components/component/state/temperature/max_time (oc-types:timeticks64) + + YANG Description: The absolute time at which the maximum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__max_time + + def _set_max_time(self, v, load=False): + """ + Setter method for max_time, mapped from YANG variable /components/component/state/temperature/max_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_time() directly. + + YANG Description: The absolute time at which the maximum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__max_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_time(self): + self.__max_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_alarm_status(self): + """ + Getter method for alarm_status, mapped from YANG variable /components/component/state/temperature/alarm_status (boolean) + + YANG Description: A value of true indicates the alarm has been raised or +asserted. The value should be false when the alarm is +cleared. + """ + return self.__alarm_status + + def _set_alarm_status(self, v, load=False): + """ + Setter method for alarm_status, mapped from YANG variable /components/component/state/temperature/alarm_status (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_alarm_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_alarm_status() directly. + + YANG Description: A value of true indicates the alarm has been raised or +asserted. The value should be false when the alarm is +cleared. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """alarm_status must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__alarm_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_alarm_status(self): + self.__alarm_status = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_alarm_threshold(self): + """ + Getter method for alarm_threshold, mapped from YANG variable /components/component/state/temperature/alarm_threshold (uint32) + + YANG Description: The threshold value that was crossed for this alarm. + """ + return self.__alarm_threshold + + def _set_alarm_threshold(self, v, load=False): + """ + Setter method for alarm_threshold, mapped from YANG variable /components/component/state/temperature/alarm_threshold (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_alarm_threshold is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_alarm_threshold() directly. + + YANG Description: The threshold value that was crossed for this alarm. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """alarm_threshold must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False)""", + }) + + self.__alarm_threshold = t + if hasattr(self, '_set'): + self._set() + + def _unset_alarm_threshold(self): + self.__alarm_threshold = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + + + def _get_alarm_severity(self): + """ + Getter method for alarm_severity, mapped from YANG variable /components/component/state/temperature/alarm_severity (identityref) + + YANG Description: The severity of the current alarm. + """ + return self.__alarm_severity + + def _set_alarm_severity(self, v, load=False): + """ + Setter method for alarm_severity, mapped from YANG variable /components/component/state/temperature/alarm_severity (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_alarm_severity is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_alarm_severity() directly. + + YANG Description: The severity of the current alarm. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """alarm_severity must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False)""", + }) + + self.__alarm_severity = t + if hasattr(self, '_set'): + self._set() + + def _unset_alarm_severity(self): + self.__alarm_severity = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + instant = __builtin__.property(_get_instant) + avg = __builtin__.property(_get_avg) + min_ = __builtin__.property(_get_min_) + max_ = __builtin__.property(_get_max_) + interval = __builtin__.property(_get_interval) + min_time = __builtin__.property(_get_min_time) + max_time = __builtin__.property(_get_max_time) + alarm_status = __builtin__.property(_get_alarm_status) + alarm_threshold = __builtin__.property(_get_alarm_threshold) + alarm_severity = __builtin__.property(_get_alarm_severity) + + + _pyangbind_elements = OrderedDict([('instant', instant), ('avg', avg), ('min_', min_), ('max_', max_), ('interval', interval), ('min_time', min_time), ('max_time', max_time), ('alarm_status', alarm_status), ('alarm_threshold', alarm_threshold), ('alarm_severity', alarm_severity), ]) + + +class temperature(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/state/temperature. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Temperature in degrees Celsius of the component. Values include +the instantaneous, average, minimum, and maximum statistics. If +avg/min/max statistics are not supported, the target is expected +to just supply the instant value + """ + __slots__ = ('_path_helper', '_extmethods', '__instant','__avg','__min_','__max_','__interval','__min_time','__max_time','__alarm_status','__alarm_threshold','__alarm_severity',) + + _yang_name = 'temperature' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__instant = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__avg = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__min_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__max_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + self.__interval = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False) + self.__min_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__max_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + self.__alarm_status = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + self.__alarm_threshold = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + self.__alarm_severity = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'state', 'temperature'] + + def _get_instant(self): + """ + Getter method for instant, mapped from YANG variable /components/component/state/temperature/instant (decimal64) + + YANG Description: The instantaneous value of the statistic. + """ + return self.__instant + + def _set_instant(self, v, load=False): + """ + Setter method for instant, mapped from YANG variable /components/component/state/temperature/instant (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_instant is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_instant() directly. + + YANG Description: The instantaneous value of the statistic. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """instant must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__instant = t + if hasattr(self, '_set'): + self._set() + + def _unset_instant(self): + self.__instant = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="instant", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_avg(self): + """ + Getter method for avg, mapped from YANG variable /components/component/state/temperature/avg (decimal64) + + YANG Description: The arithmetic mean value of the statistic over the +sampling period. + """ + return self.__avg + + def _set_avg(self, v, load=False): + """ + Setter method for avg, mapped from YANG variable /components/component/state/temperature/avg (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_avg is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_avg() directly. + + YANG Description: The arithmetic mean value of the statistic over the +sampling period. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """avg must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__avg = t + if hasattr(self, '_set'): + self._set() + + def _unset_avg(self): + self.__avg = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="avg", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_min_(self): + """ + Getter method for min_, mapped from YANG variable /components/component/state/temperature/min (decimal64) + + YANG Description: The minimum value of the statistic over the sampling +period + """ + return self.__min_ + + def _set_min_(self, v, load=False): + """ + Setter method for min_, mapped from YANG variable /components/component/state/temperature/min (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_min_ is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_min_() directly. + + YANG Description: The minimum value of the statistic over the sampling +period + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """min_ must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__min_ = t + if hasattr(self, '_set'): + self._set() + + def _unset_min_(self): + self.__min_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="min", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_max_(self): + """ + Getter method for max_, mapped from YANG variable /components/component/state/temperature/max (decimal64) + + YANG Description: The maximum value of the statistic over the sampling +period + """ + return self.__max_ + + def _set_max_(self, v, load=False): + """ + Setter method for max_, mapped from YANG variable /components/component/state/temperature/max (decimal64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_ is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_() directly. + + YANG Description: The maximum value of the statistic over the sampling +period + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_ must be of a type compatible with decimal64""", + 'defined-type': "decimal64", + 'generated-type': """YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False)""", + }) + + self.__max_ = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_(self): + self.__max_ = YANGDynClass(base=RestrictedPrecisionDecimalType(precision=1), is_leaf=True, yang_name="max", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='decimal64', is_config=False) + + + def _get_interval(self): + """ + Getter method for interval, mapped from YANG variable /components/component/state/temperature/interval (oc-types:stat-interval) + + YANG Description: If supported by the system, this reports the time interval +over which the min/max/average statistics are computed by +the system. + """ + return self.__interval + + def _set_interval(self, v, load=False): + """ + Setter method for interval, mapped from YANG variable /components/component/state/temperature/interval (oc-types:stat-interval) + If this variable is read-only (config: false) in the + source YANG file, then _set_interval is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_interval() directly. + + YANG Description: If supported by the system, this reports the time interval +over which the min/max/average statistics are computed by +the system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """interval must be of a type compatible with oc-types:stat-interval""", + 'defined-type': "oc-types:stat-interval", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False)""", + }) + + self.__interval = t + if hasattr(self, '_set'): + self._set() + + def _unset_interval(self): + self.__interval = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="interval", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:stat-interval', is_config=False) + + + def _get_min_time(self): + """ + Getter method for min_time, mapped from YANG variable /components/component/state/temperature/min_time (oc-types:timeticks64) + + YANG Description: The absolute time at which the minimum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__min_time + + def _set_min_time(self, v, load=False): + """ + Setter method for min_time, mapped from YANG variable /components/component/state/temperature/min_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_min_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_min_time() directly. + + YANG Description: The absolute time at which the minimum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """min_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__min_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_min_time(self): + self.__min_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="min-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_max_time(self): + """ + Getter method for max_time, mapped from YANG variable /components/component/state/temperature/max_time (oc-types:timeticks64) + + YANG Description: The absolute time at which the maximum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__max_time + + def _set_max_time(self, v, load=False): + """ + Setter method for max_time, mapped from YANG variable /components/component/state/temperature/max_time (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_max_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_max_time() directly. + + YANG Description: The absolute time at which the maximum value occurred. +The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """max_time must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__max_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_max_time(self): + self.__max_time = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="max-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_alarm_status(self): + """ + Getter method for alarm_status, mapped from YANG variable /components/component/state/temperature/alarm_status (boolean) + + YANG Description: A value of true indicates the alarm has been raised or +asserted. The value should be false when the alarm is +cleared. + """ + return self.__alarm_status + + def _set_alarm_status(self, v, load=False): + """ + Setter method for alarm_status, mapped from YANG variable /components/component/state/temperature/alarm_status (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_alarm_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_alarm_status() directly. + + YANG Description: A value of true indicates the alarm has been raised or +asserted. The value should be false when the alarm is +cleared. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """alarm_status must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False)""", + }) + + self.__alarm_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_alarm_status(self): + self.__alarm_status = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="alarm-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='boolean', is_config=False) + + + def _get_alarm_threshold(self): + """ + Getter method for alarm_threshold, mapped from YANG variable /components/component/state/temperature/alarm_threshold (uint32) + + YANG Description: The threshold value that was crossed for this alarm. + """ + return self.__alarm_threshold + + def _set_alarm_threshold(self, v, load=False): + """ + Setter method for alarm_threshold, mapped from YANG variable /components/component/state/temperature/alarm_threshold (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_alarm_threshold is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_alarm_threshold() directly. + + YANG Description: The threshold value that was crossed for this alarm. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """alarm_threshold must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False)""", + }) + + self.__alarm_threshold = t + if hasattr(self, '_set'): + self._set() + + def _unset_alarm_threshold(self): + self.__alarm_threshold = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="alarm-threshold", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='uint32', is_config=False) + + + def _get_alarm_severity(self): + """ + Getter method for alarm_severity, mapped from YANG variable /components/component/state/temperature/alarm_severity (identityref) + + YANG Description: The severity of the current alarm. + """ + return self.__alarm_severity + + def _set_alarm_severity(self, v, load=False): + """ + Setter method for alarm_severity, mapped from YANG variable /components/component/state/temperature/alarm_severity (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_alarm_severity is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_alarm_severity() directly. + + YANG Description: The severity of the current alarm. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """alarm_severity must be of a type compatible with identityref""", + 'defined-type': "openconfig-platform:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False)""", + }) + + self.__alarm_severity = t + if hasattr(self, '_set'): + self._set() + + def _unset_alarm_severity(self): + self.__alarm_severity = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:UNKNOWN': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MINOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:WARNING': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:MAJOR': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}, 'oc-alarm-types:CRITICAL': {'@module': 'openconfig-alarm-types', '@namespace': 'http://openconfig.net/yang/alarms/types'}},), is_leaf=True, yang_name="alarm-severity", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='identityref', is_config=False) + + instant = __builtin__.property(_get_instant) + avg = __builtin__.property(_get_avg) + min_ = __builtin__.property(_get_min_) + max_ = __builtin__.property(_get_max_) + interval = __builtin__.property(_get_interval) + min_time = __builtin__.property(_get_min_time) + max_time = __builtin__.property(_get_max_time) + alarm_status = __builtin__.property(_get_alarm_status) + alarm_threshold = __builtin__.property(_get_alarm_threshold) + alarm_severity = __builtin__.property(_get_alarm_severity) + + + _pyangbind_elements = OrderedDict([('instant', instant), ('avg', avg), ('min_', min_), ('max_', max_), ('interval', interval), ('min_time', min_time), ('max_time', max_time), ('alarm_status', alarm_status), ('alarm_threshold', alarm_threshold), ('alarm_severity', alarm_severity), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/storage/__init__.py b/hackfest/netconf-oc/openconfig/components/component/storage/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..84f152b6c379edb6eb7c78e7b8e66f36dd47f23a --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/storage/__init__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class storage(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/storage. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for storage components + """ + _pyangbind_elements = {} + + + +class storage(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/storage. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Data for storage components + """ + _pyangbind_elements = {} + + + diff --git a/hackfest/netconf-oc/openconfig/components/component/subcomponents/__init__.py b/hackfest/netconf-oc/openconfig/components/component/subcomponents/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..5c5d7cdc87ebbb50448438f8725da5b81848b3f7 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/subcomponents/__init__.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import subcomponent +class subcomponents(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/subcomponents. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for subcomponent references + """ + __slots__ = ('_path_helper', '_extmethods', '__subcomponent',) + + _yang_name = 'subcomponents' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__subcomponent = YANGDynClass(base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents'] + + def _get_subcomponent(self): + """ + Getter method for subcomponent, mapped from YANG variable /components/component/subcomponents/subcomponent (list) + + YANG Description: List of subcomponent references + """ + return self.__subcomponent + + def _set_subcomponent(self, v, load=False): + """ + Setter method for subcomponent, mapped from YANG variable /components/component/subcomponents/subcomponent (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_subcomponent is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_subcomponent() directly. + + YANG Description: List of subcomponent references + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """subcomponent must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__subcomponent = t + if hasattr(self, '_set'): + self._set() + + def _unset_subcomponent(self): + self.__subcomponent = YANGDynClass(base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + subcomponent = __builtin__.property(_get_subcomponent, _set_subcomponent) + + + _pyangbind_elements = OrderedDict([('subcomponent', subcomponent), ]) + + +from . import subcomponent +class subcomponents(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/subcomponents. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for subcomponent references + """ + __slots__ = ('_path_helper', '_extmethods', '__subcomponent',) + + _yang_name = 'subcomponents' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__subcomponent = YANGDynClass(base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents'] + + def _get_subcomponent(self): + """ + Getter method for subcomponent, mapped from YANG variable /components/component/subcomponents/subcomponent (list) + + YANG Description: List of subcomponent references + """ + return self.__subcomponent + + def _set_subcomponent(self, v, load=False): + """ + Setter method for subcomponent, mapped from YANG variable /components/component/subcomponents/subcomponent (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_subcomponent is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_subcomponent() directly. + + YANG Description: List of subcomponent references + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """subcomponent must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True)""", + }) + + self.__subcomponent = t + if hasattr(self, '_set'): + self._set() + + def _unset_subcomponent(self): + self.__subcomponent = YANGDynClass(base=YANGListType("name",subcomponent.subcomponent, yang_name="subcomponent", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="subcomponent", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='list', is_config=True) + + subcomponent = __builtin__.property(_get_subcomponent, _set_subcomponent) + + + _pyangbind_elements = OrderedDict([('subcomponent', subcomponent), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/__init__.py b/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8f187809f977bd6fa9cc12bc81196dca7d51b9a1 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/__init__.py @@ -0,0 +1,376 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class subcomponent(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/subcomponents/subcomponent. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of subcomponent references + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'subcomponent' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents', 'subcomponent'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/name (leafref) + + YANG Description: Reference to the name list key + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the name list key + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/subcomponents/subcomponent/config (container) + + YANG Description: Configuration data for the subcomponent + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/subcomponents/subcomponent/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/subcomponents/subcomponent/state (container) + + YANG Description: Operational state data for the subcomponent + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/subcomponents/subcomponent/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + +from . import config +from . import state +class subcomponent(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/subcomponents/subcomponent. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: List of subcomponent references + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state',) + + _yang_name = 'subcomponent' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents', 'subcomponent'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/name (leafref) + + YANG Description: Reference to the name list key + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the name list key + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /components/component/subcomponents/subcomponent/config (container) + + YANG Description: Configuration data for the subcomponent + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /components/component/subcomponents/subcomponent/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /components/component/subcomponents/subcomponent/state (container) + + YANG Description: Operational state data for the subcomponent + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /components/component/subcomponents/subcomponent/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/config/__init__.py b/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..97f1e2adc9782da13a0285f91ca6a8662578c718 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/config/__init__.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/subcomponents/subcomponent/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for the subcomponent + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents', 'subcomponent', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/config/name (leafref) + + YANG Description: Reference to the name of the subcomponent + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/config/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the name of the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/subcomponents/subcomponent/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for the subcomponent + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents', 'subcomponent', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/config/name (leafref) + + YANG Description: Reference to the name of the subcomponent + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/config/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the name of the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + diff --git a/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/state/__init__.py b/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..fe204b7573784e4b542a53eac6c3ad9fbe15e89f --- /dev/null +++ b/hackfest/netconf-oc/openconfig/components/component/subcomponents/subcomponent/state/__init__.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform - based on the path /components/component/subcomponents/subcomponent/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for the subcomponent + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents', 'subcomponent', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/state/name (leafref) + + YANG Description: Reference to the name of the subcomponent + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/state/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the name of the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + + name = __builtin__.property(_get_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-platform-common - based on the path /components/component/subcomponents/subcomponent/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for the subcomponent + """ + __slots__ = ('_path_helper', '_extmethods', '__name',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/platform' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['components', 'component', 'subcomponents', 'subcomponent', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/state/name (leafref) + + YANG Description: Reference to the name of the subcomponent + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /components/component/subcomponents/subcomponent/state/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: Reference to the name of the subcomponent + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform', defining_module='openconfig-platform', yang_type='leafref', is_config=False) + + name = __builtin__.property(_get_name) + + + _pyangbind_elements = OrderedDict([('name', name), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..af0371e3f1870194ab8abd48a8a57773453e59ac --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/__init__.py @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import interface +class interfaces(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top level container for interfaces, including configuration +and state data. + """ + __slots__ = ('_path_helper', '_extmethods', '__interface',) + + _yang_name = 'interfaces' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__interface = YANGDynClass(base=YANGListType("name",interface.interface, yang_name="interface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces'] + + def _get_interface(self): + """ + Getter method for interface, mapped from YANG variable /interfaces/interface (list) + + YANG Description: The list of named interfaces on the device. + """ + return self.__interface + + def _set_interface(self, v, load=False): + """ + Setter method for interface, mapped from YANG variable /interfaces/interface (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_interface is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_interface() directly. + + YANG Description: The list of named interfaces on the device. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("name",interface.interface, yang_name="interface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """interface must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("name",interface.interface, yang_name="interface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True)""", + }) + + self.__interface = t + if hasattr(self, '_set'): + self._set() + + def _unset_interface(self): + self.__interface = YANGDynClass(base=YANGListType("name",interface.interface, yang_name="interface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='name', extensions=None), is_container='list', yang_name="interface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True) + + interface = __builtin__.property(_get_interface, _set_interface) + + + _pyangbind_elements = OrderedDict([('interface', interface), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..7850395040d98f3431c7faa94fbeaedbf55e5b32 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/__init__.py @@ -0,0 +1,327 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +from . import hold_time +from . import subinterfaces +from . import ethernet +class interface(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The list of named interfaces on the device. + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__config','__state','__hold_time','__subinterfaces','__ethernet',) + + _yang_name = 'interface' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + self.__hold_time = YANGDynClass(base=hold_time.hold_time, is_container='container', yang_name="hold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + self.__subinterfaces = YANGDynClass(base=subinterfaces.subinterfaces, is_container='container', yang_name="subinterfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + self.__ethernet = YANGDynClass(base=ethernet.ethernet, is_container='container', yang_name="ethernet", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /interfaces/interface/name (leafref) + + YANG Description: References the name of the interface + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /interfaces/interface/name (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: References the name of the interface + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /interfaces/interface/config (container) + + YANG Description: Configurable items at the global, physical interface +level + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /interfaces/interface/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configurable items at the global, physical interface +level + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /interfaces/interface/state (container) + + YANG Description: Operational state data at the global interface level + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /interfaces/interface/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data at the global interface level + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + + def _get_hold_time(self): + """ + Getter method for hold_time, mapped from YANG variable /interfaces/interface/hold_time (container) + + YANG Description: Top-level container for hold-time settings to enable +dampening advertisements of interface transitions. + """ + return self.__hold_time + + def _set_hold_time(self, v, load=False): + """ + Setter method for hold_time, mapped from YANG variable /interfaces/interface/hold_time (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_hold_time is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hold_time() directly. + + YANG Description: Top-level container for hold-time settings to enable +dampening advertisements of interface transitions. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=hold_time.hold_time, is_container='container', yang_name="hold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hold_time must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=hold_time.hold_time, is_container='container', yang_name="hold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__hold_time = t + if hasattr(self, '_set'): + self._set() + + def _unset_hold_time(self): + self.__hold_time = YANGDynClass(base=hold_time.hold_time, is_container='container', yang_name="hold-time", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + + def _get_subinterfaces(self): + """ + Getter method for subinterfaces, mapped from YANG variable /interfaces/interface/subinterfaces (container) + + YANG Description: Enclosing container for the list of subinterfaces associated +with a physical interface + """ + return self.__subinterfaces + + def _set_subinterfaces(self, v, load=False): + """ + Setter method for subinterfaces, mapped from YANG variable /interfaces/interface/subinterfaces (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_subinterfaces is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_subinterfaces() directly. + + YANG Description: Enclosing container for the list of subinterfaces associated +with a physical interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=subinterfaces.subinterfaces, is_container='container', yang_name="subinterfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """subinterfaces must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=subinterfaces.subinterfaces, is_container='container', yang_name="subinterfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__subinterfaces = t + if hasattr(self, '_set'): + self._set() + + def _unset_subinterfaces(self): + self.__subinterfaces = YANGDynClass(base=subinterfaces.subinterfaces, is_container='container', yang_name="subinterfaces", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + + def _get_ethernet(self): + """ + Getter method for ethernet, mapped from YANG variable /interfaces/interface/ethernet (container) + + YANG Description: Top-level container for ethernet configuration +and state + """ + return self.__ethernet + + def _set_ethernet(self, v, load=False): + """ + Setter method for ethernet, mapped from YANG variable /interfaces/interface/ethernet (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_ethernet is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ethernet() directly. + + YANG Description: Top-level container for ethernet configuration +and state + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=ethernet.ethernet, is_container='container', yang_name="ethernet", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ethernet must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=ethernet.ethernet, is_container='container', yang_name="ethernet", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True)""", + }) + + self.__ethernet = t + if hasattr(self, '_set'): + self._set() + + def _unset_ethernet(self): + self.__ethernet = YANGDynClass(base=ethernet.ethernet, is_container='container', yang_name="ethernet", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + hold_time = __builtin__.property(_get_hold_time, _set_hold_time) + subinterfaces = __builtin__.property(_get_subinterfaces, _set_subinterfaces) + ethernet = __builtin__.property(_get_ethernet, _set_ethernet) + + + _pyangbind_elements = OrderedDict([('name', name), ('config', config), ('state', state), ('hold_time', hold_time), ('subinterfaces', subinterfaces), ('ethernet', ethernet), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/config/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..84dbcfaec66e765d244886bc83622aee2e31c7f4 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/config/__init__.py @@ -0,0 +1,476 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configurable items at the global, physical interface +level + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__type','__mtu','__loopback_mode','__description','__enabled',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + self.__type = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=True) + self.__mtu = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=True) + self.__loopback_mode = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'config'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /interfaces/interface/config/name (string) + + YANG Description: The name of the interface. + +A device MAY restrict the allowed values for this leaf, +possibly depending on the type of the interface. +For system-controlled interfaces, this leaf is the +device-specific name of the interface. The 'config false' +list interfaces/interface[name]/state contains the currently +existing interfaces on the device. + +If a client tries to create configuration for a +system-controlled interface that is not present in the +corresponding state list, the server MAY reject +the request if the implementation does not support +pre-provisioning of interfaces or if the name refers to +an interface that can never exist in the system. A +NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + +The IETF model in RFC 7223 provides YANG features for the +following (i.e., pre-provisioning and arbitrary-names), +however they are omitted here: + + If the device supports pre-provisioning of interface + configuration, the 'pre-provisioning' feature is + advertised. + + If the device allows arbitrarily named user-controlled + interfaces, the 'arbitrary-names' feature is advertised. + +When a configured user-controlled interface is created by +the system, it is instantiated with the same name in the +/interfaces/interface[name]/state list. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /interfaces/interface/config/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: The name of the interface. + +A device MAY restrict the allowed values for this leaf, +possibly depending on the type of the interface. +For system-controlled interfaces, this leaf is the +device-specific name of the interface. The 'config false' +list interfaces/interface[name]/state contains the currently +existing interfaces on the device. + +If a client tries to create configuration for a +system-controlled interface that is not present in the +corresponding state list, the server MAY reject +the request if the implementation does not support +pre-provisioning of interfaces or if the name refers to +an interface that can never exist in the system. A +NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + +The IETF model in RFC 7223 provides YANG features for the +following (i.e., pre-provisioning and arbitrary-names), +however they are omitted here: + + If the device supports pre-provisioning of interface + configuration, the 'pre-provisioning' feature is + advertised. + + If the device allows arbitrarily named user-controlled + interfaces, the 'arbitrary-names' feature is advertised. + +When a configured user-controlled interface is created by +the system, it is instantiated with the same name in the +/interfaces/interface[name]/state list. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + + + def _get_type(self): + """ + Getter method for type, mapped from YANG variable /interfaces/interface/config/type (identityref) + + YANG Description: The type of the interface. + +When an interface entry is created, a server MAY +initialize the type leaf with a valid value, e.g., if it +is possible to derive the type from the name of the +interface. + +If a client tries to set the type of an interface to a +value that can never be used by the system, e.g., if the +type is not supported or if the type does not match the +name of the interface, the server MUST reject the request. +A NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + """ + return self.__type + + def _set_type(self, v, load=False): + """ + Setter method for type, mapped from YANG variable /interfaces/interface/config/type (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_type is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_type() directly. + + YANG Description: The type of the interface. + +When an interface entry is created, a server MAY +initialize the type leaf with a valid value, e.g., if it +is possible to derive the type from the name of the +interface. + +If a client tries to set the type of an interface to a +value that can never be used by the system, e.g., if the +type is not supported or if the type does not match the +name of the interface, the server MUST reject the request. +A NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """type must be of a type compatible with identityref""", + 'defined-type': "openconfig-interfaces:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=True)""", + }) + + self.__type = t + if hasattr(self, '_set'): + self._set() + + def _unset_type(self): + self.__type = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=True) + + + def _get_mtu(self): + """ + Getter method for mtu, mapped from YANG variable /interfaces/interface/config/mtu (uint16) + + YANG Description: Set the max transmission unit size in octets +for the physical interface. If this is not set, the mtu is +set to the operational default -- e.g., 1514 bytes on an +Ethernet interface. + """ + return self.__mtu + + def _set_mtu(self, v, load=False): + """ + Setter method for mtu, mapped from YANG variable /interfaces/interface/config/mtu (uint16) + If this variable is read-only (config: false) in the + source YANG file, then _set_mtu is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mtu() directly. + + YANG Description: Set the max transmission unit size in octets +for the physical interface. If this is not set, the mtu is +set to the operational default -- e.g., 1514 bytes on an +Ethernet interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mtu must be of a type compatible with uint16""", + 'defined-type': "uint16", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=True)""", + }) + + self.__mtu = t + if hasattr(self, '_set'): + self._set() + + def _unset_mtu(self): + self.__mtu = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=True) + + + def _get_loopback_mode(self): + """ + Getter method for loopback_mode, mapped from YANG variable /interfaces/interface/config/loopback_mode (boolean) + + YANG Description: When set to true, the interface is logically looped back, +such that packets that are forwarded via the interface +are received on the same interface. + """ + return self.__loopback_mode + + def _set_loopback_mode(self, v, load=False): + """ + Setter method for loopback_mode, mapped from YANG variable /interfaces/interface/config/loopback_mode (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_loopback_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_loopback_mode() directly. + + YANG Description: When set to true, the interface is logically looped back, +such that packets that are forwarded via the interface +are received on the same interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """loopback_mode must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True)""", + }) + + self.__loopback_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_loopback_mode(self): + self.__loopback_mode = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + + + def _get_description(self): + """ + Getter method for description, mapped from YANG variable /interfaces/interface/config/description (string) + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + return self.__description + + def _set_description(self, v, load=False): + """ + Setter method for description, mapped from YANG variable /interfaces/interface/config/description (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_description is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_description() directly. + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """description must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True)""", + }) + + self.__description = t + if hasattr(self, '_set'): + self._set() + + def _unset_description(self): + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + + + def _get_enabled(self): + """ + Getter method for enabled, mapped from YANG variable /interfaces/interface/config/enabled (boolean) + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + return self.__enabled + + def _set_enabled(self, v, load=False): + """ + Setter method for enabled, mapped from YANG variable /interfaces/interface/config/enabled (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_enabled is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_enabled() directly. + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """enabled must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True)""", + }) + + self.__enabled = t + if hasattr(self, '_set'): + self._set() + + def _unset_enabled(self): + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + + name = __builtin__.property(_get_name, _set_name) + type = __builtin__.property(_get_type, _set_type) + mtu = __builtin__.property(_get_mtu, _set_mtu) + loopback_mode = __builtin__.property(_get_loopback_mode, _set_loopback_mode) + description = __builtin__.property(_get_description, _set_description) + enabled = __builtin__.property(_get_enabled, _set_enabled) + + + _pyangbind_elements = OrderedDict([('name', name), ('type', type), ('mtu', mtu), ('loopback_mode', loopback_mode), ('description', description), ('enabled', enabled), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..0d56776a7581d6f16a0059ec7f3909e4aa80c41b --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/__init__.py @@ -0,0 +1,156 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class ethernet(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/ethernet. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top-level container for ethernet configuration +and state + """ + __slots__ = ('_path_helper', '_extmethods', '__config','__state',) + + _yang_name = 'ethernet' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'ethernet'] + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /interfaces/interface/ethernet/config (container) + + YANG Description: Configuration data for ethernet interfaces + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /interfaces/interface/ethernet/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for ethernet interfaces + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /interfaces/interface/ethernet/state (container) + + YANG Description: State variables for Ethernet interfaces + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /interfaces/interface/ethernet/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: State variables for Ethernet interfaces + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=True) + + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/config/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d07a615a7896c294e004680cc920859df3f80b15 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/config/__init__.py @@ -0,0 +1,416 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/ethernet/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for ethernet interfaces + """ + __slots__ = ('_path_helper', '_extmethods', '__mac_address','__auto_negotiate','__standalone_link_training','__duplex_mode','__port_speed','__enable_flow_control','__fec_mode',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__mac_address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=True) + self.__auto_negotiate = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + self.__standalone_link_training = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + self.__duplex_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=True) + self.__port_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True) + self.__enable_flow_control = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + self.__fec_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'ethernet', 'config'] + + def _get_mac_address(self): + """ + Getter method for mac_address, mapped from YANG variable /interfaces/interface/ethernet/config/mac_address (oc-yang:mac-address) + + YANG Description: Assigns a MAC address to the Ethernet interface. If not +specified, the corresponding operational state leaf is +expected to show the system-assigned MAC address. + """ + return self.__mac_address + + def _set_mac_address(self, v, load=False): + """ + Setter method for mac_address, mapped from YANG variable /interfaces/interface/ethernet/config/mac_address (oc-yang:mac-address) + If this variable is read-only (config: false) in the + source YANG file, then _set_mac_address is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mac_address() directly. + + YANG Description: Assigns a MAC address to the Ethernet interface. If not +specified, the corresponding operational state leaf is +expected to show the system-assigned MAC address. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mac_address must be of a type compatible with oc-yang:mac-address""", + 'defined-type': "oc-yang:mac-address", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=True)""", + }) + + self.__mac_address = t + if hasattr(self, '_set'): + self._set() + + def _unset_mac_address(self): + self.__mac_address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=True) + + + def _get_auto_negotiate(self): + """ + Getter method for auto_negotiate, mapped from YANG variable /interfaces/interface/ethernet/config/auto_negotiate (boolean) + + YANG Description: Set to TRUE to request the interface to auto-negotiate +transmission parameters with its peer interface. When +set to FALSE, the transmission parameters are specified +manually. + """ + return self.__auto_negotiate + + def _set_auto_negotiate(self, v, load=False): + """ + Setter method for auto_negotiate, mapped from YANG variable /interfaces/interface/ethernet/config/auto_negotiate (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_auto_negotiate is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_auto_negotiate() directly. + + YANG Description: Set to TRUE to request the interface to auto-negotiate +transmission parameters with its peer interface. When +set to FALSE, the transmission parameters are specified +manually. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """auto_negotiate must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True)""", + }) + + self.__auto_negotiate = t + if hasattr(self, '_set'): + self._set() + + def _unset_auto_negotiate(self): + self.__auto_negotiate = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + + + def _get_standalone_link_training(self): + """ + Getter method for standalone_link_training, mapped from YANG variable /interfaces/interface/ethernet/config/standalone_link_training (boolean) + + YANG Description: Link training is automatic tuning of the SerDes transmit and +receive parameters to ensure an optimal connection over copper +links. It is normally run as part of the auto negotiation +sequence as specified in IEEE 802.3 Clause 73. + +Standalone link training is used when full auto negotiation is +not desired on an Ethernet link but link training is needed. +It is configured by setting the standalone-link-training leaf +to TRUE and augo-negotiate leaf to FALSE. + +Note: If auto-negotiate is true, then the value of standalone +link training leaf will be ignored. + """ + return self.__standalone_link_training + + def _set_standalone_link_training(self, v, load=False): + """ + Setter method for standalone_link_training, mapped from YANG variable /interfaces/interface/ethernet/config/standalone_link_training (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_standalone_link_training is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_standalone_link_training() directly. + + YANG Description: Link training is automatic tuning of the SerDes transmit and +receive parameters to ensure an optimal connection over copper +links. It is normally run as part of the auto negotiation +sequence as specified in IEEE 802.3 Clause 73. + +Standalone link training is used when full auto negotiation is +not desired on an Ethernet link but link training is needed. +It is configured by setting the standalone-link-training leaf +to TRUE and augo-negotiate leaf to FALSE. + +Note: If auto-negotiate is true, then the value of standalone +link training leaf will be ignored. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """standalone_link_training must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True)""", + }) + + self.__standalone_link_training = t + if hasattr(self, '_set'): + self._set() + + def _unset_standalone_link_training(self): + self.__standalone_link_training = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + + + def _get_duplex_mode(self): + """ + Getter method for duplex_mode, mapped from YANG variable /interfaces/interface/ethernet/config/duplex_mode (enumeration) + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +duplex mode that will be advertised to the peer. If +unspecified, the interface should negotiate the duplex mode +directly (typically full-duplex). When auto-negotiate is +FALSE, this sets the duplex mode on the interface directly. + """ + return self.__duplex_mode + + def _set_duplex_mode(self, v, load=False): + """ + Setter method for duplex_mode, mapped from YANG variable /interfaces/interface/ethernet/config/duplex_mode (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_duplex_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_duplex_mode() directly. + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +duplex mode that will be advertised to the peer. If +unspecified, the interface should negotiate the duplex mode +directly (typically full-duplex). When auto-negotiate is +FALSE, this sets the duplex mode on the interface directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """duplex_mode must be of a type compatible with enumeration""", + 'defined-type': "openconfig-if-ethernet:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=True)""", + }) + + self.__duplex_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_duplex_mode(self): + self.__duplex_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=True) + + + def _get_port_speed(self): + """ + Getter method for port_speed, mapped from YANG variable /interfaces/interface/ethernet/config/port_speed (identityref) + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +port-speed mode that will be advertised to the peer for +negotiation. If unspecified, it is expected that the +interface will select the highest speed available based on +negotiation. When auto-negotiate is set to FALSE, sets the +link speed to a fixed value -- supported values are defined +by ETHERNET_SPEED identities + """ + return self.__port_speed + + def _set_port_speed(self, v, load=False): + """ + Setter method for port_speed, mapped from YANG variable /interfaces/interface/ethernet/config/port_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_port_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port_speed() directly. + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +port-speed mode that will be advertised to the peer for +negotiation. If unspecified, it is expected that the +interface will select the highest speed available based on +negotiation. When auto-negotiate is set to FALSE, sets the +link speed to a fixed value -- supported values are defined +by ETHERNET_SPEED identities + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-if-ethernet:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True)""", + }) + + self.__port_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_port_speed(self): + self.__port_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True) + + + def _get_enable_flow_control(self): + """ + Getter method for enable_flow_control, mapped from YANG variable /interfaces/interface/ethernet/config/enable_flow_control (boolean) + + YANG Description: Enable or disable flow control for this interface. +Ethernet flow control is a mechanism by which a receiver +may send PAUSE frames to a sender to stop transmission for +a specified time. + +This setting should override auto-negotiated flow control +settings. If left unspecified, and auto-negotiate is TRUE, +flow control mode is negotiated with the peer interface. + """ + return self.__enable_flow_control + + def _set_enable_flow_control(self, v, load=False): + """ + Setter method for enable_flow_control, mapped from YANG variable /interfaces/interface/ethernet/config/enable_flow_control (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_enable_flow_control is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_enable_flow_control() directly. + + YANG Description: Enable or disable flow control for this interface. +Ethernet flow control is a mechanism by which a receiver +may send PAUSE frames to a sender to stop transmission for +a specified time. + +This setting should override auto-negotiated flow control +settings. If left unspecified, and auto-negotiate is TRUE, +flow control mode is negotiated with the peer interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """enable_flow_control must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True)""", + }) + + self.__enable_flow_control = t + if hasattr(self, '_set'): + self._set() + + def _unset_enable_flow_control(self): + self.__enable_flow_control = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=True) + + + def _get_fec_mode(self): + """ + Getter method for fec_mode, mapped from YANG variable /interfaces/interface/ethernet/config/fec_mode (identityref) + + YANG Description: The FEC mode applied to the physical channels associated with +the interface. + """ + return self.__fec_mode + + def _set_fec_mode(self, v, load=False): + """ + Setter method for fec_mode, mapped from YANG variable /interfaces/interface/ethernet/config/fec_mode (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_fec_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fec_mode() directly. + + YANG Description: The FEC mode applied to the physical channels associated with +the interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fec_mode must be of a type compatible with identityref""", + 'defined-type': "openconfig-if-ethernet:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True)""", + }) + + self.__fec_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_fec_mode(self): + self.__fec_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=True) + + mac_address = __builtin__.property(_get_mac_address, _set_mac_address) + auto_negotiate = __builtin__.property(_get_auto_negotiate, _set_auto_negotiate) + standalone_link_training = __builtin__.property(_get_standalone_link_training, _set_standalone_link_training) + duplex_mode = __builtin__.property(_get_duplex_mode, _set_duplex_mode) + port_speed = __builtin__.property(_get_port_speed, _set_port_speed) + enable_flow_control = __builtin__.property(_get_enable_flow_control, _set_enable_flow_control) + fec_mode = __builtin__.property(_get_fec_mode, _set_fec_mode) + + + _pyangbind_elements = OrderedDict([('mac_address', mac_address), ('auto_negotiate', auto_negotiate), ('standalone_link_training', standalone_link_training), ('duplex_mode', duplex_mode), ('port_speed', port_speed), ('enable_flow_control', enable_flow_control), ('fec_mode', fec_mode), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/state/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..07b61c4c08146ce5641faf9efa6188fe84d7d55c --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/state/__init__.py @@ -0,0 +1,583 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import counters +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/ethernet/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: State variables for Ethernet interfaces + """ + __slots__ = ('_path_helper', '_extmethods', '__mac_address','__auto_negotiate','__standalone_link_training','__duplex_mode','__port_speed','__enable_flow_control','__fec_mode','__hw_mac_address','__negotiated_duplex_mode','__negotiated_port_speed','__counters',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__mac_address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False) + self.__auto_negotiate = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + self.__standalone_link_training = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + self.__duplex_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False) + self.__port_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + self.__enable_flow_control = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + self.__fec_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + self.__hw_mac_address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="hw-mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False) + self.__negotiated_duplex_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="negotiated-duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False) + self.__negotiated_port_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="negotiated-port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + self.__counters = YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'ethernet', 'state'] + + def _get_mac_address(self): + """ + Getter method for mac_address, mapped from YANG variable /interfaces/interface/ethernet/state/mac_address (oc-yang:mac-address) + + YANG Description: Assigns a MAC address to the Ethernet interface. If not +specified, the corresponding operational state leaf is +expected to show the system-assigned MAC address. + """ + return self.__mac_address + + def _set_mac_address(self, v, load=False): + """ + Setter method for mac_address, mapped from YANG variable /interfaces/interface/ethernet/state/mac_address (oc-yang:mac-address) + If this variable is read-only (config: false) in the + source YANG file, then _set_mac_address is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mac_address() directly. + + YANG Description: Assigns a MAC address to the Ethernet interface. If not +specified, the corresponding operational state leaf is +expected to show the system-assigned MAC address. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mac_address must be of a type compatible with oc-yang:mac-address""", + 'defined-type': "oc-yang:mac-address", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False)""", + }) + + self.__mac_address = t + if hasattr(self, '_set'): + self._set() + + def _unset_mac_address(self): + self.__mac_address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False) + + + def _get_auto_negotiate(self): + """ + Getter method for auto_negotiate, mapped from YANG variable /interfaces/interface/ethernet/state/auto_negotiate (boolean) + + YANG Description: Set to TRUE to request the interface to auto-negotiate +transmission parameters with its peer interface. When +set to FALSE, the transmission parameters are specified +manually. + """ + return self.__auto_negotiate + + def _set_auto_negotiate(self, v, load=False): + """ + Setter method for auto_negotiate, mapped from YANG variable /interfaces/interface/ethernet/state/auto_negotiate (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_auto_negotiate is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_auto_negotiate() directly. + + YANG Description: Set to TRUE to request the interface to auto-negotiate +transmission parameters with its peer interface. When +set to FALSE, the transmission parameters are specified +manually. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """auto_negotiate must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False)""", + }) + + self.__auto_negotiate = t + if hasattr(self, '_set'): + self._set() + + def _unset_auto_negotiate(self): + self.__auto_negotiate = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="auto-negotiate", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + + + def _get_standalone_link_training(self): + """ + Getter method for standalone_link_training, mapped from YANG variable /interfaces/interface/ethernet/state/standalone_link_training (boolean) + + YANG Description: Link training is automatic tuning of the SerDes transmit and +receive parameters to ensure an optimal connection over copper +links. It is normally run as part of the auto negotiation +sequence as specified in IEEE 802.3 Clause 73. + +Standalone link training is used when full auto negotiation is +not desired on an Ethernet link but link training is needed. +It is configured by setting the standalone-link-training leaf +to TRUE and augo-negotiate leaf to FALSE. + +Note: If auto-negotiate is true, then the value of standalone +link training leaf will be ignored. + """ + return self.__standalone_link_training + + def _set_standalone_link_training(self, v, load=False): + """ + Setter method for standalone_link_training, mapped from YANG variable /interfaces/interface/ethernet/state/standalone_link_training (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_standalone_link_training is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_standalone_link_training() directly. + + YANG Description: Link training is automatic tuning of the SerDes transmit and +receive parameters to ensure an optimal connection over copper +links. It is normally run as part of the auto negotiation +sequence as specified in IEEE 802.3 Clause 73. + +Standalone link training is used when full auto negotiation is +not desired on an Ethernet link but link training is needed. +It is configured by setting the standalone-link-training leaf +to TRUE and augo-negotiate leaf to FALSE. + +Note: If auto-negotiate is true, then the value of standalone +link training leaf will be ignored. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """standalone_link_training must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False)""", + }) + + self.__standalone_link_training = t + if hasattr(self, '_set'): + self._set() + + def _unset_standalone_link_training(self): + self.__standalone_link_training = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="standalone-link-training", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + + + def _get_duplex_mode(self): + """ + Getter method for duplex_mode, mapped from YANG variable /interfaces/interface/ethernet/state/duplex_mode (enumeration) + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +duplex mode that will be advertised to the peer. If +unspecified, the interface should negotiate the duplex mode +directly (typically full-duplex). When auto-negotiate is +FALSE, this sets the duplex mode on the interface directly. + """ + return self.__duplex_mode + + def _set_duplex_mode(self, v, load=False): + """ + Setter method for duplex_mode, mapped from YANG variable /interfaces/interface/ethernet/state/duplex_mode (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_duplex_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_duplex_mode() directly. + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +duplex mode that will be advertised to the peer. If +unspecified, the interface should negotiate the duplex mode +directly (typically full-duplex). When auto-negotiate is +FALSE, this sets the duplex mode on the interface directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """duplex_mode must be of a type compatible with enumeration""", + 'defined-type': "openconfig-if-ethernet:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False)""", + }) + + self.__duplex_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_duplex_mode(self): + self.__duplex_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False) + + + def _get_port_speed(self): + """ + Getter method for port_speed, mapped from YANG variable /interfaces/interface/ethernet/state/port_speed (identityref) + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +port-speed mode that will be advertised to the peer for +negotiation. If unspecified, it is expected that the +interface will select the highest speed available based on +negotiation. When auto-negotiate is set to FALSE, sets the +link speed to a fixed value -- supported values are defined +by ETHERNET_SPEED identities + """ + return self.__port_speed + + def _set_port_speed(self, v, load=False): + """ + Setter method for port_speed, mapped from YANG variable /interfaces/interface/ethernet/state/port_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_port_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port_speed() directly. + + YANG Description: When auto-negotiate is TRUE, this optionally sets the +port-speed mode that will be advertised to the peer for +negotiation. If unspecified, it is expected that the +interface will select the highest speed available based on +negotiation. When auto-negotiate is set to FALSE, sets the +link speed to a fixed value -- supported values are defined +by ETHERNET_SPEED identities + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-if-ethernet:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False)""", + }) + + self.__port_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_port_speed(self): + self.__port_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + + + def _get_enable_flow_control(self): + """ + Getter method for enable_flow_control, mapped from YANG variable /interfaces/interface/ethernet/state/enable_flow_control (boolean) + + YANG Description: Enable or disable flow control for this interface. +Ethernet flow control is a mechanism by which a receiver +may send PAUSE frames to a sender to stop transmission for +a specified time. + +This setting should override auto-negotiated flow control +settings. If left unspecified, and auto-negotiate is TRUE, +flow control mode is negotiated with the peer interface. + """ + return self.__enable_flow_control + + def _set_enable_flow_control(self, v, load=False): + """ + Setter method for enable_flow_control, mapped from YANG variable /interfaces/interface/ethernet/state/enable_flow_control (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_enable_flow_control is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_enable_flow_control() directly. + + YANG Description: Enable or disable flow control for this interface. +Ethernet flow control is a mechanism by which a receiver +may send PAUSE frames to a sender to stop transmission for +a specified time. + +This setting should override auto-negotiated flow control +settings. If left unspecified, and auto-negotiate is TRUE, +flow control mode is negotiated with the peer interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """enable_flow_control must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False)""", + }) + + self.__enable_flow_control = t + if hasattr(self, '_set'): + self._set() + + def _unset_enable_flow_control(self): + self.__enable_flow_control = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="enable-flow-control", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='boolean', is_config=False) + + + def _get_fec_mode(self): + """ + Getter method for fec_mode, mapped from YANG variable /interfaces/interface/ethernet/state/fec_mode (identityref) + + YANG Description: The FEC mode applied to the physical channels associated with +the interface. + """ + return self.__fec_mode + + def _set_fec_mode(self, v, load=False): + """ + Setter method for fec_mode, mapped from YANG variable /interfaces/interface/ethernet/state/fec_mode (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_fec_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_fec_mode() directly. + + YANG Description: The FEC mode applied to the physical channels associated with +the interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """fec_mode must be of a type compatible with identityref""", + 'defined-type': "openconfig-if-ethernet:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False)""", + }) + + self.__fec_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_fec_mode(self): + self.__fec_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_FC': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS528': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_RS544_2X_INTERLEAVE': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:FEC_DISABLED': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="fec-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + + + def _get_hw_mac_address(self): + """ + Getter method for hw_mac_address, mapped from YANG variable /interfaces/interface/ethernet/state/hw_mac_address (oc-yang:mac-address) + + YANG Description: Represents the 'burned-in', or system-assigned, MAC +address for the Ethernet interface. + """ + return self.__hw_mac_address + + def _set_hw_mac_address(self, v, load=False): + """ + Setter method for hw_mac_address, mapped from YANG variable /interfaces/interface/ethernet/state/hw_mac_address (oc-yang:mac-address) + If this variable is read-only (config: false) in the + source YANG file, then _set_hw_mac_address is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hw_mac_address() directly. + + YANG Description: Represents the 'burned-in', or system-assigned, MAC +address for the Ethernet interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="hw-mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hw_mac_address must be of a type compatible with oc-yang:mac-address""", + 'defined-type': "oc-yang:mac-address", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="hw-mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False)""", + }) + + self.__hw_mac_address = t + if hasattr(self, '_set'): + self._set() + + def _unset_hw_mac_address(self): + self.__hw_mac_address = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_dict={'pattern': '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'}), is_leaf=True, yang_name="hw-mac-address", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:mac-address', is_config=False) + + + def _get_negotiated_duplex_mode(self): + """ + Getter method for negotiated_duplex_mode, mapped from YANG variable /interfaces/interface/ethernet/state/negotiated_duplex_mode (enumeration) + + YANG Description: When auto-negotiate is set to TRUE, and the interface has +completed auto-negotiation with the remote peer, this value +shows the duplex mode that has been negotiated. + """ + return self.__negotiated_duplex_mode + + def _set_negotiated_duplex_mode(self, v, load=False): + """ + Setter method for negotiated_duplex_mode, mapped from YANG variable /interfaces/interface/ethernet/state/negotiated_duplex_mode (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_negotiated_duplex_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_negotiated_duplex_mode() directly. + + YANG Description: When auto-negotiate is set to TRUE, and the interface has +completed auto-negotiation with the remote peer, this value +shows the duplex mode that has been negotiated. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="negotiated-duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """negotiated_duplex_mode must be of a type compatible with enumeration""", + 'defined-type': "openconfig-if-ethernet:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="negotiated-duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False)""", + }) + + self.__negotiated_duplex_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_negotiated_duplex_mode(self): + self.__negotiated_duplex_mode = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'FULL': {}, 'HALF': {}},), is_leaf=True, yang_name="negotiated-duplex-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='enumeration', is_config=False) + + + def _get_negotiated_port_speed(self): + """ + Getter method for negotiated_port_speed, mapped from YANG variable /interfaces/interface/ethernet/state/negotiated_port_speed (identityref) + + YANG Description: When auto-negotiate is set to TRUE, and the interface has +completed auto-negotiation with the remote peer, this value +shows the interface speed that has been negotiated. + """ + return self.__negotiated_port_speed + + def _set_negotiated_port_speed(self, v, load=False): + """ + Setter method for negotiated_port_speed, mapped from YANG variable /interfaces/interface/ethernet/state/negotiated_port_speed (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_negotiated_port_speed is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_negotiated_port_speed() directly. + + YANG Description: When auto-negotiate is set to TRUE, and the interface has +completed auto-negotiation with the remote peer, this value +shows the interface speed that has been negotiated. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="negotiated-port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """negotiated_port_speed must be of a type compatible with identityref""", + 'defined-type': "openconfig-if-ethernet:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="negotiated-port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False)""", + }) + + self.__negotiated_port_speed = t + if hasattr(self, '_set'): + self._set() + + def _unset_negotiated_port_speed(self): + self.__negotiated_port_speed = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_1GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_2500MB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_5GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_10GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_25GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_40GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_50GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_100GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_200GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_400GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_600GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_800GB': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}, 'oc-eth:SPEED_UNKNOWN': {'@module': 'openconfig-if-ethernet', '@namespace': 'http://openconfig.net/yang/interfaces/ethernet'}},), is_leaf=True, yang_name="negotiated-port-speed", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='identityref', is_config=False) + + + def _get_counters(self): + """ + Getter method for counters, mapped from YANG variable /interfaces/interface/ethernet/state/counters (container) + + YANG Description: Ethernet interface counters + """ + return self.__counters + + def _set_counters(self, v, load=False): + """ + Setter method for counters, mapped from YANG variable /interfaces/interface/ethernet/state/counters (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_counters is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_counters() directly. + + YANG Description: Ethernet interface counters + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """counters must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=False)""", + }) + + self.__counters = t + if hasattr(self, '_set'): + self._set() + + def _unset_counters(self): + self.__counters = YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='container', is_config=False) + + mac_address = __builtin__.property(_get_mac_address) + auto_negotiate = __builtin__.property(_get_auto_negotiate) + standalone_link_training = __builtin__.property(_get_standalone_link_training) + duplex_mode = __builtin__.property(_get_duplex_mode) + port_speed = __builtin__.property(_get_port_speed) + enable_flow_control = __builtin__.property(_get_enable_flow_control) + fec_mode = __builtin__.property(_get_fec_mode) + hw_mac_address = __builtin__.property(_get_hw_mac_address) + negotiated_duplex_mode = __builtin__.property(_get_negotiated_duplex_mode) + negotiated_port_speed = __builtin__.property(_get_negotiated_port_speed) + counters = __builtin__.property(_get_counters) + + + _pyangbind_elements = OrderedDict([('mac_address', mac_address), ('auto_negotiate', auto_negotiate), ('standalone_link_training', standalone_link_training), ('duplex_mode', duplex_mode), ('port_speed', port_speed), ('enable_flow_control', enable_flow_control), ('fec_mode', fec_mode), ('hw_mac_address', hw_mac_address), ('negotiated_duplex_mode', negotiated_duplex_mode), ('negotiated_port_speed', negotiated_port_speed), ('counters', counters), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/state/counters/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/state/counters/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..7387174585ced25cd6461839f76702d29e434ceb --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/ethernet/state/counters/__init__.py @@ -0,0 +1,951 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class counters(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/ethernet/state/counters. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Ethernet interface counters + """ + __slots__ = ('_path_helper', '_extmethods', '__in_mac_control_frames','__in_mac_pause_frames','__in_oversize_frames','__in_undersize_frames','__in_jabber_frames','__in_fragment_frames','__in_8021q_frames','__in_crc_errors','__in_block_errors','__in_carrier_errors','__in_interrupted_tx','__in_late_collision','__in_mac_errors_rx','__in_single_collision','__in_symbol_error','__in_maxsize_exceeded','__out_mac_control_frames','__out_mac_pause_frames','__out_8021q_frames','__out_mac_errors_tx',) + + _yang_name = 'counters' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__in_mac_control_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_mac_pause_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_oversize_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-oversize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_undersize_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-undersize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_jabber_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-jabber-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_fragment_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fragment-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_8021q_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_crc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-crc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_block_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-block-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_carrier_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-carrier-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_interrupted_tx = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-interrupted-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_late_collision = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-late-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_mac_errors_rx = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-errors-rx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_single_collision = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-single-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_symbol_error = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-symbol-error", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__in_maxsize_exceeded = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-maxsize-exceeded", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__out_mac_control_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__out_mac_pause_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__out_8021q_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + self.__out_mac_errors_tx = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-errors-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'ethernet', 'state', 'counters'] + + def _get_in_mac_control_frames(self): + """ + Getter method for in_mac_control_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_mac_control_frames (oc-yang:counter64) + + YANG Description: MAC layer control frames received on the interface + """ + return self.__in_mac_control_frames + + def _set_in_mac_control_frames(self, v, load=False): + """ + Setter method for in_mac_control_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_mac_control_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_mac_control_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_mac_control_frames() directly. + + YANG Description: MAC layer control frames received on the interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_mac_control_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_mac_control_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_mac_control_frames(self): + self.__in_mac_control_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_mac_pause_frames(self): + """ + Getter method for in_mac_pause_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_mac_pause_frames (oc-yang:counter64) + + YANG Description: MAC layer PAUSE frames received on the interface + """ + return self.__in_mac_pause_frames + + def _set_in_mac_pause_frames(self, v, load=False): + """ + Setter method for in_mac_pause_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_mac_pause_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_mac_pause_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_mac_pause_frames() directly. + + YANG Description: MAC layer PAUSE frames received on the interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_mac_pause_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_mac_pause_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_mac_pause_frames(self): + self.__in_mac_pause_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_oversize_frames(self): + """ + Getter method for in_oversize_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_oversize_frames (oc-yang:counter64) + + YANG Description: The total number of frames received that were +longer than 1518 octets (excluding framing bits, +but including FCS octets) and were otherwise +well formed. + """ + return self.__in_oversize_frames + + def _set_in_oversize_frames(self, v, load=False): + """ + Setter method for in_oversize_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_oversize_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_oversize_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_oversize_frames() directly. + + YANG Description: The total number of frames received that were +longer than 1518 octets (excluding framing bits, +but including FCS octets) and were otherwise +well formed. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-oversize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_oversize_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-oversize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_oversize_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_oversize_frames(self): + self.__in_oversize_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-oversize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_undersize_frames(self): + """ + Getter method for in_undersize_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_undersize_frames (oc-yang:counter64) + + YANG Description: The total number of frames received that were +less than 64 octets long (excluding framing bits, +but including FCS octets) and were otherwise well +formed. + """ + return self.__in_undersize_frames + + def _set_in_undersize_frames(self, v, load=False): + """ + Setter method for in_undersize_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_undersize_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_undersize_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_undersize_frames() directly. + + YANG Description: The total number of frames received that were +less than 64 octets long (excluding framing bits, +but including FCS octets) and were otherwise well +formed. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-undersize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_undersize_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-undersize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_undersize_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_undersize_frames(self): + self.__in_undersize_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-undersize-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_jabber_frames(self): + """ + Getter method for in_jabber_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_jabber_frames (oc-yang:counter64) + + YANG Description: Number of jabber frames received on the +interface. Jabber frames are typically defined as oversize +frames which also have a bad CRC. Implementations may use +slightly different definitions of what constitutes a jabber +frame. Often indicative of a NIC hardware problem. + """ + return self.__in_jabber_frames + + def _set_in_jabber_frames(self, v, load=False): + """ + Setter method for in_jabber_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_jabber_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_jabber_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_jabber_frames() directly. + + YANG Description: Number of jabber frames received on the +interface. Jabber frames are typically defined as oversize +frames which also have a bad CRC. Implementations may use +slightly different definitions of what constitutes a jabber +frame. Often indicative of a NIC hardware problem. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-jabber-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_jabber_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-jabber-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_jabber_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_jabber_frames(self): + self.__in_jabber_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-jabber-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_fragment_frames(self): + """ + Getter method for in_fragment_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_fragment_frames (oc-yang:counter64) + + YANG Description: The total number of frames received that were less than +64 octets in length (excluding framing bits but including +FCS octets) and had either a bad Frame Check Sequence +(FCS) with an integral number of octets (FCS Error) or a +bad FCS with a non-integral number of octets (Alignment +Error). + """ + return self.__in_fragment_frames + + def _set_in_fragment_frames(self, v, load=False): + """ + Setter method for in_fragment_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_fragment_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_fragment_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_fragment_frames() directly. + + YANG Description: The total number of frames received that were less than +64 octets in length (excluding framing bits but including +FCS octets) and had either a bad Frame Check Sequence +(FCS) with an integral number of octets (FCS Error) or a +bad FCS with a non-integral number of octets (Alignment +Error). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fragment-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_fragment_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fragment-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_fragment_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_fragment_frames(self): + self.__in_fragment_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fragment-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_8021q_frames(self): + """ + Getter method for in_8021q_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_8021q_frames (oc-yang:counter64) + + YANG Description: Number of 802.1q tagged frames received on the interface + """ + return self.__in_8021q_frames + + def _set_in_8021q_frames(self, v, load=False): + """ + Setter method for in_8021q_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_8021q_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_8021q_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_8021q_frames() directly. + + YANG Description: Number of 802.1q tagged frames received on the interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_8021q_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_8021q_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_8021q_frames(self): + self.__in_8021q_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_crc_errors(self): + """ + Getter method for in_crc_errors, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_crc_errors (oc-yang:counter64) + + YANG Description: The total number of frames received that +had a length (excluding framing bits, but +including FCS octets) of between 64 and 1518 +octets, inclusive, but had either a bad +Frame Check Sequence (FCS) with an integral +number of octets (FCS Error) or a bad FCS with +a non-integral number of octets (Alignment Error) + """ + return self.__in_crc_errors + + def _set_in_crc_errors(self, v, load=False): + """ + Setter method for in_crc_errors, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_crc_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_crc_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_crc_errors() directly. + + YANG Description: The total number of frames received that +had a length (excluding framing bits, but +including FCS octets) of between 64 and 1518 +octets, inclusive, but had either a bad +Frame Check Sequence (FCS) with an integral +number of octets (FCS Error) or a bad FCS with +a non-integral number of octets (Alignment Error) + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-crc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_crc_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-crc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_crc_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_crc_errors(self): + self.__in_crc_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-crc-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_block_errors(self): + """ + Getter method for in_block_errors, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_block_errors (oc-yang:counter64) + + YANG Description: The number of received errored blocks. Error detection codes +are capable of detecting whether one or more errors have +occurred in a given sequence of bits – the block. It is +normally not possible to determine the exact number of errored +bits within the block + """ + return self.__in_block_errors + + def _set_in_block_errors(self, v, load=False): + """ + Setter method for in_block_errors, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_block_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_block_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_block_errors() directly. + + YANG Description: The number of received errored blocks. Error detection codes +are capable of detecting whether one or more errors have +occurred in a given sequence of bits – the block. It is +normally not possible to determine the exact number of errored +bits within the block + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-block-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_block_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-block-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_block_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_block_errors(self): + self.__in_block_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-block-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_carrier_errors(self): + """ + Getter method for in_carrier_errors, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_carrier_errors (oc-yang:counter64) + + YANG Description: The number of received errored frames due to a carrier issue. +The value refers to MIB counter for +dot3StatsCarrierSenseErrors +oid=1.3.6.1.2.1.10.7.2.1.11 + """ + return self.__in_carrier_errors + + def _set_in_carrier_errors(self, v, load=False): + """ + Setter method for in_carrier_errors, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_carrier_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_carrier_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_carrier_errors() directly. + + YANG Description: The number of received errored frames due to a carrier issue. +The value refers to MIB counter for +dot3StatsCarrierSenseErrors +oid=1.3.6.1.2.1.10.7.2.1.11 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-carrier-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_carrier_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-carrier-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_carrier_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_carrier_errors(self): + self.__in_carrier_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-carrier-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_interrupted_tx(self): + """ + Getter method for in_interrupted_tx, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_interrupted_tx (oc-yang:counter64) + + YANG Description: The number of received errored frames due to interrupted +transmission issue. The value refers to MIB counter for +dot3StatsDeferredTransmissions +oid=1.3.6.1.2.1.10.7.2.1.7 + """ + return self.__in_interrupted_tx + + def _set_in_interrupted_tx(self, v, load=False): + """ + Setter method for in_interrupted_tx, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_interrupted_tx (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_interrupted_tx is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_interrupted_tx() directly. + + YANG Description: The number of received errored frames due to interrupted +transmission issue. The value refers to MIB counter for +dot3StatsDeferredTransmissions +oid=1.3.6.1.2.1.10.7.2.1.7 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-interrupted-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_interrupted_tx must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-interrupted-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_interrupted_tx = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_interrupted_tx(self): + self.__in_interrupted_tx = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-interrupted-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_late_collision(self): + """ + Getter method for in_late_collision, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_late_collision (oc-yang:counter64) + + YANG Description: The number of received errored frames due to late collision +issue. The value refers to MIB counter for +dot3StatsLateCollisions +oid=1.3.6.1.2.1.10.7.2.1.8 + """ + return self.__in_late_collision + + def _set_in_late_collision(self, v, load=False): + """ + Setter method for in_late_collision, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_late_collision (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_late_collision is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_late_collision() directly. + + YANG Description: The number of received errored frames due to late collision +issue. The value refers to MIB counter for +dot3StatsLateCollisions +oid=1.3.6.1.2.1.10.7.2.1.8 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-late-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_late_collision must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-late-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_late_collision = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_late_collision(self): + self.__in_late_collision = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-late-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_mac_errors_rx(self): + """ + Getter method for in_mac_errors_rx, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_mac_errors_rx (oc-yang:counter64) + + YANG Description: The number of received errored frames due to MAC errors +received. The value refers to MIB counter for +dot3StatsInternalMacReceiveErrors +oid=1.3.6.1.2.1.10.7.2.1.16 + """ + return self.__in_mac_errors_rx + + def _set_in_mac_errors_rx(self, v, load=False): + """ + Setter method for in_mac_errors_rx, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_mac_errors_rx (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_mac_errors_rx is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_mac_errors_rx() directly. + + YANG Description: The number of received errored frames due to MAC errors +received. The value refers to MIB counter for +dot3StatsInternalMacReceiveErrors +oid=1.3.6.1.2.1.10.7.2.1.16 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-errors-rx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_mac_errors_rx must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-errors-rx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_mac_errors_rx = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_mac_errors_rx(self): + self.__in_mac_errors_rx = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-mac-errors-rx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_single_collision(self): + """ + Getter method for in_single_collision, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_single_collision (oc-yang:counter64) + + YANG Description: The number of received errored frames due to single collision +issue. The value refers to MIB counter for +dot3StatsSingleCollisionFrames +oid=1.3.6.1.2.1.10.7.2.1.4 + """ + return self.__in_single_collision + + def _set_in_single_collision(self, v, load=False): + """ + Setter method for in_single_collision, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_single_collision (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_single_collision is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_single_collision() directly. + + YANG Description: The number of received errored frames due to single collision +issue. The value refers to MIB counter for +dot3StatsSingleCollisionFrames +oid=1.3.6.1.2.1.10.7.2.1.4 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-single-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_single_collision must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-single-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_single_collision = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_single_collision(self): + self.__in_single_collision = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-single-collision", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_symbol_error(self): + """ + Getter method for in_symbol_error, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_symbol_error (oc-yang:counter64) + + YANG Description: The number of received errored frames due to symbol error. +The value refers to MIB counter for +in-symbol-error +oid=1.3.6.1.2.1.10.7.2.1.18 + """ + return self.__in_symbol_error + + def _set_in_symbol_error(self, v, load=False): + """ + Setter method for in_symbol_error, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_symbol_error (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_symbol_error is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_symbol_error() directly. + + YANG Description: The number of received errored frames due to symbol error. +The value refers to MIB counter for +in-symbol-error +oid=1.3.6.1.2.1.10.7.2.1.18 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-symbol-error", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_symbol_error must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-symbol-error", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_symbol_error = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_symbol_error(self): + self.__in_symbol_error = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-symbol-error", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_maxsize_exceeded(self): + """ + Getter method for in_maxsize_exceeded, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_maxsize_exceeded (oc-yang:counter64) + + YANG Description: The total number frames received that are well-formed but +dropped due to exceeding the maximum frame size on the interface +(e.g., MTU or MRU) + """ + return self.__in_maxsize_exceeded + + def _set_in_maxsize_exceeded(self, v, load=False): + """ + Setter method for in_maxsize_exceeded, mapped from YANG variable /interfaces/interface/ethernet/state/counters/in_maxsize_exceeded (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_maxsize_exceeded is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_maxsize_exceeded() directly. + + YANG Description: The total number frames received that are well-formed but +dropped due to exceeding the maximum frame size on the interface +(e.g., MTU or MRU) + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-maxsize-exceeded", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_maxsize_exceeded must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-maxsize-exceeded", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_maxsize_exceeded = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_maxsize_exceeded(self): + self.__in_maxsize_exceeded = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-maxsize-exceeded", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_mac_control_frames(self): + """ + Getter method for out_mac_control_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_mac_control_frames (oc-yang:counter64) + + YANG Description: MAC layer control frames sent on the interface + """ + return self.__out_mac_control_frames + + def _set_out_mac_control_frames(self, v, load=False): + """ + Setter method for out_mac_control_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_mac_control_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_mac_control_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_mac_control_frames() directly. + + YANG Description: MAC layer control frames sent on the interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_mac_control_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_mac_control_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_mac_control_frames(self): + self.__out_mac_control_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-control-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_mac_pause_frames(self): + """ + Getter method for out_mac_pause_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_mac_pause_frames (oc-yang:counter64) + + YANG Description: MAC layer PAUSE frames sent on the interface + """ + return self.__out_mac_pause_frames + + def _set_out_mac_pause_frames(self, v, load=False): + """ + Setter method for out_mac_pause_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_mac_pause_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_mac_pause_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_mac_pause_frames() directly. + + YANG Description: MAC layer PAUSE frames sent on the interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_mac_pause_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_mac_pause_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_mac_pause_frames(self): + self.__out_mac_pause_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-pause-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_8021q_frames(self): + """ + Getter method for out_8021q_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_8021q_frames (oc-yang:counter64) + + YANG Description: Number of 802.1q tagged frames sent on the interface + """ + return self.__out_8021q_frames + + def _set_out_8021q_frames(self, v, load=False): + """ + Setter method for out_8021q_frames, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_8021q_frames (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_8021q_frames is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_8021q_frames() directly. + + YANG Description: Number of 802.1q tagged frames sent on the interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_8021q_frames must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_8021q_frames = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_8021q_frames(self): + self.__out_8021q_frames = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-8021q-frames", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_mac_errors_tx(self): + """ + Getter method for out_mac_errors_tx, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_mac_errors_tx (oc-yang:counter64) + + YANG Description: The number of sent errored frames due to MAC errors +transmitted. The value refers to MIB counter for +dot3StatsInternalMacTransmitErrors +oid=1.3.6.1.2.1.10.7.2.1.10 + """ + return self.__out_mac_errors_tx + + def _set_out_mac_errors_tx(self, v, load=False): + """ + Setter method for out_mac_errors_tx, mapped from YANG variable /interfaces/interface/ethernet/state/counters/out_mac_errors_tx (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_mac_errors_tx is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_mac_errors_tx() directly. + + YANG Description: The number of sent errored frames due to MAC errors +transmitted. The value refers to MIB counter for +dot3StatsInternalMacTransmitErrors +oid=1.3.6.1.2.1.10.7.2.1.10 + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-errors-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_mac_errors_tx must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-errors-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_mac_errors_tx = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_mac_errors_tx(self): + self.__out_mac_errors_tx = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-mac-errors-tx", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces/ethernet', defining_module='openconfig-if-ethernet', yang_type='oc-yang:counter64', is_config=False) + + in_mac_control_frames = __builtin__.property(_get_in_mac_control_frames) + in_mac_pause_frames = __builtin__.property(_get_in_mac_pause_frames) + in_oversize_frames = __builtin__.property(_get_in_oversize_frames) + in_undersize_frames = __builtin__.property(_get_in_undersize_frames) + in_jabber_frames = __builtin__.property(_get_in_jabber_frames) + in_fragment_frames = __builtin__.property(_get_in_fragment_frames) + in_8021q_frames = __builtin__.property(_get_in_8021q_frames) + in_crc_errors = __builtin__.property(_get_in_crc_errors) + in_block_errors = __builtin__.property(_get_in_block_errors) + in_carrier_errors = __builtin__.property(_get_in_carrier_errors) + in_interrupted_tx = __builtin__.property(_get_in_interrupted_tx) + in_late_collision = __builtin__.property(_get_in_late_collision) + in_mac_errors_rx = __builtin__.property(_get_in_mac_errors_rx) + in_single_collision = __builtin__.property(_get_in_single_collision) + in_symbol_error = __builtin__.property(_get_in_symbol_error) + in_maxsize_exceeded = __builtin__.property(_get_in_maxsize_exceeded) + out_mac_control_frames = __builtin__.property(_get_out_mac_control_frames) + out_mac_pause_frames = __builtin__.property(_get_out_mac_pause_frames) + out_8021q_frames = __builtin__.property(_get_out_8021q_frames) + out_mac_errors_tx = __builtin__.property(_get_out_mac_errors_tx) + + + _pyangbind_elements = OrderedDict([('in_mac_control_frames', in_mac_control_frames), ('in_mac_pause_frames', in_mac_pause_frames), ('in_oversize_frames', in_oversize_frames), ('in_undersize_frames', in_undersize_frames), ('in_jabber_frames', in_jabber_frames), ('in_fragment_frames', in_fragment_frames), ('in_8021q_frames', in_8021q_frames), ('in_crc_errors', in_crc_errors), ('in_block_errors', in_block_errors), ('in_carrier_errors', in_carrier_errors), ('in_interrupted_tx', in_interrupted_tx), ('in_late_collision', in_late_collision), ('in_mac_errors_rx', in_mac_errors_rx), ('in_single_collision', in_single_collision), ('in_symbol_error', in_symbol_error), ('in_maxsize_exceeded', in_maxsize_exceeded), ('out_mac_control_frames', out_mac_control_frames), ('out_mac_pause_frames', out_mac_pause_frames), ('out_8021q_frames', out_8021q_frames), ('out_mac_errors_tx', out_mac_errors_tx), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2ccfda7efab86d3f1384c506d84a25962e66c1c4 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/__init__.py @@ -0,0 +1,156 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class hold_time(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/hold-time. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Top-level container for hold-time settings to enable +dampening advertisements of interface transitions. + """ + __slots__ = ('_path_helper', '_extmethods', '__config','__state',) + + _yang_name = 'hold-time' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'hold-time'] + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /interfaces/interface/hold_time/config (container) + + YANG Description: Configuration data for interface hold-time settings. + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /interfaces/interface/hold_time/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configuration data for interface hold-time settings. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /interfaces/interface/hold_time/state (container) + + YANG Description: Operational state data for interface hold-time. + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /interfaces/interface/hold_time/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for interface hold-time. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/config/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..c3f1d822b900afa7e780d7dbc31564dd5e4316b2 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/config/__init__.py @@ -0,0 +1,161 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/hold-time/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configuration data for interface hold-time settings. + """ + __slots__ = ('_path_helper', '_extmethods', '__up','__down',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__up = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + self.__down = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'hold-time', 'config'] + + def _get_up(self): + """ + Getter method for up, mapped from YANG variable /interfaces/interface/hold_time/config/up (uint32) + + YANG Description: Dampens advertisement when the interface +transitions from down to up. A zero value means dampening +is turned off, i.e., immediate notification. + """ + return self.__up + + def _set_up(self, v, load=False): + """ + Setter method for up, mapped from YANG variable /interfaces/interface/hold_time/config/up (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_up is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_up() directly. + + YANG Description: Dampens advertisement when the interface +transitions from down to up. A zero value means dampening +is turned off, i.e., immediate notification. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """up must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True)""", + }) + + self.__up = t + if hasattr(self, '_set'): + self._set() + + def _unset_up(self): + self.__up = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + + + def _get_down(self): + """ + Getter method for down, mapped from YANG variable /interfaces/interface/hold_time/config/down (uint32) + + YANG Description: Dampens advertisement when the interface transitions from +up to down. A zero value means dampening is turned off, +i.e., immediate notification. + """ + return self.__down + + def _set_down(self, v, load=False): + """ + Setter method for down, mapped from YANG variable /interfaces/interface/hold_time/config/down (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_down is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_down() directly. + + YANG Description: Dampens advertisement when the interface transitions from +up to down. A zero value means dampening is turned off, +i.e., immediate notification. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """down must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True)""", + }) + + self.__down = t + if hasattr(self, '_set'): + self._set() + + def _unset_down(self): + self.__down = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + + up = __builtin__.property(_get_up, _set_up) + down = __builtin__.property(_get_down, _set_down) + + + _pyangbind_elements = OrderedDict([('up', up), ('down', down), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/state/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d5c994a6de356feb3618bd10efb399bb7b3ad302 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/hold_time/state/__init__.py @@ -0,0 +1,161 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/hold-time/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for interface hold-time. + """ + __slots__ = ('_path_helper', '_extmethods', '__up','__down',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__up = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + self.__down = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'hold-time', 'state'] + + def _get_up(self): + """ + Getter method for up, mapped from YANG variable /interfaces/interface/hold_time/state/up (uint32) + + YANG Description: Dampens advertisement when the interface +transitions from down to up. A zero value means dampening +is turned off, i.e., immediate notification. + """ + return self.__up + + def _set_up(self, v, load=False): + """ + Setter method for up, mapped from YANG variable /interfaces/interface/hold_time/state/up (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_up is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_up() directly. + + YANG Description: Dampens advertisement when the interface +transitions from down to up. A zero value means dampening +is turned off, i.e., immediate notification. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """up must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False)""", + }) + + self.__up = t + if hasattr(self, '_set'): + self._set() + + def _unset_up(self): + self.__up = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="up", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + + + def _get_down(self): + """ + Getter method for down, mapped from YANG variable /interfaces/interface/hold_time/state/down (uint32) + + YANG Description: Dampens advertisement when the interface transitions from +up to down. A zero value means dampening is turned off, +i.e., immediate notification. + """ + return self.__down + + def _set_down(self, v, load=False): + """ + Setter method for down, mapped from YANG variable /interfaces/interface/hold_time/state/down (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_down is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_down() directly. + + YANG Description: Dampens advertisement when the interface transitions from +up to down. A zero value means dampening is turned off, +i.e., immediate notification. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """down must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False)""", + }) + + self.__down = t + if hasattr(self, '_set'): + self._set() + + def _unset_down(self): + self.__down = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="down", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + + up = __builtin__.property(_get_up) + down = __builtin__.property(_get_down) + + + _pyangbind_elements = OrderedDict([('up', up), ('down', down), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/state/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d8e2ff185e1300fa19b14959b005ddd00dd08c88 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/state/__init__.py @@ -0,0 +1,875 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import counters +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data at the global interface level + """ + __slots__ = ('_path_helper', '_extmethods', '__name','__type','__mtu','__loopback_mode','__description','__enabled','__ifindex','__admin_status','__oper_status','__last_change','__logical','__management','__cpu','__counters','__hardware_port',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + self.__type = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=False) + self.__mtu = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=False) + self.__loopback_mode = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__ifindex = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + self.__admin_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + self.__last_change = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + self.__logical = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__management = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__cpu = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__counters = YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False) + self.__hardware_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'state'] + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /interfaces/interface/state/name (string) + + YANG Description: The name of the interface. + +A device MAY restrict the allowed values for this leaf, +possibly depending on the type of the interface. +For system-controlled interfaces, this leaf is the +device-specific name of the interface. The 'config false' +list interfaces/interface[name]/state contains the currently +existing interfaces on the device. + +If a client tries to create configuration for a +system-controlled interface that is not present in the +corresponding state list, the server MAY reject +the request if the implementation does not support +pre-provisioning of interfaces or if the name refers to +an interface that can never exist in the system. A +NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + +The IETF model in RFC 7223 provides YANG features for the +following (i.e., pre-provisioning and arbitrary-names), +however they are omitted here: + + If the device supports pre-provisioning of interface + configuration, the 'pre-provisioning' feature is + advertised. + + If the device allows arbitrarily named user-controlled + interfaces, the 'arbitrary-names' feature is advertised. + +When a configured user-controlled interface is created by +the system, it is instantiated with the same name in the +/interfaces/interface[name]/state list. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /interfaces/interface/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: The name of the interface. + +A device MAY restrict the allowed values for this leaf, +possibly depending on the type of the interface. +For system-controlled interfaces, this leaf is the +device-specific name of the interface. The 'config false' +list interfaces/interface[name]/state contains the currently +existing interfaces on the device. + +If a client tries to create configuration for a +system-controlled interface that is not present in the +corresponding state list, the server MAY reject +the request if the implementation does not support +pre-provisioning of interfaces or if the name refers to +an interface that can never exist in the system. A +NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + +The IETF model in RFC 7223 provides YANG features for the +following (i.e., pre-provisioning and arbitrary-names), +however they are omitted here: + + If the device supports pre-provisioning of interface + configuration, the 'pre-provisioning' feature is + advertised. + + If the device allows arbitrarily named user-controlled + interfaces, the 'arbitrary-names' feature is advertised. + +When a configured user-controlled interface is created by +the system, it is instantiated with the same name in the +/interfaces/interface[name]/state list. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + + + def _get_type(self): + """ + Getter method for type, mapped from YANG variable /interfaces/interface/state/type (identityref) + + YANG Description: The type of the interface. + +When an interface entry is created, a server MAY +initialize the type leaf with a valid value, e.g., if it +is possible to derive the type from the name of the +interface. + +If a client tries to set the type of an interface to a +value that can never be used by the system, e.g., if the +type is not supported or if the type does not match the +name of the interface, the server MUST reject the request. +A NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + """ + return self.__type + + def _set_type(self, v, load=False): + """ + Setter method for type, mapped from YANG variable /interfaces/interface/state/type (identityref) + If this variable is read-only (config: false) in the + source YANG file, then _set_type is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_type() directly. + + YANG Description: The type of the interface. + +When an interface entry is created, a server MAY +initialize the type leaf with a valid value, e.g., if it +is possible to derive the type from the name of the +interface. + +If a client tries to set the type of an interface to a +value that can never be used by the system, e.g., if the +type is not supported or if the type does not match the +name of the interface, the server MUST reject the request. +A NETCONF server MUST reply with an rpc-error with the +error-tag 'invalid-value' in this case. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """type must be of a type compatible with identityref""", + 'defined-type': "openconfig-interfaces:identityref", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=False)""", + }) + + self.__type = t + if hasattr(self, '_set'): + self._set() + + def _unset_type(self): + self.__type = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iana-interface-type': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:other': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:regular1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdh1822': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ddnX25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc877x25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernetCsmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88023Csmacd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88024TokenBus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025TokenRing': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88026Man': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:starLan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon10Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:proteon80Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hyperchannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fddi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:e1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:basicISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:primaryISDN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propPointToPointSerial': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ppp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:softwareLoopback': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ethernet3Mbit': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nsip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:slip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ultra': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds3': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rs232': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:para': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arcnetPlus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:miox25': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25ple': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88022llc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:localTalk': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayService': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v35': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hssi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:modem': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal5': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetPath': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetVT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:smdsIcip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propMultiplexor': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80212': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fibreChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hippiInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayInterconnect': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8023': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aflane8025': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cctEmul': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v11': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v36': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at64k': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g703at2mb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qllc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastEtherFX': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:channel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80211': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ibm370parChan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:escon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dlsw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdns': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isdnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapd': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rsrb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmLogical': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds0Bundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bsc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:async': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cnr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Dtr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:eplrs': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:arap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propCnls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hostPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:termPad': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frameRelayMPI': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x213': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025CRFPInt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:myrinet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEM': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXO': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFXS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEncap': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmDxi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmFuni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmIma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pppMultilinkBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverCdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverClaw': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:stackToStack': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualIpAddress': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:iso88025Fiber': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gigabitEthernet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lapf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:v37': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25mlp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x25huntGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:transpHdlc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:interleave': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:a12MppSwitch': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:coffee': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ces': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmSubInterface': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l2vlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:l3ipxvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalPowerline': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mediaMailOverIp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dcn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ipForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:msdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee1394': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:if-gsn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRccUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVirtual': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mplsTunnel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:srp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverFrameRelay': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:idsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:compositeLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ss7SigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propWirelessP2P': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frForward': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rfc1483': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:usb': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee8023adLag': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bgppolicyaccounting': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frf16MfrBundle': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Gatekeeper': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:h323Proxy': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpls': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mfSigLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:shdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ds1FDL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pos': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiIn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbAsiOut': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:plc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:nfas': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:tr008': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303RDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gr303IDT': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:isup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessMaclayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propDocsWirelessUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:hiperlan2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propBWAp2Mp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sonetOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:digitalWrapperOverheadChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aal2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:radioMAC': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:imt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mvl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:reachDSL': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:frDlciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmVciEndPt': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:propAtm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceOverCable': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:infiniband': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:teLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:q2931': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:virtualTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipTg': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sipSig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamChannel': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:econet': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon155': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pon622': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bridge': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:linegroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEMFGD': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDEANA': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceDID': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mpegTransport': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sixToFour': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gtp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pdnEtherLoop2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:opticalChannelGroup': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:homepna': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ciscoISLvlan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:actelisMetaLOOP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fcipLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:rpr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:qam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:lmp': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cblVectaStar': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableMCmtsDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecControlledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:macSecUncontrolledIF': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aviciOpticalEther': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:atmbond': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceFGDOS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:mocaVersion1': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee80216WMAN': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:adsl2plus': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsMacLayer': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbTdm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:dvbRcsTdma': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:x86Laps': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:wwanPP2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:voiceEBS': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifPwType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ilan': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:pip': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluELP': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vdsl2': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Profile': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapDot11Bss': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:capwapWtpVirtualRadio': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:bits': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableUpstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:cableDownstreamRfPort': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareVirtualNic': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ieee802154': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOdu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ifVfiType': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9981': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9982': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:g9983': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEpon': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluEponLogicalLink': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponOnu': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:aluGponPhysicalUni': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:vmwareNicTeam': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmDownstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsOfdmaUpstream': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:gfast': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:sdci': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:xboxWireless': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:fastdsl': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1FwdOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d1RetOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2DsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableScte55d2UsOob': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdf': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:docsCableNdr': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ptm': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:ghn': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsi': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtuc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOduc': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:otnOtsig': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveCarrierTermination': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}, 'ianaift:microwaveRadioLinkTerminal': {'@module': 'iana-if-type', '@namespace': 'urn:ietf:params:xml:ns:yang:iana-if-type'}},), is_leaf=True, yang_name="type", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='identityref', is_config=False) + + + def _get_mtu(self): + """ + Getter method for mtu, mapped from YANG variable /interfaces/interface/state/mtu (uint16) + + YANG Description: Set the max transmission unit size in octets +for the physical interface. If this is not set, the mtu is +set to the operational default -- e.g., 1514 bytes on an +Ethernet interface. + """ + return self.__mtu + + def _set_mtu(self, v, load=False): + """ + Setter method for mtu, mapped from YANG variable /interfaces/interface/state/mtu (uint16) + If this variable is read-only (config: false) in the + source YANG file, then _set_mtu is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_mtu() directly. + + YANG Description: Set the max transmission unit size in octets +for the physical interface. If this is not set, the mtu is +set to the operational default -- e.g., 1514 bytes on an +Ethernet interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """mtu must be of a type compatible with uint16""", + 'defined-type': "uint16", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=False)""", + }) + + self.__mtu = t + if hasattr(self, '_set'): + self._set() + + def _unset_mtu(self): + self.__mtu = YANGDynClass(base=RestrictedClassType(base_type=int, restriction_dict={'range': ['0..65535']},int_size=16), is_leaf=True, yang_name="mtu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint16', is_config=False) + + + def _get_loopback_mode(self): + """ + Getter method for loopback_mode, mapped from YANG variable /interfaces/interface/state/loopback_mode (boolean) + + YANG Description: When set to true, the interface is logically looped back, +such that packets that are forwarded via the interface +are received on the same interface. + """ + return self.__loopback_mode + + def _set_loopback_mode(self, v, load=False): + """ + Setter method for loopback_mode, mapped from YANG variable /interfaces/interface/state/loopback_mode (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_loopback_mode is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_loopback_mode() directly. + + YANG Description: When set to true, the interface is logically looped back, +such that packets that are forwarded via the interface +are received on the same interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """loopback_mode must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__loopback_mode = t + if hasattr(self, '_set'): + self._set() + + def _unset_loopback_mode(self): + self.__loopback_mode = YANGDynClass(base=YANGBool, default=YANGBool("false"), is_leaf=True, yang_name="loopback-mode", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_description(self): + """ + Getter method for description, mapped from YANG variable /interfaces/interface/state/description (string) + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + return self.__description + + def _set_description(self, v, load=False): + """ + Setter method for description, mapped from YANG variable /interfaces/interface/state/description (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_description is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_description() directly. + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """description must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False)""", + }) + + self.__description = t + if hasattr(self, '_set'): + self._set() + + def _unset_description(self): + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + + + def _get_enabled(self): + """ + Getter method for enabled, mapped from YANG variable /interfaces/interface/state/enabled (boolean) + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + return self.__enabled + + def _set_enabled(self, v, load=False): + """ + Setter method for enabled, mapped from YANG variable /interfaces/interface/state/enabled (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_enabled is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_enabled() directly. + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """enabled must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__enabled = t + if hasattr(self, '_set'): + self._set() + + def _unset_enabled(self): + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_ifindex(self): + """ + Getter method for ifindex, mapped from YANG variable /interfaces/interface/state/ifindex (uint32) + + YANG Description: System assigned number for each interface. Corresponds to +ifIndex object in SNMP Interface MIB + """ + return self.__ifindex + + def _set_ifindex(self, v, load=False): + """ + Setter method for ifindex, mapped from YANG variable /interfaces/interface/state/ifindex (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_ifindex is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ifindex() directly. + + YANG Description: System assigned number for each interface. Corresponds to +ifIndex object in SNMP Interface MIB + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ifindex must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False)""", + }) + + self.__ifindex = t + if hasattr(self, '_set'): + self._set() + + def _unset_ifindex(self): + self.__ifindex = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + + + def _get_admin_status(self): + """ + Getter method for admin_status, mapped from YANG variable /interfaces/interface/state/admin_status (enumeration) + + YANG Description: The desired state of the interface. In RFC 7223 this leaf +has the same read semantics as ifAdminStatus. Here, it +reflects the administrative state as set by enabling or +disabling the interface. + """ + return self.__admin_status + + def _set_admin_status(self, v, load=False): + """ + Setter method for admin_status, mapped from YANG variable /interfaces/interface/state/admin_status (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_admin_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_admin_status() directly. + + YANG Description: The desired state of the interface. In RFC 7223 this leaf +has the same read semantics as ifAdminStatus. Here, it +reflects the administrative state as set by enabling or +disabling the interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """admin_status must be of a type compatible with enumeration""", + 'defined-type': "openconfig-interfaces:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False)""", + }) + + self.__admin_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_admin_status(self): + self.__admin_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + + + def _get_oper_status(self): + """ + Getter method for oper_status, mapped from YANG variable /interfaces/interface/state/oper_status (enumeration) + + YANG Description: The current operational state of the interface. + +This leaf has the same semantics as ifOperStatus. + """ + return self.__oper_status + + def _set_oper_status(self, v, load=False): + """ + Setter method for oper_status, mapped from YANG variable /interfaces/interface/state/oper_status (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_oper_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_oper_status() directly. + + YANG Description: The current operational state of the interface. + +This leaf has the same semantics as ifOperStatus. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """oper_status must be of a type compatible with enumeration""", + 'defined-type': "openconfig-interfaces:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False)""", + }) + + self.__oper_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_oper_status(self): + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + + + def _get_last_change(self): + """ + Getter method for last_change, mapped from YANG variable /interfaces/interface/state/last_change (oc-types:timeticks64) + + YANG Description: This timestamp indicates the absolute time of the last +state change of the interface (e.g., up-to-down transition). +This is different than the SNMP ifLastChange object in the +standard interface MIB in that it is not relative to the +system boot time (i.e,. sysUpTime). + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_change + + def _set_last_change(self, v, load=False): + """ + Setter method for last_change, mapped from YANG variable /interfaces/interface/state/last_change (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_change is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_change() directly. + + YANG Description: This timestamp indicates the absolute time of the last +state change of the interface (e.g., up-to-down transition). +This is different than the SNMP ifLastChange object in the +standard interface MIB in that it is not relative to the +system boot time (i.e,. sysUpTime). + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_change must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_change = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_change(self): + self.__last_change = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_logical(self): + """ + Getter method for logical, mapped from YANG variable /interfaces/interface/state/logical (boolean) + + YANG Description: When set to true, the interface is a logical interface +which does not have an associated physical port or +channel on the system. + """ + return self.__logical + + def _set_logical(self, v, load=False): + """ + Setter method for logical, mapped from YANG variable /interfaces/interface/state/logical (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_logical is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_logical() directly. + + YANG Description: When set to true, the interface is a logical interface +which does not have an associated physical port or +channel on the system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """logical must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__logical = t + if hasattr(self, '_set'): + self._set() + + def _unset_logical(self): + self.__logical = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_management(self): + """ + Getter method for management, mapped from YANG variable /interfaces/interface/state/management (boolean) + + YANG Description: When set to true, the interface is a dedicated +management interface that is not connected to dataplane +interfaces. It may be used to connect the system to an +out-of-band management network, for example. + """ + return self.__management + + def _set_management(self, v, load=False): + """ + Setter method for management, mapped from YANG variable /interfaces/interface/state/management (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_management is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_management() directly. + + YANG Description: When set to true, the interface is a dedicated +management interface that is not connected to dataplane +interfaces. It may be used to connect the system to an +out-of-band management network, for example. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """management must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__management = t + if hasattr(self, '_set'): + self._set() + + def _unset_management(self): + self.__management = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_cpu(self): + """ + Getter method for cpu, mapped from YANG variable /interfaces/interface/state/cpu (boolean) + + YANG Description: When set to true, the interface is for traffic +that is handled by the system CPU, sometimes also called the +control plane interface. On systems that represent the CPU +interface as an Ethernet interface, for example, this leaf +should be used to distinguish the CPU interface from dataplane +interfaces. + """ + return self.__cpu + + def _set_cpu(self, v, load=False): + """ + Setter method for cpu, mapped from YANG variable /interfaces/interface/state/cpu (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_cpu is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_cpu() directly. + + YANG Description: When set to true, the interface is for traffic +that is handled by the system CPU, sometimes also called the +control plane interface. On systems that represent the CPU +interface as an Ethernet interface, for example, this leaf +should be used to distinguish the CPU interface from dataplane +interfaces. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """cpu must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__cpu = t + if hasattr(self, '_set'): + self._set() + + def _unset_cpu(self): + self.__cpu = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_counters(self): + """ + Getter method for counters, mapped from YANG variable /interfaces/interface/state/counters (container) + + YANG Description: A collection of interface-related statistics objects. + """ + return self.__counters + + def _set_counters(self, v, load=False): + """ + Setter method for counters, mapped from YANG variable /interfaces/interface/state/counters (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_counters is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_counters() directly. + + YANG Description: A collection of interface-related statistics objects. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """counters must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False)""", + }) + + self.__counters = t + if hasattr(self, '_set'): + self._set() + + def _unset_counters(self): + self.__counters = YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False) + + + def _get_hardware_port(self): + """ + Getter method for hardware_port, mapped from YANG variable /interfaces/interface/state/hardware_port (leafref) + + YANG Description: For non-channelized interfaces, references the hardware port +corresponding to the base interface. + """ + return self.__hardware_port + + def _set_hardware_port(self, v, load=False): + """ + Setter method for hardware_port, mapped from YANG variable /interfaces/interface/state/hardware_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_hardware_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_hardware_port() directly. + + YANG Description: For non-channelized interfaces, references the hardware port +corresponding to the base interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="hardware-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """hardware_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=False)""", + }) + + self.__hardware_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_hardware_port(self): + self.__hardware_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="hardware-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/platform/port', defining_module='openconfig-platform-port', yang_type='leafref', is_config=False) + + name = __builtin__.property(_get_name) + type = __builtin__.property(_get_type) + mtu = __builtin__.property(_get_mtu) + loopback_mode = __builtin__.property(_get_loopback_mode) + description = __builtin__.property(_get_description) + enabled = __builtin__.property(_get_enabled) + ifindex = __builtin__.property(_get_ifindex) + admin_status = __builtin__.property(_get_admin_status) + oper_status = __builtin__.property(_get_oper_status) + last_change = __builtin__.property(_get_last_change) + logical = __builtin__.property(_get_logical) + management = __builtin__.property(_get_management) + cpu = __builtin__.property(_get_cpu) + counters = __builtin__.property(_get_counters) + hardware_port = __builtin__.property(_get_hardware_port) + + + _pyangbind_elements = OrderedDict([('name', name), ('type', type), ('mtu', mtu), ('loopback_mode', loopback_mode), ('description', description), ('enabled', enabled), ('ifindex', ifindex), ('admin_status', admin_status), ('oper_status', oper_status), ('last_change', last_change), ('logical', logical), ('management', management), ('cpu', cpu), ('counters', counters), ('hardware_port', hardware_port), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/state/counters/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/state/counters/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..bdda9eb5484cac77f7bee914eac4c130431c4630 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/state/counters/__init__.py @@ -0,0 +1,1029 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class counters(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/state/counters. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: A collection of interface-related statistics objects. + """ + __slots__ = ('_path_helper', '_extmethods', '__in_octets','__in_pkts','__in_unicast_pkts','__in_broadcast_pkts','__in_multicast_pkts','__in_discards','__in_errors','__in_unknown_protos','__in_fcs_errors','__out_octets','__out_pkts','__out_unicast_pkts','__out_broadcast_pkts','__out_multicast_pkts','__out_discards','__out_errors','__carrier_transitions','__last_clear',) + + _yang_name = 'counters' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__in_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_unknown_protos = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_fcs_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__carrier_transitions = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__last_clear = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'state', 'counters'] + + def _get_in_octets(self): + """ + Getter method for in_octets, mapped from YANG variable /interfaces/interface/state/counters/in_octets (oc-yang:counter64) + + YANG Description: The total number of octets received on the interface, +including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_octets + + def _set_in_octets(self, v, load=False): + """ + Setter method for in_octets, mapped from YANG variable /interfaces/interface/state/counters/in_octets (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_octets is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_octets() directly. + + YANG Description: The total number of octets received on the interface, +including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_octets must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_octets = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_octets(self): + self.__in_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_pkts(self): + """ + Getter method for in_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_pkts (oc-yang:counter64) + + YANG Description: The total number of packets received on the interface, +including all unicast, multicast, broadcast and bad packets +etc. + """ + return self.__in_pkts + + def _set_in_pkts(self, v, load=False): + """ + Setter method for in_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_pkts() directly. + + YANG Description: The total number of packets received on the interface, +including all unicast, multicast, broadcast and bad packets +etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_pkts(self): + self.__in_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_unicast_pkts(self): + """ + Getter method for in_unicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_unicast_pkts (oc-yang:counter64) + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were not addressed to a +multicast or broadcast address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_unicast_pkts + + def _set_in_unicast_pkts(self, v, load=False): + """ + Setter method for in_unicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_unicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_unicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_unicast_pkts() directly. + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were not addressed to a +multicast or broadcast address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_unicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_unicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_unicast_pkts(self): + self.__in_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_broadcast_pkts(self): + """ + Getter method for in_broadcast_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_broadcast_pkts (oc-yang:counter64) + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a broadcast +address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_broadcast_pkts + + def _set_in_broadcast_pkts(self, v, load=False): + """ + Setter method for in_broadcast_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_broadcast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_broadcast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_broadcast_pkts() directly. + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a broadcast +address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_broadcast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_broadcast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_broadcast_pkts(self): + self.__in_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_multicast_pkts(self): + """ + Getter method for in_multicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_multicast_pkts (oc-yang:counter64) + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a multicast +address at this sub-layer. For a MAC-layer protocol, +this includes both Group and Functional addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_multicast_pkts + + def _set_in_multicast_pkts(self, v, load=False): + """ + Setter method for in_multicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/in_multicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_multicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_multicast_pkts() directly. + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a multicast +address at this sub-layer. For a MAC-layer protocol, +this includes both Group and Functional addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_multicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_multicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_multicast_pkts(self): + self.__in_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_discards(self): + """ + Getter method for in_discards, mapped from YANG variable /interfaces/interface/state/counters/in_discards (oc-yang:counter64) + + YANG Description: The number of inbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being deliverable to a higher-layer +protocol. One possible reason for discarding such a +packet could be to free up buffer space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_discards + + def _set_in_discards(self, v, load=False): + """ + Setter method for in_discards, mapped from YANG variable /interfaces/interface/state/counters/in_discards (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_discards is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_discards() directly. + + YANG Description: The number of inbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being deliverable to a higher-layer +protocol. One possible reason for discarding such a +packet could be to free up buffer space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_discards must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_discards = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_discards(self): + self.__in_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_errors(self): + """ + Getter method for in_errors, mapped from YANG variable /interfaces/interface/state/counters/in_errors (oc-yang:counter64) + + YANG Description: For packet-oriented interfaces, the number of inbound +packets that contained errors preventing them from being +deliverable to a higher-layer protocol. For character- +oriented or fixed-length interfaces, the number of +inbound transmission units that contained errors +preventing them from being deliverable to a higher-layer +protocol. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_errors + + def _set_in_errors(self, v, load=False): + """ + Setter method for in_errors, mapped from YANG variable /interfaces/interface/state/counters/in_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_errors() directly. + + YANG Description: For packet-oriented interfaces, the number of inbound +packets that contained errors preventing them from being +deliverable to a higher-layer protocol. For character- +oriented or fixed-length interfaces, the number of +inbound transmission units that contained errors +preventing them from being deliverable to a higher-layer +protocol. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_errors(self): + self.__in_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_unknown_protos(self): + """ + Getter method for in_unknown_protos, mapped from YANG variable /interfaces/interface/state/counters/in_unknown_protos (oc-yang:counter64) + + YANG Description: For packet-oriented interfaces, the number of packets +received via the interface that were discarded because +of an unknown or unsupported protocol. For +character-oriented or fixed-length interfaces that +support protocol multiplexing, the number of +transmission units received via the interface that were +discarded because of an unknown or unsupported protocol. +For any interface that does not support protocol +multiplexing, this counter is not present. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_unknown_protos + + def _set_in_unknown_protos(self, v, load=False): + """ + Setter method for in_unknown_protos, mapped from YANG variable /interfaces/interface/state/counters/in_unknown_protos (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_unknown_protos is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_unknown_protos() directly. + + YANG Description: For packet-oriented interfaces, the number of packets +received via the interface that were discarded because +of an unknown or unsupported protocol. For +character-oriented or fixed-length interfaces that +support protocol multiplexing, the number of +transmission units received via the interface that were +discarded because of an unknown or unsupported protocol. +For any interface that does not support protocol +multiplexing, this counter is not present. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_unknown_protos must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_unknown_protos = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_unknown_protos(self): + self.__in_unknown_protos = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_fcs_errors(self): + """ + Getter method for in_fcs_errors, mapped from YANG variable /interfaces/interface/state/counters/in_fcs_errors (oc-yang:counter64) + + YANG Description: Number of received packets which had errors in the +frame check sequence (FCS), i.e., framing errors. + +Discontinuities in the value of this counter can occur +when the device is re-initialization as indicated by the +value of 'last-clear'. + """ + return self.__in_fcs_errors + + def _set_in_fcs_errors(self, v, load=False): + """ + Setter method for in_fcs_errors, mapped from YANG variable /interfaces/interface/state/counters/in_fcs_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_fcs_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_fcs_errors() directly. + + YANG Description: Number of received packets which had errors in the +frame check sequence (FCS), i.e., framing errors. + +Discontinuities in the value of this counter can occur +when the device is re-initialization as indicated by the +value of 'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_fcs_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_fcs_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_fcs_errors(self): + self.__in_fcs_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_octets(self): + """ + Getter method for out_octets, mapped from YANG variable /interfaces/interface/state/counters/out_octets (oc-yang:counter64) + + YANG Description: The total number of octets transmitted out of the +interface, including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_octets + + def _set_out_octets(self, v, load=False): + """ + Setter method for out_octets, mapped from YANG variable /interfaces/interface/state/counters/out_octets (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_octets is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_octets() directly. + + YANG Description: The total number of octets transmitted out of the +interface, including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_octets must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_octets = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_octets(self): + self.__out_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_pkts(self): + """ + Getter method for out_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_pkts (oc-yang:counter64) + + YANG Description: The total number of packets transmitted out of the +interface, including all unicast, multicast, broadcast, +and bad packets etc. + """ + return self.__out_pkts + + def _set_out_pkts(self, v, load=False): + """ + Setter method for out_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_pkts() directly. + + YANG Description: The total number of packets transmitted out of the +interface, including all unicast, multicast, broadcast, +and bad packets etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_pkts(self): + self.__out_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_unicast_pkts(self): + """ + Getter method for out_unicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_unicast_pkts (oc-yang:counter64) + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were not addressed +to a multicast or broadcast address at this sub-layer, +including those that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_unicast_pkts + + def _set_out_unicast_pkts(self, v, load=False): + """ + Setter method for out_unicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_unicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_unicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_unicast_pkts() directly. + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were not addressed +to a multicast or broadcast address at this sub-layer, +including those that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_unicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_unicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_unicast_pkts(self): + self.__out_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_broadcast_pkts(self): + """ + Getter method for out_broadcast_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_broadcast_pkts (oc-yang:counter64) + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +broadcast address at this sub-layer, including those +that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_broadcast_pkts + + def _set_out_broadcast_pkts(self, v, load=False): + """ + Setter method for out_broadcast_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_broadcast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_broadcast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_broadcast_pkts() directly. + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +broadcast address at this sub-layer, including those +that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_broadcast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_broadcast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_broadcast_pkts(self): + self.__out_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_multicast_pkts(self): + """ + Getter method for out_multicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_multicast_pkts (oc-yang:counter64) + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +multicast address at this sub-layer, including those +that were discarded or not sent. For a MAC-layer +protocol, this includes both Group and Functional +addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_multicast_pkts + + def _set_out_multicast_pkts(self, v, load=False): + """ + Setter method for out_multicast_pkts, mapped from YANG variable /interfaces/interface/state/counters/out_multicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_multicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_multicast_pkts() directly. + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +multicast address at this sub-layer, including those +that were discarded or not sent. For a MAC-layer +protocol, this includes both Group and Functional +addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_multicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_multicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_multicast_pkts(self): + self.__out_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_discards(self): + """ + Getter method for out_discards, mapped from YANG variable /interfaces/interface/state/counters/out_discards (oc-yang:counter64) + + YANG Description: The number of outbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being transmitted. One possible reason +for discarding such a packet could be to free up buffer +space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_discards + + def _set_out_discards(self, v, load=False): + """ + Setter method for out_discards, mapped from YANG variable /interfaces/interface/state/counters/out_discards (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_discards is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_discards() directly. + + YANG Description: The number of outbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being transmitted. One possible reason +for discarding such a packet could be to free up buffer +space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_discards must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_discards = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_discards(self): + self.__out_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_errors(self): + """ + Getter method for out_errors, mapped from YANG variable /interfaces/interface/state/counters/out_errors (oc-yang:counter64) + + YANG Description: For packet-oriented interfaces, the number of outbound +packets that could not be transmitted because of errors. +For character-oriented or fixed-length interfaces, the +number of outbound transmission units that could not be +transmitted because of errors. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_errors + + def _set_out_errors(self, v, load=False): + """ + Setter method for out_errors, mapped from YANG variable /interfaces/interface/state/counters/out_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_errors() directly. + + YANG Description: For packet-oriented interfaces, the number of outbound +packets that could not be transmitted because of errors. +For character-oriented or fixed-length interfaces, the +number of outbound transmission units that could not be +transmitted because of errors. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_errors(self): + self.__out_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_carrier_transitions(self): + """ + Getter method for carrier_transitions, mapped from YANG variable /interfaces/interface/state/counters/carrier_transitions (oc-yang:counter64) + + YANG Description: Number of times the interface state has transitioned +between up and down since the time the device restarted +or the last-clear time, whichever is most recent. + """ + return self.__carrier_transitions + + def _set_carrier_transitions(self, v, load=False): + """ + Setter method for carrier_transitions, mapped from YANG variable /interfaces/interface/state/counters/carrier_transitions (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_carrier_transitions is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_carrier_transitions() directly. + + YANG Description: Number of times the interface state has transitioned +between up and down since the time the device restarted +or the last-clear time, whichever is most recent. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """carrier_transitions must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__carrier_transitions = t + if hasattr(self, '_set'): + self._set() + + def _unset_carrier_transitions(self): + self.__carrier_transitions = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_last_clear(self): + """ + Getter method for last_clear, mapped from YANG variable /interfaces/interface/state/counters/last_clear (oc-types:timeticks64) + + YANG Description: Timestamp of the last time the interface counters were +cleared. + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_clear + + def _set_last_clear(self, v, load=False): + """ + Setter method for last_clear, mapped from YANG variable /interfaces/interface/state/counters/last_clear (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_clear is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_clear() directly. + + YANG Description: Timestamp of the last time the interface counters were +cleared. + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_clear must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_clear = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_clear(self): + self.__last_clear = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + + in_octets = __builtin__.property(_get_in_octets) + in_pkts = __builtin__.property(_get_in_pkts) + in_unicast_pkts = __builtin__.property(_get_in_unicast_pkts) + in_broadcast_pkts = __builtin__.property(_get_in_broadcast_pkts) + in_multicast_pkts = __builtin__.property(_get_in_multicast_pkts) + in_discards = __builtin__.property(_get_in_discards) + in_errors = __builtin__.property(_get_in_errors) + in_unknown_protos = __builtin__.property(_get_in_unknown_protos) + in_fcs_errors = __builtin__.property(_get_in_fcs_errors) + out_octets = __builtin__.property(_get_out_octets) + out_pkts = __builtin__.property(_get_out_pkts) + out_unicast_pkts = __builtin__.property(_get_out_unicast_pkts) + out_broadcast_pkts = __builtin__.property(_get_out_broadcast_pkts) + out_multicast_pkts = __builtin__.property(_get_out_multicast_pkts) + out_discards = __builtin__.property(_get_out_discards) + out_errors = __builtin__.property(_get_out_errors) + carrier_transitions = __builtin__.property(_get_carrier_transitions) + last_clear = __builtin__.property(_get_last_clear) + + + _pyangbind_elements = OrderedDict([('in_octets', in_octets), ('in_pkts', in_pkts), ('in_unicast_pkts', in_unicast_pkts), ('in_broadcast_pkts', in_broadcast_pkts), ('in_multicast_pkts', in_multicast_pkts), ('in_discards', in_discards), ('in_errors', in_errors), ('in_unknown_protos', in_unknown_protos), ('in_fcs_errors', in_fcs_errors), ('out_octets', out_octets), ('out_pkts', out_pkts), ('out_unicast_pkts', out_unicast_pkts), ('out_broadcast_pkts', out_broadcast_pkts), ('out_multicast_pkts', out_multicast_pkts), ('out_discards', out_discards), ('out_errors', out_errors), ('carrier_transitions', carrier_transitions), ('last_clear', last_clear), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..0145b376a03bf233ef31b50261f70d58241e9a66 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/__init__.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import subinterface +class subinterfaces(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/subinterfaces. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Enclosing container for the list of subinterfaces associated +with a physical interface + """ + __slots__ = ('_path_helper', '_extmethods', '__subinterface',) + + _yang_name = 'subinterfaces' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__subinterface = YANGDynClass(base=YANGListType("index",subinterface.subinterface, yang_name="subinterface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="subinterface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'subinterfaces'] + + def _get_subinterface(self): + """ + Getter method for subinterface, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface (list) + + YANG Description: The list of subinterfaces (logical interfaces) associated +with a physical interface + """ + return self.__subinterface + + def _set_subinterface(self, v, load=False): + """ + Setter method for subinterface, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_subinterface is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_subinterface() directly. + + YANG Description: The list of subinterfaces (logical interfaces) associated +with a physical interface + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("index",subinterface.subinterface, yang_name="subinterface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="subinterface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """subinterface must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("index",subinterface.subinterface, yang_name="subinterface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="subinterface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True)""", + }) + + self.__subinterface = t + if hasattr(self, '_set'): + self._set() + + def _unset_subinterface(self): + self.__subinterface = YANGDynClass(base=YANGListType("index",subinterface.subinterface, yang_name="subinterface", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='index', extensions=None), is_container='list', yang_name="subinterface", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='list', is_config=True) + + subinterface = __builtin__.property(_get_subinterface, _set_subinterface) + + + _pyangbind_elements = OrderedDict([('subinterface', subinterface), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b74e019a7552177737d6d1ad0425467f9ef5e526 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/__init__.py @@ -0,0 +1,202 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import config +from . import state +class subinterface(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/subinterfaces/subinterface. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: The list of subinterfaces (logical interfaces) associated +with a physical interface + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__config','__state',) + + _yang_name = 'subinterface' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True) + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'subinterfaces', 'subinterface'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/index (leafref) + + YANG Description: The index number of the subinterface -- used to address +the logical interface + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/index (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: The index number of the subinterface -- used to address +the logical interface + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='leafref', is_config=True) + + + def _get_config(self): + """ + Getter method for config, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config (container) + + YANG Description: Configurable items at the subinterface level + """ + return self.__config + + def _set_config(self, v, load=False): + """ + Setter method for config, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_config is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_config() directly. + + YANG Description: Configurable items at the subinterface level + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """config must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__config = t + if hasattr(self, '_set'): + self._set() + + def _unset_config(self): + self.__config = YANGDynClass(base=config.config, is_container='container', yang_name="config", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + + def _get_state(self): + """ + Getter method for state, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state (container) + + YANG Description: Operational state data for logical interfaces + """ + return self.__state + + def _set_state(self, v, load=False): + """ + Setter method for state, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_state is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_state() directly. + + YANG Description: Operational state data for logical interfaces + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """state must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True)""", + }) + + self.__state = t + if hasattr(self, '_set'): + self._set() + + def _unset_state(self): + self.__state = YANGDynClass(base=state.state, is_container='container', yang_name="state", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=True) + + index = __builtin__.property(_get_index, _set_index) + config = __builtin__.property(_get_config, _set_config) + state = __builtin__.property(_get_state, _set_state) + + + _pyangbind_elements = OrderedDict([('index', index), ('config', config), ('state', state), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/config/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..fb6262e5facf1d46a17eb9edce771ecd99575c17 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/config/__init__.py @@ -0,0 +1,268 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class config(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/subinterfaces/subinterface/config. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Configurable items at the subinterface level + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__description','__enabled',) + + _yang_name = 'config' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'subinterfaces', 'subinterface', 'config'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config/index (uint32) + + YANG Description: The index of the subinterface, or logical interface number. +On systems with no support for subinterfaces, or not using +subinterfaces, this value should default to 0, i.e., the +default subinterface. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config/index (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: The index of the subinterface, or logical interface number. +On systems with no support for subinterfaces, or not using +subinterfaces, this value should default to 0, i.e., the +default subinterface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=True) + + + def _get_description(self): + """ + Getter method for description, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config/description (string) + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + return self.__description + + def _set_description(self, v, load=False): + """ + Setter method for description, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config/description (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_description is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_description() directly. + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """description must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True)""", + }) + + self.__description = t + if hasattr(self, '_set'): + self._set() + + def _unset_description(self): + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=True) + + + def _get_enabled(self): + """ + Getter method for enabled, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config/enabled (boolean) + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + return self.__enabled + + def _set_enabled(self, v, load=False): + """ + Setter method for enabled, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/config/enabled (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_enabled is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_enabled() directly. + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """enabled must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True)""", + }) + + self.__enabled = t + if hasattr(self, '_set'): + self._set() + + def _unset_enabled(self): + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=True) + + index = __builtin__.property(_get_index, _set_index) + description = __builtin__.property(_get_description, _set_description) + enabled = __builtin__.property(_get_enabled, _set_enabled) + + + _pyangbind_elements = OrderedDict([('index', index), ('description', description), ('enabled', enabled), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/state/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/state/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a40a3022793b2329361872906fca74829d38f711 --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/state/__init__.py @@ -0,0 +1,672 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +from . import counters +class state(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/subinterfaces/subinterface/state. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Operational state data for logical interfaces + """ + __slots__ = ('_path_helper', '_extmethods', '__index','__description','__enabled','__name','__ifindex','__admin_status','__oper_status','__last_change','__logical','__management','__cpu','__counters',) + + _yang_name = 'state' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__index = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + self.__ifindex = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + self.__admin_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + self.__last_change = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + self.__logical = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__management = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__cpu = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + self.__counters = YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'subinterfaces', 'subinterface', 'state'] + + def _get_index(self): + """ + Getter method for index, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/index (uint32) + + YANG Description: The index of the subinterface, or logical interface number. +On systems with no support for subinterfaces, or not using +subinterfaces, this value should default to 0, i.e., the +default subinterface. + """ + return self.__index + + def _set_index(self, v, load=False): + """ + Setter method for index, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/index (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_index is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_index() directly. + + YANG Description: The index of the subinterface, or logical interface number. +On systems with no support for subinterfaces, or not using +subinterfaces, this value should default to 0, i.e., the +default subinterface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """index must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False)""", + }) + + self.__index = t + if hasattr(self, '_set'): + self._set() + + def _unset_index(self): + self.__index = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), default=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32)(0), is_leaf=True, yang_name="index", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + + + def _get_description(self): + """ + Getter method for description, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/description (string) + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + return self.__description + + def _set_description(self, v, load=False): + """ + Setter method for description, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/description (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_description is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_description() directly. + + YANG Description: A textual description of the interface. + +A server implementation MAY map this leaf to the ifAlias +MIB object. Such an implementation needs to use some +mechanism to handle the differences in size and characters +allowed between this leaf and ifAlias. The definition of +such a mechanism is outside the scope of this document. + +Since ifAlias is defined to be stored in non-volatile +storage, the MIB implementation MUST map ifAlias to the +value of 'description' in the persistently stored +datastore. + +Specifically, if the device supports ':startup', when +ifAlias is read the device MUST return the value of +'description' in the 'startup' datastore, and when it is +written, it MUST be written to the 'running' and 'startup' +datastores. Note that it is up to the implementation to + +decide whether to modify this single leaf in 'startup' or +perform an implicit copy-config from 'running' to +'startup'. + +If the device does not support ':startup', ifAlias MUST +be mapped to the 'description' leaf in the 'running' +datastore. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """description must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False)""", + }) + + self.__description = t + if hasattr(self, '_set'): + self._set() + + def _unset_description(self): + self.__description = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="description", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + + + def _get_enabled(self): + """ + Getter method for enabled, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/enabled (boolean) + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + return self.__enabled + + def _set_enabled(self, v, load=False): + """ + Setter method for enabled, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/enabled (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_enabled is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_enabled() directly. + + YANG Description: This leaf contains the configured, desired state of the +interface. + +Systems that implement the IF-MIB use the value of this +leaf in the 'running' datastore to set +IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry +has been initialized, as described in RFC 2863. + +Changes in this leaf in the 'running' datastore are +reflected in ifAdminStatus, but if ifAdminStatus is +changed over SNMP, this leaf is not affected. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """enabled must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__enabled = t + if hasattr(self, '_set'): + self._set() + + def _unset_enabled(self): + self.__enabled = YANGDynClass(base=YANGBool, default=YANGBool("true"), is_leaf=True, yang_name="enabled", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_name(self): + """ + Getter method for name, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/name (string) + + YANG Description: The system-assigned name for the sub-interface. This MAY +be a combination of the base interface name and the +subinterface index, or some other convention used by the +system. + """ + return self.__name + + def _set_name(self, v, load=False): + """ + Setter method for name, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/name (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_name() directly. + + YANG Description: The system-assigned name for the sub-interface. This MAY +be a combination of the base interface name and the +subinterface index, or some other convention used by the +system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """name must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False)""", + }) + + self.__name = t + if hasattr(self, '_set'): + self._set() + + def _unset_name(self): + self.__name = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='string', is_config=False) + + + def _get_ifindex(self): + """ + Getter method for ifindex, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/ifindex (uint32) + + YANG Description: System assigned number for each interface. Corresponds to +ifIndex object in SNMP Interface MIB + """ + return self.__ifindex + + def _set_ifindex(self, v, load=False): + """ + Setter method for ifindex, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/ifindex (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_ifindex is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_ifindex() directly. + + YANG Description: System assigned number for each interface. Corresponds to +ifIndex object in SNMP Interface MIB + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """ifindex must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False)""", + }) + + self.__ifindex = t + if hasattr(self, '_set'): + self._set() + + def _unset_ifindex(self): + self.__ifindex = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="ifindex", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='uint32', is_config=False) + + + def _get_admin_status(self): + """ + Getter method for admin_status, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/admin_status (enumeration) + + YANG Description: The desired state of the interface. In RFC 7223 this leaf +has the same read semantics as ifAdminStatus. Here, it +reflects the administrative state as set by enabling or +disabling the interface. + """ + return self.__admin_status + + def _set_admin_status(self, v, load=False): + """ + Setter method for admin_status, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/admin_status (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_admin_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_admin_status() directly. + + YANG Description: The desired state of the interface. In RFC 7223 this leaf +has the same read semantics as ifAdminStatus. Here, it +reflects the administrative state as set by enabling or +disabling the interface. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """admin_status must be of a type compatible with enumeration""", + 'defined-type': "openconfig-interfaces:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False)""", + }) + + self.__admin_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_admin_status(self): + self.__admin_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {}, 'DOWN': {}, 'TESTING': {}},), is_leaf=True, yang_name="admin-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + + + def _get_oper_status(self): + """ + Getter method for oper_status, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/oper_status (enumeration) + + YANG Description: The current operational state of the interface. + +This leaf has the same semantics as ifOperStatus. + """ + return self.__oper_status + + def _set_oper_status(self, v, load=False): + """ + Setter method for oper_status, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/oper_status (enumeration) + If this variable is read-only (config: false) in the + source YANG file, then _set_oper_status is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_oper_status() directly. + + YANG Description: The current operational state of the interface. + +This leaf has the same semantics as ifOperStatus. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """oper_status must be of a type compatible with enumeration""", + 'defined-type': "openconfig-interfaces:enumeration", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False)""", + }) + + self.__oper_status = t + if hasattr(self, '_set'): + self._set() + + def _unset_oper_status(self): + self.__oper_status = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'UP': {'value': 1}, 'DOWN': {'value': 2}, 'TESTING': {'value': 3}, 'UNKNOWN': {'value': 4}, 'DORMANT': {'value': 5}, 'NOT_PRESENT': {'value': 6}, 'LOWER_LAYER_DOWN': {'value': 7}},), is_leaf=True, yang_name="oper-status", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='enumeration', is_config=False) + + + def _get_last_change(self): + """ + Getter method for last_change, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/last_change (oc-types:timeticks64) + + YANG Description: This timestamp indicates the absolute time of the last +state change of the interface (e.g., up-to-down transition). +This is different than the SNMP ifLastChange object in the +standard interface MIB in that it is not relative to the +system boot time (i.e,. sysUpTime). + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_change + + def _set_last_change(self, v, load=False): + """ + Setter method for last_change, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/last_change (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_change is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_change() directly. + + YANG Description: This timestamp indicates the absolute time of the last +state change of the interface (e.g., up-to-down transition). +This is different than the SNMP ifLastChange object in the +standard interface MIB in that it is not relative to the +system boot time (i.e,. sysUpTime). + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_change must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_change = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_change(self): + self.__last_change = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-change", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + + + def _get_logical(self): + """ + Getter method for logical, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/logical (boolean) + + YANG Description: When set to true, the interface is a logical interface +which does not have an associated physical port or +channel on the system. + """ + return self.__logical + + def _set_logical(self, v, load=False): + """ + Setter method for logical, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/logical (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_logical is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_logical() directly. + + YANG Description: When set to true, the interface is a logical interface +which does not have an associated physical port or +channel on the system. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """logical must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__logical = t + if hasattr(self, '_set'): + self._set() + + def _unset_logical(self): + self.__logical = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="logical", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_management(self): + """ + Getter method for management, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/management (boolean) + + YANG Description: When set to true, the interface is a dedicated +management interface that is not connected to dataplane +interfaces. It may be used to connect the system to an +out-of-band management network, for example. + """ + return self.__management + + def _set_management(self, v, load=False): + """ + Setter method for management, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/management (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_management is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_management() directly. + + YANG Description: When set to true, the interface is a dedicated +management interface that is not connected to dataplane +interfaces. It may be used to connect the system to an +out-of-band management network, for example. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """management must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__management = t + if hasattr(self, '_set'): + self._set() + + def _unset_management(self): + self.__management = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="management", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_cpu(self): + """ + Getter method for cpu, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/cpu (boolean) + + YANG Description: When set to true, the interface is for traffic +that is handled by the system CPU, sometimes also called the +control plane interface. On systems that represent the CPU +interface as an Ethernet interface, for example, this leaf +should be used to distinguish the CPU interface from dataplane +interfaces. + """ + return self.__cpu + + def _set_cpu(self, v, load=False): + """ + Setter method for cpu, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/cpu (boolean) + If this variable is read-only (config: false) in the + source YANG file, then _set_cpu is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_cpu() directly. + + YANG Description: When set to true, the interface is for traffic +that is handled by the system CPU, sometimes also called the +control plane interface. On systems that represent the CPU +interface as an Ethernet interface, for example, this leaf +should be used to distinguish the CPU interface from dataplane +interfaces. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """cpu must be of a type compatible with boolean""", + 'defined-type': "boolean", + 'generated-type': """YANGDynClass(base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False)""", + }) + + self.__cpu = t + if hasattr(self, '_set'): + self._set() + + def _unset_cpu(self): + self.__cpu = YANGDynClass(base=YANGBool, is_leaf=True, yang_name="cpu", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='boolean', is_config=False) + + + def _get_counters(self): + """ + Getter method for counters, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters (container) + + YANG Description: A collection of interface-related statistics objects. + """ + return self.__counters + + def _set_counters(self, v, load=False): + """ + Setter method for counters, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_counters is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_counters() directly. + + YANG Description: A collection of interface-related statistics objects. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """counters must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False)""", + }) + + self.__counters = t + if hasattr(self, '_set'): + self._set() + + def _unset_counters(self): + self.__counters = YANGDynClass(base=counters.counters, is_container='container', yang_name="counters", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='container', is_config=False) + + index = __builtin__.property(_get_index) + description = __builtin__.property(_get_description) + enabled = __builtin__.property(_get_enabled) + name = __builtin__.property(_get_name) + ifindex = __builtin__.property(_get_ifindex) + admin_status = __builtin__.property(_get_admin_status) + oper_status = __builtin__.property(_get_oper_status) + last_change = __builtin__.property(_get_last_change) + logical = __builtin__.property(_get_logical) + management = __builtin__.property(_get_management) + cpu = __builtin__.property(_get_cpu) + counters = __builtin__.property(_get_counters) + + + _pyangbind_elements = OrderedDict([('index', index), ('description', description), ('enabled', enabled), ('name', name), ('ifindex', ifindex), ('admin_status', admin_status), ('oper_status', oper_status), ('last_change', last_change), ('logical', logical), ('management', management), ('cpu', cpu), ('counters', counters), ]) + + diff --git a/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/state/counters/__init__.py b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/state/counters/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..62bf19a4b7d365bec2537362c71efa19dfb043dc --- /dev/null +++ b/hackfest/netconf-oc/openconfig/interfaces/interface/subinterfaces/subinterface/state/counters/__init__.py @@ -0,0 +1,1029 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class counters(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module openconfig-interfaces - based on the path /interfaces/interface/subinterfaces/subinterface/state/counters. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: A collection of interface-related statistics objects. + """ + __slots__ = ('_path_helper', '_extmethods', '__in_octets','__in_pkts','__in_unicast_pkts','__in_broadcast_pkts','__in_multicast_pkts','__in_discards','__in_errors','__in_unknown_protos','__in_fcs_errors','__out_octets','__out_pkts','__out_unicast_pkts','__out_broadcast_pkts','__out_multicast_pkts','__out_discards','__out_errors','__carrier_transitions','__last_clear',) + + _yang_name = 'counters' + _yang_namespace = 'http://openconfig.net/yang/interfaces' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__in_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_unknown_protos = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__in_fcs_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__out_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__carrier_transitions = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + self.__last_clear = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['interfaces', 'interface', 'subinterfaces', 'subinterface', 'state', 'counters'] + + def _get_in_octets(self): + """ + Getter method for in_octets, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_octets (oc-yang:counter64) + + YANG Description: The total number of octets received on the interface, +including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_octets + + def _set_in_octets(self, v, load=False): + """ + Setter method for in_octets, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_octets (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_octets is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_octets() directly. + + YANG Description: The total number of octets received on the interface, +including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_octets must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_octets = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_octets(self): + self.__in_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_pkts(self): + """ + Getter method for in_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_pkts (oc-yang:counter64) + + YANG Description: The total number of packets received on the interface, +including all unicast, multicast, broadcast and bad packets +etc. + """ + return self.__in_pkts + + def _set_in_pkts(self, v, load=False): + """ + Setter method for in_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_pkts() directly. + + YANG Description: The total number of packets received on the interface, +including all unicast, multicast, broadcast and bad packets +etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_pkts(self): + self.__in_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_unicast_pkts(self): + """ + Getter method for in_unicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_unicast_pkts (oc-yang:counter64) + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were not addressed to a +multicast or broadcast address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_unicast_pkts + + def _set_in_unicast_pkts(self, v, load=False): + """ + Setter method for in_unicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_unicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_unicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_unicast_pkts() directly. + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were not addressed to a +multicast or broadcast address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_unicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_unicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_unicast_pkts(self): + self.__in_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_broadcast_pkts(self): + """ + Getter method for in_broadcast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_broadcast_pkts (oc-yang:counter64) + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a broadcast +address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_broadcast_pkts + + def _set_in_broadcast_pkts(self, v, load=False): + """ + Setter method for in_broadcast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_broadcast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_broadcast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_broadcast_pkts() directly. + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a broadcast +address at this sub-layer. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_broadcast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_broadcast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_broadcast_pkts(self): + self.__in_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_multicast_pkts(self): + """ + Getter method for in_multicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_multicast_pkts (oc-yang:counter64) + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a multicast +address at this sub-layer. For a MAC-layer protocol, +this includes both Group and Functional addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_multicast_pkts + + def _set_in_multicast_pkts(self, v, load=False): + """ + Setter method for in_multicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_multicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_multicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_multicast_pkts() directly. + + YANG Description: The number of packets, delivered by this sub-layer to a +higher (sub-)layer, that were addressed to a multicast +address at this sub-layer. For a MAC-layer protocol, +this includes both Group and Functional addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_multicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_multicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_multicast_pkts(self): + self.__in_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_discards(self): + """ + Getter method for in_discards, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_discards (oc-yang:counter64) + + YANG Description: The number of inbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being deliverable to a higher-layer +protocol. One possible reason for discarding such a +packet could be to free up buffer space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_discards + + def _set_in_discards(self, v, load=False): + """ + Setter method for in_discards, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_discards (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_discards is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_discards() directly. + + YANG Description: The number of inbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being deliverable to a higher-layer +protocol. One possible reason for discarding such a +packet could be to free up buffer space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_discards must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_discards = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_discards(self): + self.__in_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_errors(self): + """ + Getter method for in_errors, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_errors (oc-yang:counter64) + + YANG Description: For packet-oriented interfaces, the number of inbound +packets that contained errors preventing them from being +deliverable to a higher-layer protocol. For character- +oriented or fixed-length interfaces, the number of +inbound transmission units that contained errors +preventing them from being deliverable to a higher-layer +protocol. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_errors + + def _set_in_errors(self, v, load=False): + """ + Setter method for in_errors, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_errors() directly. + + YANG Description: For packet-oriented interfaces, the number of inbound +packets that contained errors preventing them from being +deliverable to a higher-layer protocol. For character- +oriented or fixed-length interfaces, the number of +inbound transmission units that contained errors +preventing them from being deliverable to a higher-layer +protocol. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_errors(self): + self.__in_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_unknown_protos(self): + """ + Getter method for in_unknown_protos, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_unknown_protos (oc-yang:counter64) + + YANG Description: For packet-oriented interfaces, the number of packets +received via the interface that were discarded because +of an unknown or unsupported protocol. For +character-oriented or fixed-length interfaces that +support protocol multiplexing, the number of +transmission units received via the interface that were +discarded because of an unknown or unsupported protocol. +For any interface that does not support protocol +multiplexing, this counter is not present. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__in_unknown_protos + + def _set_in_unknown_protos(self, v, load=False): + """ + Setter method for in_unknown_protos, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_unknown_protos (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_unknown_protos is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_unknown_protos() directly. + + YANG Description: For packet-oriented interfaces, the number of packets +received via the interface that were discarded because +of an unknown or unsupported protocol. For +character-oriented or fixed-length interfaces that +support protocol multiplexing, the number of +transmission units received via the interface that were +discarded because of an unknown or unsupported protocol. +For any interface that does not support protocol +multiplexing, this counter is not present. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_unknown_protos must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_unknown_protos = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_unknown_protos(self): + self.__in_unknown_protos = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-unknown-protos", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_in_fcs_errors(self): + """ + Getter method for in_fcs_errors, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_fcs_errors (oc-yang:counter64) + + YANG Description: Number of received packets which had errors in the +frame check sequence (FCS), i.e., framing errors. + +Discontinuities in the value of this counter can occur +when the device is re-initialization as indicated by the +value of 'last-clear'. + """ + return self.__in_fcs_errors + + def _set_in_fcs_errors(self, v, load=False): + """ + Setter method for in_fcs_errors, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/in_fcs_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_in_fcs_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_in_fcs_errors() directly. + + YANG Description: Number of received packets which had errors in the +frame check sequence (FCS), i.e., framing errors. + +Discontinuities in the value of this counter can occur +when the device is re-initialization as indicated by the +value of 'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """in_fcs_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__in_fcs_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_in_fcs_errors(self): + self.__in_fcs_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="in-fcs-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_octets(self): + """ + Getter method for out_octets, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_octets (oc-yang:counter64) + + YANG Description: The total number of octets transmitted out of the +interface, including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_octets + + def _set_out_octets(self, v, load=False): + """ + Setter method for out_octets, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_octets (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_octets is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_octets() directly. + + YANG Description: The total number of octets transmitted out of the +interface, including framing characters. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_octets must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_octets = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_octets(self): + self.__out_octets = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-octets", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_pkts(self): + """ + Getter method for out_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_pkts (oc-yang:counter64) + + YANG Description: The total number of packets transmitted out of the +interface, including all unicast, multicast, broadcast, +and bad packets etc. + """ + return self.__out_pkts + + def _set_out_pkts(self, v, load=False): + """ + Setter method for out_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_pkts() directly. + + YANG Description: The total number of packets transmitted out of the +interface, including all unicast, multicast, broadcast, +and bad packets etc. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_pkts(self): + self.__out_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_unicast_pkts(self): + """ + Getter method for out_unicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_unicast_pkts (oc-yang:counter64) + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were not addressed +to a multicast or broadcast address at this sub-layer, +including those that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_unicast_pkts + + def _set_out_unicast_pkts(self, v, load=False): + """ + Setter method for out_unicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_unicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_unicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_unicast_pkts() directly. + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were not addressed +to a multicast or broadcast address at this sub-layer, +including those that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_unicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_unicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_unicast_pkts(self): + self.__out_unicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-unicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_broadcast_pkts(self): + """ + Getter method for out_broadcast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_broadcast_pkts (oc-yang:counter64) + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +broadcast address at this sub-layer, including those +that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_broadcast_pkts + + def _set_out_broadcast_pkts(self, v, load=False): + """ + Setter method for out_broadcast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_broadcast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_broadcast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_broadcast_pkts() directly. + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +broadcast address at this sub-layer, including those +that were discarded or not sent. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_broadcast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_broadcast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_broadcast_pkts(self): + self.__out_broadcast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-broadcast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_multicast_pkts(self): + """ + Getter method for out_multicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_multicast_pkts (oc-yang:counter64) + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +multicast address at this sub-layer, including those +that were discarded or not sent. For a MAC-layer +protocol, this includes both Group and Functional +addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_multicast_pkts + + def _set_out_multicast_pkts(self, v, load=False): + """ + Setter method for out_multicast_pkts, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_multicast_pkts (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_multicast_pkts is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_multicast_pkts() directly. + + YANG Description: The total number of packets that higher-level protocols +requested be transmitted, and that were addressed to a +multicast address at this sub-layer, including those +that were discarded or not sent. For a MAC-layer +protocol, this includes both Group and Functional +addresses. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_multicast_pkts must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_multicast_pkts = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_multicast_pkts(self): + self.__out_multicast_pkts = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-multicast-pkts", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_discards(self): + """ + Getter method for out_discards, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_discards (oc-yang:counter64) + + YANG Description: The number of outbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being transmitted. One possible reason +for discarding such a packet could be to free up buffer +space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_discards + + def _set_out_discards(self, v, load=False): + """ + Setter method for out_discards, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_discards (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_discards is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_discards() directly. + + YANG Description: The number of outbound packets that were chosen to be +discarded even though no errors had been detected to +prevent their being transmitted. One possible reason +for discarding such a packet could be to free up buffer +space. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_discards must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_discards = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_discards(self): + self.__out_discards = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-discards", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_out_errors(self): + """ + Getter method for out_errors, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_errors (oc-yang:counter64) + + YANG Description: For packet-oriented interfaces, the number of outbound +packets that could not be transmitted because of errors. +For character-oriented or fixed-length interfaces, the +number of outbound transmission units that could not be +transmitted because of errors. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + return self.__out_errors + + def _set_out_errors(self, v, load=False): + """ + Setter method for out_errors, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/out_errors (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_out_errors is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_out_errors() directly. + + YANG Description: For packet-oriented interfaces, the number of outbound +packets that could not be transmitted because of errors. +For character-oriented or fixed-length interfaces, the +number of outbound transmission units that could not be +transmitted because of errors. + +Discontinuities in the value of this counter can occur +at re-initialization of the management system, and at +other times as indicated by the value of +'last-clear'. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """out_errors must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__out_errors = t + if hasattr(self, '_set'): + self._set() + + def _unset_out_errors(self): + self.__out_errors = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="out-errors", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_carrier_transitions(self): + """ + Getter method for carrier_transitions, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/carrier_transitions (oc-yang:counter64) + + YANG Description: Number of times the interface state has transitioned +between up and down since the time the device restarted +or the last-clear time, whichever is most recent. + """ + return self.__carrier_transitions + + def _set_carrier_transitions(self, v, load=False): + """ + Setter method for carrier_transitions, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/carrier_transitions (oc-yang:counter64) + If this variable is read-only (config: false) in the + source YANG file, then _set_carrier_transitions is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_carrier_transitions() directly. + + YANG Description: Number of times the interface state has transitioned +between up and down since the time the device restarted +or the last-clear time, whichever is most recent. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """carrier_transitions must be of a type compatible with oc-yang:counter64""", + 'defined-type': "oc-yang:counter64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False)""", + }) + + self.__carrier_transitions = t + if hasattr(self, '_set'): + self._set() + + def _unset_carrier_transitions(self): + self.__carrier_transitions = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="carrier-transitions", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-yang:counter64', is_config=False) + + + def _get_last_clear(self): + """ + Getter method for last_clear, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/last_clear (oc-types:timeticks64) + + YANG Description: Timestamp of the last time the interface counters were +cleared. + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + return self.__last_clear + + def _set_last_clear(self, v, load=False): + """ + Setter method for last_clear, mapped from YANG variable /interfaces/interface/subinterfaces/subinterface/state/counters/last_clear (oc-types:timeticks64) + If this variable is read-only (config: false) in the + source YANG file, then _set_last_clear is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_last_clear() directly. + + YANG Description: Timestamp of the last time the interface counters were +cleared. + +The value is the timestamp in nanoseconds relative to +the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """last_clear must be of a type compatible with oc-types:timeticks64""", + 'defined-type': "oc-types:timeticks64", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False)""", + }) + + self.__last_clear = t + if hasattr(self, '_set'): + self._set() + + def _unset_last_clear(self): + self.__last_clear = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..18446744073709551615']}, int_size=64), is_leaf=True, yang_name="last-clear", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='http://openconfig.net/yang/interfaces', defining_module='openconfig-interfaces', yang_type='oc-types:timeticks64', is_config=False) + + in_octets = __builtin__.property(_get_in_octets) + in_pkts = __builtin__.property(_get_in_pkts) + in_unicast_pkts = __builtin__.property(_get_in_unicast_pkts) + in_broadcast_pkts = __builtin__.property(_get_in_broadcast_pkts) + in_multicast_pkts = __builtin__.property(_get_in_multicast_pkts) + in_discards = __builtin__.property(_get_in_discards) + in_errors = __builtin__.property(_get_in_errors) + in_unknown_protos = __builtin__.property(_get_in_unknown_protos) + in_fcs_errors = __builtin__.property(_get_in_fcs_errors) + out_octets = __builtin__.property(_get_out_octets) + out_pkts = __builtin__.property(_get_out_pkts) + out_unicast_pkts = __builtin__.property(_get_out_unicast_pkts) + out_broadcast_pkts = __builtin__.property(_get_out_broadcast_pkts) + out_multicast_pkts = __builtin__.property(_get_out_multicast_pkts) + out_discards = __builtin__.property(_get_out_discards) + out_errors = __builtin__.property(_get_out_errors) + carrier_transitions = __builtin__.property(_get_carrier_transitions) + last_clear = __builtin__.property(_get_last_clear) + + + _pyangbind_elements = OrderedDict([('in_octets', in_octets), ('in_pkts', in_pkts), ('in_unicast_pkts', in_unicast_pkts), ('in_broadcast_pkts', in_broadcast_pkts), ('in_multicast_pkts', in_multicast_pkts), ('in_discards', in_discards), ('in_errors', in_errors), ('in_unknown_protos', in_unknown_protos), ('in_fcs_errors', in_fcs_errors), ('out_octets', out_octets), ('out_pkts', out_pkts), ('out_unicast_pkts', out_unicast_pkts), ('out_broadcast_pkts', out_broadcast_pkts), ('out_multicast_pkts', out_multicast_pkts), ('out_discards', out_discards), ('out_errors', out_errors), ('carrier_transitions', carrier_transitions), ('last_clear', last_clear), ]) + + diff --git a/hackfest/netconf-oc/platform.xml b/hackfest/netconf-oc/platform.xml new file mode 100644 index 0000000000000000000000000000000000000000..434dc4c9bad3ecea4da9c8ad776c946eb5045f3a --- /dev/null +++ b/hackfest/netconf-oc/platform.xml @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
diff --git a/hackfest/netconf-oc/server-key b/hackfest/netconf-oc/server-key new file mode 100644 index 0000000000000000000000000000000000000000..b1da1bf244778f6d884a5e571de1cc77d144c363 --- /dev/null +++ b/hackfest/netconf-oc/server-key @@ -0,0 +1,39 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIG4gIBAAKCAYEAueh9Dsz3havrm3NltIudzPiDAWE1wxkl1iD7x2iAJNRmJaeL +WfMLgAVtC7DujsOpVjLbsPdvrKCvZf3PeJE9jzPYJNhAXhMErAaWm3bRfxK0L6et +/kHnFxTGkNHASMrAySRrJloP6zys8n2e8IQ3vq37SrmkcqnizhDpiSeBjYXtIQpD +4eutZ26pyQktAi/X413jQN0ociKane2JTbBvqdYP7nGVFraEhAL34H5u461lTltw +pAog1N5QW7b9Yc1zhFJFCcXeq9luD/y6Z5KzkbBYwxADJojdffrTTHbgz4r+uJkw +9m1K8sqBzIeBY95nmWbMR1iNzIQ97LW+ePebGPPfCO2+YLOkgZGtRs/zErO+8vl7 +cRsEh1MhQ/2qqUckZZEPKxCT32Pcogx8RPAlfUDhm0e7yBnKZktlzddT01cpo0yi +tDzCqTljklRL36tYFDwZBHgB1Yao28V/q0nCKokxhnPDQSjLAIVd8+f6pOctIitq +mO9g03JAVYrvAC4zAgMBAAECggGAbSxANG7ddJwvMgykT1AmDPZrSGYjwjyEYajg +8otFpVst2TL4vIvj1vxYuyLeFOyGBt668MN9yyxZlFVmfvEb63qQlaKAuj4E4ljE +HOu7vxnmwo1/ue5NnNpQeT8T4ite50ABxHXjH0t0bLqkma2rZsiY55r5HXTygfyg +iDCw/cEGLf7vOj7CiBkOj8ZZrg0WhKjgCXlWhSAZGGEj3oGcMWpJ1MbSvJHWZAey +NR1KVV3APjGohkyEVz1uh02AouyYxu0Oyu27i3NO3NSa0BLz6ct3U2wJFVt7zNIz +XcOr+YDcC0gz6yEz1O1e7+p1dOTL9+azA04Dq0IiSu6k94Rrmnvr42sMmDLi/JBN +ZP82nCOoPO31pdVoHqqG/s7+mjHGqTSC+l4wImZD5YGHRnGbOBarH75MG/PIDl6S +VSzVCZKPEnLkZ3lKC1R3WO5K16WCgqTGLisu4VjXALhHIMmJDNk3Kkv+EvLdXp5Q +hBbDlJCtgs7w8V88ci17ss9bmqWRAoHBAOl6T+gvTO2zbJ2LGXVJKGYFDR637GKJ +tPRyTPK8IJR6PN/VgQdJ70P2a3XEUIMSwH+6rBg+zNZnu7TkwDyyxImyjwtnhGjf +xAGfkj5inmsToBq5INxKBamito3QUyzZhYGfDO61r+e0agDpGYCll9EuhBeQ+00x +2x/vA0Btr4WzFnh3xdlozAcPvws3dXhybRPdgPbn90M2UW2ImdIV2GDJNN+vASbl +M9jhI1tm3KjCCfDzgKmvs48IpoRAwZJihQKBwQDL13Qxgk4L5uemi0fBR1Jwd0IE +gZ6E2rZWbzT5Fe9iSsN+1LHJqvs31We8FhN+sYujG1ZUUSt5bpFggXOw+LwDVOf2 +Bzer681YqkRKtu2wkEzRX0R1esMowba0s1Naonu1lohKKAcZJ4YHDBKjxYHH4+NR +mnFjjxtcnQ/mMVb+ZPjOaXvzCt7NfShlfztkClrDca3WgOh/Zed7+M+0S1rrOEpt +Wyph/Y76AzH/uzdEIPkToNqRIACXWOR2NOpn11cCgcAUb0gfIkSxaUrQXyRTR5vp +kfecAK0H0tWrr3VcqWqQlEJPtPgeEzKF2EN/gzcowbNneocleBmlil67bmoE5gCd +rKsobF8CbtNQ8Q5zt132MTmKHTnrDe+A8WTY9KrS+hbdSXZwTiafOQMuITjCMbwf +6tpU1bOpBfwPx3OZaAA8y3fkA1elt65jz9UAvlHhwOIbIv/unE7f6xklZRdRc+gE +UJf4G/EV3mmzScE2dsJJYvJLzIQuVdp5YmBwotpOXaECgcAKJI1ejUpO401xhwqp +/l+Gwxhg2wZFPBDImj37ivDfZjL2E6VJEJ3xeEfyHvMXYcQ9+HVCOsu7/hlzwN09 +2BKa49Wq80782f3cxJQjV5jaKUP5QxFH+zTMyV7K/QVPxDf9oCDl97nqsYHExgAD +cCd2B8ve2p17w7or0JDi9l+KxwFuW+dT/514ghrJehw9bRp5ESYCP2XSOQLcs1O6 +d+ltPN7PNDMWryQ3IoORYwJr/GwIYv+dKwd8gGrVyupDAn8CgcBJ7YIeLbV5nQ+g +Y2Ht748J3157Emckyxv5vE6QQqBzAN+WOWRjSqExbLnnTL9UsrMbYn0STxYRleti +eZmCSXu5msE1ZkwoGNRnyEAtoN0NPI92pB+rKZw2ERSjgtV9rPnmE4tvuz/dosxb +AjGCxal0bnwrnltq1xFqSWrjbvOfbf7bK68I6+T76ktqsGUhz3mdjzFp6cUducm/ +Ty6M1Y33OKW1ymOGnfaaTOuXWC6yLFjdB+aQg5wjNOIwuoHe750= +-----END RSA PRIVATE KEY----- diff --git a/hackfest/netconf-oc/server-key.pub b/hackfest/netconf-oc/server-key.pub new file mode 100644 index 0000000000000000000000000000000000000000..56d420638839114e7c8f1261fde55bef641357c4 --- /dev/null +++ b/hackfest/netconf-oc/server-key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC56H0OzPeFq+ubc2W0i53M+IMBYTXDGSXWIPvHaIAk1GYlp4tZ8wuABW0LsO6Ow6lWMtuw92+soK9l/c94kT2PM9gk2EBeEwSsBpabdtF/ErQvp63+QecXFMaQ0cBIysDJJGsmWg/rPKzyfZ7whDe+rftKuaRyqeLOEOmJJ4GNhe0hCkPh661nbqnJCS0CL9fjXeNA3ShyIpqd7YlNsG+p1g/ucZUWtoSEAvfgfm7jrWVOW3CkCiDU3lBbtv1hzXOEUkUJxd6r2W4P/LpnkrORsFjDEAMmiN19+tNMduDPiv64mTD2bUryyoHMh4Fj3meZZsxHWI3MhD3stb5495sY898I7b5gs6SBka1Gz/MSs77y+XtxGwSHUyFD/aqpRyRlkQ8rEJPfY9yiDHxE8CV9QOGbR7vIGcpmS2XN11PTVymjTKK0PMKpOWOSVEvfq1gUPBkEeAHVhqjbxX+rScIqiTGGc8NBKMsAhV3z5/qk5y0iK2qY72DTckBViu8ALjM= chopps@tops diff --git a/hackfest/netconf-oc/server_openconfig.py b/hackfest/netconf-oc/server_openconfig.py new file mode 100644 index 0000000000000000000000000000000000000000..08a68d42f8aab89349793bfd182f2360ef389bd9 --- /dev/null +++ b/hackfest/netconf-oc/server_openconfig.py @@ -0,0 +1,78 @@ +import logging, os, sys, time +from pyangbind.lib.serialise import pybindIETFXMLEncoder, pybindIETFXMLDecoder +from lxml import etree +from netconf import nsmap_add, NSMAP, server, util +from device_definition import get_device_definition + +logging.basicConfig(level=logging.DEBUG) + +#nsmap_add("topology", "urn:topology") +#nsmap_add("connection", "urn:connection") + +class MyServer(server.NetconfMethods): + + def __init__(self, username, password, port): + host_key_value = os.path.join(os.path.abspath(os.path.dirname(__file__)), "server-key") + auth = server.SSHUserPassController(username=username, password=password) + auth.check_auth_none(username) + self.server = server.NetconfSSHServer(server_ctl=auth, server_methods=self, host_key=host_key_value, port=port, debug=True) + + self.data = get_device_definition() + + def nc_append_capabilities(self, capabilities): + logging.debug("--GET capabilities--") + util.subelm(capabilities, "capability").text = "urn:ietf:params:netconf:capability:xpath:1.0" + #util.subelm(capabilities, "capability").text = NSMAP["topology"] + #util.subelm(capabilities, "capability").text = NSMAP["connection"] + + def rpc_get(self, session, rpc, filter_or_none): + #logging.debug("--GET--") + #logging.debug(session) + #logging.debug(etree.tostring(rpc)) + return util.filter_results(rpc, self.data, None) + + def rpc_get_config(self, session, rpc, source_elm, filter_or_none): + #logging.debug("--GET CONFIG--") + #logging.debug(session) + #logging.debug(etree.tostring(rpc)) + return util.filter_results(rpc, self.data, None) + + def rpc_edit_config(self, session, rpc, target, default_operation, new_config): + logging.debug("--EDIT CONFIG--") + logging.debug(session) + logging.debug(etree.tostring(rpc)) + logging.debug(etree.tostring(target)) + logging.debug(etree.tostring(default_operation)) + logging.debug(etree.tostring(new_config)) + + #data_list = new_config.findall(".//xmlns:connection", namespaces={'xmlns': 'urn:connection'}) + #for connect in data_list: + # logging.debug("connect: " ) + # logging.debug(etree.tostring(connect) ) + # logging.debug("CURRENT CONNECTION") + # logging.debug(etree.tostring(self.data[1]) ) + # self.data[1].append(connect) + # break + return util.filter_results(rpc, self.data, None) + + def close(self): + self.server.close() + +def main(*margs): + port = sys.argv[1] + s = MyServer("admin", "admin", int(port)) + + if sys.stdout.isatty(): + logging.debug("^C to quit server") + + try: + while True: + time.sleep(1) + + except Exception: + logging.debug("quitting server") + + s.close() + +if __name__ == "__main__": + main() diff --git a/hackfest/netconf-oc/yang_models.txt b/hackfest/netconf-oc/yang_models.txt new file mode 100644 index 0000000000000000000000000000000000000000..6fbde735fe439f6d42b4d368e1973aac5b8a540c --- /dev/null +++ b/hackfest/netconf-oc/yang_models.txt @@ -0,0 +1,171 @@ +git_openconfig/release/models/devices-manifest/openconfig-terminal-device-property-types.yang +git_openconfig/release/models/devices-manifest/openconfig-terminal-device-properties.yang +git_openconfig/release/models/vlan/openconfig-vlan.yang +git_openconfig/release/models/vlan/openconfig-vlan-types.yang +git_openconfig/release/models/p4rt/openconfig-p4rt.yang +git_openconfig/release/models/stp/openconfig-spanning-tree-types.yang +git_openconfig/release/models/stp/openconfig-spanning-tree.yang +git_openconfig/release/models/rib/openconfig-rib-bgp-shared-attributes.yang +git_openconfig/release/models/rib/openconfig-rib-bgp-table-attributes.yang +git_openconfig/release/models/rib/openconfig-rib-bgp-attributes.yang +git_openconfig/release/models/rib/openconfig-rib-bgp.yang +git_openconfig/release/models/rib/openconfig-rib-bgp-ext.yang +git_openconfig/release/models/rib/openconfig-rib-bgp-tables.yang +git_openconfig/release/models/rib/openconfig-rib-bgp-types.yang +git_openconfig/release/models/segment-routing/openconfig-segment-routing-types.yang +git_openconfig/release/models/segment-routing/openconfig-srte-policy.yang +git_openconfig/release/models/segment-routing/openconfig-segment-routing.yang +git_openconfig/release/models/segment-routing/openconfig-rsvp-sr-ext.yang +git_openconfig/release/models/isis/openconfig-isis-lsp.yang +git_openconfig/release/models/isis/openconfig-isis-policy.yang +git_openconfig/release/models/isis/openconfig-isis-types.yang +git_openconfig/release/models/isis/openconfig-isis-lsdb-types.yang +git_openconfig/release/models/isis/openconfig-isis.yang +git_openconfig/release/models/isis/openconfig-isis-routing.yang +git_openconfig/release/models/pcep/openconfig-pcep.yang +git_openconfig/release/models/lacp/openconfig-lacp.yang +git_openconfig/release/models/keychain/openconfig-keychain.yang +git_openconfig/release/models/keychain/openconfig-keychain-types.yang +git_openconfig/release/models/openconfig-extensions.yang +git_openconfig/release/models/telemetry/openconfig-telemetry.yang +git_openconfig/release/models/telemetry/openconfig-telemetry-types.yang +git_openconfig/release/models/policy/openconfig-policy-types.yang +git_openconfig/release/models/policy/openconfig-routing-policy.yang +git_openconfig/release/models/bfd/openconfig-bfd.yang +git_openconfig/release/models/types/openconfig-types.yang +git_openconfig/release/models/types/openconfig-yang-types.yang +git_openconfig/release/models/types/openconfig-inet-types.yang +git_openconfig/release/models/ospf/openconfig-ospfv2-common.yang +git_openconfig/release/models/ospf/openconfig-ospfv2-area.yang +git_openconfig/release/models/ospf/openconfig-ospfv2-area-interface.yang +git_openconfig/release/models/ospf/openconfig-ospfv2.yang +git_openconfig/release/models/ospf/openconfig-ospf-types.yang +git_openconfig/release/models/ospf/openconfig-ospfv2-global.yang +git_openconfig/release/models/ospf/openconfig-ospf-policy.yang +git_openconfig/release/models/ospf/openconfig-ospfv2-lsdb.yang +git_openconfig/release/models/gribi/openconfig-gribi.yang +git_openconfig/release/models/platform/openconfig-platform-software.yang +git_openconfig/release/models/platform/openconfig-platform-integrated-circuit.yang +git_openconfig/release/models/platform/openconfig-platform-linecard.yang +git_openconfig/release/models/platform/openconfig-platform-controller-card.yang +git_openconfig/release/models/platform/openconfig-platform-port.yang +git_openconfig/release/models/platform/openconfig-platform-psu.yang +git_openconfig/release/models/platform/openconfig-platform-transceiver.yang +git_openconfig/release/models/platform/openconfig-platform-fabric.yang +git_openconfig/release/models/platform/openconfig-platform.yang +git_openconfig/release/models/platform/openconfig-platform-pipeline-counters.yang +git_openconfig/release/models/platform/openconfig-platform-ext.yang +git_openconfig/release/models/platform/openconfig-platform-types.yang +git_openconfig/release/models/platform/openconfig-platform-common.yang +git_openconfig/release/models/platform/openconfig-platform-fan.yang +git_openconfig/release/models/platform/openconfig-platform-cpu.yang +git_openconfig/release/models/policy-forwarding/openconfig-pf-path-groups.yang +git_openconfig/release/models/policy-forwarding/openconfig-policy-forwarding.yang +git_openconfig/release/models/policy-forwarding/openconfig-pf-srte.yang +git_openconfig/release/models/policy-forwarding/openconfig-pf-forwarding-policies.yang +git_openconfig/release/models/policy-forwarding/openconfig-pf-interfaces.yang +git_openconfig/release/models/relay-agent/openconfig-relay-agent.yang +git_openconfig/release/models/optical-transport/openconfig-transport-line-protection.yang +git_openconfig/release/models/optical-transport/openconfig-optical-attenuator.yang +git_openconfig/release/models/optical-transport/openconfig-transport-types.yang +git_openconfig/release/models/optical-transport/openconfig-wavelength-router.yang +git_openconfig/release/models/optical-transport/openconfig-terminal-device.yang +git_openconfig/release/models/optical-transport/openconfig-channel-monitor.yang +git_openconfig/release/models/optical-transport/openconfig-optical-amplifier.yang +git_openconfig/release/models/optical-transport/openconfig-transport-line-connectivity.yang +git_openconfig/release/models/optical-transport/openconfig-transport-line-common.yang +git_openconfig/release/models/multicast/openconfig-pim.yang +git_openconfig/release/models/multicast/openconfig-pim-types.yang +git_openconfig/release/models/multicast/openconfig-igmp.yang +git_openconfig/release/models/multicast/openconfig-igmp-types.yang +git_openconfig/release/models/extensions/openconfig-metadata.yang +git_openconfig/release/models/extensions/openconfig-codegen-extensions.yang +git_openconfig/release/models/wifi/openconfig-wifi-mac.yang +git_openconfig/release/models/wifi/openconfig-wifi-phy.yang +git_openconfig/release/models/wifi/openconfig-ap-interfaces.yang +git_openconfig/release/models/wifi/openconfig-ap-manager.yang +git_openconfig/release/models/wifi/openconfig-wifi-types.yang +git_openconfig/release/models/wifi/openconfig-access-points.yang +git_openconfig/release/models/network-instance/openconfig-network-instance-types.yang +git_openconfig/release/models/network-instance/openconfig-network-instance-l3.yang +git_openconfig/release/models/network-instance/openconfig-evpn.yang +git_openconfig/release/models/network-instance/openconfig-network-instance-l2.yang +git_openconfig/release/models/network-instance/openconfig-network-instance-policy.yang +git_openconfig/release/models/network-instance/openconfig-network-instance.yang +git_openconfig/release/models/network-instance/openconfig-evpn-types.yang +git_openconfig/release/models/system/openconfig-aaa-types.yang +git_openconfig/release/models/system/openconfig-system-logging.yang +git_openconfig/release/models/system/openconfig-aaa-tacacs.yang +git_openconfig/release/models/system/openconfig-procmon.yang +git_openconfig/release/models/system/openconfig-aaa.yang +git_openconfig/release/models/system/openconfig-aaa-radius.yang +git_openconfig/release/models/system/openconfig-system.yang +git_openconfig/release/models/system/openconfig-license.yang +git_openconfig/release/models/system/openconfig-system-grpc.yang +git_openconfig/release/models/system/openconfig-alarms.yang +git_openconfig/release/models/system/openconfig-messages.yang +git_openconfig/release/models/system/openconfig-alarm-types.yang +git_openconfig/release/models/system/openconfig-system-terminal.yang +git_openconfig/release/models/acl/openconfig-packet-match-types.yang +git_openconfig/release/models/acl/openconfig-acl.yang +git_openconfig/release/models/acl/openconfig-packet-match.yang +git_openconfig/release/models/local-routing/openconfig-local-routing.yang +git_openconfig/release/models/openflow/openconfig-openflow.yang +git_openconfig/release/models/openflow/openconfig-openflow-types.yang +git_openconfig/release/models/probes/openconfig-probes.yang +git_openconfig/release/models/probes/openconfig-probes-types.yang +git_openconfig/release/models/lldp/openconfig-lldp-types.yang +git_openconfig/release/models/lldp/openconfig-lldp.yang +git_openconfig/release/models/interfaces/openconfig-if-8021x.yang +git_openconfig/release/models/interfaces/openconfig-interfaces.yang +git_openconfig/release/models/interfaces/openconfig-if-ethernet-ext.yang +git_openconfig/release/models/interfaces/openconfig-if-ip-ext.yang +git_openconfig/release/models/interfaces/openconfig-if-tunnel.yang +git_openconfig/release/models/interfaces/openconfig-if-poe.yang +git_openconfig/release/models/interfaces/openconfig-if-aggregate.yang +git_openconfig/release/models/interfaces/openconfig-if-sdn-ext.yang +git_openconfig/release/models/interfaces/openconfig-if-ip.yang +git_openconfig/release/models/interfaces/openconfig-if-ethernet.yang +git_openconfig/release/models/bgp/openconfig-bgp-errors.yang +git_openconfig/release/models/bgp/openconfig-bgp-common-multiprotocol.yang +git_openconfig/release/models/bgp/openconfig-bgp-common.yang +git_openconfig/release/models/bgp/openconfig-bgp-policy.yang +git_openconfig/release/models/bgp/openconfig-bgp-neighbor.yang +git_openconfig/release/models/bgp/openconfig-bgp-types.yang +git_openconfig/release/models/bgp/openconfig-bgp-common-structure.yang +git_openconfig/release/models/bgp/openconfig-bgp-peer-group.yang +git_openconfig/release/models/bgp/openconfig-bgp-global.yang +git_openconfig/release/models/bgp/openconfig-bgp.yang +git_openconfig/release/models/qos/openconfig-qos-types.yang +git_openconfig/release/models/qos/openconfig-qos-interfaces.yang +git_openconfig/release/models/qos/openconfig-qos.yang +git_openconfig/release/models/qos/openconfig-qos-mem-mgmt.yang +git_openconfig/release/models/qos/openconfig-qos-elements.yang +git_openconfig/release/models/aft/openconfig-aft-mpls.yang +git_openconfig/release/models/aft/openconfig-aft-state-synced.yang +git_openconfig/release/models/aft/openconfig-aft-pf.yang +git_openconfig/release/models/aft/openconfig-aft-ipv6.yang +git_openconfig/release/models/aft/openconfig-aft.yang +git_openconfig/release/models/aft/openconfig-aft-network-instance.yang +git_openconfig/release/models/aft/openconfig-aft-ipv4.yang +git_openconfig/release/models/aft/openconfig-aft-common.yang +git_openconfig/release/models/aft/openconfig-aft-types.yang +git_openconfig/release/models/aft/openconfig-aft-ethernet.yang +git_openconfig/release/models/sampling/openconfig-sampling-sflow.yang +git_openconfig/release/models/sampling/openconfig-sampling.yang +git_openconfig/release/models/firewall/openconfig-fw-link-monitoring.yang +git_openconfig/release/models/firewall/openconfig-fw-high-availability.yang +git_openconfig/release/models/catalog/openconfig-module-catalog.yang +git_openconfig/release/models/catalog/openconfig-catalog-types.yang +git_openconfig/release/models/macsec/openconfig-macsec-types.yang +git_openconfig/release/models/macsec/openconfig-macsec.yang +git_openconfig/release/models/ate/openconfig-ate-intf.yang +git_openconfig/release/models/ate/openconfig-ate-flow.yang +git_openconfig/release/models/mpls/openconfig-mpls-static.yang +git_openconfig/release/models/mpls/openconfig-mpls-rsvp.yang +git_openconfig/release/models/mpls/openconfig-mpls-sr.yang +git_openconfig/release/models/mpls/openconfig-mpls-types.yang +git_openconfig/release/models/mpls/openconfig-mpls.yang +git_openconfig/release/models/mpls/openconfig-mpls-te.yang +git_openconfig/release/models/mpls/openconfig-mpls-ldp.yang +git_openconfig/release/models/mpls/openconfig-mpls-igp.yang diff --git a/hackfest/netconf/binding_connection.py b/hackfest/netconf/binding_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..6da8d21d942afce3e3502783def6179bef406cae --- /dev/null +++ b/hackfest/netconf/binding_connection.py @@ -0,0 +1,411 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class yc_connection_connection__connection(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module connection - based on the path /connection. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__connection_id','__source_node','__target_node','__source_port','__target_port','__bandwidth','__layer_protocol_name',) + + _yang_name = 'connection' + _yang_namespace = 'urn:connection' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + self.__connection_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'connection'] + + def _get_connection_id(self): + """ + Getter method for connection_id, mapped from YANG variable /connection/connection_id (string) + """ + return self.__connection_id + + def _set_connection_id(self, v, load=False): + """ + Setter method for connection_id, mapped from YANG variable /connection/connection_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_connection_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_connection_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """connection_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True)""", + }) + + self.__connection_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_connection_id(self): + self.__connection_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + + + def _get_source_node(self): + """ + Getter method for source_node, mapped from YANG variable /connection/source_node (leafref) + """ + return self.__source_node + + def _set_source_node(self, v, load=False): + """ + Setter method for source_node, mapped from YANG variable /connection/source_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__source_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_node(self): + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_target_node(self): + """ + Getter method for target_node, mapped from YANG variable /connection/target_node (leafref) + """ + return self.__target_node + + def _set_target_node(self, v, load=False): + """ + Setter method for target_node, mapped from YANG variable /connection/target_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__target_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_node(self): + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_source_port(self): + """ + Getter method for source_port, mapped from YANG variable /connection/source_port (leafref) + """ + return self.__source_port + + def _set_source_port(self, v, load=False): + """ + Setter method for source_port, mapped from YANG variable /connection/source_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__source_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_port(self): + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_target_port(self): + """ + Getter method for target_port, mapped from YANG variable /connection/target_port (leafref) + """ + return self.__target_port + + def _set_target_port(self, v, load=False): + """ + Setter method for target_port, mapped from YANG variable /connection/target_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__target_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_port(self): + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_bandwidth(self): + """ + Getter method for bandwidth, mapped from YANG variable /connection/bandwidth (uint32) + """ + return self.__bandwidth + + def _set_bandwidth(self, v, load=False): + """ + Setter method for bandwidth, mapped from YANG variable /connection/bandwidth (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_bandwidth is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bandwidth() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bandwidth must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True)""", + }) + + self.__bandwidth = t + if hasattr(self, '_set'): + self._set() + + def _unset_bandwidth(self): + self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + + + def _get_layer_protocol_name(self): + """ + Getter method for layer_protocol_name, mapped from YANG variable /connection/layer_protocol_name (topology:layer-protocol-name) + """ + return self.__layer_protocol_name + + def _set_layer_protocol_name(self, v, load=False): + """ + Setter method for layer_protocol_name, mapped from YANG variable /connection/layer_protocol_name (topology:layer-protocol-name) + If this variable is read-only (config: false) in the + source YANG file, then _set_layer_protocol_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_layer_protocol_name() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """layer_protocol_name must be of a type compatible with topology:layer-protocol-name""", + 'defined-type': "topology:layer-protocol-name", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True)""", + }) + + self.__layer_protocol_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_layer_protocol_name(self): + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + + connection_id = __builtin__.property(_get_connection_id, _set_connection_id) + source_node = __builtin__.property(_get_source_node, _set_source_node) + target_node = __builtin__.property(_get_target_node, _set_target_node) + source_port = __builtin__.property(_get_source_port, _set_source_port) + target_port = __builtin__.property(_get_target_port, _set_target_port) + bandwidth = __builtin__.property(_get_bandwidth, _set_bandwidth) + layer_protocol_name = __builtin__.property(_get_layer_protocol_name, _set_layer_protocol_name) + + + _pyangbind_elements = OrderedDict([('connection_id', connection_id), ('source_node', source_node), ('target_node', target_node), ('source_port', source_port), ('target_port', target_port), ('bandwidth', bandwidth), ('layer_protocol_name', layer_protocol_name), ]) + + +class connection(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module connection - based on the path /connection. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Basic example of network topology + """ + __slots__ = ('_path_helper', '_extmethods', '__connection',) + + _yang_name = 'connection' + _yang_namespace = 'urn:connection' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__connection = YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_connection(self): + """ + Getter method for connection, mapped from YANG variable /connection (list) + """ + return self.__connection + + def _set_connection(self, v, load=False): + """ + Setter method for connection, mapped from YANG variable /connection (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_connection is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_connection() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """connection must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True)""", + }) + + self.__connection = t + if hasattr(self, '_set'): + self._set() + + def _unset_connection(self): + self.__connection = YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + + connection = __builtin__.property(_get_connection, _set_connection) + + + _pyangbind_elements = OrderedDict([('connection', connection), ]) + + diff --git a/hackfest/netconf/binding_topology.py b/hackfest/netconf/binding_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..ffc30a76ad4fc43f584a7307884ecbd88f5f8528 --- /dev/null +++ b/hackfest/netconf/binding_topology.py @@ -0,0 +1,714 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class yc_port_topology__topology_node_port(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/node/port. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__port_id','__layer_protocol_name',) + + _yang_name = 'port' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + self.__port_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology', u'node', u'port'] + + def _get_port_id(self): + """ + Getter method for port_id, mapped from YANG variable /topology/node/port/port_id (string) + """ + return self.__port_id + + def _set_port_id(self, v, load=False): + """ + Setter method for port_id, mapped from YANG variable /topology/node/port/port_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_port_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__port_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_port_id(self): + self.__port_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_layer_protocol_name(self): + """ + Getter method for layer_protocol_name, mapped from YANG variable /topology/node/port/layer_protocol_name (layer-protocol-name) + """ + return self.__layer_protocol_name + + def _set_layer_protocol_name(self, v, load=False): + """ + Setter method for layer_protocol_name, mapped from YANG variable /topology/node/port/layer_protocol_name (layer-protocol-name) + If this variable is read-only (config: false) in the + source YANG file, then _set_layer_protocol_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_layer_protocol_name() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """layer_protocol_name must be of a type compatible with layer-protocol-name""", + 'defined-type': "topology:layer-protocol-name", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True)""", + }) + + self.__layer_protocol_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_layer_protocol_name(self): + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + + port_id = __builtin__.property(_get_port_id, _set_port_id) + layer_protocol_name = __builtin__.property(_get_layer_protocol_name, _set_layer_protocol_name) + + + _pyangbind_elements = OrderedDict([('port_id', port_id), ('layer_protocol_name', layer_protocol_name), ]) + + +class yc_node_topology__topology_node(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/node. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__node_id','__port',) + + _yang_name = 'node' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__node_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + self.__port = YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology', u'node'] + + def _get_node_id(self): + """ + Getter method for node_id, mapped from YANG variable /topology/node/node_id (string) + """ + return self.__node_id + + def _set_node_id(self, v, load=False): + """ + Setter method for node_id, mapped from YANG variable /topology/node/node_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_node_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_node_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """node_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__node_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_node_id(self): + self.__node_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_port(self): + """ + Getter method for port, mapped from YANG variable /topology/node/port (list) + """ + return self.__port + + def _set_port(self, v, load=False): + """ + Setter method for port, mapped from YANG variable /topology/node/port (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__port = t + if hasattr(self, '_set'): + self._set() + + def _unset_port(self): + self.__port = YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + node_id = __builtin__.property(_get_node_id, _set_node_id) + port = __builtin__.property(_get_port, _set_port) + + + _pyangbind_elements = OrderedDict([('node_id', node_id), ('port', port), ]) + + +class yc_link_topology__topology_link(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/link. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__link_id','__source_node','__target_node','__source_port','__target_port',) + + _yang_name = 'link' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__link_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology', u'link'] + + def _get_link_id(self): + """ + Getter method for link_id, mapped from YANG variable /topology/link/link_id (string) + """ + return self.__link_id + + def _set_link_id(self, v, load=False): + """ + Setter method for link_id, mapped from YANG variable /topology/link/link_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_link_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_link_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """link_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__link_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_link_id(self): + self.__link_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_source_node(self): + """ + Getter method for source_node, mapped from YANG variable /topology/link/source_node (leafref) + """ + return self.__source_node + + def _set_source_node(self, v, load=False): + """ + Setter method for source_node, mapped from YANG variable /topology/link/source_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__source_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_node(self): + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_target_node(self): + """ + Getter method for target_node, mapped from YANG variable /topology/link/target_node (leafref) + """ + return self.__target_node + + def _set_target_node(self, v, load=False): + """ + Setter method for target_node, mapped from YANG variable /topology/link/target_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__target_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_node(self): + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_source_port(self): + """ + Getter method for source_port, mapped from YANG variable /topology/link/source_port (leafref) + """ + return self.__source_port + + def _set_source_port(self, v, load=False): + """ + Setter method for source_port, mapped from YANG variable /topology/link/source_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__source_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_port(self): + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_target_port(self): + """ + Getter method for target_port, mapped from YANG variable /topology/link/target_port (leafref) + """ + return self.__target_port + + def _set_target_port(self, v, load=False): + """ + Setter method for target_port, mapped from YANG variable /topology/link/target_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__target_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_port(self): + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + link_id = __builtin__.property(_get_link_id, _set_link_id) + source_node = __builtin__.property(_get_source_node, _set_source_node) + target_node = __builtin__.property(_get_target_node, _set_target_node) + source_port = __builtin__.property(_get_source_port, _set_source_port) + target_port = __builtin__.property(_get_target_port, _set_target_port) + + + _pyangbind_elements = OrderedDict([('link_id', link_id), ('source_node', source_node), ('target_node', target_node), ('source_port', source_port), ('target_port', target_port), ]) + + +class yc_topology_topology__topology(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__node','__link',) + + _yang_name = 'topology' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__node = YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + self.__link = YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology'] + + def _get_node(self): + """ + Getter method for node, mapped from YANG variable /topology/node (list) + """ + return self.__node + + def _set_node(self, v, load=False): + """ + Setter method for node, mapped from YANG variable /topology/node (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """node must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__node = t + if hasattr(self, '_set'): + self._set() + + def _unset_node(self): + self.__node = YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + + def _get_link(self): + """ + Getter method for link, mapped from YANG variable /topology/link (list) + """ + return self.__link + + def _set_link(self, v, load=False): + """ + Setter method for link, mapped from YANG variable /topology/link (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_link is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_link() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """link must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__link = t + if hasattr(self, '_set'): + self._set() + + def _unset_link(self): + self.__link = YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + node = __builtin__.property(_get_node, _set_node) + link = __builtin__.property(_get_link, _set_link) + + + _pyangbind_elements = OrderedDict([('node', node), ('link', link), ]) + + +class topology(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Basic example of network topology + """ + __slots__ = ('_path_helper', '_extmethods', '__topology',) + + _yang_name = 'topology' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__topology = YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_topology(self): + """ + Getter method for topology, mapped from YANG variable /topology (container) + """ + return self.__topology + + def _set_topology(self, v, load=False): + """ + Setter method for topology, mapped from YANG variable /topology (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_topology is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_topology() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """topology must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True)""", + }) + + self.__topology = t + if hasattr(self, '_set'): + self._set() + + def _unset_topology(self): + self.__topology = YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + + topology = __builtin__.property(_get_topology, _set_topology) + + + _pyangbind_elements = OrderedDict([('topology', topology), ]) + + diff --git a/hackfest/netconf/client_topology.py b/hackfest/netconf/client_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..5b1dd9a3e444034a5f6251e3be333847030a42d5 --- /dev/null +++ b/hackfest/netconf/client_topology.py @@ -0,0 +1,24 @@ +from lxml import etree +from netconf.client import NetconfSSHSession + +# connexion parameters +host = 'localhost' +port = 8300 +username = "admin" +password = "admin" + +# connexion to server +session = NetconfSSHSession(host, port, username, password) + +# server capabilities +c = session.capabilities +print(c) + +# get config +print("---GET CONFIG---") +config = session.get_config() +xmlstr = etree.tostring(config, encoding='utf8', xml_declaration=True) +print(xmlstr) + +# close connexion +session.close() diff --git a/hackfest/netconf/confd-basic-6.4.linux.x86_64.zip b/hackfest/netconf/confd-basic-6.4.linux.x86_64.zip new file mode 100644 index 0000000000000000000000000000000000000000..eb5b89e7fbed57e1519ae1990426152651686288 Binary files /dev/null and b/hackfest/netconf/confd-basic-6.4.linux.x86_64.zip differ diff --git a/hackfest/netconf/connection/binding_connection.py b/hackfest/netconf/connection/binding_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..6da8d21d942afce3e3502783def6179bef406cae --- /dev/null +++ b/hackfest/netconf/connection/binding_connection.py @@ -0,0 +1,411 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class yc_connection_connection__connection(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module connection - based on the path /connection. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__connection_id','__source_node','__target_node','__source_port','__target_port','__bandwidth','__layer_protocol_name',) + + _yang_name = 'connection' + _yang_namespace = 'urn:connection' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + self.__connection_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'connection'] + + def _get_connection_id(self): + """ + Getter method for connection_id, mapped from YANG variable /connection/connection_id (string) + """ + return self.__connection_id + + def _set_connection_id(self, v, load=False): + """ + Setter method for connection_id, mapped from YANG variable /connection/connection_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_connection_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_connection_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """connection_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True)""", + }) + + self.__connection_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_connection_id(self): + self.__connection_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + + + def _get_source_node(self): + """ + Getter method for source_node, mapped from YANG variable /connection/source_node (leafref) + """ + return self.__source_node + + def _set_source_node(self, v, load=False): + """ + Setter method for source_node, mapped from YANG variable /connection/source_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__source_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_node(self): + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_target_node(self): + """ + Getter method for target_node, mapped from YANG variable /connection/target_node (leafref) + """ + return self.__target_node + + def _set_target_node(self, v, load=False): + """ + Setter method for target_node, mapped from YANG variable /connection/target_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__target_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_node(self): + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_source_port(self): + """ + Getter method for source_port, mapped from YANG variable /connection/source_port (leafref) + """ + return self.__source_port + + def _set_source_port(self, v, load=False): + """ + Setter method for source_port, mapped from YANG variable /connection/source_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__source_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_port(self): + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_target_port(self): + """ + Getter method for target_port, mapped from YANG variable /connection/target_port (leafref) + """ + return self.__target_port + + def _set_target_port(self, v, load=False): + """ + Setter method for target_port, mapped from YANG variable /connection/target_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__target_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_port(self): + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_bandwidth(self): + """ + Getter method for bandwidth, mapped from YANG variable /connection/bandwidth (uint32) + """ + return self.__bandwidth + + def _set_bandwidth(self, v, load=False): + """ + Setter method for bandwidth, mapped from YANG variable /connection/bandwidth (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_bandwidth is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bandwidth() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bandwidth must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True)""", + }) + + self.__bandwidth = t + if hasattr(self, '_set'): + self._set() + + def _unset_bandwidth(self): + self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + + + def _get_layer_protocol_name(self): + """ + Getter method for layer_protocol_name, mapped from YANG variable /connection/layer_protocol_name (topology:layer-protocol-name) + """ + return self.__layer_protocol_name + + def _set_layer_protocol_name(self, v, load=False): + """ + Setter method for layer_protocol_name, mapped from YANG variable /connection/layer_protocol_name (topology:layer-protocol-name) + If this variable is read-only (config: false) in the + source YANG file, then _set_layer_protocol_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_layer_protocol_name() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """layer_protocol_name must be of a type compatible with topology:layer-protocol-name""", + 'defined-type': "topology:layer-protocol-name", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True)""", + }) + + self.__layer_protocol_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_layer_protocol_name(self): + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + + connection_id = __builtin__.property(_get_connection_id, _set_connection_id) + source_node = __builtin__.property(_get_source_node, _set_source_node) + target_node = __builtin__.property(_get_target_node, _set_target_node) + source_port = __builtin__.property(_get_source_port, _set_source_port) + target_port = __builtin__.property(_get_target_port, _set_target_port) + bandwidth = __builtin__.property(_get_bandwidth, _set_bandwidth) + layer_protocol_name = __builtin__.property(_get_layer_protocol_name, _set_layer_protocol_name) + + + _pyangbind_elements = OrderedDict([('connection_id', connection_id), ('source_node', source_node), ('target_node', target_node), ('source_port', source_port), ('target_port', target_port), ('bandwidth', bandwidth), ('layer_protocol_name', layer_protocol_name), ]) + + +class connection(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module connection - based on the path /connection. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Basic example of network topology + """ + __slots__ = ('_path_helper', '_extmethods', '__connection',) + + _yang_name = 'connection' + _yang_namespace = 'urn:connection' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__connection = YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_connection(self): + """ + Getter method for connection, mapped from YANG variable /connection (list) + """ + return self.__connection + + def _set_connection(self, v, load=False): + """ + Setter method for connection, mapped from YANG variable /connection (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_connection is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_connection() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """connection must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True)""", + }) + + self.__connection = t + if hasattr(self, '_set'): + self._set() + + def _unset_connection(self): + self.__connection = YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + + connection = __builtin__.property(_get_connection, _set_connection) + + + _pyangbind_elements = OrderedDict([('connection', connection), ]) + + diff --git a/hackfest/netconf/connection/binding_topology.py b/hackfest/netconf/connection/binding_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..ffc30a76ad4fc43f584a7307884ecbd88f5f8528 --- /dev/null +++ b/hackfest/netconf/connection/binding_topology.py @@ -0,0 +1,714 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class yc_port_topology__topology_node_port(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/node/port. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__port_id','__layer_protocol_name',) + + _yang_name = 'port' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + self.__port_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology', u'node', u'port'] + + def _get_port_id(self): + """ + Getter method for port_id, mapped from YANG variable /topology/node/port/port_id (string) + """ + return self.__port_id + + def _set_port_id(self, v, load=False): + """ + Setter method for port_id, mapped from YANG variable /topology/node/port/port_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_port_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__port_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_port_id(self): + self.__port_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_layer_protocol_name(self): + """ + Getter method for layer_protocol_name, mapped from YANG variable /topology/node/port/layer_protocol_name (layer-protocol-name) + """ + return self.__layer_protocol_name + + def _set_layer_protocol_name(self, v, load=False): + """ + Setter method for layer_protocol_name, mapped from YANG variable /topology/node/port/layer_protocol_name (layer-protocol-name) + If this variable is read-only (config: false) in the + source YANG file, then _set_layer_protocol_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_layer_protocol_name() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """layer_protocol_name must be of a type compatible with layer-protocol-name""", + 'defined-type': "topology:layer-protocol-name", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True)""", + }) + + self.__layer_protocol_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_layer_protocol_name(self): + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + + port_id = __builtin__.property(_get_port_id, _set_port_id) + layer_protocol_name = __builtin__.property(_get_layer_protocol_name, _set_layer_protocol_name) + + + _pyangbind_elements = OrderedDict([('port_id', port_id), ('layer_protocol_name', layer_protocol_name), ]) + + +class yc_node_topology__topology_node(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/node. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__node_id','__port',) + + _yang_name = 'node' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__node_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + self.__port = YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology', u'node'] + + def _get_node_id(self): + """ + Getter method for node_id, mapped from YANG variable /topology/node/node_id (string) + """ + return self.__node_id + + def _set_node_id(self, v, load=False): + """ + Setter method for node_id, mapped from YANG variable /topology/node/node_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_node_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_node_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """node_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__node_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_node_id(self): + self.__node_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_port(self): + """ + Getter method for port, mapped from YANG variable /topology/node/port (list) + """ + return self.__port + + def _set_port(self, v, load=False): + """ + Setter method for port, mapped from YANG variable /topology/node/port (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__port = t + if hasattr(self, '_set'): + self._set() + + def _unset_port(self): + self.__port = YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + node_id = __builtin__.property(_get_node_id, _set_node_id) + port = __builtin__.property(_get_port, _set_port) + + + _pyangbind_elements = OrderedDict([('node_id', node_id), ('port', port), ]) + + +class yc_link_topology__topology_link(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/link. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__link_id','__source_node','__target_node','__source_port','__target_port',) + + _yang_name = 'link' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__link_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology', u'link'] + + def _get_link_id(self): + """ + Getter method for link_id, mapped from YANG variable /topology/link/link_id (string) + """ + return self.__link_id + + def _set_link_id(self, v, load=False): + """ + Setter method for link_id, mapped from YANG variable /topology/link/link_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_link_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_link_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """link_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__link_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_link_id(self): + self.__link_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_source_node(self): + """ + Getter method for source_node, mapped from YANG variable /topology/link/source_node (leafref) + """ + return self.__source_node + + def _set_source_node(self, v, load=False): + """ + Setter method for source_node, mapped from YANG variable /topology/link/source_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__source_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_node(self): + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_target_node(self): + """ + Getter method for target_node, mapped from YANG variable /topology/link/target_node (leafref) + """ + return self.__target_node + + def _set_target_node(self, v, load=False): + """ + Setter method for target_node, mapped from YANG variable /topology/link/target_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__target_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_node(self): + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_source_port(self): + """ + Getter method for source_port, mapped from YANG variable /topology/link/source_port (leafref) + """ + return self.__source_port + + def _set_source_port(self, v, load=False): + """ + Setter method for source_port, mapped from YANG variable /topology/link/source_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__source_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_port(self): + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_target_port(self): + """ + Getter method for target_port, mapped from YANG variable /topology/link/target_port (leafref) + """ + return self.__target_port + + def _set_target_port(self, v, load=False): + """ + Setter method for target_port, mapped from YANG variable /topology/link/target_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__target_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_port(self): + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + link_id = __builtin__.property(_get_link_id, _set_link_id) + source_node = __builtin__.property(_get_source_node, _set_source_node) + target_node = __builtin__.property(_get_target_node, _set_target_node) + source_port = __builtin__.property(_get_source_port, _set_source_port) + target_port = __builtin__.property(_get_target_port, _set_target_port) + + + _pyangbind_elements = OrderedDict([('link_id', link_id), ('source_node', source_node), ('target_node', target_node), ('source_port', source_port), ('target_port', target_port), ]) + + +class yc_topology_topology__topology(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__node','__link',) + + _yang_name = 'topology' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__node = YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + self.__link = YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'topology'] + + def _get_node(self): + """ + Getter method for node, mapped from YANG variable /topology/node (list) + """ + return self.__node + + def _set_node(self, v, load=False): + """ + Setter method for node, mapped from YANG variable /topology/node (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """node must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__node = t + if hasattr(self, '_set'): + self._set() + + def _unset_node(self): + self.__node = YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + + def _get_link(self): + """ + Getter method for link, mapped from YANG variable /topology/link (list) + """ + return self.__link + + def _set_link(self, v, load=False): + """ + Setter method for link, mapped from YANG variable /topology/link (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_link is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_link() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """link must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__link = t + if hasattr(self, '_set'): + self._set() + + def _unset_link(self): + self.__link = YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + node = __builtin__.property(_get_node, _set_node) + link = __builtin__.property(_get_link, _set_link) + + + _pyangbind_elements = OrderedDict([('node', node), ('link', link), ]) + + +class topology(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Basic example of network topology + """ + __slots__ = ('_path_helper', '_extmethods', '__topology',) + + _yang_name = 'topology' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__topology = YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_topology(self): + """ + Getter method for topology, mapped from YANG variable /topology (container) + """ + return self.__topology + + def _set_topology(self, v, load=False): + """ + Setter method for topology, mapped from YANG variable /topology (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_topology is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_topology() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """topology must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True)""", + }) + + self.__topology = t + if hasattr(self, '_set'): + self._set() + + def _unset_topology(self): + self.__topology = YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + + topology = __builtin__.property(_get_topology, _set_topology) + + + _pyangbind_elements = OrderedDict([('topology', topology), ]) + + diff --git a/hackfest/netconf/connection/client_connection.py b/hackfest/netconf/connection/client_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..08c0eaae03fdad0f6dc6f56ceef5b8f9af38acf7 --- /dev/null +++ b/hackfest/netconf/connection/client_connection.py @@ -0,0 +1,44 @@ +from lxml import etree +from netconf.client import NetconfSSHSession + +# connexion parameters +host = 'localhost' +port = 8300 +username = "admin" +password = "admin" + +# connexion to server +session = NetconfSSHSession(host, port, username, password) + +# server capabilities +print("---GET C---") +c = session.capabilities +print(c) + +# get config +print("---GET CONFIG---") +config = session.get_config() +xmlstr = etree.tostring(config, encoding='utf8', xml_declaration=True) +print(xmlstr) + +# edit config +new_config = ''' + + + connection1 + node1 + node1portA + node2 + node2portA + 10 + ETH + + +''' +print("---EDIT CONFIG---") +config = session.edit_config(newconf=new_config) +xmlstr = etree.tostring(config, encoding='utf8', xml_declaration=True) +print(xmlstr) + +# close connexion +session.close() diff --git a/hackfest/netconf/connection/server-key b/hackfest/netconf/connection/server-key new file mode 100644 index 0000000000000000000000000000000000000000..7fc5e5f87d49b1b603cc2eb89a062f9c19ab42b4 --- /dev/null +++ b/hackfest/netconf/connection/server-key @@ -0,0 +1,40 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIG4gIBAAKCAYEAueh9Dsz3havrm3NltIudzPiDAWE1wxkl1iD7x2iAJNRmJaeL +WfMLgAVtC7DujsOpVjLbsPdvrKCvZf3PeJE9jzPYJNhAXhMErAaWm3bRfxK0L6et +/kHnFxTGkNHASMrAySRrJloP6zys8n2e8IQ3vq37SrmkcqnizhDpiSeBjYXtIQpD +4eutZ26pyQktAi/X413jQN0ociKane2JTbBvqdYP7nGVFraEhAL34H5u461lTltw +pAog1N5QW7b9Yc1zhFJFCcXeq9luD/y6Z5KzkbBYwxADJojdffrTTHbgz4r+uJkw +9m1K8sqBzIeBY95nmWbMR1iNzIQ97LW+ePebGPPfCO2+YLOkgZGtRs/zErO+8vl7 +cRsEh1MhQ/2qqUckZZEPKxCT32Pcogx8RPAlfUDhm0e7yBnKZktlzddT01cpo0yi +tDzCqTljklRL36tYFDwZBHgB1Yao28V/q0nCKokxhnPDQSjLAIVd8+f6pOctIitq +mO9g03JAVYrvAC4zAgMBAAECggGAbSxANG7ddJwvMgykT1AmDPZrSGYjwjyEYajg +8otFpVst2TL4vIvj1vxYuyLeFOyGBt668MN9yyxZlFVmfvEb63qQlaKAuj4E4ljE +HOu7vxnmwo1/ue5NnNpQeT8T4ite50ABxHXjH0t0bLqkma2rZsiY55r5HXTygfyg +iDCw/cEGLf7vOj7CiBkOj8ZZrg0WhKjgCXlWhSAZGGEj3oGcMWpJ1MbSvJHWZAey +NR1KVV3APjGohkyEVz1uh02AouyYxu0Oyu27i3NO3NSa0BLz6ct3U2wJFVt7zNIz +XcOr+YDcC0gz6yEz1O1e7+p1dOTL9+azA04Dq0IiSu6k94Rrmnvr42sMmDLi/JBN +ZP82nCOoPO31pdVoHqqG/s7+mjHGqTSC+l4wImZD5YGHRnGbOBarH75MG/PIDl6S +VSzVCZKPEnLkZ3lKC1R3WO5K16WCgqTGLisu4VjXALhHIMmJDNk3Kkv+EvLdXp5Q +hBbDlJCtgs7w8V88ci17ss9bmqWRAoHBAOl6T+gvTO2zbJ2LGXVJKGYFDR637GKJ +tPRyTPK8IJR6PN/VgQdJ70P2a3XEUIMSwH+6rBg+zNZnu7TkwDyyxImyjwtnhGjf +xAGfkj5inmsToBq5INxKBamito3QUyzZhYGfDO61r+e0agDpGYCll9EuhBeQ+00x +2x/vA0Btr4WzFnh3xdlozAcPvws3dXhybRPdgPbn90M2UW2ImdIV2GDJNN+vASbl +M9jhI1tm3KjCCfDzgKmvs48IpoRAwZJihQKBwQDL13Qxgk4L5uemi0fBR1Jwd0IE +gZ6E2rZWbzT5Fe9iSsN+1LHJqvs31We8FhN+sYujG1ZUUSt5bpFggXOw+LwDVOf2 +Bzer681YqkRKtu2wkEzRX0R1esMowba0s1Naonu1lohKKAcZJ4YHDBKjxYHH4+NR +mnFjjxtcnQ/mMVb+ZPjOaXvzCt7NfShlfztkClrDca3WgOh/Zed7+M+0S1rrOEpt +Wyph/Y76AzH/uzdEIPkToNqRIACXWOR2NOpn11cCgcAUb0gfIkSxaUrQXyRTR5vp +kfecAK0H0tWrr3VcqWqQlEJPtPgeEzKF2EN/gzcowbNneocleBmlil67bmoE5gCd +rKsobF8CbtNQ8Q5zt132MTmKHTnrDe+A8WTY9KrS+hbdSXZwTiafOQMuITjCMbwf +6tpU1bOpBfwPx3OZaAA8y3fkA1elt65jz9UAvlHhwOIbIv/unE7f6xklZRdRc+gE +UJf4G/EV3mmzScE2dsJJYvJLzIQuVdp5YmBwotpOXaECgcAKJI1ejUpO401xhwqp +/l+Gwxhg2wZFPBDImj37ivDfZjL2E6VJEJ3xeEfyHvMXYcQ9+HVCOsu7/hlzwN09 +2BKa49Wq80782f3cxJQjV5jaKUP5QxFH+zTMyV7K/QVPxDf9oCDl97nqsYHExgAD +cCd2B8ve2p17w7or0JDi9l+KxwFuW+dT/514ghrJehw9bRp5ESYCP2XSOQLcs1O6 +d+ltPN7PNDMWryQ3IoORYwJr/GwIYv+dKwd8gGrVyupDAn8CgcBJ7YIeLbV5nQ+g +Y2Ht748J3157Emckyxv5vE6QQqBzAN+WOWRjSqExbLnnTL9UsrMbYn0STxYRleti +eZmCSXu5msE1ZkwoGNRnyEAtoN0NPI92pB+rKZw2ERSjgtV9rPnmE4tvuz/dosxb +AjGCxal0bnwrnltq1xFqSWrjbvOfbf7bK68I6+T76ktqsGUhz3mdjzFp6cUducm/ +Ty6M1Y33OKW1ymOGnfaaTOuXWC6yLFjdB+aQg5wjNOIwuoHe750= +-----END RSA PRIVATE KEY----- + diff --git a/hackfest/netconf/connection/server-key.pub b/hackfest/netconf/connection/server-key.pub new file mode 100644 index 0000000000000000000000000000000000000000..faf095c812fe6ea34983f78cb03f23a0c0a41635 --- /dev/null +++ b/hackfest/netconf/connection/server-key.pub @@ -0,0 +1,2 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC56H0OzPeFq+ubc2W0i53M+IMBYTXDGSXWIPvHaIAk1GYlp4tZ8wuABW0LsO6Ow6lWMtuw92+soK9l/c94kT2PM9gk2EBeEwSsBpabdtF/ErQvp63+QecXFMaQ0cBIysDJJGsmWg/rPKzyfZ7whDe+rftKuaRyqeLOEOmJJ4GNhe0hCkPh661nbqnJCS0CL9fjXeNA3ShyIpqd7YlNsG+p1g/ucZUWtoSEAvfgfm7jrWVOW3CkCiDU3lBbtv1hzXOEUkUJxd6r2W4P/LpnkrORsFjDEAMmiN19+tNMduDPiv64mTD2bUryyoHMh4Fj3meZZsxHWI3MhD3stb5495sY898I7b5gs6SBka1Gz/MSs77y+XtxGwSHUyFD/aqpRyRlkQ8rEJPfY9yiDHxE8CV9QOGbR7vIGcpmS2XN11PTVymjTKK0PMKpOWOSVEvfq1gUPBkEeAHVhqjbxX+rScIqiTGGc8NBKMsAhV3z5/qk5y0iK2qY72DTckBViu8ALjM= chopps@tops + diff --git a/hackfest/netconf/connection/server_topology_connection.py b/hackfest/netconf/connection/server_topology_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..928edfb87c2ab52e9d762eee42e3d7e2cdd78529 --- /dev/null +++ b/hackfest/netconf/connection/server_topology_connection.py @@ -0,0 +1,95 @@ +import sys +import time +import logging +import os + +import binding_topology +import binding_connection + +from pyangbind.lib.serialise import pybindIETFXMLEncoder, pybindIETFXMLDecoder + +from netconf import nsmap_add, NSMAP +from netconf import server, util +from lxml import etree + +logging.basicConfig(level=logging.DEBUG) + + +nsmap_add("topology", "urn:topology") +nsmap_add("connection", "urn:connection") + +class MyServer(object): + + def __init__(self, username, password, port): + host_key_value = os.path.join(os.path.abspath(os.path.dirname(__file__)), "server-key") + auth = server.SSHUserPassController(username=username, password=password) + auth.check_auth_none(username) + self.server = server.NetconfSSHServer(server_ctl=auth, server_methods=self, host_key=host_key_value, port=port, debug=True) + self.data = None + self.load_file() + + def load_file(self): + # create configuration + xml_root = open('topology.xml', 'r').read() + print(xml_root) + topo = pybindIETFXMLDecoder.decode(xml_root, binding_topology, "topology") + xml = pybindIETFXMLEncoder.serialise(topo) + tree = etree.XML(xml) + data = util.elm("nc:data") + data.append(tree) + connection = etree.XML( pybindIETFXMLEncoder.serialise( binding_connection.connection() ) ) + data.append(connection) + + self.data = data + + def nc_append_capabilities(self, capabilities): + logging.debug("--GET capabilities--") + util.subelm(capabilities, "capability").text = "urn:ietf:params:netconf:capability:xpath:1.0" + util.subelm(capabilities, "capability").text = NSMAP["topology"] + util.subelm(capabilities, "capability").text = NSMAP["connection"] + + def rpc_get_config(self, session, rpc, source_elm, filter_or_none): + logging.debug("--GET CONFIG--") + logging.debug(session) + logging.debug(etree.tostring(rpc)) + + return util.filter_results(rpc, self.data, None) + + + def rpc_edit_config(self, session, rpc, target, new_config): + logging.debug("--EDIT CONFIG--") + logging.debug(session) + + data_list = new_config.findall(".//xmlns:connection", namespaces={'xmlns': 'urn:connection'}) + for connect in data_list: + logging.debug("connect: " ) + logging.debug(etree.tostring(connect) ) + logging.debug("CURRENT CONNECTION") + logging.debug(etree.tostring(self.data[1]) ) + self.data[1].append(connect) + break + return util.filter_results(rpc, self.data, None) + + def close(self): + self.server.close() + + + + +def main(*margs): + s = MyServer("admin","admin", 8300) + + if sys.stdout.isatty(): + logging.debug("^C to quit server") + + try: + while True: + time.sleep(1) + + except Exception: + logging.debug("quitting server") + + s.close() + +if __name__ == "__main__": + main() diff --git a/hackfest/netconf/connection/topology.xml b/hackfest/netconf/connection/topology.xml new file mode 100644 index 0000000000000000000000000000000000000000..93af480850b540669f133a76b12519f5554b8850 --- /dev/null +++ b/hackfest/netconf/connection/topology.xml @@ -0,0 +1,23 @@ + + + + node1 + + node1portA + + + + node2 + + node2portA + + + + link1 + node1 + node1portA + node2 + node2portA + + + diff --git a/hackfest/netconf/server-key b/hackfest/netconf/server-key new file mode 100644 index 0000000000000000000000000000000000000000..7fc5e5f87d49b1b603cc2eb89a062f9c19ab42b4 --- /dev/null +++ b/hackfest/netconf/server-key @@ -0,0 +1,40 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIG4gIBAAKCAYEAueh9Dsz3havrm3NltIudzPiDAWE1wxkl1iD7x2iAJNRmJaeL +WfMLgAVtC7DujsOpVjLbsPdvrKCvZf3PeJE9jzPYJNhAXhMErAaWm3bRfxK0L6et +/kHnFxTGkNHASMrAySRrJloP6zys8n2e8IQ3vq37SrmkcqnizhDpiSeBjYXtIQpD +4eutZ26pyQktAi/X413jQN0ociKane2JTbBvqdYP7nGVFraEhAL34H5u461lTltw +pAog1N5QW7b9Yc1zhFJFCcXeq9luD/y6Z5KzkbBYwxADJojdffrTTHbgz4r+uJkw +9m1K8sqBzIeBY95nmWbMR1iNzIQ97LW+ePebGPPfCO2+YLOkgZGtRs/zErO+8vl7 +cRsEh1MhQ/2qqUckZZEPKxCT32Pcogx8RPAlfUDhm0e7yBnKZktlzddT01cpo0yi +tDzCqTljklRL36tYFDwZBHgB1Yao28V/q0nCKokxhnPDQSjLAIVd8+f6pOctIitq +mO9g03JAVYrvAC4zAgMBAAECggGAbSxANG7ddJwvMgykT1AmDPZrSGYjwjyEYajg +8otFpVst2TL4vIvj1vxYuyLeFOyGBt668MN9yyxZlFVmfvEb63qQlaKAuj4E4ljE +HOu7vxnmwo1/ue5NnNpQeT8T4ite50ABxHXjH0t0bLqkma2rZsiY55r5HXTygfyg +iDCw/cEGLf7vOj7CiBkOj8ZZrg0WhKjgCXlWhSAZGGEj3oGcMWpJ1MbSvJHWZAey +NR1KVV3APjGohkyEVz1uh02AouyYxu0Oyu27i3NO3NSa0BLz6ct3U2wJFVt7zNIz +XcOr+YDcC0gz6yEz1O1e7+p1dOTL9+azA04Dq0IiSu6k94Rrmnvr42sMmDLi/JBN +ZP82nCOoPO31pdVoHqqG/s7+mjHGqTSC+l4wImZD5YGHRnGbOBarH75MG/PIDl6S +VSzVCZKPEnLkZ3lKC1R3WO5K16WCgqTGLisu4VjXALhHIMmJDNk3Kkv+EvLdXp5Q +hBbDlJCtgs7w8V88ci17ss9bmqWRAoHBAOl6T+gvTO2zbJ2LGXVJKGYFDR637GKJ +tPRyTPK8IJR6PN/VgQdJ70P2a3XEUIMSwH+6rBg+zNZnu7TkwDyyxImyjwtnhGjf +xAGfkj5inmsToBq5INxKBamito3QUyzZhYGfDO61r+e0agDpGYCll9EuhBeQ+00x +2x/vA0Btr4WzFnh3xdlozAcPvws3dXhybRPdgPbn90M2UW2ImdIV2GDJNN+vASbl +M9jhI1tm3KjCCfDzgKmvs48IpoRAwZJihQKBwQDL13Qxgk4L5uemi0fBR1Jwd0IE +gZ6E2rZWbzT5Fe9iSsN+1LHJqvs31We8FhN+sYujG1ZUUSt5bpFggXOw+LwDVOf2 +Bzer681YqkRKtu2wkEzRX0R1esMowba0s1Naonu1lohKKAcZJ4YHDBKjxYHH4+NR +mnFjjxtcnQ/mMVb+ZPjOaXvzCt7NfShlfztkClrDca3WgOh/Zed7+M+0S1rrOEpt +Wyph/Y76AzH/uzdEIPkToNqRIACXWOR2NOpn11cCgcAUb0gfIkSxaUrQXyRTR5vp +kfecAK0H0tWrr3VcqWqQlEJPtPgeEzKF2EN/gzcowbNneocleBmlil67bmoE5gCd +rKsobF8CbtNQ8Q5zt132MTmKHTnrDe+A8WTY9KrS+hbdSXZwTiafOQMuITjCMbwf +6tpU1bOpBfwPx3OZaAA8y3fkA1elt65jz9UAvlHhwOIbIv/unE7f6xklZRdRc+gE +UJf4G/EV3mmzScE2dsJJYvJLzIQuVdp5YmBwotpOXaECgcAKJI1ejUpO401xhwqp +/l+Gwxhg2wZFPBDImj37ivDfZjL2E6VJEJ3xeEfyHvMXYcQ9+HVCOsu7/hlzwN09 +2BKa49Wq80782f3cxJQjV5jaKUP5QxFH+zTMyV7K/QVPxDf9oCDl97nqsYHExgAD +cCd2B8ve2p17w7or0JDi9l+KxwFuW+dT/514ghrJehw9bRp5ESYCP2XSOQLcs1O6 +d+ltPN7PNDMWryQ3IoORYwJr/GwIYv+dKwd8gGrVyupDAn8CgcBJ7YIeLbV5nQ+g +Y2Ht748J3157Emckyxv5vE6QQqBzAN+WOWRjSqExbLnnTL9UsrMbYn0STxYRleti +eZmCSXu5msE1ZkwoGNRnyEAtoN0NPI92pB+rKZw2ERSjgtV9rPnmE4tvuz/dosxb +AjGCxal0bnwrnltq1xFqSWrjbvOfbf7bK68I6+T76ktqsGUhz3mdjzFp6cUducm/ +Ty6M1Y33OKW1ymOGnfaaTOuXWC6yLFjdB+aQg5wjNOIwuoHe750= +-----END RSA PRIVATE KEY----- + diff --git a/hackfest/netconf/server-key.pub b/hackfest/netconf/server-key.pub new file mode 100644 index 0000000000000000000000000000000000000000..faf095c812fe6ea34983f78cb03f23a0c0a41635 --- /dev/null +++ b/hackfest/netconf/server-key.pub @@ -0,0 +1,2 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC56H0OzPeFq+ubc2W0i53M+IMBYTXDGSXWIPvHaIAk1GYlp4tZ8wuABW0LsO6Ow6lWMtuw92+soK9l/c94kT2PM9gk2EBeEwSsBpabdtF/ErQvp63+QecXFMaQ0cBIysDJJGsmWg/rPKzyfZ7whDe+rftKuaRyqeLOEOmJJ4GNhe0hCkPh661nbqnJCS0CL9fjXeNA3ShyIpqd7YlNsG+p1g/ucZUWtoSEAvfgfm7jrWVOW3CkCiDU3lBbtv1hzXOEUkUJxd6r2W4P/LpnkrORsFjDEAMmiN19+tNMduDPiv64mTD2bUryyoHMh4Fj3meZZsxHWI3MhD3stb5495sY898I7b5gs6SBka1Gz/MSs77y+XtxGwSHUyFD/aqpRyRlkQ8rEJPfY9yiDHxE8CV9QOGbR7vIGcpmS2XN11PTVymjTKK0PMKpOWOSVEvfq1gUPBkEeAHVhqjbxX+rScIqiTGGc8NBKMsAhV3z5/qk5y0iK2qY72DTckBViu8ALjM= chopps@tops + diff --git a/hackfest/netconf/server_topology.py b/hackfest/netconf/server_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..84460c84b6d10ba580e1a93fd7f30a5b9ea87cb6 --- /dev/null +++ b/hackfest/netconf/server_topology.py @@ -0,0 +1,71 @@ +import sys +import time +import logging +import os + +import binding_topology +from pyangbind.lib.serialise import pybindIETFXMLEncoder, pybindIETFXMLDecoder + +from netconf import nsmap_add, NSMAP +from netconf import server, util +from lxml import etree + +logging.basicConfig(level=logging.DEBUG) + + +nsmap_add("topology", "urn:topology") + +class MyServer(object): + + def __init__(self, username, password, port): + host_key_value = os.path.join(os.path.abspath(os.path.dirname(__file__)), "server-key") + auth = server.SSHUserPassController(username=username, password=password) + self.server = server.NetconfSSHServer(server_ctl=auth, server_methods=self, port=port, host_key=host_key_value, debug=False) + self.load_file() + + def load_file(self): + # create configuration + xml_root = open('topology.xml', 'r').read() + print(xml_root) + topo = pybindIETFXMLDecoder.decode(xml_root, binding_topology, "topology") + xml = pybindIETFXMLEncoder.serialise(topo) + tree = etree.XML(xml) + data = util.elm("nc:data") + data.append(tree) + self.node_topology = data + + def nc_append_capabilities(self, capabilities): + util.subelm(capabilities, "capability").text = "urn:ietf:params:netconf:capability:xpath:1.0" + util.subelm(capabilities, "capability").text = NSMAP["topology"] + + def rpc_get_config(self, session, rpc, source_elm, filter_or_none): + logging.debug("--GET CONFIG--") + logging.debug(session) + logging.debug(etree.tostring(rpc)) + + return util.filter_results(rpc, self.node_topology, None) + + + def close(self): + self.server.close() + + + + +def main(*margs): + s = MyServer("admin","admin", 8300) + + if sys.stdout.isatty(): + logging.debug("^C to quit server") + + try: + while True: + time.sleep(1) + + except Exception: + logging.debug("quitting server") + + s.close() + +if __name__ == "__main__": + main() diff --git a/hackfest/netconf/topology.xml b/hackfest/netconf/topology.xml new file mode 100644 index 0000000000000000000000000000000000000000..93af480850b540669f133a76b12519f5554b8850 --- /dev/null +++ b/hackfest/netconf/topology.xml @@ -0,0 +1,23 @@ + + + + node1 + + node1portA + + + + node2 + + node2portA + + + + link1 + node1 + node1portA + node2 + node2portA + + + diff --git a/hackfest/onos_api/commands.txt b/hackfest/onos_api/commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..cac0169e63fac4b16bee718ab0720e2589ffb103 --- /dev/null +++ b/hackfest/onos_api/commands.txt @@ -0,0 +1,45 @@ +== APPENDIX: CONFD +$ cd ~/tfs-ctrl/hackfest/netconf +$ unzip confd-basic-6.4.linux.x86_64.zip +$ cd confd-basic-6.4.linux.x86_64/ +$ ./confd-basic-6.4.linux.x86_64.installer.bin /root/confd/ + +Data model compilation +$ cd /root/confd/bin/ +$ ./confdc -c ~/tfs-ctrl/hackfest/yang/topology.yang + +Start ConfD +$ ./confd --foreground -v --addloadpath . + +In another terminal, use ConfD-client to populate model +$ cd /root/confd/bin/ +$ ./confd_cli +> conf +> topology node node1 +> exit +> commit +> exit +> exit + +Use ConfD-client to show db +$ ./confd_cli +> conf +> show full-configuration +> exit +> exit + +== RUN ONOS +$ cd /root/onos-2.1.0/apache-karaf-4.2.3/bin/ +$ ./karaf clean +> app activate org.onosproject.openflow +> app activate org.onosproject.gui + +In another terminal, run mininet: +$ mn --topo linear,3 --mac --controller=remote,ip=127.0.0.1,port=6653 --switch ovs,protocols=OpenFlow13 + +In another terminal, we use ONOS REST API: +$ curl -X GET -u onos:rocks --header 'Accept: application/json' http://localhost:8181/onos/v1/links | python -m json.tool +$ cd ~/tfs-ctrl/hackfest/onos_api/ +$ python3 onos_topology.py + + diff --git a/hackfest/onos_api/onos_flows.py b/hackfest/onos_api/onos_flows.py new file mode 100644 index 0000000000000000000000000000000000000000..b2df4b5a22a7b419b4331792adf9078b0bd363a3 --- /dev/null +++ b/hackfest/onos_api/onos_flows.py @@ -0,0 +1,53 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import requests +from requests.auth import HTTPBasicAuth +import json + +IP='localhost' +PORT='8181' +USER='onos' +PASSWORD='rocks' + +URL = 'http://' + IP + ':' + PORT + '/onos/v1/flows/' + +def insertFlow( nodeId, priority, inport, outport ): + + flow='{ "priority": '+priority+', "timeout": 0, "isPermanent": true, "deviceId": "'+nodeId+'", "treatment": { "instructions": [ { "type": "OUTPUT", "port": "'+outport+'" } ] }, "selector": { "criteria": [ { "type": "IN_PORT", "port": "'+inport+'" } ] } }' + + + print ("Flow: " + flow) + url = URL + nodeId + '?appId=tuto' + headers = {'content-type': 'application/json'} + print (url) + response = requests.post(url, data=flow, + headers=headers, auth=HTTPBasicAuth(USER, + PASSWORD)) + print (response) + return response.status_code + +def deleteFlows(): + + url = URL + '' + 'application/'+'tuto' + response = requests.delete(url, auth=HTTPBasicAuth(USER, PASSWORD)) + print (response) + return response.status_code + + + +if __name__ == "__main__": + + print ("Setting flow") + + res = insertFlow(nodeId="of:0000000000000001", priority="40001", inport="1", outport="2") + print (res) + + #deleteFlows() + + + + + + + diff --git a/hackfest/onos_api/onos_topology.py b/hackfest/onos_api/onos_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..c008263d2a4af9bde226e564884ff5a3c800b52b --- /dev/null +++ b/hackfest/onos_api/onos_topology.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import requests +from requests.auth import HTTPBasicAuth +import json + +IP='127.0.0.1' +PORT='8181' +USER='onos' +PASSWORD='rocks' + +def retrieveTopology(ip, port, user, password): + http_json = 'http://' + ip + ':' + port + '/onos/v1/links' + response = requests.get(http_json, auth=HTTPBasicAuth(user, password)) + topology = response.json() + return topology + +if __name__ == "__main__": + + print ("Reading network-topology") + topo = retrieveTopology(IP, PORT, USER, PASSWORD) + print ( json.dumps(topo, indent=4, sort_keys=True) ) + + + diff --git a/hackfest/openconfig/generated.go b/hackfest/openconfig/generated.go new file mode 100644 index 0000000000000000000000000000000000000000..f4ab51ad2c76ba9c41601335881afce4da316868 --- /dev/null +++ b/hackfest/openconfig/generated.go @@ -0,0 +1,8540 @@ +/* +Package gostruct is a generated package which contains definitions +of structs which represent a YANG schema. The generated schema can be +compressed by a series of transformations (compression was false +in this case). + +This package was generated by /usr/share/gocode/src/github.com/openconfig/ygot/ygen/commongen.go +using the following YANG input files: + - /root/public/release/models/optical-transport/openconfig-terminal-device.yang + - /root/public/release/models/types/openconfig-types.yang + - /root/public/release/models/openconfig-extensions.yang + - /root/public/release/models/platform/openconfig-platform-types.yang + - /root/public/release/models/system/openconfig-alarm-types.yang + - /root/public/release/models/lldp/openconfig-lldp.yang + - /root/public/release/models/interfaces/openconfig-interfaces.yang +Imported modules were sourced from: +*/ +package gostruct + +import ( + "encoding/json" + "fmt" + "reflect" + + "github.com/openconfig/ygot/ygot" + "github.com/openconfig/goyang/pkg/yang" + "github.com/openconfig/ygot/ytypes" +) + +// Binary is a type that is used for fields that have a YANG type of +// binary. It is used such that binary fields can be distinguished from +// leaf-lists of uint8s (which are mapped to []uint8, equivalent to +// []byte in reflection). +type Binary []byte + +// YANGEmpty is a type that is used for fields that have a YANG type of +// empty. It is used such that empty fields can be distinguished from boolean fields +// in the generated code. +type YANGEmpty bool + +var ( + SchemaTree map[string]*yang.Entry +) + +func init() { + var err error + if SchemaTree, err = UnzipSchema(); err != nil { + panic("schema error: " + err.Error()) + } +} + +// Schema returns the details of the generated schema. +func Schema() (*ytypes.Schema, error) { + uzp, err := UnzipSchema() + if err != nil { + return nil, fmt.Errorf("cannot unzip schema, %v", err) + } + + return &ytypes.Schema{ + Root: &Device{}, + SchemaTree: uzp, + Unmarshal: Unmarshal, + }, nil +} + +// UnzipSchema unzips the zipped schema and returns a map of yang.Entry nodes, +// keyed by the name of the struct that the yang.Entry describes the schema for. +func UnzipSchema() (map[string]*yang.Entry, error) { + var schemaTree map[string]*yang.Entry + var err error + if schemaTree, err = ygot.GzipToSchema(ySchema); err != nil { + return nil, fmt.Errorf("could not unzip the schema; %v", err) + } + return schemaTree, nil +} + +// Unmarshal unmarshals data, which must be RFC7951 JSON format, into +// destStruct, which must be non-nil and the correct GoStruct type. It returns +// an error if the destStruct is not found in the schema or the data cannot be +// unmarshaled. The supplied options (opts) are used to control the behaviour +// of the unmarshal function - for example, determining whether errors are +// thrown for unknown fields in the input JSON. +func Unmarshal(data []byte, destStruct ygot.GoStruct, opts ...ytypes.UnmarshalOpt) error { + tn := reflect.TypeOf(destStruct).Elem().Name() + schema, ok := SchemaTree[tn] + if !ok { + return fmt.Errorf("could not find schema for type %s", tn ) + } + var jsonTree interface{} + if err := json.Unmarshal([]byte(data), &jsonTree); err != nil { + return err + } + return ytypes.Unmarshal(schema, destStruct, jsonTree, opts...) +} + +// Device represents the /device YANG schema element. +type Device struct { + Components *OpenconfigPlatform_Components `path:"components" module:"openconfig-platform"` + Interfaces *OpenconfigInterfaces_Interfaces `path:"interfaces" module:"openconfig-interfaces"` + InterfacesState *IETFInterfaces_InterfacesState `path:"interfaces-state" module:"ietf-interfaces"` + Lldp *OpenconfigLldp_Lldp `path:"lldp" module:"openconfig-lldp"` + TerminalDevice *OpenconfigTerminalDevice_TerminalDevice `path:"terminal-device" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that Device implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*Device) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *Device) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["Device"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *Device) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// IETFInterfaces_InterfacesState represents the /ietf-interfaces/interfaces-state YANG schema element. +type IETFInterfaces_InterfacesState struct { + Interface map[string]*IETFInterfaces_InterfacesState_Interface `path:"interface" module:"ietf-interfaces"` +} + +// IsYANGGoStruct ensures that IETFInterfaces_InterfacesState implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*IETFInterfaces_InterfacesState) IsYANGGoStruct() {} + +// NewInterface creates a new entry in the Interface list of the +// IETFInterfaces_InterfacesState struct. The keys of the list are populated from the input +// arguments. +func (t *IETFInterfaces_InterfacesState) NewInterface(Name string) (*IETFInterfaces_InterfacesState_Interface, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Interface == nil { + t.Interface = make(map[string]*IETFInterfaces_InterfacesState_Interface) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Interface[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Interface", key) + } + + t.Interface[key] = &IETFInterfaces_InterfacesState_Interface{ + Name: &Name, + } + + return t.Interface[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *IETFInterfaces_InterfacesState) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["IETFInterfaces_InterfacesState"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *IETFInterfaces_InterfacesState) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// IETFInterfaces_InterfacesState_Interface represents the /ietf-interfaces/interfaces-state/interface YANG schema element. +type IETFInterfaces_InterfacesState_Interface struct { + AdminStatus E_IETFInterfaces_InterfacesState_Interface_AdminStatus `path:"admin-status" module:"ietf-interfaces"` + HigherLayerIf []string `path:"higher-layer-if" module:"ietf-interfaces"` + IfIndex *int32 `path:"if-index" module:"ietf-interfaces"` + LastChange *string `path:"last-change" module:"ietf-interfaces"` + LowerLayerIf []string `path:"lower-layer-if" module:"ietf-interfaces"` + Name *string `path:"name" module:"ietf-interfaces"` + OperStatus E_IETFInterfaces_InterfacesState_Interface_OperStatus `path:"oper-status" module:"ietf-interfaces"` + PhysAddress *string `path:"phys-address" module:"ietf-interfaces"` + Speed *uint64 `path:"speed" module:"ietf-interfaces"` + Statistics *IETFInterfaces_InterfacesState_Interface_Statistics `path:"statistics" module:"ietf-interfaces"` + Type E_IETFInterfaces_InterfaceType `path:"type" module:"ietf-interfaces"` +} + +// IsYANGGoStruct ensures that IETFInterfaces_InterfacesState_Interface implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*IETFInterfaces_InterfacesState_Interface) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the IETFInterfaces_InterfacesState_Interface struct, which is a YANG list entry. +func (t *IETFInterfaces_InterfacesState_Interface) ΛListKeyMap() (map[string]interface{}, error) { + if t.Name == nil { + return nil, fmt.Errorf("nil value for key Name") + } + + return map[string]interface{}{ + "name": *t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *IETFInterfaces_InterfacesState_Interface) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["IETFInterfaces_InterfacesState_Interface"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *IETFInterfaces_InterfacesState_Interface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// IETFInterfaces_InterfacesState_Interface_Statistics represents the /ietf-interfaces/interfaces-state/interface/statistics YANG schema element. +type IETFInterfaces_InterfacesState_Interface_Statistics struct { + DiscontinuityTime *string `path:"discontinuity-time" module:"ietf-interfaces"` + InBroadcastPkts *uint64 `path:"in-broadcast-pkts" module:"ietf-interfaces"` + InDiscards *uint32 `path:"in-discards" module:"ietf-interfaces"` + InErrors *uint32 `path:"in-errors" module:"ietf-interfaces"` + InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"ietf-interfaces"` + InOctets *uint64 `path:"in-octets" module:"ietf-interfaces"` + InUnicastPkts *uint64 `path:"in-unicast-pkts" module:"ietf-interfaces"` + InUnknownProtos *uint32 `path:"in-unknown-protos" module:"ietf-interfaces"` + OutBroadcastPkts *uint64 `path:"out-broadcast-pkts" module:"ietf-interfaces"` + OutDiscards *uint32 `path:"out-discards" module:"ietf-interfaces"` + OutErrors *uint32 `path:"out-errors" module:"ietf-interfaces"` + OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"ietf-interfaces"` + OutOctets *uint64 `path:"out-octets" module:"ietf-interfaces"` + OutUnicastPkts *uint64 `path:"out-unicast-pkts" module:"ietf-interfaces"` +} + +// IsYANGGoStruct ensures that IETFInterfaces_InterfacesState_Interface_Statistics implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*IETFInterfaces_InterfacesState_Interface_Statistics) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *IETFInterfaces_InterfacesState_Interface_Statistics) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["IETFInterfaces_InterfacesState_Interface_Statistics"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *IETFInterfaces_InterfacesState_Interface_Statistics) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces represents the /openconfig-interfaces/interfaces YANG schema element. +type OpenconfigInterfaces_Interfaces struct { + Interface map[string]*OpenconfigInterfaces_Interfaces_Interface `path:"interface" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces) IsYANGGoStruct() {} + +// NewInterface creates a new entry in the Interface list of the +// OpenconfigInterfaces_Interfaces struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigInterfaces_Interfaces) NewInterface(Name string) (*OpenconfigInterfaces_Interfaces_Interface, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Interface == nil { + t.Interface = make(map[string]*OpenconfigInterfaces_Interfaces_Interface) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Interface[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Interface", key) + } + + t.Interface[key] = &OpenconfigInterfaces_Interfaces_Interface{ + Name: &Name, + } + + return t.Interface[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface represents the /openconfig-interfaces/interfaces/interface YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface struct { + Config *OpenconfigInterfaces_Interfaces_Interface_Config `path:"config" module:"openconfig-interfaces"` + Ethernet *OpenconfigInterfaces_Interfaces_Interface_Ethernet `path:"ethernet" module:"openconfig-if-ethernet"` + HoldTime *OpenconfigInterfaces_Interfaces_Interface_HoldTime `path:"hold-time" module:"openconfig-interfaces"` + Name *string `path:"name" module:"openconfig-interfaces"` + State *OpenconfigInterfaces_Interfaces_Interface_State `path:"state" module:"openconfig-interfaces"` + Subinterfaces *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces `path:"subinterfaces" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigInterfaces_Interfaces_Interface struct, which is a YANG list entry. +func (t *OpenconfigInterfaces_Interfaces_Interface) ΛListKeyMap() (map[string]interface{}, error) { + if t.Name == nil { + return nil, fmt.Errorf("nil value for key Name") + } + + return map[string]interface{}{ + "name": *t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Config represents the /openconfig-interfaces/interfaces/interface/config YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Config struct { + Description *string `path:"description" module:"openconfig-interfaces"` + Enabled *bool `path:"enabled" module:"openconfig-interfaces"` + LoopbackMode *bool `path:"loopback-mode" module:"openconfig-interfaces"` + Mtu *uint16 `path:"mtu" module:"openconfig-interfaces"` + Name *string `path:"name" module:"openconfig-interfaces"` + Type E_IETFInterfaces_InterfaceType `path:"type" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Ethernet represents the /openconfig-interfaces/interfaces/interface/ethernet YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Ethernet struct { + Config *OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config `path:"config" module:"openconfig-if-ethernet"` + State *OpenconfigInterfaces_Interfaces_Interface_Ethernet_State `path:"state" module:"openconfig-if-ethernet"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Ethernet) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Ethernet"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config represents the /openconfig-interfaces/interfaces/interface/ethernet/config YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config struct { + AutoNegotiate *bool `path:"auto-negotiate" module:"openconfig-if-ethernet"` + DuplexMode E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode `path:"duplex-mode" module:"openconfig-if-ethernet"` + EnableFlowControl *bool `path:"enable-flow-control" module:"openconfig-if-ethernet"` + MacAddress *string `path:"mac-address" module:"openconfig-if-ethernet"` + PortSpeed E_OpenconfigIfEthernet_ETHERNET_SPEED `path:"port-speed" module:"openconfig-if-ethernet"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Ethernet_State represents the /openconfig-interfaces/interfaces/interface/ethernet/state YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Ethernet_State struct { + AutoNegotiate *bool `path:"auto-negotiate" module:"openconfig-if-ethernet"` + Counters *OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters `path:"counters" module:"openconfig-if-ethernet"` + DuplexMode E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode `path:"duplex-mode" module:"openconfig-if-ethernet"` + EnableFlowControl *bool `path:"enable-flow-control" module:"openconfig-if-ethernet"` + HwMacAddress *string `path:"hw-mac-address" module:"openconfig-if-ethernet"` + MacAddress *string `path:"mac-address" module:"openconfig-if-ethernet"` + NegotiatedDuplexMode E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode `path:"negotiated-duplex-mode" module:"openconfig-if-ethernet"` + NegotiatedPortSpeed E_OpenconfigIfEthernet_ETHERNET_SPEED `path:"negotiated-port-speed" module:"openconfig-if-ethernet"` + PortSpeed E_OpenconfigIfEthernet_ETHERNET_SPEED `path:"port-speed" module:"openconfig-if-ethernet"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Ethernet_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Ethernet_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters represents the /openconfig-interfaces/interfaces/interface/ethernet/state/counters YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters struct { + In_8021QFrames *uint64 `path:"in-8021q-frames" module:"openconfig-if-ethernet"` + InBlockErrors *uint64 `path:"in-block-errors" module:"openconfig-if-ethernet"` + InCrcErrors *uint64 `path:"in-crc-errors" module:"openconfig-if-ethernet"` + InFragmentFrames *uint64 `path:"in-fragment-frames" module:"openconfig-if-ethernet"` + InJabberFrames *uint64 `path:"in-jabber-frames" module:"openconfig-if-ethernet"` + InMacControlFrames *uint64 `path:"in-mac-control-frames" module:"openconfig-if-ethernet"` + InMacPauseFrames *uint64 `path:"in-mac-pause-frames" module:"openconfig-if-ethernet"` + InOversizeFrames *uint64 `path:"in-oversize-frames" module:"openconfig-if-ethernet"` + InUndersizeFrames *uint64 `path:"in-undersize-frames" module:"openconfig-if-ethernet"` + Out_8021QFrames *uint64 `path:"out-8021q-frames" module:"openconfig-if-ethernet"` + OutMacControlFrames *uint64 `path:"out-mac-control-frames" module:"openconfig-if-ethernet"` + OutMacPauseFrames *uint64 `path:"out-mac-pause-frames" module:"openconfig-if-ethernet"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_HoldTime represents the /openconfig-interfaces/interfaces/interface/hold-time YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_HoldTime struct { + Config *OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config `path:"config" module:"openconfig-interfaces"` + State *OpenconfigInterfaces_Interfaces_Interface_HoldTime_State `path:"state" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_HoldTime implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_HoldTime) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_HoldTime) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_HoldTime"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_HoldTime) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config represents the /openconfig-interfaces/interfaces/interface/hold-time/config YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config struct { + Down *uint32 `path:"down" module:"openconfig-interfaces"` + Up *uint32 `path:"up" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_HoldTime_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_HoldTime_State represents the /openconfig-interfaces/interfaces/interface/hold-time/state YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_HoldTime_State struct { + Down *uint32 `path:"down" module:"openconfig-interfaces"` + Up *uint32 `path:"up" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_HoldTime_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_HoldTime_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_HoldTime_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_HoldTime_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_HoldTime_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_State represents the /openconfig-interfaces/interfaces/interface/state YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_State struct { + AdminStatus E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus `path:"admin-status" module:"openconfig-interfaces"` + Counters *OpenconfigInterfaces_Interfaces_Interface_State_Counters `path:"counters" module:"openconfig-interfaces"` + Description *string `path:"description" module:"openconfig-interfaces"` + Enabled *bool `path:"enabled" module:"openconfig-interfaces"` + HardwarePort *string `path:"hardware-port" module:"openconfig-platform-port"` + Ifindex *uint32 `path:"ifindex" module:"openconfig-interfaces"` + LastChange *uint64 `path:"last-change" module:"openconfig-interfaces"` + Logical *bool `path:"logical" module:"openconfig-interfaces"` + LoopbackMode *bool `path:"loopback-mode" module:"openconfig-interfaces"` + Mtu *uint16 `path:"mtu" module:"openconfig-interfaces"` + Name *string `path:"name" module:"openconfig-interfaces"` + OperStatus E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus `path:"oper-status" module:"openconfig-interfaces"` + PhysicalChannel []uint16 `path:"physical-channel" module:"openconfig-platform-transceiver"` + Transceiver *string `path:"transceiver" module:"openconfig-platform-transceiver"` + Type E_IETFInterfaces_InterfaceType `path:"type" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_State_Counters represents the /openconfig-interfaces/interfaces/interface/state/counters YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_State_Counters struct { + CarrierTransitions *uint64 `path:"carrier-transitions" module:"openconfig-interfaces"` + InBroadcastPkts *uint64 `path:"in-broadcast-pkts" module:"openconfig-interfaces"` + InDiscards *uint64 `path:"in-discards" module:"openconfig-interfaces"` + InErrors *uint64 `path:"in-errors" module:"openconfig-interfaces"` + InFcsErrors *uint64 `path:"in-fcs-errors" module:"openconfig-interfaces"` + InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-interfaces"` + InOctets *uint64 `path:"in-octets" module:"openconfig-interfaces"` + InPkts *uint64 `path:"in-pkts" module:"openconfig-interfaces"` + InUnicastPkts *uint64 `path:"in-unicast-pkts" module:"openconfig-interfaces"` + InUnknownProtos *uint64 `path:"in-unknown-protos" module:"openconfig-interfaces"` + LastClear *uint64 `path:"last-clear" module:"openconfig-interfaces"` + OutBroadcastPkts *uint64 `path:"out-broadcast-pkts" module:"openconfig-interfaces"` + OutDiscards *uint64 `path:"out-discards" module:"openconfig-interfaces"` + OutErrors *uint64 `path:"out-errors" module:"openconfig-interfaces"` + OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-interfaces"` + OutOctets *uint64 `path:"out-octets" module:"openconfig-interfaces"` + OutPkts *uint64 `path:"out-pkts" module:"openconfig-interfaces"` + OutUnicastPkts *uint64 `path:"out-unicast-pkts" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_State_Counters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_State_Counters) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_State_Counters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_State_Counters"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_State_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Subinterfaces represents the /openconfig-interfaces/interfaces/interface/subinterfaces YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Subinterfaces struct { + Subinterface map[uint32]*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface `path:"subinterface" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Subinterfaces implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces) IsYANGGoStruct() {} + +// NewSubinterface creates a new entry in the Subinterface list of the +// OpenconfigInterfaces_Interfaces_Interface_Subinterfaces struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces) NewSubinterface(Index uint32) (*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Subinterface == nil { + t.Subinterface = make(map[uint32]*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface) + } + + key := Index + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Subinterface[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Subinterface", key) + } + + t.Subinterface[key] = &OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface{ + Index: &Index, + } + + return t.Subinterface[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Subinterfaces"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface struct { + Config *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config `path:"config" module:"openconfig-interfaces"` + Index *uint32 `path:"index" module:"openconfig-interfaces"` + State *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State `path:"state" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface struct, which is a YANG list entry. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface) ΛListKeyMap() (map[string]interface{}, error) { + if t.Index == nil { + return nil, fmt.Errorf("nil value for key Index") + } + + return map[string]interface{}{ + "index": *t.Index, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/config YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config struct { + Description *string `path:"description" module:"openconfig-interfaces"` + Enabled *bool `path:"enabled" module:"openconfig-interfaces"` + Index *uint32 `path:"index" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/state YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State struct { + AdminStatus E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus `path:"admin-status" module:"openconfig-interfaces"` + Counters *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters `path:"counters" module:"openconfig-interfaces"` + Description *string `path:"description" module:"openconfig-interfaces"` + Enabled *bool `path:"enabled" module:"openconfig-interfaces"` + Ifindex *uint32 `path:"ifindex" module:"openconfig-interfaces"` + Index *uint32 `path:"index" module:"openconfig-interfaces"` + LastChange *uint64 `path:"last-change" module:"openconfig-interfaces"` + Logical *bool `path:"logical" module:"openconfig-interfaces"` + Name *string `path:"name" module:"openconfig-interfaces"` + OperStatus E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus `path:"oper-status" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/state/counters YANG schema element. +type OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters struct { + CarrierTransitions *uint64 `path:"carrier-transitions" module:"openconfig-interfaces"` + InBroadcastPkts *uint64 `path:"in-broadcast-pkts" module:"openconfig-interfaces"` + InDiscards *uint64 `path:"in-discards" module:"openconfig-interfaces"` + InErrors *uint64 `path:"in-errors" module:"openconfig-interfaces"` + InFcsErrors *uint64 `path:"in-fcs-errors" module:"openconfig-interfaces"` + InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-interfaces"` + InOctets *uint64 `path:"in-octets" module:"openconfig-interfaces"` + InPkts *uint64 `path:"in-pkts" module:"openconfig-interfaces"` + InUnicastPkts *uint64 `path:"in-unicast-pkts" module:"openconfig-interfaces"` + InUnknownProtos *uint64 `path:"in-unknown-protos" module:"openconfig-interfaces"` + LastClear *uint64 `path:"last-clear" module:"openconfig-interfaces"` + OutBroadcastPkts *uint64 `path:"out-broadcast-pkts" module:"openconfig-interfaces"` + OutDiscards *uint64 `path:"out-discards" module:"openconfig-interfaces"` + OutErrors *uint64 `path:"out-errors" module:"openconfig-interfaces"` + OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-interfaces"` + OutOctets *uint64 `path:"out-octets" module:"openconfig-interfaces"` + OutPkts *uint64 `path:"out-pkts" module:"openconfig-interfaces"` + OutUnicastPkts *uint64 `path:"out-unicast-pkts" module:"openconfig-interfaces"` +} + +// IsYANGGoStruct ensures that OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigInterfaces_Interfaces_Interface_Subinterfaces_Subinterface_State_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp represents the /openconfig-lldp/lldp YANG schema element. +type OpenconfigLldp_Lldp struct { + Config *OpenconfigLldp_Lldp_Config `path:"config" module:"openconfig-lldp"` + Interfaces *OpenconfigLldp_Lldp_Interfaces `path:"interfaces" module:"openconfig-lldp"` + State *OpenconfigLldp_Lldp_State `path:"state" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Config represents the /openconfig-lldp/lldp/config YANG schema element. +type OpenconfigLldp_Lldp_Config struct { + ChassisId *string `path:"chassis-id" module:"openconfig-lldp"` + ChassisIdType E_OpenconfigLldp_ChassisIdType `path:"chassis-id-type" module:"openconfig-lldp"` + Enabled *bool `path:"enabled" module:"openconfig-lldp"` + HelloTimer *uint64 `path:"hello-timer" module:"openconfig-lldp"` + SuppressTlvAdvertisement []E_OpenconfigLldpTypes_LLDP_TLV `path:"suppress-tlv-advertisement" module:"openconfig-lldp"` + SystemDescription *string `path:"system-description" module:"openconfig-lldp"` + SystemName *string `path:"system-name" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces represents the /openconfig-lldp/lldp/interfaces YANG schema element. +type OpenconfigLldp_Lldp_Interfaces struct { + Interface map[string]*OpenconfigLldp_Lldp_Interfaces_Interface `path:"interface" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces) IsYANGGoStruct() {} + +// NewInterface creates a new entry in the Interface list of the +// OpenconfigLldp_Lldp_Interfaces struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigLldp_Lldp_Interfaces) NewInterface(Name string) (*OpenconfigLldp_Lldp_Interfaces_Interface, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Interface == nil { + t.Interface = make(map[string]*OpenconfigLldp_Lldp_Interfaces_Interface) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Interface[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Interface", key) + } + + t.Interface[key] = &OpenconfigLldp_Lldp_Interfaces_Interface{ + Name: &Name, + } + + return t.Interface[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface represents the /openconfig-lldp/lldp/interfaces/interface YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface struct { + Config *OpenconfigLldp_Lldp_Interfaces_Interface_Config `path:"config" module:"openconfig-lldp"` + Name *string `path:"name" module:"openconfig-lldp"` + Neighbors *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors `path:"neighbors" module:"openconfig-lldp"` + State *OpenconfigLldp_Lldp_Interfaces_Interface_State `path:"state" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigLldp_Lldp_Interfaces_Interface struct, which is a YANG list entry. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface) ΛListKeyMap() (map[string]interface{}, error) { + if t.Name == nil { + return nil, fmt.Errorf("nil value for key Name") + } + + return map[string]interface{}{ + "name": *t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Config represents the /openconfig-lldp/lldp/interfaces/interface/config YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Config struct { + Enabled *bool `path:"enabled" module:"openconfig-lldp"` + Name *string `path:"name" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors represents the /openconfig-lldp/lldp/interfaces/interface/neighbors YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors struct { + Neighbor map[string]*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor `path:"neighbor" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors) IsYANGGoStruct() {} + +// NewNeighbor creates a new entry in the Neighbor list of the +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors) NewNeighbor(Id string) (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Neighbor == nil { + t.Neighbor = make(map[string]*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor) + } + + key := Id + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Neighbor[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Neighbor", key) + } + + t.Neighbor[key] = &OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor{ + Id: &Id, + } + + return t.Neighbor[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor struct { + Capabilities *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities `path:"capabilities" module:"openconfig-lldp"` + Config *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config `path:"config" module:"openconfig-lldp"` + CustomTlvs *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs `path:"custom-tlvs" module:"openconfig-lldp"` + Id *string `path:"id" module:"openconfig-lldp"` + State *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State `path:"state" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor struct, which is a YANG list entry. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor) ΛListKeyMap() (map[string]interface{}, error) { + if t.Id == nil { + return nil, fmt.Errorf("nil value for key Id") + } + + return map[string]interface{}{ + "id": *t.Id, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/capabilities YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities struct { + Capability map[E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY]*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability `path:"capability" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities) IsYANGGoStruct() {} + +// NewCapability creates a new entry in the Capability list of the +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities) NewCapability(Name E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY) (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Capability == nil { + t.Capability = make(map[E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY]*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Capability[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Capability", key) + } + + t.Capability[key] = &OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability{ + Name: Name, + } + + return t.Capability[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/capabilities/capability YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability struct { + Config *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config `path:"config" module:"openconfig-lldp"` + Name E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY `path:"name" module:"openconfig-lldp"` + State *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State `path:"state" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability struct, which is a YANG list entry. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability) ΛListKeyMap() (map[string]interface{}, error) { + + return map[string]interface{}{ + "name": t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/capabilities/capability/config YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/capabilities/capability/state YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State struct { + Enabled *bool `path:"enabled" module:"openconfig-lldp"` + Name E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY `path:"name" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Capabilities_Capability_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/config YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/custom-tlvs YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs struct { + Tlv map[OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Key]*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv `path:"tlv" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs) IsYANGGoStruct() {} + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Key represents the key for list Tlv of element /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/custom-tlvs. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Key struct { + Type int32 `path:"type"` + Oui string `path:"oui"` + OuiSubtype string `path:"oui-subtype"` +} + +// NewTlv creates a new entry in the Tlv list of the +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs) NewTlv(Type int32, Oui string, OuiSubtype string) (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Tlv == nil { + t.Tlv = make(map[OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Key]*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv) + } + + key := OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Key{ + Type: Type, + Oui: Oui, + OuiSubtype: OuiSubtype, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Tlv[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Tlv", key) + } + + t.Tlv[key] = &OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv{ + Type: &Type, + Oui: &Oui, + OuiSubtype: &OuiSubtype, + } + + return t.Tlv[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/custom-tlvs/tlv YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv struct { + Config *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config `path:"config" module:"openconfig-lldp"` + Oui *string `path:"oui" module:"openconfig-lldp"` + OuiSubtype *string `path:"oui-subtype" module:"openconfig-lldp"` + State *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State `path:"state" module:"openconfig-lldp"` + Type *int32 `path:"type" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv struct, which is a YANG list entry. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv) ΛListKeyMap() (map[string]interface{}, error) { + if t.Oui == nil { + return nil, fmt.Errorf("nil value for key Oui") + } + + if t.OuiSubtype == nil { + return nil, fmt.Errorf("nil value for key OuiSubtype") + } + + if t.Type == nil { + return nil, fmt.Errorf("nil value for key Type") + } + + return map[string]interface{}{ + "oui": *t.Oui, + "oui-subtype": *t.OuiSubtype, + "type": *t.Type, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/custom-tlvs/tlv/config YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/custom-tlvs/tlv/state YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State struct { + Oui *string `path:"oui" module:"openconfig-lldp"` + OuiSubtype *string `path:"oui-subtype" module:"openconfig-lldp"` + Type *int32 `path:"type" module:"openconfig-lldp"` + Value Binary `path:"value" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_CustomTlvs_Tlv_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State represents the /openconfig-lldp/lldp/interfaces/interface/neighbors/neighbor/state YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State struct { + Age *uint64 `path:"age" module:"openconfig-lldp"` + ChassisId *string `path:"chassis-id" module:"openconfig-lldp"` + ChassisIdType E_OpenconfigLldp_ChassisIdType `path:"chassis-id-type" module:"openconfig-lldp"` + Id *string `path:"id" module:"openconfig-lldp"` + LastUpdate *int64 `path:"last-update" module:"openconfig-lldp"` + ManagementAddress *string `path:"management-address" module:"openconfig-lldp"` + ManagementAddressType *string `path:"management-address-type" module:"openconfig-lldp"` + PortDescription *string `path:"port-description" module:"openconfig-lldp"` + PortId *string `path:"port-id" module:"openconfig-lldp"` + PortIdType E_OpenconfigLldp_PortIdType `path:"port-id-type" module:"openconfig-lldp"` + SystemDescription *string `path:"system-description" module:"openconfig-lldp"` + SystemName *string `path:"system-name" module:"openconfig-lldp"` + Ttl *uint16 `path:"ttl" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_Neighbors_Neighbor_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_State represents the /openconfig-lldp/lldp/interfaces/interface/state YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_State struct { + Counters *OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters `path:"counters" module:"openconfig-lldp"` + Enabled *bool `path:"enabled" module:"openconfig-lldp"` + Name *string `path:"name" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters represents the /openconfig-lldp/lldp/interfaces/interface/state/counters YANG schema element. +type OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters struct { + FrameDiscard *uint64 `path:"frame-discard" module:"openconfig-lldp"` + FrameErrorIn *uint64 `path:"frame-error-in" module:"openconfig-lldp"` + FrameErrorOut *uint64 `path:"frame-error-out" module:"openconfig-lldp"` + FrameIn *uint64 `path:"frame-in" module:"openconfig-lldp"` + FrameOut *uint64 `path:"frame-out" module:"openconfig-lldp"` + LastClear *string `path:"last-clear" module:"openconfig-lldp"` + TlvDiscard *uint64 `path:"tlv-discard" module:"openconfig-lldp"` + TlvUnknown *uint64 `path:"tlv-unknown" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_Interfaces_Interface_State_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_State represents the /openconfig-lldp/lldp/state YANG schema element. +type OpenconfigLldp_Lldp_State struct { + ChassisId *string `path:"chassis-id" module:"openconfig-lldp"` + ChassisIdType E_OpenconfigLldp_ChassisIdType `path:"chassis-id-type" module:"openconfig-lldp"` + Counters *OpenconfigLldp_Lldp_State_Counters `path:"counters" module:"openconfig-lldp"` + Enabled *bool `path:"enabled" module:"openconfig-lldp"` + HelloTimer *uint64 `path:"hello-timer" module:"openconfig-lldp"` + SuppressTlvAdvertisement []E_OpenconfigLldpTypes_LLDP_TLV `path:"suppress-tlv-advertisement" module:"openconfig-lldp"` + SystemDescription *string `path:"system-description" module:"openconfig-lldp"` + SystemName *string `path:"system-name" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigLldp_Lldp_State_Counters represents the /openconfig-lldp/lldp/state/counters YANG schema element. +type OpenconfigLldp_Lldp_State_Counters struct { + EntriesAgedOut *uint64 `path:"entries-aged-out" module:"openconfig-lldp"` + FrameDiscard *uint64 `path:"frame-discard" module:"openconfig-lldp"` + FrameErrorIn *uint64 `path:"frame-error-in" module:"openconfig-lldp"` + FrameIn *uint64 `path:"frame-in" module:"openconfig-lldp"` + FrameOut *uint64 `path:"frame-out" module:"openconfig-lldp"` + LastClear *string `path:"last-clear" module:"openconfig-lldp"` + TlvAccepted *uint64 `path:"tlv-accepted" module:"openconfig-lldp"` + TlvDiscard *uint64 `path:"tlv-discard" module:"openconfig-lldp"` + TlvUnknown *uint64 `path:"tlv-unknown" module:"openconfig-lldp"` +} + +// IsYANGGoStruct ensures that OpenconfigLldp_Lldp_State_Counters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigLldp_Lldp_State_Counters) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigLldp_Lldp_State_Counters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigLldp_Lldp_State_Counters"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigLldp_Lldp_State_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components represents the /openconfig-platform/components YANG schema element. +type OpenconfigPlatform_Components struct { + Component map[string]*OpenconfigPlatform_Components_Component `path:"component" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components) IsYANGGoStruct() {} + +// NewComponent creates a new entry in the Component list of the +// OpenconfigPlatform_Components struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigPlatform_Components) NewComponent(Name string) (*OpenconfigPlatform_Components_Component, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Component == nil { + t.Component = make(map[string]*OpenconfigPlatform_Components_Component) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Component[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Component", key) + } + + t.Component[key] = &OpenconfigPlatform_Components_Component{ + Name: &Name, + } + + return t.Component[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component represents the /openconfig-platform/components/component YANG schema element. +type OpenconfigPlatform_Components_Component struct { + Backplane *OpenconfigPlatform_Components_Component_Backplane `path:"backplane" module:"openconfig-platform"` + Chassis *OpenconfigPlatform_Components_Component_Chassis `path:"chassis" module:"openconfig-platform"` + Config *OpenconfigPlatform_Components_Component_Config `path:"config" module:"openconfig-platform"` + Cpu *OpenconfigPlatform_Components_Component_Cpu `path:"cpu" module:"openconfig-platform"` + Fabric *OpenconfigPlatform_Components_Component_Fabric `path:"fabric" module:"openconfig-platform"` + Fan *OpenconfigPlatform_Components_Component_Fan `path:"fan" module:"openconfig-platform"` + IntegratedCircuit *OpenconfigPlatform_Components_Component_IntegratedCircuit `path:"integrated-circuit" module:"openconfig-platform"` + Name *string `path:"name" module:"openconfig-platform"` + OpticalChannel *OpenconfigPlatform_Components_Component_OpticalChannel `path:"optical-channel" module:"openconfig-terminal-device"` + Port *OpenconfigPlatform_Components_Component_Port `path:"port" module:"openconfig-platform"` + PowerSupply *OpenconfigPlatform_Components_Component_PowerSupply `path:"power-supply" module:"openconfig-platform"` + Properties *OpenconfigPlatform_Components_Component_Properties `path:"properties" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_State `path:"state" module:"openconfig-platform"` + Storage *OpenconfigPlatform_Components_Component_Storage `path:"storage" module:"openconfig-platform"` + Subcomponents *OpenconfigPlatform_Components_Component_Subcomponents `path:"subcomponents" module:"openconfig-platform"` + Transceiver *OpenconfigPlatform_Components_Component_Transceiver `path:"transceiver" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigPlatform_Components_Component struct, which is a YANG list entry. +func (t *OpenconfigPlatform_Components_Component) ΛListKeyMap() (map[string]interface{}, error) { + if t.Name == nil { + return nil, fmt.Errorf("nil value for key Name") + } + + return map[string]interface{}{ + "name": *t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Backplane represents the /openconfig-platform/components/component/backplane YANG schema element. +type OpenconfigPlatform_Components_Component_Backplane struct { + Config *OpenconfigPlatform_Components_Component_Backplane_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Backplane_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Backplane implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Backplane) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Backplane) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Backplane"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Backplane) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Backplane_Config represents the /openconfig-platform/components/component/backplane/config YANG schema element. +type OpenconfigPlatform_Components_Component_Backplane_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Backplane_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Backplane_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Backplane_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Backplane_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Backplane_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Backplane_State represents the /openconfig-platform/components/component/backplane/state YANG schema element. +type OpenconfigPlatform_Components_Component_Backplane_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Backplane_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Backplane_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Backplane_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Backplane_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Backplane_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Chassis represents the /openconfig-platform/components/component/chassis YANG schema element. +type OpenconfigPlatform_Components_Component_Chassis struct { + Config *OpenconfigPlatform_Components_Component_Chassis_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Chassis_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Chassis implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Chassis) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Chassis) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Chassis"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Chassis) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Chassis_Config represents the /openconfig-platform/components/component/chassis/config YANG schema element. +type OpenconfigPlatform_Components_Component_Chassis_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Chassis_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Chassis_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Chassis_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Chassis_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Chassis_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Chassis_State represents the /openconfig-platform/components/component/chassis/state YANG schema element. +type OpenconfigPlatform_Components_Component_Chassis_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Chassis_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Chassis_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Chassis_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Chassis_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Chassis_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Config represents the /openconfig-platform/components/component/config YANG schema element. +type OpenconfigPlatform_Components_Component_Config struct { + Name *string `path:"name" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Cpu represents the /openconfig-platform/components/component/cpu YANG schema element. +type OpenconfigPlatform_Components_Component_Cpu struct { + Config *OpenconfigPlatform_Components_Component_Cpu_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Cpu_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Cpu implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Cpu) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Cpu) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Cpu"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Cpu) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Cpu_Config represents the /openconfig-platform/components/component/cpu/config YANG schema element. +type OpenconfigPlatform_Components_Component_Cpu_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Cpu_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Cpu_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Cpu_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Cpu_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Cpu_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Cpu_State represents the /openconfig-platform/components/component/cpu/state YANG schema element. +type OpenconfigPlatform_Components_Component_Cpu_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Cpu_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Cpu_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Cpu_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Cpu_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Cpu_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Fabric represents the /openconfig-platform/components/component/fabric YANG schema element. +type OpenconfigPlatform_Components_Component_Fabric struct { + Config *OpenconfigPlatform_Components_Component_Fabric_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Fabric_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Fabric implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Fabric) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Fabric) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Fabric"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Fabric) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Fabric_Config represents the /openconfig-platform/components/component/fabric/config YANG schema element. +type OpenconfigPlatform_Components_Component_Fabric_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Fabric_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Fabric_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Fabric_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Fabric_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Fabric_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Fabric_State represents the /openconfig-platform/components/component/fabric/state YANG schema element. +type OpenconfigPlatform_Components_Component_Fabric_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Fabric_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Fabric_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Fabric_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Fabric_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Fabric_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Fan represents the /openconfig-platform/components/component/fan YANG schema element. +type OpenconfigPlatform_Components_Component_Fan struct { + Config *OpenconfigPlatform_Components_Component_Fan_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Fan_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Fan implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Fan) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Fan) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Fan"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Fan) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Fan_Config represents the /openconfig-platform/components/component/fan/config YANG schema element. +type OpenconfigPlatform_Components_Component_Fan_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Fan_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Fan_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Fan_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Fan_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Fan_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Fan_State represents the /openconfig-platform/components/component/fan/state YANG schema element. +type OpenconfigPlatform_Components_Component_Fan_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Fan_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Fan_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Fan_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Fan_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Fan_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_IntegratedCircuit represents the /openconfig-platform/components/component/integrated-circuit YANG schema element. +type OpenconfigPlatform_Components_Component_IntegratedCircuit struct { + Config *OpenconfigPlatform_Components_Component_IntegratedCircuit_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_IntegratedCircuit_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_IntegratedCircuit implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_IntegratedCircuit) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_IntegratedCircuit) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_IntegratedCircuit"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_IntegratedCircuit) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_IntegratedCircuit_Config represents the /openconfig-platform/components/component/integrated-circuit/config YANG schema element. +type OpenconfigPlatform_Components_Component_IntegratedCircuit_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_IntegratedCircuit_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_IntegratedCircuit_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_IntegratedCircuit_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_IntegratedCircuit_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_IntegratedCircuit_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_IntegratedCircuit_State represents the /openconfig-platform/components/component/integrated-circuit/state YANG schema element. +type OpenconfigPlatform_Components_Component_IntegratedCircuit_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_IntegratedCircuit_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_IntegratedCircuit_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_IntegratedCircuit_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_IntegratedCircuit_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_IntegratedCircuit_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel represents the /openconfig-platform/components/component/optical-channel YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel struct { + Config *OpenconfigPlatform_Components_Component_OpticalChannel_Config `path:"config" module:"openconfig-terminal-device"` + State *OpenconfigPlatform_Components_Component_OpticalChannel_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_Config represents the /openconfig-platform/components/component/optical-channel/config YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_Config struct { + Frequency *uint64 `path:"frequency" module:"openconfig-terminal-device"` + LinePort *string `path:"line-port" module:"openconfig-terminal-device"` + OperationalMode *uint16 `path:"operational-mode" module:"openconfig-terminal-device"` + TargetOutputPower *float64 `path:"target-output-power" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State represents the /openconfig-platform/components/component/optical-channel/state YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State struct { + ChromaticDispersion *OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion `path:"chromatic-dispersion" module:"openconfig-terminal-device"` + Frequency *uint64 `path:"frequency" module:"openconfig-terminal-device"` + GroupId *uint32 `path:"group-id" module:"openconfig-terminal-device"` + InputPower *OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower `path:"input-power" module:"openconfig-terminal-device"` + LaserBiasCurrent *OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent `path:"laser-bias-current" module:"openconfig-terminal-device"` + LinePort *string `path:"line-port" module:"openconfig-terminal-device"` + OperationalMode *uint16 `path:"operational-mode" module:"openconfig-terminal-device"` + OutputPower *OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower `path:"output-power" module:"openconfig-terminal-device"` + PolarizationDependentLoss *OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss `path:"polarization-dependent-loss" module:"openconfig-terminal-device"` + PolarizationModeDispersion *OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion `path:"polarization-mode-dispersion" module:"openconfig-terminal-device"` + SecondOrderPolarizationModeDispersion *OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion `path:"second-order-polarization-mode-dispersion" module:"openconfig-terminal-device"` + TargetOutputPower *float64 `path:"target-output-power" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion represents the /openconfig-platform/components/component/optical-channel/state/chromatic-dispersion YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_ChromaticDispersion) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower represents the /openconfig-platform/components/component/optical-channel/state/input-power YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_InputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent represents the /openconfig-platform/components/component/optical-channel/state/laser-bias-current YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_LaserBiasCurrent) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower represents the /openconfig-platform/components/component/optical-channel/state/output-power YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_OutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss represents the /openconfig-platform/components/component/optical-channel/state/polarization-dependent-loss YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationDependentLoss) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion represents the /openconfig-platform/components/component/optical-channel/state/polarization-mode-dispersion YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_PolarizationModeDispersion) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion represents the /openconfig-platform/components/component/optical-channel/state/second-order-polarization-mode-dispersion YANG schema element. +type OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_OpticalChannel_State_SecondOrderPolarizationModeDispersion) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Port represents the /openconfig-platform/components/component/port YANG schema element. +type OpenconfigPlatform_Components_Component_Port struct { + BreakoutMode *OpenconfigPlatform_Components_Component_Port_BreakoutMode `path:"breakout-mode" module:"openconfig-platform-port"` + Config *OpenconfigPlatform_Components_Component_Port_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Port_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Port implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Port) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Port) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Port"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Port) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Port_BreakoutMode represents the /openconfig-platform/components/component/port/breakout-mode YANG schema element. +type OpenconfigPlatform_Components_Component_Port_BreakoutMode struct { + Config *OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config `path:"config" module:"openconfig-platform-port"` + State *OpenconfigPlatform_Components_Component_Port_BreakoutMode_State `path:"state" module:"openconfig-platform-port"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Port_BreakoutMode implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Port_BreakoutMode) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Port_BreakoutMode) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Port_BreakoutMode"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Port_BreakoutMode) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config represents the /openconfig-platform/components/component/port/breakout-mode/config YANG schema element. +type OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config struct { + ChannelSpeed E_OpenconfigIfEthernet_ETHERNET_SPEED `path:"channel-speed" module:"openconfig-platform-port"` + NumChannels *uint8 `path:"num-channels" module:"openconfig-platform-port"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Port_BreakoutMode_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Port_BreakoutMode_State represents the /openconfig-platform/components/component/port/breakout-mode/state YANG schema element. +type OpenconfigPlatform_Components_Component_Port_BreakoutMode_State struct { + ChannelSpeed E_OpenconfigIfEthernet_ETHERNET_SPEED `path:"channel-speed" module:"openconfig-platform-port"` + NumChannels *uint8 `path:"num-channels" module:"openconfig-platform-port"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Port_BreakoutMode_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Port_BreakoutMode_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Port_BreakoutMode_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Port_BreakoutMode_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Port_BreakoutMode_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Port_Config represents the /openconfig-platform/components/component/port/config YANG schema element. +type OpenconfigPlatform_Components_Component_Port_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Port_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Port_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Port_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Port_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Port_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Port_State represents the /openconfig-platform/components/component/port/state YANG schema element. +type OpenconfigPlatform_Components_Component_Port_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Port_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Port_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Port_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Port_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Port_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_PowerSupply represents the /openconfig-platform/components/component/power-supply YANG schema element. +type OpenconfigPlatform_Components_Component_PowerSupply struct { + Config *OpenconfigPlatform_Components_Component_PowerSupply_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_PowerSupply_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_PowerSupply implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_PowerSupply) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_PowerSupply) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_PowerSupply"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_PowerSupply) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_PowerSupply_Config represents the /openconfig-platform/components/component/power-supply/config YANG schema element. +type OpenconfigPlatform_Components_Component_PowerSupply_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_PowerSupply_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_PowerSupply_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_PowerSupply_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_PowerSupply_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_PowerSupply_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_PowerSupply_State represents the /openconfig-platform/components/component/power-supply/state YANG schema element. +type OpenconfigPlatform_Components_Component_PowerSupply_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_PowerSupply_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_PowerSupply_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_PowerSupply_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_PowerSupply_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_PowerSupply_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Properties represents the /openconfig-platform/components/component/properties YANG schema element. +type OpenconfigPlatform_Components_Component_Properties struct { + Property map[string]*OpenconfigPlatform_Components_Component_Properties_Property `path:"property" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Properties implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Properties) IsYANGGoStruct() {} + +// NewProperty creates a new entry in the Property list of the +// OpenconfigPlatform_Components_Component_Properties struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigPlatform_Components_Component_Properties) NewProperty(Name string) (*OpenconfigPlatform_Components_Component_Properties_Property, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Property == nil { + t.Property = make(map[string]*OpenconfigPlatform_Components_Component_Properties_Property) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Property[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Property", key) + } + + t.Property[key] = &OpenconfigPlatform_Components_Component_Properties_Property{ + Name: &Name, + } + + return t.Property[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Properties) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Properties"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Properties) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Properties_Property represents the /openconfig-platform/components/component/properties/property YANG schema element. +type OpenconfigPlatform_Components_Component_Properties_Property struct { + Config *OpenconfigPlatform_Components_Component_Properties_Property_Config `path:"config" module:"openconfig-platform"` + Name *string `path:"name" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Properties_Property_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Properties_Property implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Properties_Property) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigPlatform_Components_Component_Properties_Property struct, which is a YANG list entry. +func (t *OpenconfigPlatform_Components_Component_Properties_Property) ΛListKeyMap() (map[string]interface{}, error) { + if t.Name == nil { + return nil, fmt.Errorf("nil value for key Name") + } + + return map[string]interface{}{ + "name": *t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Properties_Property) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Properties_Property"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Properties_Property) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Properties_Property_Config represents the /openconfig-platform/components/component/properties/property/config YANG schema element. +type OpenconfigPlatform_Components_Component_Properties_Property_Config struct { + Name *string `path:"name" module:"openconfig-platform"` + Value OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union `path:"value" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Properties_Property_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Properties_Property_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Properties_Property_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Properties_Property_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Properties_Property_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + +// OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union is an interface that is implemented by valid types for the union +// for the leaf /openconfig-platform/components/component/properties/property/config/value within the YANG schema. +type OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union interface { + Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union() +} + +// OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Bool is used when /openconfig-platform/components/component/properties/property/config/value +// is to be set to a bool value. +type OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Bool struct { + Bool bool +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Bool +// implements the OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Bool) Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Float64 is used when /openconfig-platform/components/component/properties/property/config/value +// is to be set to a float64 value. +type OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Float64 struct { + Float64 float64 +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Float64 +// implements the OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Float64) Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Int64 is used when /openconfig-platform/components/component/properties/property/config/value +// is to be set to a int64 value. +type OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Int64 struct { + Int64 int64 +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Int64 +// implements the OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Int64) Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_String is used when /openconfig-platform/components/component/properties/property/config/value +// is to be set to a string value. +type OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_String struct { + String string +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_String +// implements the OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_String) Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Uint64 is used when /openconfig-platform/components/component/properties/property/config/value +// is to be set to a uint64 value. +type OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Uint64 struct { + Uint64 uint64 +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Uint64 +// implements the OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Uint64) Is_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union() {} + +// To_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union takes an input interface{} and attempts to convert it to a struct +// which implements the OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union union. It returns an error if the interface{} supplied +// cannot be converted to a type within the union. +func (t *OpenconfigPlatform_Components_Component_Properties_Property_Config) To_OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union(i interface{}) (OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union, error) { + switch v := i.(type) { + case bool: + return &OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Bool{v}, nil + case float64: + return &OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Float64{v}, nil + case int64: + return &OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Int64{v}, nil + case string: + return &OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_String{v}, nil + case uint64: + return &OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union_Uint64{v}, nil + default: + return nil, fmt.Errorf("cannot convert %v to OpenconfigPlatform_Components_Component_Properties_Property_Config_Value_Union, unknown union type, got: %T, want any of [bool, float64, int64, string, uint64]", i, i) + } +} + + +// OpenconfigPlatform_Components_Component_Properties_Property_State represents the /openconfig-platform/components/component/properties/property/state YANG schema element. +type OpenconfigPlatform_Components_Component_Properties_Property_State struct { + Configurable *bool `path:"configurable" module:"openconfig-platform"` + Name *string `path:"name" module:"openconfig-platform"` + Value OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union `path:"value" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Properties_Property_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Properties_Property_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Properties_Property_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Properties_Property_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Properties_Property_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + +// OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union is an interface that is implemented by valid types for the union +// for the leaf /openconfig-platform/components/component/properties/property/state/value within the YANG schema. +type OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union interface { + Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union() +} + +// OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Bool is used when /openconfig-platform/components/component/properties/property/state/value +// is to be set to a bool value. +type OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Bool struct { + Bool bool +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Bool +// implements the OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Bool) Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Float64 is used when /openconfig-platform/components/component/properties/property/state/value +// is to be set to a float64 value. +type OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Float64 struct { + Float64 float64 +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Float64 +// implements the OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Float64) Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Int64 is used when /openconfig-platform/components/component/properties/property/state/value +// is to be set to a int64 value. +type OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Int64 struct { + Int64 int64 +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Int64 +// implements the OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Int64) Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_String is used when /openconfig-platform/components/component/properties/property/state/value +// is to be set to a string value. +type OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_String struct { + String string +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_String +// implements the OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_String) Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union() {} + +// OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Uint64 is used when /openconfig-platform/components/component/properties/property/state/value +// is to be set to a uint64 value. +type OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Uint64 struct { + Uint64 uint64 +} + +// Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union ensures that OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Uint64 +// implements the OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union interface. +func (*OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Uint64) Is_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union() {} + +// To_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union takes an input interface{} and attempts to convert it to a struct +// which implements the OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union union. It returns an error if the interface{} supplied +// cannot be converted to a type within the union. +func (t *OpenconfigPlatform_Components_Component_Properties_Property_State) To_OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union(i interface{}) (OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union, error) { + switch v := i.(type) { + case bool: + return &OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Bool{v}, nil + case float64: + return &OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Float64{v}, nil + case int64: + return &OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Int64{v}, nil + case string: + return &OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_String{v}, nil + case uint64: + return &OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union_Uint64{v}, nil + default: + return nil, fmt.Errorf("cannot convert %v to OpenconfigPlatform_Components_Component_Properties_Property_State_Value_Union, unknown union type, got: %T, want any of [bool, float64, int64, string, uint64]", i, i) + } +} + + +// OpenconfigPlatform_Components_Component_State represents the /openconfig-platform/components/component/state YANG schema element. +type OpenconfigPlatform_Components_Component_State struct { + AllocatedPower *uint32 `path:"allocated-power" module:"openconfig-platform"` + Description *string `path:"description" module:"openconfig-platform"` + Empty *bool `path:"empty" module:"openconfig-platform"` + FirmwareVersion *string `path:"firmware-version" module:"openconfig-platform"` + HardwareVersion *string `path:"hardware-version" module:"openconfig-platform"` + Id *string `path:"id" module:"openconfig-platform"` + Location *string `path:"location" module:"openconfig-platform"` + Memory *OpenconfigPlatform_Components_Component_State_Memory `path:"memory" module:"openconfig-platform"` + MfgDate *string `path:"mfg-date" module:"openconfig-platform"` + MfgName *string `path:"mfg-name" module:"openconfig-platform"` + Name *string `path:"name" module:"openconfig-platform"` + OperStatus E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS `path:"oper-status" module:"openconfig-platform"` + Parent *string `path:"parent" module:"openconfig-platform"` + PartNo *string `path:"part-no" module:"openconfig-platform"` + Removable *bool `path:"removable" module:"openconfig-platform"` + SerialNo *string `path:"serial-no" module:"openconfig-platform"` + SoftwareVersion *string `path:"software-version" module:"openconfig-platform"` + Temperature *OpenconfigPlatform_Components_Component_State_Temperature `path:"temperature" module:"openconfig-platform"` + Type OpenconfigPlatform_Components_Component_State_Type_Union `path:"type" module:"openconfig-platform"` + UsedPower *uint32 `path:"used-power" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + +// OpenconfigPlatform_Components_Component_State_Type_Union is an interface that is implemented by valid types for the union +// for the leaf /openconfig-platform/components/component/state/type within the YANG schema. +type OpenconfigPlatform_Components_Component_State_Type_Union interface { + Is_OpenconfigPlatform_Components_Component_State_Type_Union() +} + +// OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT is used when /openconfig-platform/components/component/state/type +// is to be set to a E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT value. +type OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT struct { + E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT +} + +// Is_OpenconfigPlatform_Components_Component_State_Type_Union ensures that OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT +// implements the OpenconfigPlatform_Components_Component_State_Type_Union interface. +func (*OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT) Is_OpenconfigPlatform_Components_Component_State_Type_Union() {} + +// OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT is used when /openconfig-platform/components/component/state/type +// is to be set to a E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT value. +type OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT struct { + E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT +} + +// Is_OpenconfigPlatform_Components_Component_State_Type_Union ensures that OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT +// implements the OpenconfigPlatform_Components_Component_State_Type_Union interface. +func (*OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT) Is_OpenconfigPlatform_Components_Component_State_Type_Union() {} + +// To_OpenconfigPlatform_Components_Component_State_Type_Union takes an input interface{} and attempts to convert it to a struct +// which implements the OpenconfigPlatform_Components_Component_State_Type_Union union. It returns an error if the interface{} supplied +// cannot be converted to a type within the union. +func (t *OpenconfigPlatform_Components_Component_State) To_OpenconfigPlatform_Components_Component_State_Type_Union(i interface{}) (OpenconfigPlatform_Components_Component_State_Type_Union, error) { + switch v := i.(type) { + case E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT: + return &OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT{v}, nil + case E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT: + return &OpenconfigPlatform_Components_Component_State_Type_Union_E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT{v}, nil + default: + return nil, fmt.Errorf("cannot convert %v to OpenconfigPlatform_Components_Component_State_Type_Union, unknown union type, got: %T, want any of [E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT, E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT]", i, i) + } +} + + +// OpenconfigPlatform_Components_Component_State_Memory represents the /openconfig-platform/components/component/state/memory YANG schema element. +type OpenconfigPlatform_Components_Component_State_Memory struct { + Available *uint64 `path:"available" module:"openconfig-platform"` + Utilized *uint64 `path:"utilized" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_State_Memory implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_State_Memory) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_State_Memory) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_State_Memory"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_State_Memory) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_State_Temperature represents the /openconfig-platform/components/component/state/temperature YANG schema element. +type OpenconfigPlatform_Components_Component_State_Temperature struct { + AlarmSeverity E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY `path:"alarm-severity" module:"openconfig-platform"` + AlarmStatus *bool `path:"alarm-status" module:"openconfig-platform"` + AlarmThreshold *uint32 `path:"alarm-threshold" module:"openconfig-platform"` + Avg *float64 `path:"avg" module:"openconfig-platform"` + Instant *float64 `path:"instant" module:"openconfig-platform"` + Interval *uint64 `path:"interval" module:"openconfig-platform"` + Max *float64 `path:"max" module:"openconfig-platform"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform"` + Min *float64 `path:"min" module:"openconfig-platform"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_State_Temperature implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_State_Temperature) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_State_Temperature) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_State_Temperature"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_State_Temperature) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Storage represents the /openconfig-platform/components/component/storage YANG schema element. +type OpenconfigPlatform_Components_Component_Storage struct { + Config *OpenconfigPlatform_Components_Component_Storage_Config `path:"config" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Storage_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Storage implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Storage) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Storage) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Storage"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Storage) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Storage_Config represents the /openconfig-platform/components/component/storage/config YANG schema element. +type OpenconfigPlatform_Components_Component_Storage_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Storage_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Storage_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Storage_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Storage_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Storage_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Storage_State represents the /openconfig-platform/components/component/storage/state YANG schema element. +type OpenconfigPlatform_Components_Component_Storage_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Storage_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Storage_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Storage_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Storage_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Storage_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Subcomponents represents the /openconfig-platform/components/component/subcomponents YANG schema element. +type OpenconfigPlatform_Components_Component_Subcomponents struct { + Subcomponent map[string]*OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent `path:"subcomponent" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Subcomponents implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Subcomponents) IsYANGGoStruct() {} + +// NewSubcomponent creates a new entry in the Subcomponent list of the +// OpenconfigPlatform_Components_Component_Subcomponents struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigPlatform_Components_Component_Subcomponents) NewSubcomponent(Name string) (*OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Subcomponent == nil { + t.Subcomponent = make(map[string]*OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent) + } + + key := Name + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Subcomponent[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Subcomponent", key) + } + + t.Subcomponent[key] = &OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent{ + Name: &Name, + } + + return t.Subcomponent[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Subcomponents) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Subcomponents"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Subcomponents) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent represents the /openconfig-platform/components/component/subcomponents/subcomponent YANG schema element. +type OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent struct { + Config *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config `path:"config" module:"openconfig-platform"` + Name *string `path:"name" module:"openconfig-platform"` + State *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State `path:"state" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent struct, which is a YANG list entry. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent) ΛListKeyMap() (map[string]interface{}, error) { + if t.Name == nil { + return nil, fmt.Errorf("nil value for key Name") + } + + return map[string]interface{}{ + "name": *t.Name, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config represents the /openconfig-platform/components/component/subcomponents/subcomponent/config YANG schema element. +type OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config struct { + Name *string `path:"name" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State represents the /openconfig-platform/components/component/subcomponents/subcomponent/state YANG schema element. +type OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State struct { + Name *string `path:"name" module:"openconfig-platform"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Subcomponents_Subcomponent_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver represents the /openconfig-platform/components/component/transceiver YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver struct { + Config *OpenconfigPlatform_Components_Component_Transceiver_Config `path:"config" module:"openconfig-platform-transceiver"` + PhysicalChannels *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels `path:"physical-channels" module:"openconfig-platform-transceiver"` + State *OpenconfigPlatform_Components_Component_Transceiver_State `path:"state" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_Config represents the /openconfig-platform/components/component/transceiver/config YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_Config struct { + Enabled *bool `path:"enabled" module:"openconfig-platform-transceiver"` + EthernetPmdPreconf E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE `path:"ethernet-pmd-preconf" module:"openconfig-platform-transceiver"` + FecMode E_OpenconfigPlatformTypes_FEC_MODE_TYPE `path:"fec-mode" module:"openconfig-platform-transceiver"` + FormFactorPreconf E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE `path:"form-factor-preconf" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels represents the /openconfig-platform/components/component/transceiver/physical-channels YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels struct { + Channel map[uint16]*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel `path:"channel" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels) IsYANGGoStruct() {} + +// NewChannel creates a new entry in the Channel list of the +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels) NewChannel(Index uint16) (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Channel == nil { + t.Channel = make(map[uint16]*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel) + } + + key := Index + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Channel[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Channel", key) + } + + t.Channel[key] = &OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel{ + Index: &Index, + } + + return t.Channel[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel represents the /openconfig-platform/components/component/transceiver/physical-channels/channel YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel struct { + Config *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config `path:"config" module:"openconfig-platform-transceiver"` + Index *uint16 `path:"index" module:"openconfig-platform-transceiver"` + State *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State `path:"state" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel struct, which is a YANG list entry. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel) ΛListKeyMap() (map[string]interface{}, error) { + if t.Index == nil { + return nil, fmt.Errorf("nil value for key Index") + } + + return map[string]interface{}{ + "index": *t.Index, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config represents the /openconfig-platform/components/component/transceiver/physical-channels/channel/config YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config struct { + Description *string `path:"description" module:"openconfig-platform-transceiver"` + Index *uint16 `path:"index" module:"openconfig-platform-transceiver"` + TargetOutputPower *float64 `path:"target-output-power" module:"openconfig-platform-transceiver"` + TxLaser *bool `path:"tx-laser" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State represents the /openconfig-platform/components/component/transceiver/physical-channels/channel/state YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State struct { + Description *string `path:"description" module:"openconfig-platform-transceiver"` + Index *uint16 `path:"index" module:"openconfig-platform-transceiver"` + InputPower *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower `path:"input-power" module:"openconfig-platform-transceiver"` + LaserBiasCurrent *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent `path:"laser-bias-current" module:"openconfig-platform-transceiver"` + OutputFrequency *uint64 `path:"output-frequency" module:"openconfig-platform-transceiver"` + OutputPower *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower `path:"output-power" module:"openconfig-platform-transceiver"` + TargetOutputPower *float64 `path:"target-output-power" module:"openconfig-platform-transceiver"` + TxLaser *bool `path:"tx-laser" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower represents the /openconfig-platform/components/component/transceiver/physical-channels/channel/state/input-power YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_InputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent represents the /openconfig-platform/components/component/transceiver/physical-channels/channel/state/laser-bias-current YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_LaserBiasCurrent) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower represents the /openconfig-platform/components/component/transceiver/physical-channels/channel/state/output-power YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_PhysicalChannels_Channel_State_OutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_State represents the /openconfig-platform/components/component/transceiver/state YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_State struct { + ConnectorType E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE `path:"connector-type" module:"openconfig-platform-transceiver"` + DateCode *string `path:"date-code" module:"openconfig-platform-transceiver"` + Enabled *bool `path:"enabled" module:"openconfig-platform-transceiver"` + EthernetPmd E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE `path:"ethernet-pmd" module:"openconfig-platform-transceiver"` + EthernetPmdPreconf E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE `path:"ethernet-pmd-preconf" module:"openconfig-platform-transceiver"` + FaultCondition *bool `path:"fault-condition" module:"openconfig-platform-transceiver"` + FecCorrectedBits *uint64 `path:"fec-corrected-bits" module:"openconfig-platform-transceiver"` + FecCorrectedBytes *uint64 `path:"fec-corrected-bytes" module:"openconfig-platform-transceiver"` + FecMode E_OpenconfigPlatformTypes_FEC_MODE_TYPE `path:"fec-mode" module:"openconfig-platform-transceiver"` + FecStatus E_OpenconfigPlatformTypes_FEC_STATUS_TYPE `path:"fec-status" module:"openconfig-platform-transceiver"` + FecUncorrectableBlocks *uint64 `path:"fec-uncorrectable-blocks" module:"openconfig-platform-transceiver"` + FecUncorrectableWords *uint64 `path:"fec-uncorrectable-words" module:"openconfig-platform-transceiver"` + FormFactor E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE `path:"form-factor" module:"openconfig-platform-transceiver"` + FormFactorPreconf E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE `path:"form-factor-preconf" module:"openconfig-platform-transceiver"` + InputPower *OpenconfigPlatform_Components_Component_Transceiver_State_InputPower `path:"input-power" module:"openconfig-platform-transceiver"` + LaserBiasCurrent *OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent `path:"laser-bias-current" module:"openconfig-platform-transceiver"` + OtnComplianceCode E_OpenconfigTransportTypes_OTN_APPLICATION_CODE `path:"otn-compliance-code" module:"openconfig-platform-transceiver"` + OutputPower *OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower `path:"output-power" module:"openconfig-platform-transceiver"` + PostFecBer *OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer `path:"post-fec-ber" module:"openconfig-platform-transceiver"` + PreFecBer *OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer `path:"pre-fec-ber" module:"openconfig-platform-transceiver"` + Present E_OpenconfigPlatform_Components_Component_Transceiver_State_Present `path:"present" module:"openconfig-platform-transceiver"` + SerialNo *string `path:"serial-no" module:"openconfig-platform-transceiver"` + SonetSdhComplianceCode E_OpenconfigTransportTypes_SONET_APPLICATION_CODE `path:"sonet-sdh-compliance-code" module:"openconfig-platform-transceiver"` + Vendor *string `path:"vendor" module:"openconfig-platform-transceiver"` + VendorPart *string `path:"vendor-part" module:"openconfig-platform-transceiver"` + VendorRev *string `path:"vendor-rev" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_State_InputPower represents the /openconfig-platform/components/component/transceiver/state/input-power YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_State_InputPower struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_State_InputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_State_InputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_InputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_State_InputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_InputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent represents the /openconfig-platform/components/component/transceiver/state/laser-bias-current YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_LaserBiasCurrent) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower represents the /openconfig-platform/components/component/transceiver/state/output-power YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_OutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer represents the /openconfig-platform/components/component/transceiver/state/post-fec-ber YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_PostFecBer) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer represents the /openconfig-platform/components/component/transceiver/state/pre-fec-ber YANG schema element. +type OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer struct { + Avg *float64 `path:"avg" module:"openconfig-platform-transceiver"` + Instant *float64 `path:"instant" module:"openconfig-platform-transceiver"` + Interval *uint64 `path:"interval" module:"openconfig-platform-transceiver"` + Max *float64 `path:"max" module:"openconfig-platform-transceiver"` + MaxTime *uint64 `path:"max-time" module:"openconfig-platform-transceiver"` + Min *float64 `path:"min" module:"openconfig-platform-transceiver"` + MinTime *uint64 `path:"min-time" module:"openconfig-platform-transceiver"` +} + +// IsYANGGoStruct ensures that OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigPlatform_Components_Component_Transceiver_State_PreFecBer) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice represents the /openconfig-terminal-device/terminal-device YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice struct { + Config *OpenconfigTerminalDevice_TerminalDevice_Config `path:"config" module:"openconfig-terminal-device"` + LogicalChannels *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels `path:"logical-channels" module:"openconfig-terminal-device"` + OperationalModes *OpenconfigTerminalDevice_TerminalDevice_OperationalModes `path:"operational-modes" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_Config represents the /openconfig-terminal-device/terminal-device/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels represents the /openconfig-terminal-device/terminal-device/logical-channels YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels struct { + Channel map[uint32]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel `path:"channel" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels) IsYANGGoStruct() {} + +// NewChannel creates a new entry in the Channel list of the +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels) NewChannel(Index uint32) (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Channel == nil { + t.Channel = make(map[uint32]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel) + } + + key := Index + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Channel[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Channel", key) + } + + t.Channel[key] = &OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel{ + Index: &Index, + } + + return t.Channel[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel represents the /openconfig-terminal-device/terminal-device/logical-channels/channel YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config `path:"config" module:"openconfig-terminal-device"` + Ethernet *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet `path:"ethernet" module:"openconfig-terminal-device"` + Index *uint32 `path:"index" module:"openconfig-terminal-device"` + Ingress *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress `path:"ingress" module:"openconfig-terminal-device"` + LogicalChannelAssignments *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments `path:"logical-channel-assignments" module:"openconfig-terminal-device"` + Otn *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn `path:"otn" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel struct, which is a YANG list entry. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel) ΛListKeyMap() (map[string]interface{}, error) { + if t.Index == nil { + return nil, fmt.Errorf("nil value for key Index") + } + + return map[string]interface{}{ + "index": *t.Index, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config struct { + AdminState E_OpenconfigTerminalDevice_AdminStateType `path:"admin-state" module:"openconfig-terminal-device"` + Description *string `path:"description" module:"openconfig-terminal-device"` + Index *uint32 `path:"index" module:"openconfig-terminal-device"` + LogicalChannelType E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE `path:"logical-channel-type" module:"openconfig-terminal-device"` + LoopbackMode E_OpenconfigTerminalDevice_LoopbackModeType `path:"loopback-mode" module:"openconfig-terminal-device"` + RateClass E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE `path:"rate-class" module:"openconfig-terminal-device"` + TestSignal *bool `path:"test-signal" module:"openconfig-terminal-device"` + TribProtocol E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE `path:"trib-protocol" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config `path:"config" module:"openconfig-terminal-device"` + Lldp *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp `path:"lldp" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config struct { + AlsDelay *uint32 `path:"als-delay" module:"openconfig-terminal-device"` + ClientAls E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls `path:"client-als" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config `path:"config" module:"openconfig-terminal-device"` + Neighbors *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors `path:"neighbors" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config struct { + Enabled *bool `path:"enabled" module:"openconfig-terminal-device"` + Snooping *bool `path:"snooping" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors struct { + Neighbor map[string]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor `path:"neighbor" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors) IsYANGGoStruct() {} + +// NewNeighbor creates a new entry in the Neighbor list of the +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors) NewNeighbor(Id string) (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Neighbor == nil { + t.Neighbor = make(map[string]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor) + } + + key := Id + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Neighbor[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Neighbor", key) + } + + t.Neighbor[key] = &OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor{ + Id: &Id, + } + + return t.Neighbor[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config `path:"config" module:"openconfig-terminal-device"` + CustomTlvs *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs `path:"custom-tlvs" module:"openconfig-terminal-device"` + Id *string `path:"id" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor struct, which is a YANG list entry. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor) ΛListKeyMap() (map[string]interface{}, error) { + if t.Id == nil { + return nil, fmt.Errorf("nil value for key Id") + } + + return map[string]interface{}{ + "id": *t.Id, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/custom-tlvs YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs struct { + Tlv map[OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Key]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv `path:"tlv" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs) IsYANGGoStruct() {} + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Key represents the key for list Tlv of element /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/custom-tlvs. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Key struct { + Type int32 `path:"type"` + Oui string `path:"oui"` + OuiSubtype string `path:"oui-subtype"` +} + +// NewTlv creates a new entry in the Tlv list of the +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs) NewTlv(Type int32, Oui string, OuiSubtype string) (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Tlv == nil { + t.Tlv = make(map[OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Key]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv) + } + + key := OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Key{ + Type: Type, + Oui: Oui, + OuiSubtype: OuiSubtype, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Tlv[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Tlv", key) + } + + t.Tlv[key] = &OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv{ + Type: &Type, + Oui: &Oui, + OuiSubtype: &OuiSubtype, + } + + return t.Tlv[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/custom-tlvs/tlv YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config `path:"config" module:"openconfig-terminal-device"` + Oui *string `path:"oui" module:"openconfig-terminal-device"` + OuiSubtype *string `path:"oui-subtype" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State `path:"state" module:"openconfig-terminal-device"` + Type *int32 `path:"type" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv struct, which is a YANG list entry. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv) ΛListKeyMap() (map[string]interface{}, error) { + if t.Oui == nil { + return nil, fmt.Errorf("nil value for key Oui") + } + + if t.OuiSubtype == nil { + return nil, fmt.Errorf("nil value for key OuiSubtype") + } + + if t.Type == nil { + return nil, fmt.Errorf("nil value for key Type") + } + + return map[string]interface{}{ + "oui": *t.Oui, + "oui-subtype": *t.OuiSubtype, + "type": *t.Type, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/custom-tlvs/tlv/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/custom-tlvs/tlv/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State struct { + Oui *string `path:"oui" module:"openconfig-terminal-device"` + OuiSubtype *string `path:"oui-subtype" module:"openconfig-terminal-device"` + Type *int32 `path:"type" module:"openconfig-terminal-device"` + Value Binary `path:"value" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_CustomTlvs_Tlv_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State struct { + Age *uint64 `path:"age" module:"openconfig-terminal-device"` + ChassisId *string `path:"chassis-id" module:"openconfig-terminal-device"` + ChassisIdType E_OpenconfigLldp_ChassisIdType `path:"chassis-id-type" module:"openconfig-terminal-device"` + Id *string `path:"id" module:"openconfig-terminal-device"` + LastUpdate *int64 `path:"last-update" module:"openconfig-terminal-device"` + ManagementAddress *string `path:"management-address" module:"openconfig-terminal-device"` + ManagementAddressType *string `path:"management-address-type" module:"openconfig-terminal-device"` + PortDescription *string `path:"port-description" module:"openconfig-terminal-device"` + PortId *string `path:"port-id" module:"openconfig-terminal-device"` + PortIdType E_OpenconfigLldp_PortIdType `path:"port-id-type" module:"openconfig-terminal-device"` + SystemDescription *string `path:"system-description" module:"openconfig-terminal-device"` + SystemName *string `path:"system-name" module:"openconfig-terminal-device"` + Ttl *uint16 `path:"ttl" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_Neighbors_Neighbor_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State struct { + Counters *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters `path:"counters" module:"openconfig-terminal-device"` + Enabled *bool `path:"enabled" module:"openconfig-terminal-device"` + Snooping *bool `path:"snooping" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/lldp/state/counters YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters struct { + FrameDiscard *uint64 `path:"frame-discard" module:"openconfig-terminal-device"` + FrameErrorIn *uint64 `path:"frame-error-in" module:"openconfig-terminal-device"` + FrameErrorOut *uint64 `path:"frame-error-out" module:"openconfig-terminal-device"` + FrameIn *uint64 `path:"frame-in" module:"openconfig-terminal-device"` + FrameOut *uint64 `path:"frame-out" module:"openconfig-terminal-device"` + LastClear *string `path:"last-clear" module:"openconfig-terminal-device"` + TlvDiscard *uint64 `path:"tlv-discard" module:"openconfig-terminal-device"` + TlvUnknown *uint64 `path:"tlv-unknown" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Lldp_State_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ethernet/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State struct { + AlsDelay *uint32 `path:"als-delay" module:"openconfig-terminal-device"` + ClientAls E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls `path:"client-als" module:"openconfig-terminal-device"` + In_8021QFrames *uint64 `path:"in-8021q-frames" module:"openconfig-terminal-device"` + InBlockErrors *uint64 `path:"in-block-errors" module:"openconfig-terminal-device"` + InCrcErrors *uint64 `path:"in-crc-errors" module:"openconfig-terminal-device"` + InFragmentFrames *uint64 `path:"in-fragment-frames" module:"openconfig-terminal-device"` + InJabberFrames *uint64 `path:"in-jabber-frames" module:"openconfig-terminal-device"` + InMacControlFrames *uint64 `path:"in-mac-control-frames" module:"openconfig-terminal-device"` + InMacPauseFrames *uint64 `path:"in-mac-pause-frames" module:"openconfig-terminal-device"` + InOversizeFrames *uint64 `path:"in-oversize-frames" module:"openconfig-terminal-device"` + InPcsBipErrors *uint64 `path:"in-pcs-bip-errors" module:"openconfig-terminal-device"` + InPcsErroredSeconds *uint64 `path:"in-pcs-errored-seconds" module:"openconfig-terminal-device"` + InPcsSeverelyErroredSeconds *uint64 `path:"in-pcs-severely-errored-seconds" module:"openconfig-terminal-device"` + InPcsUnavailableSeconds *uint64 `path:"in-pcs-unavailable-seconds" module:"openconfig-terminal-device"` + InUndersizeFrames *uint64 `path:"in-undersize-frames" module:"openconfig-terminal-device"` + Out_8021QFrames *uint64 `path:"out-8021q-frames" module:"openconfig-terminal-device"` + OutBlockErrors *uint64 `path:"out-block-errors" module:"openconfig-terminal-device"` + OutCrcErrors *uint64 `path:"out-crc-errors" module:"openconfig-terminal-device"` + OutMacControlFrames *uint64 `path:"out-mac-control-frames" module:"openconfig-terminal-device"` + OutMacPauseFrames *uint64 `path:"out-mac-pause-frames" module:"openconfig-terminal-device"` + OutPcsBipErrors *uint64 `path:"out-pcs-bip-errors" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ingress YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config `path:"config" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ingress/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config struct { + PhysicalChannel []uint16 `path:"physical-channel" module:"openconfig-terminal-device"` + Transceiver *string `path:"transceiver" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/ingress/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State struct { + PhysicalChannel []uint16 `path:"physical-channel" module:"openconfig-terminal-device"` + Transceiver *string `path:"transceiver" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ingress_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/logical-channel-assignments YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments struct { + Assignment map[uint32]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment `path:"assignment" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments) IsYANGGoStruct() {} + +// NewAssignment creates a new entry in the Assignment list of the +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments) NewAssignment(Index uint32) (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Assignment == nil { + t.Assignment = make(map[uint32]*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment) + } + + key := Index + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Assignment[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Assignment", key) + } + + t.Assignment[key] = &OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment{ + Index: &Index, + } + + return t.Assignment[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/logical-channel-assignments/assignment YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config `path:"config" module:"openconfig-terminal-device"` + Index *uint32 `path:"index" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment struct, which is a YANG list entry. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment) ΛListKeyMap() (map[string]interface{}, error) { + if t.Index == nil { + return nil, fmt.Errorf("nil value for key Index") + } + + return map[string]interface{}{ + "index": *t.Index, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/logical-channel-assignments/assignment/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config struct { + Allocation *float64 `path:"allocation" module:"openconfig-terminal-device"` + AssignmentType E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType `path:"assignment-type" module:"openconfig-terminal-device"` + Description *string `path:"description" module:"openconfig-terminal-device"` + Index *uint32 `path:"index" module:"openconfig-terminal-device"` + LogicalChannel *uint32 `path:"logical-channel" module:"openconfig-terminal-device"` + Mapping E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL `path:"mapping" module:"openconfig-terminal-device"` + OpticalChannel *string `path:"optical-channel" module:"openconfig-terminal-device"` + TributarySlotIndex *int32 `path:"tributary-slot-index" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/logical-channel-assignments/assignment/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State struct { + Allocation *float64 `path:"allocation" module:"openconfig-terminal-device"` + AssignmentType E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType `path:"assignment-type" module:"openconfig-terminal-device"` + Description *string `path:"description" module:"openconfig-terminal-device"` + Index *uint32 `path:"index" module:"openconfig-terminal-device"` + LogicalChannel *uint32 `path:"logical-channel" module:"openconfig-terminal-device"` + Mapping E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL `path:"mapping" module:"openconfig-terminal-device"` + OpticalChannel *string `path:"optical-channel" module:"openconfig-terminal-device"` + TributarySlotIndex *int32 `path:"tributary-slot-index" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn struct { + Config *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config `path:"config" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config struct { + TributarySlotGranularity E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY `path:"tributary-slot-granularity" module:"openconfig-terminal-device"` + TtiMsgAuto *bool `path:"tti-msg-auto" module:"openconfig-terminal-device"` + TtiMsgExpected *string `path:"tti-msg-expected" module:"openconfig-terminal-device"` + TtiMsgTransmit *string `path:"tti-msg-transmit" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State struct { + BackgroundBlockErrors *uint64 `path:"background-block-errors" module:"openconfig-terminal-device"` + CodeViolations *uint64 `path:"code-violations" module:"openconfig-terminal-device"` + ErroredBlocks *uint64 `path:"errored-blocks" module:"openconfig-terminal-device"` + ErroredSeconds *uint64 `path:"errored-seconds" module:"openconfig-terminal-device"` + Esnr *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr `path:"esnr" module:"openconfig-terminal-device"` + FecCorrectedBits *uint64 `path:"fec-corrected-bits" module:"openconfig-terminal-device"` + FecCorrectedBytes *uint64 `path:"fec-corrected-bytes" module:"openconfig-terminal-device"` + FecUncorrectableBlocks *uint64 `path:"fec-uncorrectable-blocks" module:"openconfig-terminal-device"` + FecUncorrectableWords *uint64 `path:"fec-uncorrectable-words" module:"openconfig-terminal-device"` + PostFecBer *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer `path:"post-fec-ber" module:"openconfig-terminal-device"` + PreFecBer *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer `path:"pre-fec-ber" module:"openconfig-terminal-device"` + QValue *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue `path:"q-value" module:"openconfig-terminal-device"` + RdiMsg *string `path:"rdi-msg" module:"openconfig-terminal-device"` + SeverelyErroredSeconds *uint64 `path:"severely-errored-seconds" module:"openconfig-terminal-device"` + TributarySlotGranularity E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY `path:"tributary-slot-granularity" module:"openconfig-terminal-device"` + TtiMsgAuto *bool `path:"tti-msg-auto" module:"openconfig-terminal-device"` + TtiMsgExpected *string `path:"tti-msg-expected" module:"openconfig-terminal-device"` + TtiMsgRecv *string `path:"tti-msg-recv" module:"openconfig-terminal-device"` + TtiMsgTransmit *string `path:"tti-msg-transmit" module:"openconfig-terminal-device"` + UnavailableSeconds *uint64 `path:"unavailable-seconds" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn/state/esnr YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_Esnr) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn/state/post-fec-ber YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PostFecBer) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn/state/pre-fec-ber YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_PreFecBer) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/otn/state/q-value YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue struct { + Avg *float64 `path:"avg" module:"openconfig-terminal-device"` + Instant *float64 `path:"instant" module:"openconfig-terminal-device"` + Interval *uint64 `path:"interval" module:"openconfig-terminal-device"` + Max *float64 `path:"max" module:"openconfig-terminal-device"` + MaxTime *uint64 `path:"max-time" module:"openconfig-terminal-device"` + Min *float64 `path:"min" module:"openconfig-terminal-device"` + MinTime *uint64 `path:"min-time" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Otn_State_QValue) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State represents the /openconfig-terminal-device/terminal-device/logical-channels/channel/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State struct { + AdminState E_OpenconfigTerminalDevice_AdminStateType `path:"admin-state" module:"openconfig-terminal-device"` + Description *string `path:"description" module:"openconfig-terminal-device"` + Index *uint32 `path:"index" module:"openconfig-terminal-device"` + LinkState E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState `path:"link-state" module:"openconfig-terminal-device"` + LogicalChannelType E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE `path:"logical-channel-type" module:"openconfig-terminal-device"` + LoopbackMode E_OpenconfigTerminalDevice_LoopbackModeType `path:"loopback-mode" module:"openconfig-terminal-device"` + RateClass E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE `path:"rate-class" module:"openconfig-terminal-device"` + TestSignal *bool `path:"test-signal" module:"openconfig-terminal-device"` + TribProtocol E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE `path:"trib-protocol" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_OperationalModes represents the /openconfig-terminal-device/terminal-device/operational-modes YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_OperationalModes struct { + Mode map[uint16]*OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode `path:"mode" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_OperationalModes implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_OperationalModes) IsYANGGoStruct() {} + +// NewMode creates a new entry in the Mode list of the +// OpenconfigTerminalDevice_TerminalDevice_OperationalModes struct. The keys of the list are populated from the input +// arguments. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes) NewMode(ModeId uint16) (*OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Mode == nil { + t.Mode = make(map[uint16]*OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode) + } + + key := ModeId + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Mode[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Mode", key) + } + + t.Mode[key] = &OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode{ + ModeId: &ModeId, + } + + return t.Mode[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_OperationalModes"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode represents the /openconfig-terminal-device/terminal-device/operational-modes/mode YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode struct { + Config *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config `path:"config" module:"openconfig-terminal-device"` + ModeId *uint16 `path:"mode-id" module:"openconfig-terminal-device"` + State *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State `path:"state" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode struct, which is a YANG list entry. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode) ΛListKeyMap() (map[string]interface{}, error) { + if t.ModeId == nil { + return nil, fmt.Errorf("nil value for key ModeId") + } + + return map[string]interface{}{ + "mode-id": *t.ModeId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config represents the /openconfig-terminal-device/terminal-device/operational-modes/mode/config YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config struct { +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_Config) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State represents the /openconfig-terminal-device/terminal-device/operational-modes/mode/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State struct { + Description *string `path:"description" module:"openconfig-terminal-device"` + ModeId *uint16 `path:"mode-id" module:"openconfig-terminal-device"` + VendorId *string `path:"vendor-id" module:"openconfig-terminal-device"` +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_OperationalModes_Mode_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// OpenconfigTerminalDevice_TerminalDevice_State represents the /openconfig-terminal-device/terminal-device/state YANG schema element. +type OpenconfigTerminalDevice_TerminalDevice_State struct { +} + +// IsYANGGoStruct ensures that OpenconfigTerminalDevice_TerminalDevice_State implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*OpenconfigTerminalDevice_TerminalDevice_State) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *OpenconfigTerminalDevice_TerminalDevice_State) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["OpenconfigTerminalDevice_TerminalDevice_State"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *OpenconfigTerminalDevice_TerminalDevice_State) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// E_IETFInterfaces_InterfaceType is a derived int64 type which is used to represent +// the enumerated node IETFInterfaces_InterfaceType. An additional value named +// IETFInterfaces_InterfaceType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_IETFInterfaces_InterfaceType int64 + +// IsYANGGoEnum ensures that IETFInterfaces_InterfaceType implements the yang.GoEnum +// interface. This ensures that IETFInterfaces_InterfaceType can be identified as a +// mapped type for a YANG enumeration. +func (E_IETFInterfaces_InterfaceType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with IETFInterfaces_InterfaceType. +func (E_IETFInterfaces_InterfaceType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // IETFInterfaces_InterfaceType_UNSET corresponds to the value UNSET of IETFInterfaces_InterfaceType + IETFInterfaces_InterfaceType_UNSET E_IETFInterfaces_InterfaceType = 0 +) + + +// E_IETFInterfaces_InterfacesState_Interface_AdminStatus is a derived int64 type which is used to represent +// the enumerated node IETFInterfaces_InterfacesState_Interface_AdminStatus. An additional value named +// IETFInterfaces_InterfacesState_Interface_AdminStatus_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_IETFInterfaces_InterfacesState_Interface_AdminStatus int64 + +// IsYANGGoEnum ensures that IETFInterfaces_InterfacesState_Interface_AdminStatus implements the yang.GoEnum +// interface. This ensures that IETFInterfaces_InterfacesState_Interface_AdminStatus can be identified as a +// mapped type for a YANG enumeration. +func (E_IETFInterfaces_InterfacesState_Interface_AdminStatus) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with IETFInterfaces_InterfacesState_Interface_AdminStatus. +func (E_IETFInterfaces_InterfacesState_Interface_AdminStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // IETFInterfaces_InterfacesState_Interface_AdminStatus_UNSET corresponds to the value UNSET of IETFInterfaces_InterfacesState_Interface_AdminStatus + IETFInterfaces_InterfacesState_Interface_AdminStatus_UNSET E_IETFInterfaces_InterfacesState_Interface_AdminStatus = 0 + // IETFInterfaces_InterfacesState_Interface_AdminStatus_up corresponds to the value up of IETFInterfaces_InterfacesState_Interface_AdminStatus + IETFInterfaces_InterfacesState_Interface_AdminStatus_up E_IETFInterfaces_InterfacesState_Interface_AdminStatus = 2 + // IETFInterfaces_InterfacesState_Interface_AdminStatus_down corresponds to the value down of IETFInterfaces_InterfacesState_Interface_AdminStatus + IETFInterfaces_InterfacesState_Interface_AdminStatus_down E_IETFInterfaces_InterfacesState_Interface_AdminStatus = 3 + // IETFInterfaces_InterfacesState_Interface_AdminStatus_testing corresponds to the value testing of IETFInterfaces_InterfacesState_Interface_AdminStatus + IETFInterfaces_InterfacesState_Interface_AdminStatus_testing E_IETFInterfaces_InterfacesState_Interface_AdminStatus = 4 +) + + +// E_IETFInterfaces_InterfacesState_Interface_OperStatus is a derived int64 type which is used to represent +// the enumerated node IETFInterfaces_InterfacesState_Interface_OperStatus. An additional value named +// IETFInterfaces_InterfacesState_Interface_OperStatus_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_IETFInterfaces_InterfacesState_Interface_OperStatus int64 + +// IsYANGGoEnum ensures that IETFInterfaces_InterfacesState_Interface_OperStatus implements the yang.GoEnum +// interface. This ensures that IETFInterfaces_InterfacesState_Interface_OperStatus can be identified as a +// mapped type for a YANG enumeration. +func (E_IETFInterfaces_InterfacesState_Interface_OperStatus) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with IETFInterfaces_InterfacesState_Interface_OperStatus. +func (E_IETFInterfaces_InterfacesState_Interface_OperStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // IETFInterfaces_InterfacesState_Interface_OperStatus_UNSET corresponds to the value UNSET of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_UNSET E_IETFInterfaces_InterfacesState_Interface_OperStatus = 0 + // IETFInterfaces_InterfacesState_Interface_OperStatus_up corresponds to the value up of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_up E_IETFInterfaces_InterfacesState_Interface_OperStatus = 2 + // IETFInterfaces_InterfacesState_Interface_OperStatus_down corresponds to the value down of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_down E_IETFInterfaces_InterfacesState_Interface_OperStatus = 3 + // IETFInterfaces_InterfacesState_Interface_OperStatus_testing corresponds to the value testing of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_testing E_IETFInterfaces_InterfacesState_Interface_OperStatus = 4 + // IETFInterfaces_InterfacesState_Interface_OperStatus_unknown corresponds to the value unknown of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_unknown E_IETFInterfaces_InterfacesState_Interface_OperStatus = 5 + // IETFInterfaces_InterfacesState_Interface_OperStatus_dormant corresponds to the value dormant of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_dormant E_IETFInterfaces_InterfacesState_Interface_OperStatus = 6 + // IETFInterfaces_InterfacesState_Interface_OperStatus_not_present corresponds to the value not_present of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_not_present E_IETFInterfaces_InterfacesState_Interface_OperStatus = 7 + // IETFInterfaces_InterfacesState_Interface_OperStatus_lower_layer_down corresponds to the value lower_layer_down of IETFInterfaces_InterfacesState_Interface_OperStatus + IETFInterfaces_InterfacesState_Interface_OperStatus_lower_layer_down E_IETFInterfaces_InterfacesState_Interface_OperStatus = 8 +) + + +// E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY is a derived int64 type which is used to represent +// the enumerated node OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY. An additional value named +// OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY int64 + +// IsYANGGoEnum ensures that OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY implements the yang.GoEnum +// interface. This ensures that OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY. +func (E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_UNSET corresponds to the value UNSET of OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY + OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_UNSET E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY = 0 + // OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_CRITICAL corresponds to the value CRITICAL of OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY + OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_CRITICAL E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY = 1 + // OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_MAJOR corresponds to the value MAJOR of OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY + OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_MAJOR E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY = 2 + // OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_MINOR corresponds to the value MINOR of OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY + OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_MINOR E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY = 3 + // OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_UNKNOWN corresponds to the value UNKNOWN of OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY + OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_UNKNOWN E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY = 4 + // OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_WARNING corresponds to the value WARNING of OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY + OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY_WARNING E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY = 5 +) + + +// E_OpenconfigIfEthernet_ETHERNET_SPEED is a derived int64 type which is used to represent +// the enumerated node OpenconfigIfEthernet_ETHERNET_SPEED. An additional value named +// OpenconfigIfEthernet_ETHERNET_SPEED_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigIfEthernet_ETHERNET_SPEED int64 + +// IsYANGGoEnum ensures that OpenconfigIfEthernet_ETHERNET_SPEED implements the yang.GoEnum +// interface. This ensures that OpenconfigIfEthernet_ETHERNET_SPEED can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigIfEthernet_ETHERNET_SPEED) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigIfEthernet_ETHERNET_SPEED. +func (E_OpenconfigIfEthernet_ETHERNET_SPEED) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigIfEthernet_ETHERNET_SPEED_UNSET corresponds to the value UNSET of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_UNSET E_OpenconfigIfEthernet_ETHERNET_SPEED = 0 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_100GB corresponds to the value SPEED_100GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_100GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 1 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_100MB corresponds to the value SPEED_100MB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_100MB E_OpenconfigIfEthernet_ETHERNET_SPEED = 2 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_10GB corresponds to the value SPEED_10GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_10GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 3 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_10MB corresponds to the value SPEED_10MB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_10MB E_OpenconfigIfEthernet_ETHERNET_SPEED = 4 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_1GB corresponds to the value SPEED_1GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_1GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 5 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_2500MB corresponds to the value SPEED_2500MB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_2500MB E_OpenconfigIfEthernet_ETHERNET_SPEED = 6 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_25GB corresponds to the value SPEED_25GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_25GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 7 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_40GB corresponds to the value SPEED_40GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_40GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 8 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_50GB corresponds to the value SPEED_50GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_50GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 9 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_5GB corresponds to the value SPEED_5GB of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_5GB E_OpenconfigIfEthernet_ETHERNET_SPEED = 10 + // OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_UNKNOWN corresponds to the value SPEED_UNKNOWN of OpenconfigIfEthernet_ETHERNET_SPEED + OpenconfigIfEthernet_ETHERNET_SPEED_SPEED_UNKNOWN E_OpenconfigIfEthernet_ETHERNET_SPEED = 11 +) + + +// E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode is a derived int64 type which is used to represent +// the enumerated node OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode. An additional value named +// OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode int64 + +// IsYANGGoEnum ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode implements the yang.GoEnum +// interface. This ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode. +func (E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_UNSET corresponds to the value UNSET of OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode + OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_UNSET E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode = 0 + // OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_FULL corresponds to the value FULL of OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode + OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_FULL E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode = 1 + // OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_HALF corresponds to the value HALF of OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode + OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode_HALF E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode = 2 +) + + +// E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode is a derived int64 type which is used to represent +// the enumerated node OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode. An additional value named +// OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode int64 + +// IsYANGGoEnum ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode implements the yang.GoEnum +// interface. This ensures that OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode. +func (E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_UNSET corresponds to the value UNSET of OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode + OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_UNSET E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode = 0 + // OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_FULL corresponds to the value FULL of OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode + OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_FULL E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode = 1 + // OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_HALF corresponds to the value HALF of OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode + OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode_HALF E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode = 2 +) + + +// E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus is a derived int64 type which is used to represent +// the enumerated node OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus. An additional value named +// OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus int64 + +// IsYANGGoEnum ensures that OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus implements the yang.GoEnum +// interface. This ensures that OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus. +func (E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_UNSET corresponds to the value UNSET of OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus + OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_UNSET E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus = 0 + // OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_UP corresponds to the value UP of OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus + OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_UP E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus = 1 + // OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_DOWN corresponds to the value DOWN of OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus + OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_DOWN E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus = 2 + // OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_TESTING corresponds to the value TESTING of OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus + OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_TESTING E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus = 3 +) + + +// E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus is a derived int64 type which is used to represent +// the enumerated node OpenconfigInterfaces_Interfaces_Interface_State_OperStatus. An additional value named +// OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus int64 + +// IsYANGGoEnum ensures that OpenconfigInterfaces_Interfaces_Interface_State_OperStatus implements the yang.GoEnum +// interface. This ensures that OpenconfigInterfaces_Interfaces_Interface_State_OperStatus can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigInterfaces_Interfaces_Interface_State_OperStatus. +func (E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UNSET corresponds to the value UNSET of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UNSET E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 0 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UP corresponds to the value UP of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UP E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 2 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_DOWN corresponds to the value DOWN of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_DOWN E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 3 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_TESTING corresponds to the value TESTING of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_TESTING E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 4 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UNKNOWN corresponds to the value UNKNOWN of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UNKNOWN E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 5 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_DORMANT corresponds to the value DORMANT of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_DORMANT E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 6 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_NOT_PRESENT corresponds to the value NOT_PRESENT of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_NOT_PRESENT E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 7 + // OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_LOWER_LAYER_DOWN corresponds to the value LOWER_LAYER_DOWN of OpenconfigInterfaces_Interfaces_Interface_State_OperStatus + OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_LOWER_LAYER_DOWN E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus = 8 +) + + +// E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY is a derived int64 type which is used to represent +// the enumerated node OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY. An additional value named +// OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY int64 + +// IsYANGGoEnum ensures that OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY implements the yang.GoEnum +// interface. This ensures that OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY. +func (E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_UNSET corresponds to the value UNSET of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_UNSET E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 0 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_C_VLAN corresponds to the value C_VLAN of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_C_VLAN E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 1 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_DOCSIS_CABLE_DEVICE corresponds to the value DOCSIS_CABLE_DEVICE of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_DOCSIS_CABLE_DEVICE E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 2 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_MAC_BRIDGE corresponds to the value MAC_BRIDGE of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_MAC_BRIDGE E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 3 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_OTHER corresponds to the value OTHER of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_OTHER E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 4 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_REPEATER corresponds to the value REPEATER of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_REPEATER E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 5 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_ROUTER corresponds to the value ROUTER of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_ROUTER E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 6 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_STATION_ONLY corresponds to the value STATION_ONLY of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_STATION_ONLY E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 7 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_S_VLAN corresponds to the value S_VLAN of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_S_VLAN E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 8 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_TELEPHONE corresponds to the value TELEPHONE of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_TELEPHONE E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 9 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_TWO_PORT_MAC_RELAY corresponds to the value TWO_PORT_MAC_RELAY of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_TWO_PORT_MAC_RELAY E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 10 + // OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_WLAN_ACCESS_POINT corresponds to the value WLAN_ACCESS_POINT of OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY + OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY_WLAN_ACCESS_POINT E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY = 11 +) + + +// E_OpenconfigLldpTypes_LLDP_TLV is a derived int64 type which is used to represent +// the enumerated node OpenconfigLldpTypes_LLDP_TLV. An additional value named +// OpenconfigLldpTypes_LLDP_TLV_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigLldpTypes_LLDP_TLV int64 + +// IsYANGGoEnum ensures that OpenconfigLldpTypes_LLDP_TLV implements the yang.GoEnum +// interface. This ensures that OpenconfigLldpTypes_LLDP_TLV can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigLldpTypes_LLDP_TLV) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigLldpTypes_LLDP_TLV. +func (E_OpenconfigLldpTypes_LLDP_TLV) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigLldpTypes_LLDP_TLV_UNSET corresponds to the value UNSET of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_UNSET E_OpenconfigLldpTypes_LLDP_TLV = 0 + // OpenconfigLldpTypes_LLDP_TLV_CHASSIS_ID corresponds to the value CHASSIS_ID of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_CHASSIS_ID E_OpenconfigLldpTypes_LLDP_TLV = 1 + // OpenconfigLldpTypes_LLDP_TLV_MANAGEMENT_ADDRESS corresponds to the value MANAGEMENT_ADDRESS of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_MANAGEMENT_ADDRESS E_OpenconfigLldpTypes_LLDP_TLV = 2 + // OpenconfigLldpTypes_LLDP_TLV_PORT_DESCRIPTION corresponds to the value PORT_DESCRIPTION of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_PORT_DESCRIPTION E_OpenconfigLldpTypes_LLDP_TLV = 3 + // OpenconfigLldpTypes_LLDP_TLV_PORT_ID corresponds to the value PORT_ID of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_PORT_ID E_OpenconfigLldpTypes_LLDP_TLV = 4 + // OpenconfigLldpTypes_LLDP_TLV_SYSTEM_CAPABILITIES corresponds to the value SYSTEM_CAPABILITIES of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_SYSTEM_CAPABILITIES E_OpenconfigLldpTypes_LLDP_TLV = 5 + // OpenconfigLldpTypes_LLDP_TLV_SYSTEM_DESCRIPTION corresponds to the value SYSTEM_DESCRIPTION of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_SYSTEM_DESCRIPTION E_OpenconfigLldpTypes_LLDP_TLV = 6 + // OpenconfigLldpTypes_LLDP_TLV_SYSTEM_NAME corresponds to the value SYSTEM_NAME of OpenconfigLldpTypes_LLDP_TLV + OpenconfigLldpTypes_LLDP_TLV_SYSTEM_NAME E_OpenconfigLldpTypes_LLDP_TLV = 7 +) + + +// E_OpenconfigLldp_ChassisIdType is a derived int64 type which is used to represent +// the enumerated node OpenconfigLldp_ChassisIdType. An additional value named +// OpenconfigLldp_ChassisIdType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigLldp_ChassisIdType int64 + +// IsYANGGoEnum ensures that OpenconfigLldp_ChassisIdType implements the yang.GoEnum +// interface. This ensures that OpenconfigLldp_ChassisIdType can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigLldp_ChassisIdType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigLldp_ChassisIdType. +func (E_OpenconfigLldp_ChassisIdType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigLldp_ChassisIdType_UNSET corresponds to the value UNSET of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_UNSET E_OpenconfigLldp_ChassisIdType = 0 + // OpenconfigLldp_ChassisIdType_CHASSIS_COMPONENT corresponds to the value CHASSIS_COMPONENT of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_CHASSIS_COMPONENT E_OpenconfigLldp_ChassisIdType = 1 + // OpenconfigLldp_ChassisIdType_INTERFACE_ALIAS corresponds to the value INTERFACE_ALIAS of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_INTERFACE_ALIAS E_OpenconfigLldp_ChassisIdType = 2 + // OpenconfigLldp_ChassisIdType_PORT_COMPONENT corresponds to the value PORT_COMPONENT of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_PORT_COMPONENT E_OpenconfigLldp_ChassisIdType = 3 + // OpenconfigLldp_ChassisIdType_MAC_ADDRESS corresponds to the value MAC_ADDRESS of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_MAC_ADDRESS E_OpenconfigLldp_ChassisIdType = 4 + // OpenconfigLldp_ChassisIdType_NETWORK_ADDRESS corresponds to the value NETWORK_ADDRESS of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_NETWORK_ADDRESS E_OpenconfigLldp_ChassisIdType = 5 + // OpenconfigLldp_ChassisIdType_INTERFACE_NAME corresponds to the value INTERFACE_NAME of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_INTERFACE_NAME E_OpenconfigLldp_ChassisIdType = 6 + // OpenconfigLldp_ChassisIdType_LOCAL corresponds to the value LOCAL of OpenconfigLldp_ChassisIdType + OpenconfigLldp_ChassisIdType_LOCAL E_OpenconfigLldp_ChassisIdType = 7 +) + + +// E_OpenconfigLldp_PortIdType is a derived int64 type which is used to represent +// the enumerated node OpenconfigLldp_PortIdType. An additional value named +// OpenconfigLldp_PortIdType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigLldp_PortIdType int64 + +// IsYANGGoEnum ensures that OpenconfigLldp_PortIdType implements the yang.GoEnum +// interface. This ensures that OpenconfigLldp_PortIdType can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigLldp_PortIdType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigLldp_PortIdType. +func (E_OpenconfigLldp_PortIdType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigLldp_PortIdType_UNSET corresponds to the value UNSET of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_UNSET E_OpenconfigLldp_PortIdType = 0 + // OpenconfigLldp_PortIdType_INTERFACE_ALIAS corresponds to the value INTERFACE_ALIAS of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_INTERFACE_ALIAS E_OpenconfigLldp_PortIdType = 1 + // OpenconfigLldp_PortIdType_PORT_COMPONENT corresponds to the value PORT_COMPONENT of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_PORT_COMPONENT E_OpenconfigLldp_PortIdType = 2 + // OpenconfigLldp_PortIdType_MAC_ADDRESS corresponds to the value MAC_ADDRESS of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_MAC_ADDRESS E_OpenconfigLldp_PortIdType = 3 + // OpenconfigLldp_PortIdType_NETWORK_ADDRESS corresponds to the value NETWORK_ADDRESS of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_NETWORK_ADDRESS E_OpenconfigLldp_PortIdType = 4 + // OpenconfigLldp_PortIdType_INTERFACE_NAME corresponds to the value INTERFACE_NAME of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_INTERFACE_NAME E_OpenconfigLldp_PortIdType = 5 + // OpenconfigLldp_PortIdType_AGENT_CIRCUIT_ID corresponds to the value AGENT_CIRCUIT_ID of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_AGENT_CIRCUIT_ID E_OpenconfigLldp_PortIdType = 6 + // OpenconfigLldp_PortIdType_LOCAL corresponds to the value LOCAL of OpenconfigLldp_PortIdType + OpenconfigLldp_PortIdType_LOCAL E_OpenconfigLldp_PortIdType = 7 +) + + +// E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS is a derived int64 type which is used to represent +// the enumerated node OpenconfigPlatformTypes_COMPONENT_OPER_STATUS. An additional value named +// OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS int64 + +// IsYANGGoEnum ensures that OpenconfigPlatformTypes_COMPONENT_OPER_STATUS implements the yang.GoEnum +// interface. This ensures that OpenconfigPlatformTypes_COMPONENT_OPER_STATUS can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigPlatformTypes_COMPONENT_OPER_STATUS. +func (E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_UNSET corresponds to the value UNSET of OpenconfigPlatformTypes_COMPONENT_OPER_STATUS + OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_UNSET E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS = 0 + // OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_ACTIVE corresponds to the value ACTIVE of OpenconfigPlatformTypes_COMPONENT_OPER_STATUS + OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_ACTIVE E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS = 1 + // OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_DISABLED corresponds to the value DISABLED of OpenconfigPlatformTypes_COMPONENT_OPER_STATUS + OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_DISABLED E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS = 2 + // OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_INACTIVE corresponds to the value INACTIVE of OpenconfigPlatformTypes_COMPONENT_OPER_STATUS + OpenconfigPlatformTypes_COMPONENT_OPER_STATUS_INACTIVE E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS = 3 +) + + +// E_OpenconfigPlatformTypes_FEC_MODE_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigPlatformTypes_FEC_MODE_TYPE. An additional value named +// OpenconfigPlatformTypes_FEC_MODE_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigPlatformTypes_FEC_MODE_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigPlatformTypes_FEC_MODE_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigPlatformTypes_FEC_MODE_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigPlatformTypes_FEC_MODE_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigPlatformTypes_FEC_MODE_TYPE. +func (E_OpenconfigPlatformTypes_FEC_MODE_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigPlatformTypes_FEC_MODE_TYPE_UNSET corresponds to the value UNSET of OpenconfigPlatformTypes_FEC_MODE_TYPE + OpenconfigPlatformTypes_FEC_MODE_TYPE_UNSET E_OpenconfigPlatformTypes_FEC_MODE_TYPE = 0 + // OpenconfigPlatformTypes_FEC_MODE_TYPE_FEC_AUTO corresponds to the value FEC_AUTO of OpenconfigPlatformTypes_FEC_MODE_TYPE + OpenconfigPlatformTypes_FEC_MODE_TYPE_FEC_AUTO E_OpenconfigPlatformTypes_FEC_MODE_TYPE = 1 + // OpenconfigPlatformTypes_FEC_MODE_TYPE_FEC_DISABLED corresponds to the value FEC_DISABLED of OpenconfigPlatformTypes_FEC_MODE_TYPE + OpenconfigPlatformTypes_FEC_MODE_TYPE_FEC_DISABLED E_OpenconfigPlatformTypes_FEC_MODE_TYPE = 2 + // OpenconfigPlatformTypes_FEC_MODE_TYPE_FEC_ENABLED corresponds to the value FEC_ENABLED of OpenconfigPlatformTypes_FEC_MODE_TYPE + OpenconfigPlatformTypes_FEC_MODE_TYPE_FEC_ENABLED E_OpenconfigPlatformTypes_FEC_MODE_TYPE = 3 +) + + +// E_OpenconfigPlatformTypes_FEC_STATUS_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigPlatformTypes_FEC_STATUS_TYPE. An additional value named +// OpenconfigPlatformTypes_FEC_STATUS_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigPlatformTypes_FEC_STATUS_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigPlatformTypes_FEC_STATUS_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigPlatformTypes_FEC_STATUS_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigPlatformTypes_FEC_STATUS_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigPlatformTypes_FEC_STATUS_TYPE. +func (E_OpenconfigPlatformTypes_FEC_STATUS_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigPlatformTypes_FEC_STATUS_TYPE_UNSET corresponds to the value UNSET of OpenconfigPlatformTypes_FEC_STATUS_TYPE + OpenconfigPlatformTypes_FEC_STATUS_TYPE_UNSET E_OpenconfigPlatformTypes_FEC_STATUS_TYPE = 0 + // OpenconfigPlatformTypes_FEC_STATUS_TYPE_FEC_STATUS_LOCKED corresponds to the value FEC_STATUS_LOCKED of OpenconfigPlatformTypes_FEC_STATUS_TYPE + OpenconfigPlatformTypes_FEC_STATUS_TYPE_FEC_STATUS_LOCKED E_OpenconfigPlatformTypes_FEC_STATUS_TYPE = 1 + // OpenconfigPlatformTypes_FEC_STATUS_TYPE_FEC_STATUS_UNLOCKED corresponds to the value FEC_STATUS_UNLOCKED of OpenconfigPlatformTypes_FEC_STATUS_TYPE + OpenconfigPlatformTypes_FEC_STATUS_TYPE_FEC_STATUS_UNLOCKED E_OpenconfigPlatformTypes_FEC_STATUS_TYPE = 2 +) + + +// E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT is a derived int64 type which is used to represent +// the enumerated node OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT. An additional value named +// OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT int64 + +// IsYANGGoEnum ensures that OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT implements the yang.GoEnum +// interface. This ensures that OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT. +func (E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_UNSET corresponds to the value UNSET of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_UNSET E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 0 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_BACKPLANE corresponds to the value BACKPLANE of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_BACKPLANE E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 1 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_CHASSIS corresponds to the value CHASSIS of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_CHASSIS E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 2 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_CONTROLLER_CARD corresponds to the value CONTROLLER_CARD of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_CONTROLLER_CARD E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 3 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_CPU corresponds to the value CPU of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_CPU E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 4 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_FABRIC corresponds to the value FABRIC of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_FABRIC E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 5 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_FAN corresponds to the value FAN of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_FAN E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 6 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_FRU corresponds to the value FRU of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_FRU E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 7 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_INTEGRATED_CIRCUIT corresponds to the value INTEGRATED_CIRCUIT of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_INTEGRATED_CIRCUIT E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 8 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_LINECARD corresponds to the value LINECARD of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_LINECARD E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 9 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_OPTICAL_CHANNEL corresponds to the value OPTICAL_CHANNEL of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_OPTICAL_CHANNEL E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 10 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_PORT corresponds to the value PORT of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_PORT E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 11 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_POWER_SUPPLY corresponds to the value POWER_SUPPLY of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_POWER_SUPPLY E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 12 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_SENSOR corresponds to the value SENSOR of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_SENSOR E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 13 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_STORAGE corresponds to the value STORAGE of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_STORAGE E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 14 + // OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_TRANSCEIVER corresponds to the value TRANSCEIVER of OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT_TRANSCEIVER E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT = 15 +) + + +// E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT is a derived int64 type which is used to represent +// the enumerated node OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT. An additional value named +// OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT int64 + +// IsYANGGoEnum ensures that OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT implements the yang.GoEnum +// interface. This ensures that OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT. +func (E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_UNSET corresponds to the value UNSET of OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_UNSET E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT = 0 + // OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_OPERATING_SYSTEM corresponds to the value OPERATING_SYSTEM of OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_OPERATING_SYSTEM E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT = 1 + // OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_OPERATING_SYSTEM_UPDATE corresponds to the value OPERATING_SYSTEM_UPDATE of OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT + OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT_OPERATING_SYSTEM_UPDATE E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT = 2 +) + + +// E_OpenconfigPlatform_Components_Component_Transceiver_State_Present is a derived int64 type which is used to represent +// the enumerated node OpenconfigPlatform_Components_Component_Transceiver_State_Present. An additional value named +// OpenconfigPlatform_Components_Component_Transceiver_State_Present_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigPlatform_Components_Component_Transceiver_State_Present int64 + +// IsYANGGoEnum ensures that OpenconfigPlatform_Components_Component_Transceiver_State_Present implements the yang.GoEnum +// interface. This ensures that OpenconfigPlatform_Components_Component_Transceiver_State_Present can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigPlatform_Components_Component_Transceiver_State_Present) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigPlatform_Components_Component_Transceiver_State_Present. +func (E_OpenconfigPlatform_Components_Component_Transceiver_State_Present) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigPlatform_Components_Component_Transceiver_State_Present_UNSET corresponds to the value UNSET of OpenconfigPlatform_Components_Component_Transceiver_State_Present + OpenconfigPlatform_Components_Component_Transceiver_State_Present_UNSET E_OpenconfigPlatform_Components_Component_Transceiver_State_Present = 0 + // OpenconfigPlatform_Components_Component_Transceiver_State_Present_PRESENT corresponds to the value PRESENT of OpenconfigPlatform_Components_Component_Transceiver_State_Present + OpenconfigPlatform_Components_Component_Transceiver_State_Present_PRESENT E_OpenconfigPlatform_Components_Component_Transceiver_State_Present = 1 + // OpenconfigPlatform_Components_Component_Transceiver_State_Present_NOT_PRESENT corresponds to the value NOT_PRESENT of OpenconfigPlatform_Components_Component_Transceiver_State_Present + OpenconfigPlatform_Components_Component_Transceiver_State_Present_NOT_PRESENT E_OpenconfigPlatform_Components_Component_Transceiver_State_Present = 2 +) + + +// E_OpenconfigTerminalDevice_AdminStateType is a derived int64 type which is used to represent +// the enumerated node OpenconfigTerminalDevice_AdminStateType. An additional value named +// OpenconfigTerminalDevice_AdminStateType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTerminalDevice_AdminStateType int64 + +// IsYANGGoEnum ensures that OpenconfigTerminalDevice_AdminStateType implements the yang.GoEnum +// interface. This ensures that OpenconfigTerminalDevice_AdminStateType can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTerminalDevice_AdminStateType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTerminalDevice_AdminStateType. +func (E_OpenconfigTerminalDevice_AdminStateType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTerminalDevice_AdminStateType_UNSET corresponds to the value UNSET of OpenconfigTerminalDevice_AdminStateType + OpenconfigTerminalDevice_AdminStateType_UNSET E_OpenconfigTerminalDevice_AdminStateType = 0 + // OpenconfigTerminalDevice_AdminStateType_ENABLED corresponds to the value ENABLED of OpenconfigTerminalDevice_AdminStateType + OpenconfigTerminalDevice_AdminStateType_ENABLED E_OpenconfigTerminalDevice_AdminStateType = 1 + // OpenconfigTerminalDevice_AdminStateType_DISABLED corresponds to the value DISABLED of OpenconfigTerminalDevice_AdminStateType + OpenconfigTerminalDevice_AdminStateType_DISABLED E_OpenconfigTerminalDevice_AdminStateType = 2 + // OpenconfigTerminalDevice_AdminStateType_MAINT corresponds to the value MAINT of OpenconfigTerminalDevice_AdminStateType + OpenconfigTerminalDevice_AdminStateType_MAINT E_OpenconfigTerminalDevice_AdminStateType = 3 +) + + +// E_OpenconfigTerminalDevice_LoopbackModeType is a derived int64 type which is used to represent +// the enumerated node OpenconfigTerminalDevice_LoopbackModeType. An additional value named +// OpenconfigTerminalDevice_LoopbackModeType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTerminalDevice_LoopbackModeType int64 + +// IsYANGGoEnum ensures that OpenconfigTerminalDevice_LoopbackModeType implements the yang.GoEnum +// interface. This ensures that OpenconfigTerminalDevice_LoopbackModeType can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTerminalDevice_LoopbackModeType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTerminalDevice_LoopbackModeType. +func (E_OpenconfigTerminalDevice_LoopbackModeType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTerminalDevice_LoopbackModeType_UNSET corresponds to the value UNSET of OpenconfigTerminalDevice_LoopbackModeType + OpenconfigTerminalDevice_LoopbackModeType_UNSET E_OpenconfigTerminalDevice_LoopbackModeType = 0 + // OpenconfigTerminalDevice_LoopbackModeType_NONE corresponds to the value NONE of OpenconfigTerminalDevice_LoopbackModeType + OpenconfigTerminalDevice_LoopbackModeType_NONE E_OpenconfigTerminalDevice_LoopbackModeType = 1 + // OpenconfigTerminalDevice_LoopbackModeType_FACILITY corresponds to the value FACILITY of OpenconfigTerminalDevice_LoopbackModeType + OpenconfigTerminalDevice_LoopbackModeType_FACILITY E_OpenconfigTerminalDevice_LoopbackModeType = 2 + // OpenconfigTerminalDevice_LoopbackModeType_TERMINAL corresponds to the value TERMINAL of OpenconfigTerminalDevice_LoopbackModeType + OpenconfigTerminalDevice_LoopbackModeType_TERMINAL E_OpenconfigTerminalDevice_LoopbackModeType = 3 +) + + +// E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls is a derived int64 type which is used to represent +// the enumerated node OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls. An additional value named +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls int64 + +// IsYANGGoEnum ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls implements the yang.GoEnum +// interface. This ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls. +func (E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_UNSET corresponds to the value UNSET of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_UNSET E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls = 0 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_NONE corresponds to the value NONE of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_NONE E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls = 1 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_LASER_SHUTDOWN corresponds to the value LASER_SHUTDOWN of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_LASER_SHUTDOWN E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls = 2 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_ETHERNET corresponds to the value ETHERNET of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls_ETHERNET E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls = 3 +) + + +// E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType is a derived int64 type which is used to represent +// the enumerated node OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType. An additional value named +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType int64 + +// IsYANGGoEnum ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType implements the yang.GoEnum +// interface. This ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType. +func (E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_UNSET corresponds to the value UNSET of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_UNSET E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType = 0 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_LOGICAL_CHANNEL corresponds to the value LOGICAL_CHANNEL of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_LOGICAL_CHANNEL E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType = 1 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_OPTICAL_CHANNEL corresponds to the value OPTICAL_CHANNEL of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType_OPTICAL_CHANNEL E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType = 2 +) + + +// E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState is a derived int64 type which is used to represent +// the enumerated node OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState. An additional value named +// OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState int64 + +// IsYANGGoEnum ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState implements the yang.GoEnum +// interface. This ensures that OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState. +func (E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_UNSET corresponds to the value UNSET of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_UNSET E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState = 0 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_UP corresponds to the value UP of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_UP E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState = 1 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_DOWN corresponds to the value DOWN of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_DOWN E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState = 2 + // OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_TESTING corresponds to the value TESTING of OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState + OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState_TESTING E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState = 3 +) + + +// E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_ETHERNET_PMD_TYPE. An additional value named +// OpenconfigTransportTypes_ETHERNET_PMD_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_ETHERNET_PMD_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_ETHERNET_PMD_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_ETHERNET_PMD_TYPE. +func (E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_UNSET E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 0 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_CLR4 corresponds to the value ETH_100GBASE_CLR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_CLR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 1 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_CR4 corresponds to the value ETH_100GBASE_CR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_CR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 2 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_CWDM4 corresponds to the value ETH_100GBASE_CWDM4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_CWDM4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 3 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_ER4 corresponds to the value ETH_100GBASE_ER4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_ER4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 4 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_LR4 corresponds to the value ETH_100GBASE_LR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_LR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 5 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_PSM4 corresponds to the value ETH_100GBASE_PSM4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_PSM4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 6 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_SR10 corresponds to the value ETH_100GBASE_SR10 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_SR10 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 7 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_SR4 corresponds to the value ETH_100GBASE_SR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100GBASE_SR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 8 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100G_ACC corresponds to the value ETH_100G_ACC of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100G_ACC E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 9 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100G_AOC corresponds to the value ETH_100G_AOC of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_100G_AOC E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 10 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_ER corresponds to the value ETH_10GBASE_ER of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_ER E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 11 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_LR corresponds to the value ETH_10GBASE_LR of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_LR E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 12 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_LRM corresponds to the value ETH_10GBASE_LRM of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_LRM E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 13 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_SR corresponds to the value ETH_10GBASE_SR of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_SR E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 14 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_ZR corresponds to the value ETH_10GBASE_ZR of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_10GBASE_ZR E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 15 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_CR4 corresponds to the value ETH_40GBASE_CR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_CR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 16 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_ER4 corresponds to the value ETH_40GBASE_ER4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_ER4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 17 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_LR4 corresponds to the value ETH_40GBASE_LR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_LR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 18 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_PSM4 corresponds to the value ETH_40GBASE_PSM4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_PSM4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 19 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_SR4 corresponds to the value ETH_40GBASE_SR4 of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_40GBASE_SR4 E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 20 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_4X10GBASE_LR corresponds to the value ETH_4X10GBASE_LR of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_4X10GBASE_LR E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 21 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_4X10GBASE_SR corresponds to the value ETH_4X10GBASE_SR of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_4X10GBASE_SR E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 22 + // OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_UNDEFINED corresponds to the value ETH_UNDEFINED of OpenconfigTransportTypes_ETHERNET_PMD_TYPE + OpenconfigTransportTypes_ETHERNET_PMD_TYPE_ETH_UNDEFINED E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE = 23 +) + + +// E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE. An additional value named +// OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE. +func (E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE + OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_UNSET E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE = 0 + // OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_LC_CONNECTOR corresponds to the value LC_CONNECTOR of OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE + OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_LC_CONNECTOR E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE = 1 + // OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_MPO_CONNECTOR corresponds to the value MPO_CONNECTOR of OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE + OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_MPO_CONNECTOR E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE = 2 + // OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_SC_CONNECTOR corresponds to the value SC_CONNECTOR of OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE + OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE_SC_CONNECTOR E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE = 3 +) + + +// E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL. An additional value named +// OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL. +func (E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_UNSET E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 0 + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_AMP corresponds to the value AMP of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_AMP E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 1 + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_BMP corresponds to the value BMP of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_BMP E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 2 + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_CBR corresponds to the value CBR of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_CBR E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 3 + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_GFP_F corresponds to the value GFP_F of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_GFP_F E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 4 + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_GFP_T corresponds to the value GFP_T of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_GFP_T E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 5 + // OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_GMP corresponds to the value GMP of OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL + OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL_GMP E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL = 6 +) + + +// E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE. An additional value named +// OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE. +func (E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE + OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_UNSET E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE = 0 + // OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_ETHERNET corresponds to the value PROT_ETHERNET of OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE + OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_ETHERNET E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE = 1 + // OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_OTN corresponds to the value PROT_OTN of OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE + OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_OTN E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE = 2 +) + + +// E_OpenconfigTransportTypes_OTN_APPLICATION_CODE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_OTN_APPLICATION_CODE. An additional value named +// OpenconfigTransportTypes_OTN_APPLICATION_CODE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_OTN_APPLICATION_CODE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_OTN_APPLICATION_CODE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_OTN_APPLICATION_CODE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_OTN_APPLICATION_CODE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_OTN_APPLICATION_CODE. +func (E_OpenconfigTransportTypes_OTN_APPLICATION_CODE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_OTN_APPLICATION_CODE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_OTN_APPLICATION_CODE + OpenconfigTransportTypes_OTN_APPLICATION_CODE_UNSET E_OpenconfigTransportTypes_OTN_APPLICATION_CODE = 0 + // OpenconfigTransportTypes_OTN_APPLICATION_CODE_OTN_UNDEFINED corresponds to the value OTN_UNDEFINED of OpenconfigTransportTypes_OTN_APPLICATION_CODE + OpenconfigTransportTypes_OTN_APPLICATION_CODE_OTN_UNDEFINED E_OpenconfigTransportTypes_OTN_APPLICATION_CODE = 1 + // OpenconfigTransportTypes_OTN_APPLICATION_CODE_P1L1_2D1 corresponds to the value P1L1_2D1 of OpenconfigTransportTypes_OTN_APPLICATION_CODE + OpenconfigTransportTypes_OTN_APPLICATION_CODE_P1L1_2D1 E_OpenconfigTransportTypes_OTN_APPLICATION_CODE = 2 + // OpenconfigTransportTypes_OTN_APPLICATION_CODE_P1L1_2D2 corresponds to the value P1L1_2D2 of OpenconfigTransportTypes_OTN_APPLICATION_CODE + OpenconfigTransportTypes_OTN_APPLICATION_CODE_P1L1_2D2 E_OpenconfigTransportTypes_OTN_APPLICATION_CODE = 3 + // OpenconfigTransportTypes_OTN_APPLICATION_CODE_P1S1_2D2 corresponds to the value P1S1_2D2 of OpenconfigTransportTypes_OTN_APPLICATION_CODE + OpenconfigTransportTypes_OTN_APPLICATION_CODE_P1S1_2D2 E_OpenconfigTransportTypes_OTN_APPLICATION_CODE = 4 +) + + +// E_OpenconfigTransportTypes_SONET_APPLICATION_CODE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_SONET_APPLICATION_CODE. An additional value named +// OpenconfigTransportTypes_SONET_APPLICATION_CODE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_SONET_APPLICATION_CODE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_SONET_APPLICATION_CODE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_SONET_APPLICATION_CODE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_SONET_APPLICATION_CODE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_SONET_APPLICATION_CODE. +func (E_OpenconfigTransportTypes_SONET_APPLICATION_CODE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_SONET_APPLICATION_CODE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_SONET_APPLICATION_CODE + OpenconfigTransportTypes_SONET_APPLICATION_CODE_UNSET E_OpenconfigTransportTypes_SONET_APPLICATION_CODE = 0 + // OpenconfigTransportTypes_SONET_APPLICATION_CODE_SONET_UNDEFINED corresponds to the value SONET_UNDEFINED of OpenconfigTransportTypes_SONET_APPLICATION_CODE + OpenconfigTransportTypes_SONET_APPLICATION_CODE_SONET_UNDEFINED E_OpenconfigTransportTypes_SONET_APPLICATION_CODE = 1 + // OpenconfigTransportTypes_SONET_APPLICATION_CODE_VSR2000_3R2 corresponds to the value VSR2000_3R2 of OpenconfigTransportTypes_SONET_APPLICATION_CODE + OpenconfigTransportTypes_SONET_APPLICATION_CODE_VSR2000_3R2 E_OpenconfigTransportTypes_SONET_APPLICATION_CODE = 2 + // OpenconfigTransportTypes_SONET_APPLICATION_CODE_VSR2000_3R3 corresponds to the value VSR2000_3R3 of OpenconfigTransportTypes_SONET_APPLICATION_CODE + OpenconfigTransportTypes_SONET_APPLICATION_CODE_VSR2000_3R3 E_OpenconfigTransportTypes_SONET_APPLICATION_CODE = 3 + // OpenconfigTransportTypes_SONET_APPLICATION_CODE_VSR2000_3R5 corresponds to the value VSR2000_3R5 of OpenconfigTransportTypes_SONET_APPLICATION_CODE + OpenconfigTransportTypes_SONET_APPLICATION_CODE_VSR2000_3R5 E_OpenconfigTransportTypes_SONET_APPLICATION_CODE = 4 +) + + +// E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE. An additional value named +// OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE. +func (E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_UNSET E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 0 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP corresponds to the value CFP of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 1 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP2 corresponds to the value CFP2 of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP2 E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 2 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP2_ACO corresponds to the value CFP2_ACO of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP2_ACO E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 3 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP4 corresponds to the value CFP4 of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CFP4 E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 4 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CPAK corresponds to the value CPAK of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_CPAK E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 5 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_NON_PLUGGABLE corresponds to the value NON_PLUGGABLE of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_NON_PLUGGABLE E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 6 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_OTHER corresponds to the value OTHER of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_OTHER E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 7 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_QSFP corresponds to the value QSFP of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_QSFP E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 8 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_QSFP28 corresponds to the value QSFP28 of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_QSFP28 E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 9 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_QSFP_PLUS corresponds to the value QSFP_PLUS of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_QSFP_PLUS E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 10 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_SFP corresponds to the value SFP of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_SFP E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 11 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_SFP_PLUS corresponds to the value SFP_PLUS of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_SFP_PLUS E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 12 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_X2 corresponds to the value X2 of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_X2 E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 13 + // OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_XFP corresponds to the value XFP of OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE + OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE_XFP E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE = 14 +) + + +// E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE. An additional value named +// OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE. +func (E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_UNSET E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 0 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_100GE corresponds to the value PROT_100GE of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_100GE E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 1 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_100G_MLG corresponds to the value PROT_100G_MLG of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_100G_MLG E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 2 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_10GE_LAN corresponds to the value PROT_10GE_LAN of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_10GE_LAN E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 3 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_10GE_WAN corresponds to the value PROT_10GE_WAN of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_10GE_WAN E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 4 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_1GE corresponds to the value PROT_1GE of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_1GE E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 5 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_40GE corresponds to the value PROT_40GE of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_40GE E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 6 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OC192 corresponds to the value PROT_OC192 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OC192 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 7 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OC48 corresponds to the value PROT_OC48 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OC48 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 8 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OC768 corresponds to the value PROT_OC768 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OC768 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 9 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU2 corresponds to the value PROT_ODU2 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU2 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 10 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU2E corresponds to the value PROT_ODU2E of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU2E E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 11 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU3 corresponds to the value PROT_ODU3 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU3 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 12 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU4 corresponds to the value PROT_ODU4 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODU4 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 13 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODUCN corresponds to the value PROT_ODUCN of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_ODUCN E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 14 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU1E corresponds to the value PROT_OTU1E of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU1E E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 15 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU2 corresponds to the value PROT_OTU2 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU2 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 16 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU2E corresponds to the value PROT_OTU2E of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU2E E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 17 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU3 corresponds to the value PROT_OTU3 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU3 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 18 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU4 corresponds to the value PROT_OTU4 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTU4 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 19 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTUCN corresponds to the value PROT_OTUCN of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_OTUCN E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 20 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_STM16 corresponds to the value PROT_STM16 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_STM16 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 21 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_STM256 corresponds to the value PROT_STM256 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_STM256 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 22 + // OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_STM64 corresponds to the value PROT_STM64 of OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE + OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_STM64 E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE = 23 +) + + +// E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE. An additional value named +// OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE. +func (E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_UNSET E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 0 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_1000G corresponds to the value TRIB_RATE_1000G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_1000G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 1 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_100G corresponds to the value TRIB_RATE_100G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_100G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 2 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_10G corresponds to the value TRIB_RATE_10G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_10G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 3 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_1100G corresponds to the value TRIB_RATE_1100G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_1100G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 4 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_150G corresponds to the value TRIB_RATE_150G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_150G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 5 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_1G corresponds to the value TRIB_RATE_1G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_1G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 6 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_2_5G corresponds to the value TRIB_RATE_2_5G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_2_5G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 7 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_200G corresponds to the value TRIB_RATE_200G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_200G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 8 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_250G corresponds to the value TRIB_RATE_250G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_250G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 9 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_300G corresponds to the value TRIB_RATE_300G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_300G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 10 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_400G corresponds to the value TRIB_RATE_400G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_400G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 11 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_40G corresponds to the value TRIB_RATE_40G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_40G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 12 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_500G corresponds to the value TRIB_RATE_500G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_500G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 13 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_600G corresponds to the value TRIB_RATE_600G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_600G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 14 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_700G corresponds to the value TRIB_RATE_700G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_700G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 15 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_800G corresponds to the value TRIB_RATE_800G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_800G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 16 + // OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_900G corresponds to the value TRIB_RATE_900G of OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE + OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_900G E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE = 17 +) + + +// E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY is a derived int64 type which is used to represent +// the enumerated node OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY. An additional value named +// OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY int64 + +// IsYANGGoEnum ensures that OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY implements the yang.GoEnum +// interface. This ensures that OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY can be identified as a +// mapped type for a YANG enumeration. +func (E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY. +func (E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +const ( + // OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_UNSET corresponds to the value UNSET of OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY + OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_UNSET E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY = 0 + // OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_TRIB_SLOT_1_25G corresponds to the value TRIB_SLOT_1_25G of OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY + OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_TRIB_SLOT_1_25G E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY = 1 + // OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_TRIB_SLOT_2_5G corresponds to the value TRIB_SLOT_2_5G of OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY + OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_TRIB_SLOT_2_5G E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY = 2 + // OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_TRIB_SLOT_5G corresponds to the value TRIB_SLOT_5G of OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY + OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY_TRIB_SLOT_5G E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY = 3 +) + + +// ΛEnum is a map, keyed by the name of the type defined for each enum in the +// generated Go code, which provides a mapping between the constant int64 value +// of each value of the enumeration, and the string that is used to represent it +// in the YANG schema. The map is named ΛEnum in order to avoid clash with any +// valid YANG identifier. +var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ + "E_IETFInterfaces_InterfaceType": { + }, + "E_IETFInterfaces_InterfacesState_Interface_AdminStatus": { + 2: {Name: "up"}, + 3: {Name: "down"}, + 4: {Name: "testing"}, + }, + "E_IETFInterfaces_InterfacesState_Interface_OperStatus": { + 2: {Name: "up"}, + 3: {Name: "down"}, + 4: {Name: "testing"}, + 5: {Name: "unknown"}, + 6: {Name: "dormant"}, + 7: {Name: "not-present"}, + 8: {Name: "lower-layer-down"}, + }, + "E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY": { + 1: {Name: "CRITICAL", DefiningModule: "openconfig-alarm-types"}, + 2: {Name: "MAJOR", DefiningModule: "openconfig-alarm-types"}, + 3: {Name: "MINOR", DefiningModule: "openconfig-alarm-types"}, + 4: {Name: "UNKNOWN", DefiningModule: "openconfig-alarm-types"}, + 5: {Name: "WARNING", DefiningModule: "openconfig-alarm-types"}, + }, + "E_OpenconfigIfEthernet_ETHERNET_SPEED": { + 1: {Name: "SPEED_100GB", DefiningModule: "openconfig-if-ethernet"}, + 2: {Name: "SPEED_100MB", DefiningModule: "openconfig-if-ethernet"}, + 3: {Name: "SPEED_10GB", DefiningModule: "openconfig-if-ethernet"}, + 4: {Name: "SPEED_10MB", DefiningModule: "openconfig-if-ethernet"}, + 5: {Name: "SPEED_1GB", DefiningModule: "openconfig-if-ethernet"}, + 6: {Name: "SPEED_2500MB", DefiningModule: "openconfig-if-ethernet"}, + 7: {Name: "SPEED_25GB", DefiningModule: "openconfig-if-ethernet"}, + 8: {Name: "SPEED_40GB", DefiningModule: "openconfig-if-ethernet"}, + 9: {Name: "SPEED_50GB", DefiningModule: "openconfig-if-ethernet"}, + 10: {Name: "SPEED_5GB", DefiningModule: "openconfig-if-ethernet"}, + 11: {Name: "SPEED_UNKNOWN", DefiningModule: "openconfig-if-ethernet"}, + }, + "E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode": { + 1: {Name: "FULL"}, + 2: {Name: "HALF"}, + }, + "E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode": { + 1: {Name: "FULL"}, + 2: {Name: "HALF"}, + }, + "E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus": { + 1: {Name: "UP"}, + 2: {Name: "DOWN"}, + 3: {Name: "TESTING"}, + }, + "E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus": { + 2: {Name: "UP"}, + 3: {Name: "DOWN"}, + 4: {Name: "TESTING"}, + 5: {Name: "UNKNOWN"}, + 6: {Name: "DORMANT"}, + 7: {Name: "NOT_PRESENT"}, + 8: {Name: "LOWER_LAYER_DOWN"}, + }, + "E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY": { + 1: {Name: "C_VLAN", DefiningModule: "openconfig-lldp-types"}, + 2: {Name: "DOCSIS_CABLE_DEVICE", DefiningModule: "openconfig-lldp-types"}, + 3: {Name: "MAC_BRIDGE", DefiningModule: "openconfig-lldp-types"}, + 4: {Name: "OTHER", DefiningModule: "openconfig-lldp-types"}, + 5: {Name: "REPEATER", DefiningModule: "openconfig-lldp-types"}, + 6: {Name: "ROUTER", DefiningModule: "openconfig-lldp-types"}, + 7: {Name: "STATION_ONLY", DefiningModule: "openconfig-lldp-types"}, + 8: {Name: "S_VLAN", DefiningModule: "openconfig-lldp-types"}, + 9: {Name: "TELEPHONE", DefiningModule: "openconfig-lldp-types"}, + 10: {Name: "TWO_PORT_MAC_RELAY", DefiningModule: "openconfig-lldp-types"}, + 11: {Name: "WLAN_ACCESS_POINT", DefiningModule: "openconfig-lldp-types"}, + }, + "E_OpenconfigLldpTypes_LLDP_TLV": { + 1: {Name: "CHASSIS_ID", DefiningModule: "openconfig-lldp-types"}, + 2: {Name: "MANAGEMENT_ADDRESS", DefiningModule: "openconfig-lldp-types"}, + 3: {Name: "PORT_DESCRIPTION", DefiningModule: "openconfig-lldp-types"}, + 4: {Name: "PORT_ID", DefiningModule: "openconfig-lldp-types"}, + 5: {Name: "SYSTEM_CAPABILITIES", DefiningModule: "openconfig-lldp-types"}, + 6: {Name: "SYSTEM_DESCRIPTION", DefiningModule: "openconfig-lldp-types"}, + 7: {Name: "SYSTEM_NAME", DefiningModule: "openconfig-lldp-types"}, + }, + "E_OpenconfigLldp_ChassisIdType": { + 1: {Name: "CHASSIS_COMPONENT"}, + 2: {Name: "INTERFACE_ALIAS"}, + 3: {Name: "PORT_COMPONENT"}, + 4: {Name: "MAC_ADDRESS"}, + 5: {Name: "NETWORK_ADDRESS"}, + 6: {Name: "INTERFACE_NAME"}, + 7: {Name: "LOCAL"}, + }, + "E_OpenconfigLldp_PortIdType": { + 1: {Name: "INTERFACE_ALIAS"}, + 2: {Name: "PORT_COMPONENT"}, + 3: {Name: "MAC_ADDRESS"}, + 4: {Name: "NETWORK_ADDRESS"}, + 5: {Name: "INTERFACE_NAME"}, + 6: {Name: "AGENT_CIRCUIT_ID"}, + 7: {Name: "LOCAL"}, + }, + "E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS": { + 1: {Name: "ACTIVE", DefiningModule: "openconfig-platform-types"}, + 2: {Name: "DISABLED", DefiningModule: "openconfig-platform-types"}, + 3: {Name: "INACTIVE", DefiningModule: "openconfig-platform-types"}, + }, + "E_OpenconfigPlatformTypes_FEC_MODE_TYPE": { + 1: {Name: "FEC_AUTO", DefiningModule: "openconfig-platform-types"}, + 2: {Name: "FEC_DISABLED", DefiningModule: "openconfig-platform-types"}, + 3: {Name: "FEC_ENABLED", DefiningModule: "openconfig-platform-types"}, + }, + "E_OpenconfigPlatformTypes_FEC_STATUS_TYPE": { + 1: {Name: "FEC_STATUS_LOCKED", DefiningModule: "openconfig-platform-types"}, + 2: {Name: "FEC_STATUS_UNLOCKED", DefiningModule: "openconfig-platform-types"}, + }, + "E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT": { + 1: {Name: "BACKPLANE", DefiningModule: "openconfig-platform-types"}, + 2: {Name: "CHASSIS", DefiningModule: "openconfig-platform-types"}, + 3: {Name: "CONTROLLER_CARD", DefiningModule: "openconfig-platform-types"}, + 4: {Name: "CPU", DefiningModule: "openconfig-platform-types"}, + 5: {Name: "FABRIC", DefiningModule: "openconfig-platform-types"}, + 6: {Name: "FAN", DefiningModule: "openconfig-platform-types"}, + 7: {Name: "FRU", DefiningModule: "openconfig-platform-types"}, + 8: {Name: "INTEGRATED_CIRCUIT", DefiningModule: "openconfig-platform-types"}, + 9: {Name: "LINECARD", DefiningModule: "openconfig-platform-types"}, + 10: {Name: "OPTICAL_CHANNEL", DefiningModule: "openconfig-transport-types"}, + 11: {Name: "PORT", DefiningModule: "openconfig-platform-types"}, + 12: {Name: "POWER_SUPPLY", DefiningModule: "openconfig-platform-types"}, + 13: {Name: "SENSOR", DefiningModule: "openconfig-platform-types"}, + 14: {Name: "STORAGE", DefiningModule: "openconfig-platform-types"}, + 15: {Name: "TRANSCEIVER", DefiningModule: "openconfig-platform-types"}, + }, + "E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT": { + 1: {Name: "OPERATING_SYSTEM", DefiningModule: "openconfig-platform-types"}, + 2: {Name: "OPERATING_SYSTEM_UPDATE", DefiningModule: "openconfig-platform-types"}, + }, + "E_OpenconfigPlatform_Components_Component_Transceiver_State_Present": { + 1: {Name: "PRESENT"}, + 2: {Name: "NOT_PRESENT"}, + }, + "E_OpenconfigTerminalDevice_AdminStateType": { + 1: {Name: "ENABLED"}, + 2: {Name: "DISABLED"}, + 3: {Name: "MAINT"}, + }, + "E_OpenconfigTerminalDevice_LoopbackModeType": { + 1: {Name: "NONE"}, + 2: {Name: "FACILITY"}, + 3: {Name: "TERMINAL"}, + }, + "E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls": { + 1: {Name: "NONE"}, + 2: {Name: "LASER_SHUTDOWN"}, + 3: {Name: "ETHERNET"}, + }, + "E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType": { + 1: {Name: "LOGICAL_CHANNEL"}, + 2: {Name: "OPTICAL_CHANNEL"}, + }, + "E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState": { + 1: {Name: "UP"}, + 2: {Name: "DOWN"}, + 3: {Name: "TESTING"}, + }, + "E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE": { + 1: {Name: "ETH_100GBASE_CLR4", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "ETH_100GBASE_CR4", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "ETH_100GBASE_CWDM4", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "ETH_100GBASE_ER4", DefiningModule: "openconfig-transport-types"}, + 5: {Name: "ETH_100GBASE_LR4", DefiningModule: "openconfig-transport-types"}, + 6: {Name: "ETH_100GBASE_PSM4", DefiningModule: "openconfig-transport-types"}, + 7: {Name: "ETH_100GBASE_SR10", DefiningModule: "openconfig-transport-types"}, + 8: {Name: "ETH_100GBASE_SR4", DefiningModule: "openconfig-transport-types"}, + 9: {Name: "ETH_100G_ACC", DefiningModule: "openconfig-transport-types"}, + 10: {Name: "ETH_100G_AOC", DefiningModule: "openconfig-transport-types"}, + 11: {Name: "ETH_10GBASE_ER", DefiningModule: "openconfig-transport-types"}, + 12: {Name: "ETH_10GBASE_LR", DefiningModule: "openconfig-transport-types"}, + 13: {Name: "ETH_10GBASE_LRM", DefiningModule: "openconfig-transport-types"}, + 14: {Name: "ETH_10GBASE_SR", DefiningModule: "openconfig-transport-types"}, + 15: {Name: "ETH_10GBASE_ZR", DefiningModule: "openconfig-transport-types"}, + 16: {Name: "ETH_40GBASE_CR4", DefiningModule: "openconfig-transport-types"}, + 17: {Name: "ETH_40GBASE_ER4", DefiningModule: "openconfig-transport-types"}, + 18: {Name: "ETH_40GBASE_LR4", DefiningModule: "openconfig-transport-types"}, + 19: {Name: "ETH_40GBASE_PSM4", DefiningModule: "openconfig-transport-types"}, + 20: {Name: "ETH_40GBASE_SR4", DefiningModule: "openconfig-transport-types"}, + 21: {Name: "ETH_4X10GBASE_LR", DefiningModule: "openconfig-transport-types"}, + 22: {Name: "ETH_4X10GBASE_SR", DefiningModule: "openconfig-transport-types"}, + 23: {Name: "ETH_UNDEFINED", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE": { + 1: {Name: "LC_CONNECTOR", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "MPO_CONNECTOR", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "SC_CONNECTOR", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL": { + 1: {Name: "AMP", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "BMP", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "CBR", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "GFP_F", DefiningModule: "openconfig-transport-types"}, + 5: {Name: "GFP_T", DefiningModule: "openconfig-transport-types"}, + 6: {Name: "GMP", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE": { + 1: {Name: "PROT_ETHERNET", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "PROT_OTN", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_OTN_APPLICATION_CODE": { + 1: {Name: "OTN_UNDEFINED", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "P1L1_2D1", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "P1L1_2D2", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "P1S1_2D2", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_SONET_APPLICATION_CODE": { + 1: {Name: "SONET_UNDEFINED", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "VSR2000_3R2", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "VSR2000_3R3", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "VSR2000_3R5", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE": { + 1: {Name: "CFP", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "CFP2", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "CFP2_ACO", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "CFP4", DefiningModule: "openconfig-transport-types"}, + 5: {Name: "CPAK", DefiningModule: "openconfig-transport-types"}, + 6: {Name: "NON_PLUGGABLE", DefiningModule: "openconfig-transport-types"}, + 7: {Name: "OTHER", DefiningModule: "openconfig-transport-types"}, + 8: {Name: "QSFP", DefiningModule: "openconfig-transport-types"}, + 9: {Name: "QSFP28", DefiningModule: "openconfig-transport-types"}, + 10: {Name: "QSFP_PLUS", DefiningModule: "openconfig-transport-types"}, + 11: {Name: "SFP", DefiningModule: "openconfig-transport-types"}, + 12: {Name: "SFP_PLUS", DefiningModule: "openconfig-transport-types"}, + 13: {Name: "X2", DefiningModule: "openconfig-transport-types"}, + 14: {Name: "XFP", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE": { + 1: {Name: "PROT_100GE", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "PROT_100G_MLG", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "PROT_10GE_LAN", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "PROT_10GE_WAN", DefiningModule: "openconfig-transport-types"}, + 5: {Name: "PROT_1GE", DefiningModule: "openconfig-transport-types"}, + 6: {Name: "PROT_40GE", DefiningModule: "openconfig-transport-types"}, + 7: {Name: "PROT_OC192", DefiningModule: "openconfig-transport-types"}, + 8: {Name: "PROT_OC48", DefiningModule: "openconfig-transport-types"}, + 9: {Name: "PROT_OC768", DefiningModule: "openconfig-transport-types"}, + 10: {Name: "PROT_ODU2", DefiningModule: "openconfig-transport-types"}, + 11: {Name: "PROT_ODU2E", DefiningModule: "openconfig-transport-types"}, + 12: {Name: "PROT_ODU3", DefiningModule: "openconfig-transport-types"}, + 13: {Name: "PROT_ODU4", DefiningModule: "openconfig-transport-types"}, + 14: {Name: "PROT_ODUCN", DefiningModule: "openconfig-transport-types"}, + 15: {Name: "PROT_OTU1E", DefiningModule: "openconfig-transport-types"}, + 16: {Name: "PROT_OTU2", DefiningModule: "openconfig-transport-types"}, + 17: {Name: "PROT_OTU2E", DefiningModule: "openconfig-transport-types"}, + 18: {Name: "PROT_OTU3", DefiningModule: "openconfig-transport-types"}, + 19: {Name: "PROT_OTU4", DefiningModule: "openconfig-transport-types"}, + 20: {Name: "PROT_OTUCN", DefiningModule: "openconfig-transport-types"}, + 21: {Name: "PROT_STM16", DefiningModule: "openconfig-transport-types"}, + 22: {Name: "PROT_STM256", DefiningModule: "openconfig-transport-types"}, + 23: {Name: "PROT_STM64", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE": { + 1: {Name: "TRIB_RATE_1000G", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "TRIB_RATE_100G", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "TRIB_RATE_10G", DefiningModule: "openconfig-transport-types"}, + 4: {Name: "TRIB_RATE_1100G", DefiningModule: "openconfig-transport-types"}, + 5: {Name: "TRIB_RATE_150G", DefiningModule: "openconfig-transport-types"}, + 6: {Name: "TRIB_RATE_1G", DefiningModule: "openconfig-transport-types"}, + 7: {Name: "TRIB_RATE_2.5G", DefiningModule: "openconfig-transport-types"}, + 8: {Name: "TRIB_RATE_200G", DefiningModule: "openconfig-transport-types"}, + 9: {Name: "TRIB_RATE_250G", DefiningModule: "openconfig-transport-types"}, + 10: {Name: "TRIB_RATE_300G", DefiningModule: "openconfig-transport-types"}, + 11: {Name: "TRIB_RATE_400G", DefiningModule: "openconfig-transport-types"}, + 12: {Name: "TRIB_RATE_40G", DefiningModule: "openconfig-transport-types"}, + 13: {Name: "TRIB_RATE_500G", DefiningModule: "openconfig-transport-types"}, + 14: {Name: "TRIB_RATE_600G", DefiningModule: "openconfig-transport-types"}, + 15: {Name: "TRIB_RATE_700G", DefiningModule: "openconfig-transport-types"}, + 16: {Name: "TRIB_RATE_800G", DefiningModule: "openconfig-transport-types"}, + 17: {Name: "TRIB_RATE_900G", DefiningModule: "openconfig-transport-types"}, + }, + "E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY": { + 1: {Name: "TRIB_SLOT_1.25G", DefiningModule: "openconfig-transport-types"}, + 2: {Name: "TRIB_SLOT_2.5G", DefiningModule: "openconfig-transport-types"}, + 3: {Name: "TRIB_SLOT_5G", DefiningModule: "openconfig-transport-types"}, + }, +} + + +var ( + // ySchema is a byte slice contain a gzip compressed representation of the + // YANG schema from which the Go code was generated. When uncompressed the + // contents of the byte slice is a JSON document containing an object, keyed + // on the name of the generated struct, and containing the JSON marshalled + // contents of a goyang yang.Entry struct, which defines the schema for the + // fields within the struct. + ySchema = []byte{ + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x73, 0xdb, 0xb8, + 0x96, 0xf7, 0xfb, 0xde, 0x9f, 0x42, 0xa5, 0x9a, 0x17, 0xdd, 0x67, 0x87, 0xb1, 0x24, 0xcb, 0xb7, + 0x54, 0x9d, 0x9a, 0x92, 0x6d, 0x25, 0xf1, 0x69, 0x5f, 0xf4, 0x58, 0xca, 0xee, 0xe9, 0xdd, 0xf6, + 0xa8, 0x68, 0x12, 0xb2, 0xf9, 0x84, 0x22, 0x35, 0x24, 0xe4, 0x8e, 0x77, 0x4f, 0xbe, 0xfb, 0x29, + 0xdd, 0xa8, 0xbb, 0x44, 0x00, 0x0b, 0x14, 0x49, 0xfd, 0xbb, 0x76, 0xed, 0x38, 0x8e, 0x08, 0x91, + 0x00, 0xd6, 0x5a, 0xbf, 0xf5, 0x07, 0xb8, 0xf0, 0xf7, 0x41, 0xa1, 0x50, 0x28, 0x14, 0xef, 0xcc, + 0x2e, 0x2b, 0x7e, 0x2a, 0x14, 0x6d, 0xf6, 0xe6, 0x58, 0xac, 0xf8, 0x61, 0xf4, 0xdb, 0xdf, 0x1c, + 0xcf, 0x2e, 0x7e, 0x2a, 0x94, 0xc7, 0x7f, 0xbd, 0xf4, 0xbd, 0x8e, 0xf3, 0x52, 0xfc, 0x54, 0x28, + 0x8d, 0x7f, 0x71, 0xe5, 0x04, 0xc5, 0x4f, 0x85, 0x51, 0x13, 0xc3, 0x5f, 0x58, 0x7e, 0xb7, 0xe7, + 0x7b, 0xcc, 0xe3, 0xe1, 0xdc, 0xef, 0xe7, 0xbe, 0x62, 0xe6, 0x33, 0x1f, 0xe6, 0x3f, 0x31, 0xff, + 0x75, 0xd1, 0xaf, 0x17, 0xbf, 0x36, 0xfa, 0x87, 0x46, 0xc0, 0x3a, 0xce, 0x8f, 0xa5, 0x6f, 0x9a, + 0xfb, 0x36, 0xdf, 0x32, 0x7a, 0xae, 0xc9, 0x3b, 0x7e, 0xd0, 0x5d, 0xf8, 0xba, 0xe1, 0xc7, 0x9a, + 0x7e, 0x3f, 0xb0, 0xd8, 0xca, 0x26, 0x46, 0xb7, 0xc4, 0xde, 0xff, 0xf2, 0x83, 0xc1, 0x5d, 0x15, + 0x7b, 0xa3, 0x6f, 0xfb, 0xb0, 0xfa, 0x83, 0x5f, 0xcd, 0xb0, 0x16, 0xbc, 0xf4, 0xbb, 0xcc, 0xe3, + 0xc5, 0x4f, 0x05, 0x1e, 0xf4, 0xd9, 0x9a, 0x0f, 0xce, 0x7c, 0x6a, 0xee, 0xe6, 0x96, 0x3e, 0xfd, + 0x73, 0xee, 0x37, 0x3f, 0x17, 0x9e, 0x7d, 0xb1, 0xeb, 0x97, 0x87, 0x60, 0xfd, 0x43, 0x2d, 0x8d, + 0xc4, 0xba, 0x87, 0x5a, 0x3d, 0x20, 0x5b, 0x07, 0x26, 0xce, 0x00, 0x09, 0x0e, 0x54, 0xdc, 0x01, + 0x13, 0x1e, 0x38, 0xe1, 0x01, 0x14, 0x1f, 0xc8, 0xd5, 0x03, 0xba, 0x66, 0x60, 0xb7, 0x0e, 0x70, + 0xf4, 0x81, 0x67, 0xd3, 0xfa, 0xde, 0x73, 0x4d, 0x2f, 0x46, 0x67, 0x4c, 0xfa, 0x78, 0x7a, 0xc9, + 0x96, 0x67, 0xdb, 0x3c, 0xf0, 0xb1, 0x27, 0x80, 0xc8, 0x44, 0x90, 0x9c, 0x10, 0xa2, 0x13, 0x43, + 0x7a, 0x82, 0x48, 0x4f, 0x14, 0xf9, 0x09, 0xb3, 0x79, 0xe2, 0x6c, 0x99, 0x40, 0xb1, 0x27, 0xd2, + 0x8c, 0xe7, 0x18, 0x8f, 0x66, 0xcc, 0x1e, 0x9c, 0xba, 0x91, 0xe1, 0x75, 0x31, 0x7b, 0x21, 0xde, + 0xd4, 0x12, 0x9e, 0x62, 0x32, 0x53, 0x4d, 0x71, 0xca, 0xc9, 0x4e, 0x3d, 0xe5, 0x29, 0xa8, 0x3c, + 0x15, 0xd5, 0xa7, 0x64, 0xbc, 0xa9, 0x19, 0x73, 0x8a, 0x4e, 0x6f, 0xc7, 0xf3, 0x7c, 0x6e, 0x72, + 0xc7, 0xf7, 0xc4, 0xc6, 0x2f, 0xb4, 0x5e, 0x59, 0xd7, 0xec, 0x99, 0xfc, 0x75, 0xf0, 0x20, 0x87, + 0x7e, 0x8f, 0x79, 0xa3, 0x49, 0x19, 0x3d, 0xd1, 0xe1, 0x94, 0x3a, 0xa6, 0x3f, 0x1e, 0x46, 0xfe, + 0xf0, 0x50, 0x68, 0x0e, 0x8f, 0xbe, 0x93, 0x07, 0x7d, 0x8b, 0x7b, 0xe3, 0x99, 0x73, 0x1f, 0x7d, + 0x65, 0x63, 0xfc, 0x8d, 0xed, 0xcb, 0xe8, 0x1b, 0xa7, 0x3f, 0xb6, 0x2f, 0x26, 0xdf, 0xd8, 0x1e, + 0x4f, 0xec, 0x03, 0x9a, 0x5e, 0x8e, 0xd1, 0xc3, 0xc5, 0x90, 0x9b, 0x9c, 0x89, 0x9b, 0xf7, 0xe8, + 0x32, 0xcd, 0xd6, 0x5d, 0x81, 0x75, 0xc3, 0xba, 0xb5, 0x59, 0xb7, 0xc8, 0x14, 0x26, 0x31, 0xee, + 0xe6, 0xf0, 0x0b, 0xa9, 0x6c, 0x5b, 0x29, 0xfc, 0x0b, 0xf6, 0xba, 0x7a, 0x6f, 0x17, 0x63, 0xb9, + 0x22, 0xa5, 0xfe, 0xdd, 0xdc, 0xb3, 0xeb, 0xfb, 0x6b, 0x43, 0x5f, 0x15, 0xad, 0x57, 0x33, 0x0c, + 0x9d, 0x30, 0x3e, 0x4c, 0x4f, 0x2e, 0x00, 0x4a, 0x03, 0xa5, 0x81, 0xd2, 0x08, 0xb6, 0xfb, 0x1d, + 0x6c, 0xc7, 0xde, 0x30, 0x31, 0x90, 0xbe, 0x1c, 0x7d, 0x1f, 0x30, 0x1a, 0x18, 0x0d, 0xcb, 0x4e, + 0xc4, 0xb2, 0x13, 0x82, 0xe8, 0x89, 0x61, 0xef, 0x21, 0x42, 0xc7, 0x23, 0x4a, 0xf5, 0xbe, 0xd5, + 0x82, 0xcf, 0xf1, 0x88, 0x47, 0x8c, 0x74, 0x00, 0xcf, 0xfb, 0x08, 0xcf, 0xe3, 0x59, 0x2d, 0x18, + 0x5f, 0x87, 0x57, 0x89, 0x85, 0xd7, 0x12, 0xc0, 0x19, 0xe1, 0x75, 0xf1, 0x76, 0x5a, 0xef, 0x3d, + 0x26, 0x37, 0x72, 0x21, 0x0f, 0x1c, 0x4f, 0x08, 0x7d, 0x27, 0xee, 0xed, 0x6c, 0xbf, 0xc2, 0x5c, + 0xdc, 0x14, 0x41, 0x36, 0xca, 0xc5, 0x48, 0x09, 0x24, 0x83, 0x5c, 0xaf, 0x2f, 0x10, 0xe1, 0x7a, + 0x7d, 0x84, 0x37, 0x84, 0x37, 0x68, 0x43, 0x08, 0x71, 0xfb, 0x9e, 0x41, 0xf6, 0xfa, 0xc9, 0xe9, + 0x42, 0xbd, 0x3e, 0x34, 0x21, 0x68, 0x42, 0xb0, 0x68, 0xed, 0x16, 0x9d, 0x94, 0x1e, 0xd4, 0xeb, + 0xef, 0xa5, 0x16, 0xb4, 0x95, 0x1e, 0xd5, 0xfa, 0x54, 0x07, 0x1e, 0x77, 0xcc, 0xe7, 0xc0, 0xb1, + 0xe2, 0x13, 0xf2, 0xf8, 0xf3, 0x80, 0x64, 0x40, 0x32, 0x20, 0x19, 0x21, 0x75, 0xbf, 0x43, 0xea, + 0xc8, 0x19, 0x26, 0xc6, 0xc9, 0x9f, 0x87, 0x5f, 0x07, 0x54, 0x06, 0x2a, 0xc3, 0xae, 0x93, 0xb0, + 0xeb, 0x84, 0x68, 0x79, 0x6c, 0xd6, 0x7b, 0x08, 0xcc, 0xb1, 0x60, 0x52, 0xb9, 0x67, 0xf5, 0x60, + 0xb3, 0x27, 0xc2, 0xcc, 0x1e, 0x80, 0x19, 0xc0, 0x0c, 0x60, 0x46, 0x60, 0xdd, 0xfb, 0xc0, 0xea, + 0x25, 0x48, 0xcb, 0x1e, 0x50, 0x19, 0xa8, 0x0c, 0x8b, 0xd6, 0x6e, 0xd1, 0x89, 0x71, 0xb2, 0xb7, + 0x9f, 0x90, 0xec, 0xe9, 0x24, 0x64, 0x4f, 0x07, 0x1e, 0x3b, 0x1e, 0x67, 0x2f, 0x81, 0xc9, 0x99, + 0x6d, 0x58, 0x4e, 0x60, 0xf5, 0x1d, 0x1e, 0x9f, 0x96, 0x57, 0x5c, 0x0b, 0x78, 0x06, 0x3c, 0x03, + 0x9e, 0x11, 0x6a, 0xf7, 0x3b, 0xd4, 0x2e, 0x3b, 0xc6, 0xc4, 0x58, 0xfa, 0x3a, 0xfa, 0xea, 0xcb, + 0xd1, 0x37, 0x83, 0xac, 0x41, 0xd6, 0x30, 0xf7, 0xa4, 0xcd, 0x3d, 0x21, 0xd0, 0x5e, 0xb6, 0xf6, + 0x3d, 0xc4, 0x6e, 0x61, 0x0c, 0xa5, 0xec, 0x70, 0x1d, 0x4c, 0x1e, 0xeb, 0x15, 0x0d, 0x91, 0x57, + 0x33, 0x62, 0xbe, 0x92, 0x01, 0xee, 0xce, 0x02, 0x77, 0xc7, 0x7e, 0x85, 0x22, 0xea, 0x79, 0x97, + 0x99, 0x9d, 0x80, 0x75, 0xe2, 0xf4, 0xfa, 0x24, 0xac, 0x9e, 0xc6, 0xf8, 0x6c, 0x63, 0x6c, 0xa9, + 0x1f, 0x3f, 0x8e, 0xe9, 0xe6, 0x70, 0x38, 0x15, 0x35, 0x18, 0x84, 0xdf, 0xe3, 0x8e, 0x65, 0xba, + 0x86, 0xf5, 0x6a, 0x7a, 0x1e, 0x73, 0xe3, 0xdb, 0xc6, 0xe2, 0x85, 0xd9, 0x48, 0x4f, 0xfd, 0x1e, + 0x37, 0x38, 0xcb, 0xa9, 0x99, 0x44, 0x0f, 0x87, 0xf4, 0x34, 0x45, 0xe9, 0xa9, 0xc0, 0x94, 0xcb, + 0x1f, 0xaf, 0xc6, 0x9f, 0x92, 0x7a, 0x78, 0x35, 0xee, 0x54, 0x8d, 0x2e, 0xe8, 0x04, 0xec, 0x7f, + 0xfa, 0xcc, 0xb3, 0xde, 0xc5, 0x3b, 0x3f, 0x5a, 0xe9, 0x8e, 0x9a, 0x10, 0xec, 0x3b, 0xb1, 0xb7, + 0x3b, 0xa5, 0x27, 0xb4, 0xca, 0xc4, 0x26, 0x9a, 0xe0, 0xaa, 0x13, 0x9d, 0x6c, 0xc2, 0x93, 0x4d, + 0x7c, 0x3a, 0x03, 0x10, 0x33, 0x04, 0x41, 0x83, 0x10, 0x47, 0x9d, 0xed, 0xd3, 0xdc, 0xe0, 0x83, + 0xb6, 0x24, 0x06, 0x7f, 0x3c, 0xdf, 0xcf, 0x24, 0x2e, 0xfd, 0xe6, 0x39, 0xc3, 0x52, 0xcd, 0xc5, + 0xdb, 0xaf, 0xff, 0x96, 0xf9, 0xea, 0x07, 0xd3, 0x7b, 0x19, 0x3c, 0xc5, 0x9f, 0x52, 0x83, 0x2c, + 0x37, 0x59, 0x87, 0x5f, 0x7c, 0xeb, 0x78, 0xd2, 0xb3, 0x5d, 0xd1, 0x51, 0x2c, 0x35, 0xf3, 0x4f, + 0xd3, 0xed, 0x33, 0x82, 0x76, 0x3e, 0x07, 0xa6, 0x35, 0xc8, 0x45, 0xaf, 0x9c, 0x97, 0xd1, 0xa8, + 0x94, 0xa4, 0xdb, 0xfb, 0xf9, 0x41, 0xa1, 0x6b, 0xcd, 0x1f, 0xa9, 0xeb, 0xda, 0xf2, 0x59, 0xb5, + 0x7a, 0x72, 0x5a, 0xad, 0x96, 0x4e, 0x8f, 0x4e, 0x4b, 0xe7, 0xc7, 0xc7, 0xe5, 0x93, 0xf2, 0x71, + 0x8a, 0x7a, 0xfb, 0x20, 0x99, 0xab, 0x9e, 0x0e, 0xf4, 0xb4, 0x2f, 0x30, 0x5b, 0x8a, 0xae, 0xe3, + 0x31, 0xa3, 0xe7, 0x07, 0x5c, 0x3e, 0xb0, 0x4f, 0x9b, 0x40, 0x60, 0x47, 0x60, 0xcf, 0x6d, 0x60, + 0x8f, 0xaf, 0x69, 0xa8, 0x68, 0x1c, 0x6b, 0x35, 0x8f, 0xc3, 0x19, 0xc1, 0xe7, 0xd3, 0x8c, 0x2a, + 0xb9, 0xf2, 0xd7, 0x73, 0xbf, 0xdd, 0xae, 0x91, 0x24, 0xe3, 0x6a, 0xfc, 0x1e, 0x0b, 0x86, 0xe2, + 0xac, 0xe9, 0x1a, 0x5d, 0xdf, 0x66, 0xf2, 0x1e, 0x67, 0xa9, 0x25, 0x38, 0x1e, 0x38, 0x9e, 0xdc, + 0x3a, 0x9e, 0xbe, 0xe3, 0xf1, 0xf2, 0x89, 0x82, 0xdf, 0x39, 0x41, 0x26, 0x80, 0x4c, 0x20, 0xa5, + 0x99, 0xc0, 0xc9, 0xf1, 0xf1, 0x11, 0xd0, 0x7f, 0x27, 0xf1, 0x98, 0x9b, 0xc1, 0x0b, 0xe3, 0x86, + 0xdf, 0xe7, 0xbd, 0x3e, 0x37, 0x7a, 0xfe, 0x5f, 0x2c, 0x90, 0x0f, 0xc9, 0xab, 0x1a, 0x43, 0x54, + 0x46, 0x54, 0xce, 0x6d, 0x54, 0xb6, 0x99, 0xe5, 0x74, 0x4d, 0xf7, 0xa4, 0xaa, 0x92, 0x10, 0x54, + 0x24, 0xae, 0x5d, 0xf2, 0x76, 0x95, 0x7d, 0x0d, 0xef, 0x15, 0x84, 0x77, 0x5d, 0xe1, 0xfd, 0x28, + 0x87, 0x5d, 0x9b, 0xf5, 0xd0, 0x9e, 0xe9, 0x1d, 0x6b, 0x0b, 0xfb, 0x22, 0x12, 0xdb, 0x9d, 0x7a, + 0x3f, 0xfa, 0xde, 0xcb, 0xd1, 0xd7, 0x62, 0x6b, 0xea, 0x2e, 0xb6, 0xa6, 0x62, 0xa9, 0x3f, 0x4b, + 0x4b, 0xfd, 0xd6, 0x6b, 0xe0, 0x77, 0x4d, 0xee, 0x58, 0x86, 0xed, 0x84, 0x3d, 0x16, 0x84, 0xa2, + 0x3e, 0xa2, 0x30, 0x7f, 0xaa, 0xce, 0x8a, 0xd6, 0xe4, 0x12, 0x83, 0x32, 0x12, 0x03, 0x24, 0x06, + 0xba, 0x13, 0x03, 0x51, 0x73, 0x89, 0x2e, 0x34, 0xdf, 0x5e, 0xe4, 0x87, 0x6b, 0x32, 0x6b, 0x06, + 0x8d, 0x48, 0xf6, 0xaf, 0x9a, 0x2e, 0x23, 0x6d, 0x2c, 0x14, 0x46, 0xb3, 0xd6, 0x78, 0xde, 0x7b, + 0x2c, 0x2c, 0x2a, 0x10, 0xb1, 0xa2, 0x15, 0x91, 0x5b, 0x13, 0xb9, 0x55, 0x6d, 0xb4, 0xae, 0x61, + 0xef, 0x25, 0x8d, 0xcb, 0x92, 0xb3, 0x47, 0x3a, 0x1f, 0x27, 0xcd, 0xcb, 0x29, 0xf2, 0x73, 0xd2, + 0x3c, 0x9d, 0x28, 0x5f, 0x57, 0xcf, 0xdb, 0x49, 0xf3, 0x77, 0xe2, 0x3c, 0x9e, 0x3a, 0xe9, 0xd4, + 0x91, 0x7c, 0x12, 0xe4, 0xf7, 0xa4, 0x79, 0x3e, 0x71, 0xbe, 0x9f, 0xa9, 0x21, 0x38, 0xd8, 0xcd, + 0xd5, 0x4f, 0x09, 0xe9, 0x0f, 0x12, 0x53, 0xac, 0xe8, 0x78, 0x21, 0x37, 0x3d, 0xae, 0x0e, 0x30, + 0x93, 0x86, 0x00, 0x31, 0x80, 0x18, 0x40, 0x0c, 0x20, 0x06, 0x10, 0x03, 0x88, 0x01, 0xc4, 0x00, + 0x62, 0x92, 0x81, 0x18, 0xce, 0x82, 0x37, 0xd3, 0xa5, 0xa0, 0x98, 0x71, 0x4b, 0xc0, 0x98, 0x41, + 0x20, 0x06, 0xc2, 0xc8, 0x22, 0xcc, 0x9e, 0xe2, 0x4b, 0xc8, 0x4d, 0x6e, 0x28, 0x1a, 0x51, 0x41, + 0xed, 0x55, 0xa8, 0xa8, 0x89, 0xe8, 0x95, 0x28, 0xcf, 0xf4, 0xfc, 0x90, 0x59, 0xbe, 0x67, 0x2b, + 0xcd, 0xe5, 0x5c, 0x43, 0x4c, 0x09, 0x10, 0xb3, 0x6b, 0x88, 0xa1, 0x1e, 0x02, 0xfa, 0x57, 0xad, + 0xc0, 0x35, 0xc9, 0x72, 0x4d, 0x57, 0x61, 0x96, 0x45, 0x2e, 0x79, 0xd0, 0x08, 0x68, 0x06, 0xa2, + 0x0c, 0x44, 0x19, 0x88, 0x32, 0x10, 0x65, 0xc0, 0x33, 0x10, 0x65, 0x00, 0x2f, 0x09, 0xc1, 0x8b, + 0xc1, 0x9d, 0x2e, 0x23, 0x21, 0x98, 0x51, 0x4b, 0xc0, 0x18, 0x88, 0x32, 0x10, 0x65, 0x84, 0xe7, + 0xcc, 0xc0, 0x76, 0xb8, 0x63, 0x7d, 0x0f, 0x49, 0x00, 0x06, 0x92, 0x0c, 0x24, 0x19, 0x48, 0x32, + 0x90, 0x64, 0xf6, 0x94, 0x6a, 0x14, 0x0c, 0x7d, 0x0a, 0x34, 0x8e, 0x07, 0x96, 0x81, 0x24, 0x03, + 0x49, 0x06, 0x92, 0x0c, 0x24, 0x19, 0xf0, 0x0c, 0x24, 0x19, 0xc0, 0x4b, 0x52, 0xf0, 0x42, 0x25, + 0xc9, 0x4c, 0x5a, 0x02, 0xc6, 0x40, 0x92, 0x81, 0x24, 0x03, 0x49, 0x06, 0x92, 0x0c, 0x10, 0x06, + 0x92, 0x0c, 0xa8, 0x46, 0x95, 0x6a, 0xb4, 0xbe, 0xe2, 0x2d, 0x59, 0xfa, 0x24, 0xba, 0x9e, 0xaa, + 0x04, 0xca, 0xb0, 0xc4, 0xc7, 0x21, 0x41, 0x81, 0x84, 0x02, 0x59, 0x79, 0x94, 0xe1, 0x59, 0x5e, + 0xed, 0xcb, 0xc9, 0x2d, 0x5d, 0x4d, 0xef, 0x28, 0x05, 0xf5, 0xea, 0x70, 0x06, 0x85, 0x9c, 0xb0, + 0x86, 0x12, 0x14, 0x1b, 0x74, 0x33, 0x9c, 0x41, 0x41, 0x8c, 0x94, 0x38, 0x83, 0x02, 0x95, 0x67, + 0xb5, 0x20, 0x20, 0xce, 0xa0, 0xd0, 0x71, 0x55, 0x1a, 0x0a, 0xd1, 0xbe, 0x04, 0x7e, 0xbf, 0x67, + 0x38, 0xb6, 0x7c, 0x5c, 0x8f, 0x5a, 0x40, 0x58, 0x47, 0x58, 0xcf, 0x75, 0x21, 0xf8, 0xa3, 0x8a, + 0x42, 0x38, 0x3f, 0x45, 0x38, 0x46, 0x38, 0x4e, 0x69, 0x38, 0xae, 0x56, 0xce, 0xab, 0xe7, 0x27, + 0xa7, 0x95, 0x73, 0x04, 0xe1, 0x9d, 0x04, 0x61, 0xc7, 0x23, 0xa8, 0x02, 0x3f, 0xdb, 0xc8, 0x7e, + 0x14, 0x79, 0xe4, 0x81, 0xe9, 0x85, 0x16, 0x73, 0xde, 0x84, 0x9f, 0x78, 0x3f, 0xa2, 0xf1, 0x6c, + 0xff, 0xa0, 0xd4, 0x23, 0x4a, 0x3d, 0xae, 0x32, 0x21, 0x2c, 0x9b, 0xca, 0x1a, 0x17, 0x76, 0x7d, + 0xa9, 0xe2, 0x0b, 0x76, 0x7d, 0x69, 0x01, 0xef, 0xc5, 0x6e, 0xc6, 0xae, 0xaf, 0xc4, 0x01, 0x7d, + 0x71, 0x08, 0xb0, 0xeb, 0x4b, 0xfb, 0xd5, 0x28, 0xf1, 0x08, 0x78, 0x01, 0xbc, 0x00, 0x5e, 0x00, + 0x2f, 0x80, 0x17, 0xc0, 0x0b, 0xe0, 0x05, 0xf0, 0x42, 0x06, 0x2f, 0x28, 0xed, 0x08, 0x7c, 0x01, + 0xbe, 0xa0, 0xb4, 0xe3, 0x6c, 0x13, 0xd8, 0xb4, 0xae, 0xdf, 0x63, 0x01, 0x62, 0xd2, 0x3b, 0x04, + 0xd8, 0xb4, 0x9e, 0x75, 0xae, 0x41, 0x69, 0x47, 0xd0, 0x0c, 0x68, 0x06, 0x62, 0x0c, 0xc4, 0x18, + 0x88, 0x31, 0x10, 0x63, 0x00, 0x2d, 0x59, 0x81, 0x16, 0x94, 0x74, 0x04, 0xbe, 0x00, 0x5f, 0x50, + 0x3f, 0x00, 0x52, 0x0c, 0xa4, 0x18, 0x48, 0x31, 0x90, 0x62, 0xf2, 0x40, 0x35, 0x28, 0xe9, 0x08, + 0x96, 0x01, 0xcb, 0x40, 0x8a, 0x81, 0x14, 0x03, 0x29, 0x06, 0x52, 0x0c, 0xa0, 0x25, 0x23, 0xd0, + 0x82, 0x52, 0x8e, 0xc0, 0x17, 0xe0, 0x0b, 0xa4, 0x18, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, 0x40, + 0x8a, 0x49, 0x1b, 0xd5, 0xec, 0x51, 0x29, 0x47, 0xf9, 0xea, 0x07, 0x05, 0xe2, 0x0a, 0x8e, 0xd7, + 0x83, 0x3b, 0x69, 0x0c, 0x6f, 0x24, 0x05, 0xa5, 0x25, 0x5c, 0x33, 0x64, 0x81, 0xf1, 0xec, 0x98, + 0xa1, 0x61, 0xf5, 0x83, 0x80, 0x49, 0xbc, 0x85, 0x16, 0xc5, 0xd9, 0x15, 0x6d, 0xa1, 0xd0, 0x84, + 0x7e, 0x1e, 0x45, 0xa1, 0x09, 0x05, 0x2f, 0x85, 0x42, 0x13, 0x48, 0xea, 0x90, 0xd4, 0x65, 0x30, + 0xa9, 0x83, 0x26, 0x9d, 0xb9, 0x84, 0x0e, 0x9a, 0xf4, 0xce, 0x13, 0x3a, 0x68, 0xd2, 0xf9, 0xc9, + 0xde, 0x50, 0x68, 0x02, 0xf0, 0x02, 0x78, 0x01, 0xbc, 0x00, 0x5e, 0x00, 0x2f, 0x80, 0x17, 0xc0, + 0x4b, 0xfe, 0xe1, 0x05, 0x85, 0x26, 0x80, 0x2f, 0xc0, 0x17, 0x14, 0x9a, 0x98, 0x6d, 0x02, 0x4b, + 0xea, 0xfa, 0x3d, 0x16, 0x20, 0x26, 0xbd, 0x43, 0x80, 0x25, 0xf5, 0xac, 0x73, 0x0d, 0x0a, 0x4d, + 0x80, 0x66, 0x40, 0x33, 0x10, 0x63, 0x20, 0xc6, 0x40, 0x8c, 0x81, 0x18, 0x03, 0x68, 0xc9, 0x0a, + 0xb4, 0xa0, 0xd0, 0x04, 0xf0, 0x05, 0xf8, 0x82, 0xb7, 0x1b, 0x20, 0xc5, 0x40, 0x8a, 0x81, 0x14, + 0x03, 0x29, 0x26, 0x0f, 0x54, 0x83, 0x42, 0x13, 0x60, 0x19, 0xb0, 0x0c, 0xa4, 0x18, 0x48, 0x31, + 0x90, 0x62, 0x20, 0xc5, 0x00, 0x5a, 0x32, 0x02, 0x2d, 0x28, 0x34, 0x01, 0x7c, 0x01, 0xbe, 0x40, + 0x8a, 0x81, 0x14, 0x03, 0x29, 0x06, 0x52, 0x0c, 0xa4, 0x98, 0xb4, 0x51, 0xcd, 0x1e, 0x15, 0x9a, + 0x50, 0x2e, 0x82, 0x50, 0x20, 0xae, 0x37, 0x71, 0x33, 0xb8, 0xa1, 0x0b, 0xc7, 0x0c, 0x2f, 0xc7, + 0xb7, 0x93, 0x86, 0xaa, 0x13, 0x8e, 0xc7, 0x8c, 0x9e, 0x1f, 0xa8, 0x14, 0x9b, 0x88, 0x9a, 0x90, + 0xab, 0x31, 0x51, 0xca, 0x58, 0x8d, 0x09, 0xbf, 0xc7, 0x0d, 0xce, 0x82, 0x2e, 0x0a, 0x4c, 0xac, + 0xe0, 0xcd, 0xa8, 0x73, 0x52, 0xe6, 0x9a, 0xa4, 0xd1, 0x72, 0x3a, 0xcd, 0x99, 0xd9, 0x09, 0x58, + 0x47, 0x66, 0xd4, 0x27, 0x3a, 0xd8, 0xa9, 0xc4, 0xb5, 0x8d, 0xc8, 0x1b, 0x5a, 0x91, 0x17, 0xfc, + 0x34, 0xe3, 0x05, 0x57, 0xfe, 0x7a, 0xee, 0xb7, 0x43, 0xdf, 0x95, 0x02, 0x57, 0xe3, 0xf7, 0x58, + 0x30, 0x0c, 0x0e, 0xa6, 0x6b, 0x74, 0x7d, 0x9b, 0xc9, 0x7b, 0x9c, 0xa5, 0x96, 0xe0, 0x78, 0xe0, + 0x78, 0x72, 0xeb, 0x78, 0xfa, 0x8e, 0xc7, 0xcb, 0x27, 0x0a, 0x7e, 0xe7, 0x44, 0xe2, 0x52, 0xb5, + 0x34, 0x53, 0x21, 0x83, 0xa7, 0x48, 0x2b, 0x89, 0x72, 0x19, 0xaa, 0x34, 0x92, 0x32, 0x51, 0x51, + 0x48, 0x1b, 0x49, 0xd2, 0x45, 0xea, 0xae, 0x3d, 0x39, 0x3e, 0x3e, 0x3a, 0x4e, 0x51, 0xf7, 0x26, + 0x94, 0x87, 0x3d, 0xa5, 0x21, 0x1e, 0xf7, 0xf9, 0xb4, 0x12, 0x9f, 0x7c, 0x2c, 0x9e, 0x6d, 0x05, + 0x45, 0xe6, 0x10, 0x8a, 0x51, 0x64, 0x6e, 0xed, 0xdc, 0x41, 0x91, 0x39, 0x2c, 0xe8, 0x28, 0x1b, + 0x17, 0xf6, 0xa3, 0xa8, 0xb2, 0x0b, 0xf6, 0xa3, 0x68, 0xa1, 0xee, 0xc5, 0x6e, 0xc6, 0x7e, 0x94, + 0xc4, 0xe9, 0x7c, 0x71, 0x08, 0xb0, 0x1f, 0x45, 0xfb, 0xd5, 0x28, 0x32, 0x07, 0x78, 0x01, 0xbc, + 0x00, 0x5e, 0x00, 0x2f, 0x80, 0x17, 0xc0, 0x0b, 0xe0, 0x05, 0xf0, 0x42, 0x06, 0x2f, 0x28, 0x32, + 0x07, 0x7c, 0x01, 0xbe, 0xa0, 0xc8, 0xdc, 0x6c, 0x13, 0xd8, 0x4e, 0xab, 0xdf, 0x63, 0x01, 0x62, + 0xd2, 0x3b, 0x04, 0xd8, 0x4e, 0x9b, 0x75, 0xae, 0x41, 0x91, 0x39, 0xd0, 0x0c, 0x68, 0x06, 0x62, + 0x0c, 0xc4, 0x18, 0x88, 0x31, 0x10, 0x63, 0x00, 0x2d, 0x59, 0x81, 0x16, 0x14, 0x99, 0x03, 0xbe, + 0x00, 0x5f, 0xf0, 0x66, 0x33, 0xa4, 0x18, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, 0xe4, 0x81, 0x6a, + 0x50, 0x64, 0x0e, 0x2c, 0x03, 0x96, 0x81, 0x14, 0x03, 0x29, 0x06, 0x52, 0x0c, 0xa4, 0x18, 0x40, + 0x4b, 0x46, 0xa0, 0x05, 0x45, 0xe6, 0x80, 0x2f, 0xc0, 0x17, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, + 0x40, 0x8a, 0x81, 0x14, 0x93, 0x36, 0xaa, 0xd9, 0xa3, 0x22, 0x73, 0x0a, 0xe5, 0x0f, 0x0a, 0xc4, + 0xe5, 0xe5, 0xee, 0x87, 0xb7, 0xd2, 0x18, 0xde, 0x49, 0x0a, 0xca, 0x4b, 0xf4, 0x7c, 0xd7, 0x0c, + 0x9c, 0x7f, 0x0f, 0x47, 0xca, 0xb0, 0x59, 0x8f, 0x79, 0x36, 0xf3, 0xb8, 0xe1, 0xfa, 0x61, 0x28, + 0x5f, 0x6d, 0x62, 0x53, 0xa3, 0xfb, 0x51, 0x7c, 0x02, 0x45, 0xa0, 0x36, 0x80, 0x68, 0x5a, 0x8b, + 0x40, 0xa1, 0xec, 0x04, 0x52, 0x3c, 0xa4, 0x78, 0x19, 0x4c, 0xf1, 0xa0, 0x50, 0x67, 0x2e, 0xbd, + 0x83, 0x42, 0xbd, 0xf3, 0xf4, 0x0e, 0x0a, 0x75, 0x7e, 0x72, 0x39, 0x94, 0x9d, 0x00, 0xbc, 0x00, + 0x5e, 0x00, 0x2f, 0x80, 0x17, 0xc0, 0x0b, 0xe0, 0x05, 0xf0, 0x92, 0x7f, 0x78, 0x41, 0xd9, 0x09, + 0xe0, 0x0b, 0xf0, 0x05, 0x65, 0x27, 0x66, 0x9b, 0xc0, 0x02, 0xbb, 0x7e, 0x8f, 0x05, 0x88, 0x49, + 0xef, 0x10, 0x60, 0x81, 0x3d, 0xeb, 0x5c, 0x83, 0xb2, 0x13, 0xa0, 0x19, 0xd0, 0x0c, 0xc4, 0x18, + 0x88, 0x31, 0x10, 0x63, 0x20, 0xc6, 0x00, 0x5a, 0xb2, 0x02, 0x2d, 0x28, 0x3b, 0x01, 0x7c, 0x01, + 0xbe, 0xe0, 0x5d, 0x07, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, 0x40, 0x8a, 0xc9, 0x03, 0xd5, 0xa0, + 0xec, 0x04, 0x58, 0x06, 0x2c, 0x03, 0x29, 0x06, 0x52, 0x0c, 0xa4, 0x18, 0x48, 0x31, 0x80, 0x96, + 0x8c, 0x40, 0x0b, 0xca, 0x4e, 0x00, 0x5f, 0x80, 0x2f, 0x90, 0x62, 0x20, 0xc5, 0x40, 0x8a, 0x81, + 0x14, 0x03, 0x29, 0x26, 0x6d, 0x54, 0xb3, 0x47, 0x65, 0x27, 0xe8, 0xea, 0x20, 0x14, 0x88, 0xab, + 0x50, 0x34, 0x66, 0xee, 0xec, 0x6a, 0x72, 0x63, 0x37, 0x83, 0xfb, 0x4a, 0x5b, 0x4d, 0x8a, 0xae, + 0x6f, 0x33, 0xc3, 0x76, 0xc2, 0x1e, 0x0b, 0x42, 0x99, 0x61, 0x5d, 0x5d, 0x94, 0x62, 0xb1, 0x55, + 0x54, 0xa5, 0xd0, 0xcc, 0xaf, 0xa8, 0x4a, 0x21, 0xeb, 0xd2, 0x50, 0x95, 0x22, 0x1d, 0x19, 0xe0, + 0x70, 0x7e, 0x20, 0x0b, 0x54, 0xb1, 0x2e, 0x08, 0xd9, 0xaa, 0x6c, 0x0c, 0x21, 0x3b, 0x91, 0x2c, + 0x10, 0x42, 0xf6, 0xce, 0xb3, 0x40, 0x08, 0xd9, 0xf9, 0x49, 0xf9, 0x50, 0x9d, 0x02, 0x10, 0x03, + 0x88, 0x01, 0xc4, 0x00, 0x62, 0x00, 0x31, 0x80, 0x18, 0x40, 0xcc, 0xfe, 0x40, 0x0c, 0xaa, 0x54, + 0x68, 0xc1, 0x18, 0x20, 0x8c, 0x2c, 0xc2, 0xa0, 0x4a, 0x05, 0xaa, 0x54, 0x64, 0x09, 0x62, 0xb0, + 0x1e, 0xbf, 0x73, 0x88, 0xc1, 0x7a, 0x3c, 0xb8, 0x66, 0xbe, 0x9b, 0x51, 0xa5, 0x02, 0xa2, 0x0c, + 0x44, 0x19, 0x88, 0x32, 0x10, 0x65, 0x20, 0xca, 0x40, 0x94, 0x81, 0x28, 0x93, 0x35, 0x78, 0x41, + 0xb5, 0x0a, 0x88, 0x32, 0x10, 0x65, 0xf0, 0x8a, 0x04, 0x24, 0x19, 0x48, 0x32, 0x90, 0x64, 0x20, + 0xc9, 0xe4, 0x81, 0x6a, 0x50, 0xad, 0x02, 0x92, 0x0c, 0x24, 0x19, 0x48, 0x32, 0x90, 0x64, 0x20, + 0xc9, 0x40, 0x92, 0x01, 0xbc, 0x64, 0x0c, 0x5e, 0x50, 0xb5, 0x02, 0x92, 0x0c, 0x24, 0x19, 0x48, + 0x32, 0x90, 0x64, 0x20, 0xc9, 0x40, 0x92, 0x81, 0x24, 0x93, 0x36, 0xaa, 0xd9, 0xd7, 0xaa, 0x15, + 0x6a, 0x85, 0x12, 0x0a, 0x1a, 0xcb, 0x56, 0xdc, 0xfa, 0x36, 0xbb, 0x9a, 0xde, 0x58, 0x0a, 0xea, + 0x56, 0x8c, 0xa2, 0x94, 0xe1, 0x07, 0x36, 0x0b, 0x0c, 0x3d, 0x45, 0x2c, 0xe2, 0x7f, 0x05, 0x2a, + 0x5a, 0x68, 0x66, 0x5b, 0x54, 0xb4, 0x90, 0x75, 0x77, 0xa8, 0x68, 0x01, 0x91, 0x3b, 0xfb, 0x19, + 0x22, 0x44, 0x6e, 0x88, 0xdc, 0xd9, 0xc9, 0x10, 0x21, 0x72, 0xef, 0x3c, 0x43, 0x84, 0xc8, 0x9d, + 0x9f, 0x74, 0x10, 0x15, 0x2d, 0x00, 0x31, 0x80, 0x18, 0x40, 0x0c, 0x20, 0x06, 0x10, 0x03, 0x88, + 0x01, 0xc4, 0xec, 0x0f, 0xc4, 0xa0, 0xa2, 0x85, 0x16, 0x8c, 0x01, 0xc2, 0xc8, 0x22, 0x0c, 0x2a, + 0x5a, 0xa0, 0xa2, 0x45, 0x96, 0x20, 0x06, 0x6b, 0xf5, 0x3b, 0x87, 0x18, 0xac, 0xd5, 0x83, 0x6b, + 0xe6, 0xbb, 0x19, 0x15, 0x2d, 0x20, 0xca, 0x40, 0x94, 0x81, 0x28, 0x03, 0x51, 0x06, 0xa2, 0x0c, + 0x44, 0x19, 0x88, 0x32, 0x59, 0x83, 0x17, 0x54, 0xb4, 0x80, 0x28, 0x03, 0x51, 0x06, 0xaf, 0x4f, + 0x40, 0x92, 0x81, 0x24, 0x03, 0x49, 0x06, 0x92, 0x4c, 0x1e, 0xa8, 0x06, 0x15, 0x2d, 0x20, 0xc9, + 0x40, 0x92, 0x81, 0x24, 0x03, 0x49, 0x06, 0x92, 0x0c, 0x24, 0x19, 0xc0, 0x4b, 0xc6, 0xe0, 0x05, + 0x15, 0x2d, 0x20, 0xc9, 0x40, 0x92, 0x81, 0x24, 0x03, 0x49, 0x06, 0x92, 0x0c, 0x24, 0x19, 0x48, + 0x32, 0x69, 0xa3, 0x9a, 0x3d, 0xaa, 0x68, 0xa1, 0xab, 0x6a, 0x42, 0x81, 0xb8, 0xbc, 0x45, 0x73, + 0x78, 0x9f, 0xf7, 0x83, 0xdb, 0x4c, 0x77, 0xa5, 0x0b, 0x6e, 0x06, 0x2f, 0x8c, 0x1b, 0x7e, 0x9f, + 0xf7, 0xfa, 0xdc, 0xe8, 0xf9, 0x7f, 0xb1, 0x40, 0xbe, 0xa6, 0xc5, 0xaa, 0xc6, 0xe4, 0xaa, 0x57, + 0x94, 0x50, 0xbd, 0x22, 0x71, 0x7e, 0xdd, 0xbb, 0xea, 0x15, 0xd2, 0x68, 0x4a, 0xa2, 0xa8, 0xa9, + 0x28, 0x69, 0x24, 0x0a, 0x9a, 0x22, 0x76, 0x2a, 0x10, 0x3d, 0x05, 0x66, 0x12, 0x29, 0x64, 0x54, + 0x58, 0x49, 0x09, 0x2e, 0x0a, 0x18, 0x49, 0x82, 0x8f, 0x44, 0xca, 0x57, 0x2a, 0xbb, 0x36, 0x21, + 0x26, 0x7b, 0xd2, 0x15, 0xda, 0x0f, 0x08, 0x27, 0x90, 0x2c, 0xdb, 0xd1, 0x32, 0x5d, 0x51, 0xa4, + 0x2e, 0x17, 0x19, 0xa1, 0xc5, 0x8b, 0x45, 0xdb, 0xbb, 0x7b, 0xf3, 0x27, 0xb6, 0x0c, 0x84, 0xe8, + 0x00, 0x50, 0x75, 0x7c, 0x8c, 0x2e, 0x27, 0xe9, 0xea, 0xcd, 0x9d, 0xbc, 0xbe, 0xeb, 0x36, 0x74, + 0x5b, 0xb1, 0xe7, 0x07, 0xdb, 0x2b, 0x2f, 0x44, 0x01, 0x7a, 0xf8, 0xe9, 0x2d, 0x83, 0x10, 0xaf, + 0x60, 0x5a, 0x6c, 0xc4, 0x14, 0x41, 0xca, 0x59, 0x84, 0x9c, 0x8c, 0x60, 0x9c, 0xc1, 0x11, 0x44, + 0x46, 0x69, 0x44, 0x94, 0x46, 0xc2, 0x45, 0x04, 0x8c, 0x1e, 0x4e, 0xb3, 0x41, 0xc5, 0x2d, 0x48, + 0x56, 0x7c, 0x0e, 0x98, 0xf9, 0xdd, 0xef, 0xf3, 0x61, 0xde, 0x18, 0xbf, 0x23, 0x27, 0xe3, 0x35, + 0x7f, 0x79, 0xcc, 0x3e, 0x11, 0xab, 0xcc, 0x27, 0x9c, 0xd3, 0xc8, 0xe4, 0x32, 0x73, 0x13, 0x70, + 0xbb, 0xad, 0x50, 0xe4, 0x2d, 0xca, 0xf9, 0x8a, 0x72, 0x9e, 0xb2, 0x34, 0x39, 0x07, 0x0f, 0xbe, + 0xa3, 0x10, 0x2c, 0x5a, 0x41, 0xaf, 0x68, 0x4d, 0x66, 0x85, 0x64, 0x8e, 0x3e, 0xbe, 0x7e, 0x3f, + 0x8a, 0x4a, 0x0a, 0x4e, 0xe9, 0xfd, 0x49, 0xc9, 0xc5, 0xa6, 0x7c, 0x32, 0xe9, 0xb8, 0x74, 0x31, + 0xc9, 0x31, 0xd5, 0x18, 0x61, 0x8f, 0x31, 0x5b, 0x7d, 0x9d, 0x76, 0xbe, 0x39, 0x2c, 0xd6, 0x2a, + 0x18, 0x12, 0x95, 0x41, 0x91, 0x1b, 0x16, 0xb9, 0x81, 0xd1, 0x1a, 0x9a, 0x62, 0xba, 0xba, 0xf3, + 0xa5, 0x5a, 0xc7, 0x66, 0x1e, 0x77, 0xf8, 0x7b, 0xc0, 0x3a, 0x14, 0x7b, 0xcd, 0x14, 0x16, 0x97, + 0x8a, 0xd7, 0xe3, 0x5b, 0xb9, 0x30, 0x43, 0x82, 0xf9, 0x37, 0x79, 0xc0, 0x7a, 0xeb, 0x6b, 0xfd, + 0xe1, 0xae, 0xde, 0x6a, 0x37, 0x1b, 0xf5, 0xfa, 0x55, 0x91, 0x42, 0x28, 0x09, 0x95, 0x17, 0x80, + 0x0b, 0x24, 0x8b, 0xc0, 0x73, 0xcf, 0x39, 0x7c, 0xbc, 0x76, 0xb9, 0x54, 0xfa, 0x72, 0x51, 0x4c, + 0xc3, 0xf2, 0xa8, 0x96, 0xc7, 0x3b, 0xce, 0xf5, 0xd3, 0x95, 0x4b, 0xa5, 0xdb, 0x3c, 0x3f, 0x5e, + 0x9e, 0xc7, 0xae, 0x72, 0x9c, 0xef, 0x99, 0x99, 0xeb, 0x89, 0x99, 0x6b, 0xaf, 0xf2, 0xed, 0xee, + 0xb7, 0xbb, 0xfb, 0xdf, 0xef, 0x72, 0x1c, 0x14, 0xf2, 0xed, 0x57, 0xf2, 0x1d, 0x14, 0xaa, 0x34, + 0xb6, 0xa7, 0xd4, 0xc2, 0x53, 0xea, 0x17, 0xa9, 0x64, 0xb6, 0x43, 0x7b, 0xfd, 0xee, 0x64, 0x15, + 0x21, 0x54, 0x4f, 0xb5, 0xe7, 0x5a, 0x43, 0xa6, 0x8d, 0x4c, 0x1b, 0x99, 0xb6, 0xe0, 0x8c, 0xe9, + 0x3b, 0x1e, 0x3f, 0x23, 0xc8, 0xb1, 0x8f, 0xb1, 0x7d, 0x99, 0xd4, 0xaf, 0xac, 0xce, 0xf1, 0xb1, + 0x7d, 0x39, 0x0d, 0x43, 0x50, 0x39, 0xc6, 0x6e, 0x65, 0x22, 0x5c, 0xc1, 0x6e, 0xe5, 0xd1, 0x06, + 0x8b, 0x41, 0xf0, 0x39, 0x9c, 0x5b, 0x14, 0x3e, 0x94, 0x5a, 0x68, 0x2b, 0xc8, 0x6f, 0xbd, 0x68, + 0xf8, 0x01, 0x6f, 0x5f, 0x8c, 0x6f, 0xe1, 0xd6, 0xb7, 0x59, 0x7b, 0x8c, 0x36, 0x69, 0x38, 0x4f, + 0x6f, 0xb8, 0xe5, 0x46, 0xfe, 0xac, 0x3c, 0xc1, 0x7d, 0x42, 0x05, 0x8a, 0x25, 0xcb, 0x0a, 0x96, + 0x2c, 0x77, 0xca, 0x79, 0x58, 0xb2, 0x8c, 0x3f, 0x6f, 0xb0, 0x64, 0x89, 0x44, 0x0a, 0x89, 0x94, + 0xd2, 0x8c, 0xc1, 0x92, 0xa5, 0x38, 0x4b, 0x63, 0xc9, 0x72, 0x57, 0x8f, 0x87, 0x25, 0xcb, 0x2c, + 0x3f, 0x1e, 0x96, 0x2c, 0xb3, 0x3b, 0x33, 0xb1, 0x64, 0x99, 0xd5, 0xa7, 0xc3, 0x92, 0x65, 0xb6, + 0xfd, 0x0a, 0x96, 0x2c, 0x75, 0xab, 0x87, 0x58, 0xb2, 0xdc, 0x3e, 0x5a, 0x58, 0xb2, 0x44, 0xa6, + 0x8d, 0x4c, 0x5b, 0x65, 0xc6, 0x60, 0xc9, 0x72, 0xe6, 0x46, 0xb0, 0x64, 0xb9, 0xeb, 0x68, 0x8e, + 0x25, 0xcb, 0xdd, 0x42, 0x07, 0x96, 0x2c, 0x53, 0xb3, 0x64, 0x29, 0xb3, 0xce, 0x56, 0xa0, 0x5c, + 0xb1, 0x14, 0x78, 0x35, 0x5f, 0x7c, 0x70, 0xb2, 0x5d, 0x3b, 0x61, 0x79, 0xb8, 0xf4, 0x17, 0x4e, + 0x58, 0x1a, 0x20, 0xb2, 0xaa, 0x09, 0x31, 0xde, 0x71, 0x17, 0x7c, 0xd1, 0x55, 0xee, 0x05, 0xd7, + 0xd4, 0xbf, 0x93, 0x1d, 0xbf, 0x28, 0x80, 0x2a, 0x4e, 0xa7, 0xf0, 0xbd, 0xec, 0xd8, 0x45, 0x03, + 0x72, 0x64, 0xe2, 0xc2, 0xdb, 0x46, 0x54, 0x6c, 0x5b, 0x64, 0x87, 0x08, 0x8d, 0x55, 0x8b, 0xed, + 0x04, 0x91, 0xda, 0x01, 0x22, 0x6d, 0xd3, 0x15, 0xd8, 0x34, 0x6c, 0x5a, 0x87, 0x4d, 0x27, 0x54, + 0xe7, 0x68, 0x68, 0xd2, 0x69, 0xaa, 0x6e, 0xd4, 0x7f, 0x19, 0x8c, 0xfc, 0x70, 0x83, 0xcb, 0xf6, + 0x44, 0x5b, 0xd0, 0x23, 0x1c, 0xce, 0x4c, 0xa6, 0x4f, 0x33, 0x5d, 0xbf, 0xf2, 0xd7, 0x73, 0xbf, + 0x15, 0x90, 0xab, 0x8a, 0x57, 0x2c, 0xb4, 0x02, 0xa7, 0x37, 0x9e, 0x2f, 0xc5, 0x9a, 0x6d, 0x3b, + 0xde, 0x4b, 0x61, 0xd0, 0x42, 0x61, 0xc2, 0x62, 0x05, 0xdb, 0xe4, 0x66, 0x81, 0xfb, 0x85, 0xde, + 0xeb, 0x7b, 0xe8, 0x58, 0xa6, 0x5b, 0x98, 0x7c, 0xd3, 0xf0, 0x5f, 0x50, 0x1c, 0x26, 0xe3, 0x0e, + 0x2b, 0x4b, 0xc5, 0x61, 0xe4, 0xaa, 0x1a, 0x2d, 0x8d, 0xb7, 0x6c, 0x9a, 0xb1, 0xca, 0x64, 0x5a, + 0x7e, 0xcf, 0x70, 0xd9, 0x1b, 0x73, 0x0b, 0x96, 0xef, 0x71, 0xd3, 0xf1, 0x58, 0x50, 0xe8, 0xf8, + 0xc1, 0x0a, 0x1b, 0x42, 0x4d, 0x1a, 0x9d, 0x2a, 0x39, 0x36, 0x78, 0x6a, 0x51, 0x0b, 0x14, 0x43, + 0xe8, 0x53, 0x4a, 0x0a, 0x04, 0xc6, 0x9c, 0x94, 0x0a, 0x60, 0xa2, 0xa7, 0x16, 0xe0, 0x5f, 0x2c, + 0x30, 0xc2, 0x7e, 0xaf, 0xe7, 0xbe, 0x8b, 0xd4, 0x04, 0x9c, 0xb9, 0x0a, 0xb5, 0x01, 0x51, 0x1b, + 0x10, 0xca, 0x13, 0xb2, 0xd4, 0x7d, 0xcf, 0x52, 0xa7, 0x2e, 0x31, 0x41, 0x05, 0xea, 0x2f, 0x16, + 0x34, 0x87, 0xdf, 0x09, 0x21, 0x0a, 0x42, 0x14, 0x4c, 0x3c, 0x39, 0x13, 0x4f, 0x4c, 0x90, 0x9a, + 0x5a, 0xf8, 0x1e, 0x56, 0xdd, 0x16, 0x00, 0x4d, 0x9a, 0x4e, 0xd6, 0xc2, 0xd8, 0x81, 0xdf, 0x63, + 0x01, 0x77, 0x58, 0x28, 0x40, 0xd8, 0xd3, 0x6b, 0xc0, 0xd7, 0xe0, 0xeb, 0x35, 0x53, 0xea, 0x5d, + 0x3c, 0xfa, 0x46, 0x57, 0x82, 0xb1, 0x11, 0x80, 0x93, 0x16, 0x57, 0x51, 0x79, 0x5b, 0xef, 0xd4, + 0xde, 0x23, 0xa5, 0x53, 0x78, 0xea, 0x4b, 0xaa, 0x9d, 0x49, 0xbd, 0xce, 0x3e, 0x66, 0x16, 0xd5, + 0xad, 0xf5, 0x26, 0x0e, 0x47, 0x56, 0x37, 0x1f, 0x2a, 0x33, 0x22, 0x37, 0x27, 0x72, 0xb3, 0xa2, + 0x37, 0x2f, 0x39, 0x33, 0x93, 0x34, 0xb7, 0xe8, 0xf6, 0xe9, 0xb6, 0xd6, 0x87, 0x3c, 0x70, 0xbc, + 0x17, 0x8a, 0xf7, 0xd7, 0xcf, 0x52, 0xfc, 0x42, 0xcf, 0xdb, 0x78, 0x53, 0xb4, 0xa2, 0xbb, 0x19, + 0x35, 0x03, 0x7f, 0x03, 0x7f, 0x03, 0x7f, 0x23, 0x39, 0x73, 0xfa, 0x9e, 0xdc, 0x51, 0xbb, 0x4b, + 0xee, 0xe6, 0x5c, 0xa1, 0x8d, 0xf1, 0xe3, 0xec, 0xfc, 0x55, 0x1e, 0x32, 0x27, 0x4c, 0xe4, 0x8c, + 0x15, 0xa7, 0x89, 0x86, 0x9e, 0x79, 0xf6, 0x7d, 0x97, 0x99, 0x1e, 0x65, 0xd7, 0x94, 0x73, 0xd2, + 0x35, 0x8e, 0xc7, 0xa5, 0x4e, 0x91, 0x5d, 0xd7, 0x31, 0x55, 0x82, 0xa6, 0x68, 0x5e, 0x92, 0xa3, + 0xeb, 0xac, 0xe8, 0xc6, 0x28, 0x5f, 0x9a, 0x53, 0x4c, 0xb4, 0xb7, 0x36, 0x3b, 0x79, 0x83, 0xeb, + 0xbc, 0x52, 0x39, 0x3a, 0x3a, 0xad, 0x94, 0x8e, 0x4e, 0xce, 0x8e, 0xab, 0xa7, 0xa7, 0xc7, 0x67, + 0xa5, 0x33, 0xe2, 0x6f, 0xd2, 0xf0, 0x66, 0x17, 0x91, 0x9d, 0xcc, 0x0f, 0x1e, 0xe1, 0xeb, 0x76, + 0x44, 0x38, 0x26, 0x31, 0x78, 0xa7, 0x19, 0x1a, 0xbc, 0x83, 0x74, 0xb4, 0xf2, 0x94, 0x13, 0x57, + 0xdd, 0xa7, 0xf6, 0xd5, 0x67, 0xf0, 0xd5, 0xe9, 0x32, 0xf7, 0x12, 0x3c, 0x73, 0x56, 0x86, 0xaa, + 0x7c, 0x56, 0xad, 0x9e, 0x9c, 0x56, 0xab, 0xa5, 0xd3, 0xa3, 0xd3, 0xd2, 0xf9, 0xf1, 0x71, 0xf9, + 0xa4, 0x7c, 0x0c, 0xd7, 0xbc, 0xaf, 0xae, 0xd9, 0x66, 0x96, 0xd3, 0x35, 0x5d, 0x52, 0xef, 0x5c, + 0xae, 0x10, 0xb4, 0xb5, 0x34, 0x87, 0x2a, 0xf0, 0xf9, 0x72, 0xc3, 0x51, 0x81, 0xcf, 0xcf, 0x8a, + 0xcf, 0x3f, 0xc2, 0x50, 0xe5, 0xc4, 0xc1, 0xa3, 0x44, 0xc7, 0x6e, 0x4a, 0x74, 0x44, 0xfb, 0xa8, + 0x26, 0x3f, 0xbe, 0x27, 0x7f, 0xac, 0x40, 0x74, 0x0f, 0x93, 0x1f, 0xdf, 0x53, 0x74, 0xb0, 0x80, + 0xd4, 0xc2, 0xb3, 0xca, 0x82, 0xb3, 0x24, 0xcf, 0x62, 0x3f, 0x06, 0xf6, 0x63, 0x88, 0xfb, 0x1d, + 0xe9, 0x85, 0x9a, 0x68, 0xe4, 0x5d, 0x66, 0x76, 0xe4, 0x2a, 0x9a, 0x47, 0xf8, 0x2b, 0xa1, 0x74, + 0x15, 0x1b, 0x63, 0x57, 0xf7, 0xf1, 0xe3, 0xd8, 0x5f, 0x1d, 0x0e, 0x4d, 0x0d, 0x27, 0x91, 0x48, + 0xb9, 0x8c, 0x0a, 0x5c, 0x06, 0x5c, 0x46, 0xcc, 0xdb, 0x94, 0x3f, 0x91, 0x64, 0x38, 0xdb, 0xfa, + 0x81, 0xf9, 0xec, 0x12, 0xec, 0xad, 0x98, 0x6b, 0x0d, 0x5b, 0x2c, 0xb0, 0xc5, 0x62, 0x67, 0xe6, + 0xa6, 0x96, 0xc3, 0xec, 0x7e, 0x8b, 0x85, 0xfa, 0x9a, 0xb9, 0xe2, 0x5a, 0x79, 0x42, 0x45, 0x9a, + 0xb1, 0x83, 0x14, 0xee, 0x06, 0xee, 0x06, 0x3b, 0x48, 0xb1, 0x83, 0x14, 0xfe, 0x06, 0xfe, 0x66, + 0x6f, 0xfc, 0x0d, 0x76, 0x90, 0xea, 0x70, 0xc2, 0x44, 0xce, 0x58, 0x71, 0x9a, 0x68, 0xe8, 0x19, + 0xec, 0x20, 0x5d, 0xdb, 0x35, 0xd8, 0x41, 0x2a, 0x70, 0x63, 0xd8, 0x41, 0xba, 0xea, 0x9b, 0xb0, + 0x66, 0x8d, 0x1d, 0xa4, 0x74, 0x70, 0x41, 0xdf, 0x0a, 0x76, 0x90, 0xae, 0x99, 0xb5, 0xd8, 0x41, + 0x9a, 0x32, 0x73, 0xc7, 0x6e, 0xa2, 0xcc, 0x0c, 0x15, 0x76, 0x90, 0xc2, 0x35, 0x63, 0x07, 0xe9, + 0x1e, 0xf9, 0x7c, 0xec, 0x20, 0xc5, 0x0e, 0x52, 0x38, 0xf8, 0x84, 0x1d, 0x3c, 0x76, 0x90, 0xa6, + 0x66, 0x07, 0x69, 0xd2, 0xa7, 0xbc, 0xad, 0xd8, 0x40, 0x9a, 0xa1, 0x73, 0xde, 0x7e, 0x63, 0xef, + 0x82, 0x2b, 0xcb, 0xc5, 0x1b, 0x27, 0xe4, 0x35, 0xce, 0x05, 0xcb, 0x8b, 0xdd, 0x3a, 0x5e, 0xdd, + 0x65, 0xdd, 0x41, 0xef, 0x15, 0x3f, 0x15, 0xbc, 0xbe, 0xeb, 0x0a, 0x6c, 0x6b, 0xbb, 0x35, 0x7f, + 0xc8, 0x5f, 0x7c, 0x1f, 0xd8, 0x2c, 0x60, 0xf6, 0xc5, 0xfb, 0xf8, 0xd2, 0x6c, 0xd7, 0x39, 0x5d, + 0x9e, 0xf1, 0x09, 0x14, 0x3a, 0x5d, 0x9e, 0xe3, 0x7b, 0x56, 0xea, 0x34, 0x6e, 0xc5, 0x4f, 0x92, + 0x4e, 0xd6, 0x51, 0xe7, 0x34, 0xde, 0xc6, 0x50, 0xa1, 0x8d, 0xa0, 0xc2, 0xd5, 0x4d, 0x2b, 0xa8, + 0x6e, 0x1a, 0xc3, 0xa1, 0xa4, 0xbc, 0xba, 0xa9, 0xe9, 0xba, 0xbe, 0x65, 0x72, 0x66, 0x1b, 0xc3, + 0xfa, 0xbf, 0xe2, 0x45, 0x4e, 0x17, 0x1b, 0x10, 0xab, 0x75, 0x5a, 0x42, 0xad, 0x53, 0xd4, 0x3a, + 0x5d, 0xbc, 0x1d, 0xe1, 0xf5, 0xfa, 0x39, 0xa9, 0xfa, 0xa8, 0x22, 0x32, 0x68, 0xe3, 0x79, 0x28, + 0xb0, 0xbc, 0x21, 0x29, 0x43, 0x48, 0x60, 0xb4, 0x8a, 0xac, 0xa0, 0xba, 0x61, 0x47, 0x31, 0xf7, + 0xa4, 0xc8, 0x31, 0x65, 0xb6, 0x4a, 0xa9, 0xa4, 0xf7, 0x54, 0x5d, 0x56, 0xad, 0x9c, 0x57, 0xcf, + 0x4f, 0x4e, 0x2b, 0xe7, 0xc7, 0x3b, 0xec, 0x3b, 0x4d, 0xd9, 0xca, 0x53, 0x82, 0x67, 0x5e, 0xd8, + 0x73, 0x47, 0xb3, 0x09, 0x86, 0xa5, 0xd9, 0x8b, 0x11, 0x92, 0x10, 0x92, 0x76, 0x16, 0x92, 0x84, + 0x77, 0x47, 0x09, 0xee, 0x82, 0xa2, 0xb1, 0x35, 0xd6, 0xed, 0xc9, 0x54, 0xb8, 0x1f, 0x5d, 0x16, + 0xfb, 0x74, 0xd2, 0x8e, 0xd9, 0x77, 0x87, 0x23, 0xda, 0x31, 0xdd, 0x90, 0xc1, 0x2e, 0x61, 0x97, + 0xbb, 0xb3, 0x4b, 0xf1, 0xbd, 0x79, 0x82, 0x7b, 0xf0, 0x68, 0x0c, 0xb3, 0xe3, 0x04, 0xdd, 0xbf, + 0xcc, 0x80, 0x19, 0x6f, 0x2c, 0x08, 0xa5, 0x22, 0xe1, 0x52, 0x0b, 0x30, 0x3b, 0x98, 0x1d, 0xc2, + 0xe1, 0xc6, 0xef, 0x7c, 0x35, 0x03, 0x5b, 0xcd, 0xea, 0x96, 0x5a, 0x80, 0xd5, 0xc1, 0xea, 0x60, + 0x75, 0x1b, 0xbf, 0xd3, 0xb1, 0xc5, 0xed, 0xcc, 0xb1, 0x61, 0x59, 0xb0, 0x2c, 0x58, 0xd6, 0xe6, + 0xef, 0x1c, 0x4a, 0xf4, 0x52, 0x71, 0x2c, 0xba, 0x12, 0x56, 0x06, 0x2b, 0x83, 0x95, 0x6d, 0xfc, + 0xce, 0x2e, 0xeb, 0xfa, 0x81, 0x84, 0x8a, 0x32, 0xbe, 0x0e, 0xa7, 0x04, 0xc2, 0xc2, 0x14, 0x2d, + 0x4c, 0xf8, 0x94, 0x40, 0xf3, 0xcd, 0x74, 0x5c, 0xa9, 0x22, 0x3a, 0xd3, 0x05, 0xe0, 0xa8, 0x09, + 0xd4, 0xa6, 0xd3, 0x34, 0xd1, 0xc9, 0x26, 0x3c, 0xd9, 0xc4, 0xa7, 0x33, 0x00, 0x31, 0x43, 0x10, + 0x34, 0x08, 0xf9, 0xd0, 0xb3, 0x34, 0xf2, 0xd2, 0x6f, 0x41, 0x29, 0xbc, 0xf5, 0xa4, 0xb8, 0xe3, + 0x5d, 0xe1, 0x85, 0x77, 0x8a, 0x1d, 0xed, 0x44, 0xaf, 0xc2, 0x50, 0x6d, 0x83, 0xa6, 0xdc, 0xf6, + 0xac, 0xb0, 0x23, 0x9d, 0x64, 0x07, 0x3a, 0x75, 0xd7, 0xd2, 0xbf, 0x55, 0x44, 0xda, 0xdb, 0x09, + 0x6d, 0xaa, 0x7e, 0x4a, 0x41, 0xc5, 0xc7, 0x3e, 0x77, 0x5c, 0xe7, 0xdf, 0xcc, 0x96, 0x8f, 0xc7, + 0x51, 0x0b, 0x08, 0xc7, 0x08, 0xc7, 0x08, 0xc7, 0x08, 0xc7, 0x08, 0xc7, 0x08, 0xc7, 0x08, 0xc7, + 0xba, 0x52, 0xee, 0xa4, 0xdf, 0x18, 0x19, 0x6e, 0xe5, 0x3f, 0x14, 0x92, 0x8c, 0x0a, 0xf2, 0x6f, + 0x31, 0x0c, 0x5f, 0x7d, 0x6a, 0xdf, 0x8e, 0xbe, 0x2d, 0x49, 0x29, 0xad, 0xf3, 0x62, 0xd8, 0x22, + 0xb5, 0xaf, 0xa7, 0x62, 0xda, 0xe4, 0x4a, 0x08, 0xd6, 0x90, 0xd3, 0x14, 0x6d, 0x5b, 0x5e, 0xb0, + 0xb6, 0xc5, 0x5e, 0x5a, 0x9c, 0xca, 0xd5, 0x02, 0xd7, 0x34, 0x4c, 0xce, 0x59, 0xe0, 0x09, 0xf3, + 0x48, 0xf1, 0xbf, 0xff, 0x2c, 0x19, 0xe7, 0x4f, 0x7f, 0x57, 0x7f, 0x3e, 0x3e, 0x1a, 0xa3, 0x1f, + 0x2b, 0xb3, 0x3f, 0xfe, 0x47, 0x31, 0x95, 0xdb, 0x81, 0x07, 0x86, 0x2d, 0x54, 0x77, 0x77, 0xce, + 0x25, 0x88, 0xbc, 0x11, 0x09, 0x97, 0x00, 0x97, 0x40, 0xef, 0x12, 0xb2, 0xb1, 0x86, 0x25, 0x67, + 0x61, 0xb0, 0x2e, 0x58, 0x17, 0xac, 0x6b, 0xbb, 0x75, 0xf9, 0x3d, 0x16, 0x18, 0x03, 0x82, 0xef, + 0x87, 0xe2, 0x46, 0x36, 0x7b, 0x31, 0x6c, 0x0d, 0xb6, 0xb6, 0x33, 0x5b, 0x73, 0x6c, 0xe6, 0x71, + 0x87, 0xbf, 0x8b, 0x1d, 0xd5, 0x14, 0x19, 0x9c, 0x80, 0x94, 0x51, 0xbc, 0x1e, 0x7f, 0xd5, 0x85, + 0x19, 0x2a, 0x2c, 0x51, 0x5f, 0xde, 0xdf, 0x36, 0xee, 0xef, 0xea, 0x77, 0xad, 0xf6, 0x7d, 0xa3, + 0xfe, 0xd0, 0x6e, 0xb6, 0x6a, 0xad, 0x6f, 0x4d, 0xd1, 0xf1, 0x1f, 0x8a, 0x33, 0xa1, 0x94, 0xfa, + 0xa7, 0x58, 0xb8, 0xbd, 0x76, 0xd9, 0xba, 0xfe, 0x67, 0xbd, 0x98, 0xc4, 0x0b, 0x94, 0x8a, 0x77, + 0x7a, 0x7d, 0x97, 0x9d, 0x7b, 0xbd, 0xba, 0x6e, 0xd6, 0x2e, 0x6e, 0xea, 0x57, 0xba, 0xb5, 0xf1, + 0x27, 0x6a, 0xfb, 0x26, 0x89, 0x44, 0x3d, 0x33, 0x18, 0xb9, 0x22, 0xc1, 0x20, 0x34, 0xbe, 0x0e, + 0xf1, 0x07, 0xf1, 0x67, 0x67, 0xf1, 0x47, 0xfc, 0x98, 0x40, 0x99, 0xe3, 0x01, 0x67, 0x8f, 0x05, + 0x1c, 0xfd, 0x6f, 0x2a, 0xc2, 0x0a, 0x1f, 0x13, 0x48, 0x66, 0xb4, 0xdc, 0xf0, 0x7c, 0x29, 0xab, + 0x1d, 0x5e, 0x08, 0xb3, 0x85, 0xd9, 0x22, 0x45, 0xdb, 0xf8, 0x9d, 0x01, 0xeb, 0xfa, 0x6f, 0x42, + 0x3b, 0x22, 0xa3, 0x07, 0x9c, 0x5e, 0x0a, 0x3b, 0x83, 0x9d, 0xed, 0xcc, 0xce, 0x32, 0xf2, 0x66, + 0x73, 0xc8, 0x02, 0xc7, 0x74, 0xa5, 0xc2, 0xd9, 0xf4, 0x52, 0x18, 0x1a, 0x0c, 0x0d, 0x01, 0x6d, + 0xb3, 0x9d, 0xf9, 0x1d, 0xae, 0xf6, 0x2e, 0xf3, 0x52, 0x0b, 0xb0, 0x3a, 0x58, 0x1d, 0xac, 0x6e, + 0xe3, 0x77, 0x72, 0xd6, 0xed, 0xb1, 0xc0, 0xe4, 0xfd, 0x40, 0x02, 0x24, 0x67, 0x2f, 0xc6, 0x5b, + 0x61, 0xb0, 0x35, 0x45, 0x5b, 0x13, 0x7f, 0x2b, 0xcc, 0x35, 0x83, 0xae, 0x11, 0xb2, 0x37, 0x16, + 0x38, 0x02, 0x65, 0xa1, 0x96, 0x06, 0x7e, 0xa1, 0x1d, 0x6c, 0x48, 0xd7, 0x34, 0xe5, 0xc9, 0xa6, + 0x3e, 0x99, 0x09, 0xd0, 0x99, 0x82, 0x98, 0x49, 0x08, 0x9a, 0x86, 0x7c, 0x38, 0x5a, 0x1a, 0x79, + 0xb9, 0x45, 0xb1, 0x25, 0xff, 0x2d, 0xb1, 0xcf, 0x57, 0x6d, 0x91, 0x6c, 0xe9, 0x41, 0xee, 0x1b, + 0xf5, 0xbb, 0xcb, 0xfb, 0xbb, 0xcf, 0xd7, 0x5f, 0xda, 0xb5, 0x9b, 0xda, 0xc3, 0x6d, 0xbb, 0x59, + 0xff, 0x67, 0xfd, 0xe1, 0xba, 0xf5, 0x47, 0x51, 0xa5, 0x2e, 0x66, 0xa8, 0x74, 0x6e, 0x8b, 0xe2, + 0xf6, 0xec, 0xc9, 0xa3, 0x7d, 0xbb, 0xfb, 0xed, 0xee, 0xfe, 0xf7, 0xbb, 0xe2, 0x2e, 0x36, 0x9a, + 0x13, 0x3d, 0xc2, 0xed, 0xf5, 0xdd, 0xfd, 0x43, 0x96, 0x1f, 0xe0, 0xf2, 0xe1, 0xba, 0x75, 0x7d, + 0x59, 0xbb, 0xc9, 0xf2, 0x33, 0xfc, 0x5e, 0x7b, 0xb8, 0xbb, 0xbe, 0xfb, 0x92, 0xe9, 0x79, 0x54, + 0xfb, 0xff, 0x94, 0xe6, 0x91, 0xd4, 0x95, 0x4f, 0xa9, 0xa9, 0x63, 0x2b, 0xf2, 0x4a, 0xde, 0x98, + 0x62, 0xc4, 0x76, 0xed, 0xac, 0x63, 0x21, 0x91, 0xed, 0x3b, 0x20, 0x21, 0x90, 0x50, 0x06, 0x49, + 0x48, 0xfe, 0xd4, 0x6b, 0xc9, 0x53, 0xae, 0x75, 0x9a, 0x3d, 0x7f, 0x0d, 0x58, 0xf8, 0xea, 0xbb, + 0xb6, 0xaa, 0xe5, 0x4f, 0x1b, 0x82, 0xf1, 0xc3, 0xf8, 0x73, 0xfd, 0x5e, 0xae, 0xd0, 0x09, 0x0c, + 0x8b, 0xf3, 0xfc, 0x14, 0xef, 0xe5, 0x16, 0xe4, 0xd3, 0x2c, 0xbc, 0x97, 0xab, 0xb3, 0x6b, 0x55, + 0x4f, 0x76, 0xd0, 0xd2, 0xc7, 0x7b, 0x54, 0x1c, 0xc3, 0x7c, 0x7b, 0x51, 0xa9, 0x53, 0xf5, 0xb2, + 0x67, 0xa1, 0xd7, 0xe0, 0xef, 0x3d, 0x16, 0x22, 0x00, 0x6f, 0x08, 0xc0, 0xe3, 0x2e, 0xca, 0x5d, + 0x18, 0x56, 0x39, 0x18, 0x5a, 0xe5, 0x20, 0xe8, 0x65, 0xcf, 0x56, 0xde, 0xd7, 0x78, 0x5e, 0x41, + 0x3c, 0xd7, 0x15, 0xcf, 0x8f, 0x72, 0xd8, 0xb5, 0x7b, 0x14, 0xc6, 0x1d, 0x2f, 0xe4, 0xa6, 0xc0, + 0xcb, 0x07, 0x4b, 0xde, 0x6d, 0xd2, 0x00, 0xc2, 0x39, 0xc2, 0x39, 0xc2, 0x39, 0xc2, 0x39, 0xc2, + 0x39, 0xc2, 0x39, 0xc2, 0xf9, 0xee, 0xc2, 0x39, 0x67, 0xc1, 0x9b, 0xe9, 0xaa, 0xc4, 0xf3, 0x71, + 0x0b, 0xfb, 0x11, 0xd0, 0x11, 0xc7, 0xd7, 0xc5, 0xf1, 0x9c, 0x86, 0xef, 0x90, 0x9b, 0xdc, 0x90, + 0x9c, 0xe4, 0x05, 0xc5, 0x9a, 0x95, 0xdf, 0xbc, 0x91, 0x2f, 0x2b, 0x7a, 0xa6, 0xe7, 0x87, 0xcc, + 0xf2, 0x3d, 0x5b, 0x6a, 0xee, 0x41, 0x63, 0x47, 0x10, 0x4f, 0xa2, 0x6b, 0x51, 0xfb, 0x32, 0x2d, + 0x71, 0xbd, 0x2b, 0x31, 0x3b, 0xa6, 0x35, 0xd7, 0xcc, 0x1f, 0x48, 0xcf, 0x11, 0xd6, 0x91, 0x9e, + 0x23, 0x3d, 0x47, 0x7a, 0x8e, 0xf4, 0x1c, 0xe9, 0xf9, 0x2e, 0xc3, 0xb8, 0xc1, 0x9d, 0x2e, 0x53, + 0x8a, 0xe5, 0xa3, 0x16, 0x90, 0x9e, 0x23, 0x3d, 0xcf, 0x61, 0xf8, 0x1e, 0xcc, 0x6d, 0xee, 0x58, + 0xdf, 0xc3, 0xc4, 0x0f, 0x94, 0x40, 0x72, 0x8e, 0xe4, 0x1c, 0xc9, 0x39, 0xa2, 0xba, 0x44, 0x54, + 0x97, 0x30, 0xbc, 0x69, 0x40, 0x77, 0x3c, 0x24, 0xe7, 0x08, 0xea, 0x48, 0xce, 0x91, 0x9c, 0x23, + 0x39, 0x47, 0x72, 0x8e, 0xe4, 0x7c, 0x97, 0x61, 0x5c, 0x35, 0x39, 0x9f, 0xb4, 0x80, 0xe4, 0x1c, + 0xc9, 0x39, 0x92, 0x73, 0x24, 0xe7, 0x48, 0xce, 0x91, 0x9c, 0x23, 0x39, 0xa7, 0x8f, 0xea, 0x39, + 0x38, 0x35, 0x52, 0xbc, 0xae, 0x5c, 0x41, 0xf5, 0xe8, 0xc8, 0xd6, 0xcc, 0x57, 0x26, 0x59, 0x7e, + 0x4f, 0x24, 0xee, 0x4c, 0x63, 0xcd, 0xe0, 0x2a, 0x14, 0xb7, 0x44, 0xc1, 0x3d, 0x45, 0xeb, 0x96, + 0x2f, 0x6e, 0xd9, 0xf7, 0xe2, 0xd7, 0x57, 0x9d, 0x13, 0x28, 0xce, 0x05, 0xae, 0x19, 0xdf, 0x9e, + 0x18, 0x8f, 0xa0, 0x34, 0xda, 0x5c, 0x69, 0xb4, 0xaf, 0xb5, 0x87, 0xab, 0xdf, 0x6b, 0x0f, 0xf5, + 0x76, 0x74, 0xb6, 0x50, 0xf6, 0xcb, 0xa3, 0xdd, 0x5c, 0xdf, 0xd5, 0x2f, 0x6b, 0x0f, 0x57, 0x59, + 0xae, 0x6b, 0xd5, 0xb8, 0xff, 0xbd, 0xfe, 0xd0, 0x6e, 0x7e, 0x6b, 0x34, 0x6e, 0xfe, 0xc8, 0xf2, + 0x73, 0x7c, 0xae, 0x5d, 0x3c, 0x5c, 0x5f, 0x66, 0xba, 0xd0, 0x5b, 0xe3, 0x5b, 0x96, 0x6f, 0xff, + 0xfa, 0xae, 0x55, 0xff, 0xf2, 0x50, 0x6b, 0xd5, 0xaf, 0xda, 0x97, 0xd7, 0x0f, 0x97, 0xdf, 0xae, + 0x5b, 0x59, 0x7e, 0x9a, 0xfb, 0xc6, 0xb0, 0xe8, 0x5e, 0xfb, 0xf2, 0x6b, 0xed, 0xee, 0xae, 0x9e, + 0xe9, 0xe2, 0x7b, 0x17, 0xb5, 0xcb, 0xdf, 0x1a, 0x37, 0xb5, 0xbb, 0x7a, 0x96, 0x1f, 0xa2, 0xf5, + 0x50, 0xbb, 0x6b, 0x5e, 0xd6, 0xaf, 0xff, 0x59, 0x7f, 0xc8, 0xb6, 0x97, 0xca, 0x74, 0x31, 0xcd, + 0xcb, 0xaf, 0xb5, 0x66, 0xf3, 0xba, 0x99, 0xe5, 0x47, 0x68, 0xd6, 0xef, 0x9a, 0xd9, 0x2e, 0x08, + 0xfa, 0xf9, 0x21, 0xd3, 0x71, 0xe2, 0xf2, 0xfe, 0xae, 0xf5, 0x70, 0x7f, 0x73, 0x53, 0x7f, 0x68, + 0x67, 0x9f, 0x9d, 0x1e, 0x32, 0x1d, 0xe4, 0x9a, 0xad, 0xfb, 0x87, 0xda, 0x97, 0x7a, 0xee, 0xaa, + 0x9a, 0x7e, 0x40, 0xa2, 0x26, 0x9f, 0xa8, 0x35, 0xef, 0x3f, 0xb7, 0xf2, 0x96, 0xa8, 0xdd, 0x37, + 0xea, 0x0f, 0xb5, 0xd6, 0xf5, 0xdd, 0x97, 0x76, 0xf3, 0x8f, 0x66, 0xab, 0x7e, 0x9b, 0x6d, 0x32, + 0x9d, 0x7f, 0x96, 0xf6, 0xb7, 0xc6, 0x55, 0xad, 0x55, 0xdf, 0xdf, 0xd2, 0xc4, 0x4f, 0x09, 0xca, + 0xa4, 0xfd, 0x90, 0xd9, 0x46, 0xcf, 0xff, 0x8b, 0x05, 0xe2, 0x62, 0xe9, 0xcc, 0xb5, 0x90, 0x4c, + 0x21, 0x99, 0xaa, 0x39, 0x18, 0x15, 0xc9, 0x54, 0xb4, 0xe2, 0xa8, 0x44, 0xa5, 0x51, 0xc9, 0x35, + 0x5c, 0x89, 0x50, 0xac, 0xb2, 0x66, 0xab, 0xb8, 0xa0, 0xa8, 0xba, 0x46, 0x4b, 0xb1, 0x5a, 0x28, + 0x11, 0x8f, 0x94, 0xd6, 0x62, 0xa9, 0xba, 0x4c, 0xb5, 0x32, 0x28, 0x49, 0xdf, 0xa5, 0x3d, 0x20, + 0x1d, 0x28, 0x8c, 0xbc, 0xe8, 0x8a, 0xa9, 0xda, 0x4a, 0x69, 0x31, 0xce, 0xb9, 0x7a, 0xf2, 0xab, + 0xa2, 0x9b, 0x9d, 0xec, 0xfa, 0x7e, 0xda, 0xd0, 0x47, 0xc5, 0x90, 0xfb, 0x81, 0xf9, 0xb2, 0xdd, + 0x87, 0xce, 0x14, 0xa5, 0x18, 0x5d, 0xb0, 0xa5, 0xdf, 0xe3, 0x1d, 0x2c, 0x16, 0x3b, 0x58, 0x8b, + 0x04, 0x69, 0xc9, 0xe0, 0x2c, 0x1a, 0x94, 0xa5, 0x83, 0xb1, 0x74, 0x10, 0x96, 0x0f, 0xbe, 0x6a, + 0x36, 0x14, 0xf7, 0x20, 0xb0, 0xa2, 0x35, 0x19, 0x4d, 0x41, 0x26, 0x1c, 0x5f, 0x87, 0x33, 0xeb, + 0xc0, 0x83, 0x8a, 0x3c, 0x98, 0xfc, 0x06, 0x99, 0xa1, 0x37, 0x3c, 0x14, 0x9a, 0xc1, 0x4a, 0x71, + 0x60, 0xf8, 0x7d, 0xed, 0xf1, 0xa4, 0x4e, 0xf2, 0x3c, 0xd8, 0x61, 0x04, 0x12, 0x3f, 0x04, 0x36, + 0x66, 0x5c, 0x54, 0xb2, 0xec, 0x0a, 0x2c, 0x1b, 0x96, 0xad, 0xc9, 0xb2, 0x45, 0x26, 0x30, 0x81, + 0x61, 0xc7, 0x00, 0xbd, 0xfc, 0xa1, 0x73, 0x1c, 0xa2, 0x54, 0xef, 0x5b, 0x2d, 0xf8, 0xdc, 0x7f, + 0x9e, 0x3e, 0x93, 0x00, 0x44, 0xcf, 0x5d, 0x06, 0x94, 0x06, 0x4a, 0x6f, 0x9a, 0x58, 0x12, 0x51, + 0x77, 0xf6, 0x6a, 0x60, 0x35, 0x82, 0xaf, 0x62, 0xf0, 0x15, 0x3e, 0x0a, 0x5a, 0x30, 0x13, 0x54, + 0xcb, 0x08, 0x25, 0xa7, 0xb0, 0xf4, 0x54, 0x56, 0x99, 0xd2, 0x44, 0x53, 0x5b, 0x75, 0x8a, 0x93, + 0x4d, 0x75, 0xb2, 0x29, 0x4f, 0x37, 0xf5, 0x25, 0x85, 0x4d, 0xc1, 0xb1, 0x17, 0x35, 0x89, 0xe8, + 0xc2, 0x31, 0xbd, 0x28, 0x2e, 0x55, 0x0f, 0x5b, 0xf9, 0xb0, 0x13, 0xf1, 0x5a, 0xd6, 0x5c, 0x28, + 0xcc, 0x86, 0xd8, 0x7c, 0xa8, 0xcc, 0x88, 0xdc, 0x9c, 0xc8, 0xcd, 0x8a, 0xde, 0xbc, 0xe4, 0xcc, + 0x4c, 0xd2, 0xdc, 0xa2, 0xdb, 0x97, 0x7e, 0x33, 0x74, 0x69, 0xe6, 0xb8, 0xcc, 0xec, 0xc8, 0xed, + 0x58, 0x59, 0x8a, 0x37, 0xa7, 0x0a, 0x6d, 0x34, 0xc6, 0xf9, 0xd2, 0xc7, 0x8f, 0x87, 0xb3, 0xff, + 0x9b, 0xa6, 0x47, 0xa3, 0x50, 0x78, 0x38, 0x34, 0xf8, 0x84, 0x5e, 0x86, 0xd3, 0xeb, 0x39, 0x25, + 0x33, 0x79, 0xf5, 0x3c, 0x73, 0x36, 0xe9, 0x9a, 0xfb, 0xdb, 0xa1, 0x14, 0x6e, 0xa8, 0x64, 0xa4, + 0xb3, 0xb7, 0x32, 0xf7, 0x37, 0x21, 0x65, 0x4f, 0x7c, 0xbc, 0x44, 0x8a, 0x0c, 0x48, 0x05, 0x2a, + 0x95, 0x00, 0x85, 0x33, 0x6b, 0xc1, 0x6f, 0x89, 0x79, 0x21, 0xf5, 0x12, 0x03, 0xf2, 0x01, 0x44, + 0x25, 0x70, 0xcc, 0x06, 0x0c, 0xe9, 0xd0, 0xa0, 0xc7, 0x61, 0x88, 0x2d, 0x11, 0x2c, 0x8b, 0x16, + 0x82, 0x4a, 0x2b, 0x49, 0xca, 0x57, 0x81, 0xcb, 0x80, 0xcb, 0x40, 0xca, 0x87, 0x94, 0x0f, 0x29, + 0x1f, 0x52, 0x3e, 0xa4, 0x7c, 0xfb, 0x93, 0xf2, 0xc9, 0xd0, 0x86, 0x9e, 0x8c, 0x4f, 0x60, 0xc9, + 0x57, 0x82, 0xdf, 0x48, 0xd7, 0x01, 0x7e, 0x63, 0xef, 0x82, 0x91, 0xa8, 0x78, 0xe3, 0x84, 0xbc, + 0xc6, 0xb9, 0xe0, 0xfa, 0xc1, 0xad, 0xe3, 0xd5, 0x5d, 0xd6, 0x1d, 0xaf, 0xaa, 0x7a, 0x7d, 0xd7, + 0x15, 0xe0, 0xd0, 0x5b, 0xf3, 0x87, 0xfc, 0xc5, 0xf7, 0x81, 0xcd, 0x02, 0x66, 0x5f, 0xbc, 0x8f, + 0x2f, 0xcd, 0xf6, 0x26, 0x86, 0xb5, 0xf3, 0x3f, 0x81, 0x1d, 0x0d, 0x6b, 0x67, 0xfc, 0x9e, 0x6d, + 0x6f, 0x10, 0x58, 0xeb, 0xa7, 0xea, 0x6e, 0x1d, 0x5b, 0x1d, 0x78, 0x60, 0x7a, 0xa1, 0xc5, 0x9c, + 0xb7, 0x18, 0x6f, 0xfd, 0x4c, 0x4b, 0x23, 0xcd, 0x5c, 0x94, 0x8d, 0x6d, 0x0e, 0xf1, 0xef, 0xb8, + 0x90, 0xc9, 0x9d, 0x0e, 0xb3, 0xcf, 0x87, 0x7d, 0xc3, 0x84, 0x39, 0x8f, 0xea, 0x06, 0x07, 0xb1, + 0x89, 0xa7, 0x9a, 0xc6, 0xa4, 0x6f, 0x8f, 0x83, 0xd0, 0xc4, 0xd4, 0x83, 0x37, 0xc2, 0xdb, 0x1c, + 0x98, 0x67, 0x3e, 0xbb, 0xcc, 0x96, 0xd7, 0xbc, 0x26, 0x0d, 0xec, 0x49, 0x15, 0x5e, 0xa9, 0x29, + 0xbe, 0x3f, 0xc2, 0x97, 0x94, 0x09, 0x64, 0x45, 0x2e, 0x7f, 0xf6, 0x7d, 0x97, 0x99, 0x9e, 0x8a, + 0x5c, 0x5e, 0x4e, 0x81, 0xc8, 0xcd, 0xf8, 0x2b, 0x0b, 0x3c, 0xc6, 0x8d, 0x5e, 0xd7, 0x36, 0x7a, + 0x01, 0x1b, 0xc4, 0x20, 0x05, 0xfb, 0x5f, 0xd5, 0x1a, 0x9c, 0x01, 0x9c, 0x41, 0xce, 0x9d, 0x41, + 0x6e, 0x4a, 0x86, 0xd4, 0x5b, 0x5f, 0xeb, 0x0f, 0x77, 0xf5, 0x56, 0xbb, 0x71, 0x7b, 0xd5, 0x6e, + 0xfd, 0xd1, 0xa8, 0x67, 0xbf, 0x4c, 0x48, 0xbd, 0xf5, 0xb5, 0x5d, 0x2e, 0x95, 0xbe, 0x5c, 0xd4, + 0x9a, 0xf5, 0x76, 0xf3, 0xa1, 0x9a, 0xe5, 0x32, 0x21, 0xa3, 0x67, 0x19, 0x3d, 0xca, 0xcd, 0x43, + 0xd6, 0x9f, 0xa4, 0x3a, 0x7e, 0x92, 0x46, 0xf3, 0x36, 0x07, 0xa3, 0x12, 0x0d, 0x4b, 0xe6, 0x9f, + 0xe5, 0xdb, 0xdd, 0x55, 0xfd, 0xf3, 0xf5, 0x5d, 0xfd, 0x2a, 0x0f, 0x83, 0xd2, 0xae, 0xdd, 0x5f, + 0x66, 0xde, 0x50, 0xfe, 0x2b, 0x3f, 0x46, 0x3f, 0xe3, 0x8a, 0xcb, 0xa5, 0xbc, 0xf8, 0xe2, 0x7f, + 0x3d, 0xe4, 0xe5, 0x49, 0x9a, 0x0f, 0xf9, 0x31, 0x96, 0x66, 0x7e, 0x8c, 0xe5, 0xf2, 0xf7, 0xab, + 0xec, 0xc7, 0xc8, 0x6a, 0x9e, 0x20, 0x6c, 0xfc, 0x2c, 0xf5, 0x3c, 0x01, 0xe5, 0x6d, 0x6e, 0x86, + 0x25, 0x57, 0x48, 0x79, 0x79, 0x93, 0x0f, 0x83, 0x69, 0xd7, 0x2e, 0x2f, 0xf3, 0x33, 0x28, 0x0f, + 0xb9, 0xf1, 0xc7, 0x39, 0xf2, 0x61, 0xf5, 0xdc, 0x24, 0xc5, 0x37, 0xf9, 0x99, 0x5f, 0x6a, 0xa6, + 0x92, 0xf1, 0x42, 0xa6, 0x22, 0x62, 0x7c, 0x87, 0x59, 0x46, 0xd7, 0xb7, 0x15, 0x36, 0x9d, 0x47, + 0x2d, 0x40, 0x74, 0x8f, 0xd1, 0x12, 0x44, 0x77, 0x42, 0x8b, 0x80, 0xe8, 0x2e, 0xfb, 0x20, 0x9f, + 0xeb, 0x97, 0xed, 0xdb, 0xfb, 0xab, 0x7a, 0x4e, 0x04, 0xf7, 0xc1, 0xe3, 0xd4, 0xbe, 0xb5, 0xee, + 0x33, 0x7d, 0x1c, 0x43, 0xfd, 0xb2, 0x5d, 0xbf, 0xab, 0x5d, 0xdc, 0x64, 0x5b, 0x04, 0x1d, 0x3c, + 0xc6, 0xd5, 0x75, 0x53, 0xf5, 0x39, 0xf6, 0x29, 0x04, 0xfb, 0x41, 0xd7, 0xe8, 0x98, 0x16, 0xf7, + 0x03, 0xf5, 0xe5, 0xf0, 0x55, 0x8d, 0x21, 0x30, 0x23, 0x30, 0x23, 0x30, 0x67, 0x23, 0x30, 0xcf, + 0x9c, 0x4f, 0xd5, 0xfe, 0x7c, 0xff, 0x70, 0xdb, 0xfe, 0x5c, 0xbb, 0x6c, 0xdd, 0x3f, 0xe4, 0x24, + 0x4e, 0xff, 0x9f, 0xe6, 0xe7, 0x46, 0xbb, 0x71, 0xf3, 0x2d, 0xd3, 0x27, 0x3f, 0x0d, 0x1e, 0xa2, + 0x72, 0x96, 0xe9, 0xa3, 0x93, 0x3e, 0x37, 0xb2, 0x7c, 0xfb, 0xff, 0x55, 0xc9, 0x78, 0xe7, 0x67, + 0x5a, 0x66, 0xf9, 0xaf, 0x6c, 0x4f, 0x9e, 0xcb, 0xcf, 0x8d, 0x4a, 0xbb, 0x76, 0x99, 0xe9, 0x54, + 0xe1, 0xbe, 0xf5, 0x35, 0xdb, 0xaa, 0x63, 0x33, 0xdb, 0x73, 0xe8, 0xee, 0xfe, 0x6e, 0x10, 0xc5, + 0xbe, 0x7c, 0x19, 0x64, 0x39, 0xd9, 0x3e, 0x2a, 0xb6, 0xf6, 0x5b, 0xd6, 0x8d, 0x39, 0xeb, 0x28, + 0x91, 0x71, 0x3b, 0x56, 0xc5, 0xb9, 0xac, 0x27, 0xfa, 0x99, 0x7e, 0xbb, 0x75, 0x26, 0x27, 0x4c, + 0xac, 0x00, 0x7f, 0x6b, 0xfa, 0x9d, 0x3b, 0x28, 0xc2, 0xdf, 0x7b, 0x7d, 0x0f, 0x1d, 0xcb, 0x74, + 0x0d, 0xeb, 0xd5, 0xf4, 0x3c, 0xe6, 0x86, 0xe2, 0xef, 0xcc, 0x2d, 0x37, 0x81, 0xd7, 0xe7, 0xf0, + 0xfa, 0x1c, 0x89, 0xfd, 0x8b, 0x57, 0x09, 0x1e, 0x4d, 0x41, 0x85, 0x32, 0xc1, 0xe3, 0x06, 0xf6, + 0xa3, 0x4e, 0x30, 0x34, 0xc2, 0xcc, 0x6a, 0x84, 0xd2, 0xa5, 0xa3, 0x24, 0x0b, 0x69, 0x2f, 0x5b, + 0x8a, 0x6c, 0x85, 0x4b, 0x05, 0x83, 0x51, 0x36, 0x1c, 0x0a, 0x03, 0xa2, 0x37, 0x24, 0x2a, 0x83, + 0x22, 0x37, 0x2c, 0x72, 0x03, 0xd3, 0x62, 0x68, 0x6a, 0xec, 0x2c, 0x5b, 0x44, 0x4a, 0xd6, 0x00, + 0xa3, 0x06, 0x6c, 0x16, 0x5a, 0x81, 0xd3, 0x93, 0xae, 0x61, 0xb4, 0x72, 0x2e, 0xce, 0x36, 0xaa, + 0x38, 0x44, 0x6a, 0x15, 0xde, 0xc8, 0x4c, 0x95, 0xd2, 0x64, 0xf5, 0x99, 0x2e, 0xb5, 0x09, 0x6b, + 0x33, 0x65, 0x6d, 0x26, 0xad, 0xd5, 0xb4, 0xd5, 0x4c, 0x9c, 0x40, 0x20, 0x28, 0x90, 0xd4, 0x8d, + 0x5b, 0x9a, 0x7f, 0x21, 0x0f, 0x1c, 0xef, 0x85, 0x62, 0xde, 0x4d, 0x02, 0xea, 0xd9, 0xc1, 0x6e, + 0xfa, 0x57, 0xa1, 0x6f, 0x8b, 0x8e, 0x67, 0xb3, 0x1f, 0x74, 0x3e, 0x70, 0xd4, 0x1c, 0xbc, 0x1f, + 0xbc, 0x1f, 0xbc, 0x5f, 0xaa, 0xbd, 0x5f, 0xdf, 0xf1, 0x78, 0xf9, 0x84, 0xd0, 0xfb, 0x9d, 0x10, + 0x34, 0x25, 0x77, 0xc2, 0xfa, 0xba, 0xff, 0x68, 0xec, 0xa0, 0xa0, 0x7a, 0x22, 0xbb, 0x66, 0x37, + 0xb7, 0xd4, 0xac, 0xe2, 0x09, 0xee, 0x6b, 0xdb, 0x25, 0x38, 0x9d, 0x5c, 0x93, 0x79, 0xcc, 0x0f, + 0x95, 0xf9, 0x43, 0xdb, 0x50, 0x1d, 0x61, 0xa8, 0x7e, 0x1e, 0xa4, 0xa3, 0x95, 0xa7, 0x0c, 0xb2, + 0x16, 0x37, 0x83, 0x17, 0xc6, 0x0d, 0xbf, 0xcf, 0x7b, 0x7d, 0x6e, 0xf4, 0xfc, 0xbf, 0x58, 0x40, + 0x47, 0x5e, 0xab, 0x1a, 0x07, 0x87, 0x81, 0xc3, 0xc0, 0x61, 0xa9, 0xe6, 0x30, 0x9b, 0x59, 0x4e, + 0xd7, 0x74, 0x4f, 0xaa, 0x94, 0x89, 0x68, 0x85, 0xa0, 0xad, 0xa5, 0x18, 0x52, 0x01, 0xe0, 0xc9, + 0x0d, 0x47, 0x05, 0xd4, 0x00, 0xc0, 0x03, 0xe0, 0xed, 0x03, 0xe0, 0xfd, 0x30, 0x5c, 0x33, 0x24, + 0xa5, 0xba, 0x49, 0x8b, 0x40, 0x39, 0xa0, 0x1c, 0x50, 0x2e, 0xd5, 0x28, 0x27, 0x5f, 0x13, 0x77, + 0x2d, 0xc8, 0x95, 0x77, 0xe5, 0x04, 0x13, 0x5d, 0xce, 0x55, 0x3c, 0x50, 0x26, 0x6a, 0x87, 0x62, + 0xeb, 0xe1, 0xd2, 0x8e, 0xba, 0xc3, 0xf1, 0x0f, 0x87, 0x4a, 0x9b, 0x2e, 0x0a, 0x34, 0x9b, 0x14, + 0x1b, 0xe3, 0xbb, 0xbb, 0x1c, 0xdf, 0x5c, 0x7b, 0xfc, 0x83, 0xd4, 0x41, 0xa3, 0xf2, 0x83, 0x2d, + 0x31, 0xd0, 0x8a, 0x0b, 0x4d, 0x24, 0x0b, 0x4c, 0x79, 0x3b, 0x38, 0x0d, 0x3b, 0x5f, 0x52, 0x10, + 0xcd, 0x70, 0x7c, 0x1a, 0xd5, 0xf1, 0x69, 0xe3, 0x83, 0xd2, 0x46, 0x16, 0x9e, 0x62, 0x4f, 0x26, + 0x77, 0x32, 0xea, 0xd2, 0x00, 0xc8, 0x9e, 0x59, 0x56, 0xa0, 0xdc, 0xc3, 0x57, 0x81, 0x27, 0x83, + 0x27, 0xdb, 0x89, 0x27, 0xc3, 0x1e, 0x3e, 0xa4, 0xdc, 0x48, 0xb9, 0x91, 0x72, 0x2b, 0xc6, 0x50, + 0xec, 0xe1, 0xc3, 0x1e, 0x3e, 0x78, 0x3f, 0x78, 0xbf, 0x7d, 0xf4, 0x7e, 0xd8, 0xc3, 0x27, 0x72, + 0x63, 0xd8, 0xc3, 0x87, 0x25, 0x5e, 0x2c, 0xf1, 0x16, 0xb0, 0xc4, 0xab, 0xc8, 0x5a, 0x1a, 0xf6, + 0xee, 0xcd, 0x36, 0x4a, 0xc3, 0x5d, 0x65, 0x70, 0x17, 0xb8, 0x0b, 0xdc, 0x45, 0x21, 0x34, 0x45, + 0x0d, 0x99, 0x6f, 0x2f, 0x74, 0x33, 0x64, 0x32, 0x97, 0x07, 0x8d, 0x12, 0x0d, 0x21, 0x2d, 0x8b, + 0x90, 0xb9, 0x00, 0x1d, 0xae, 0x60, 0xa5, 0x4b, 0x78, 0xef, 0xb1, 0xb0, 0x48, 0x48, 0x21, 0xc4, + 0x4e, 0x41, 0xbb, 0x73, 0xd0, 0xee, 0x24, 0xd6, 0x3a, 0x8b, 0x61, 0xcf, 0xa7, 0x0d, 0x4f, 0x88, + 0x66, 0x2d, 0x59, 0xda, 0xb6, 0x34, 0x67, 0x29, 0xb7, 0xfe, 0x2e, 0xc5, 0x7f, 0xc2, 0x4d, 0xa7, + 0x5a, 0xb6, 0x02, 0x6b, 0xca, 0x17, 0xe9, 0xf3, 0x46, 0xad, 0xf9, 0xe3, 0xe2, 0xb0, 0x11, 0x6f, + 0x15, 0xd6, 0x9d, 0xa4, 0x24, 0x91, 0xac, 0x68, 0xc8, 0x2f, 0xb5, 0xe6, 0x99, 0x9a, 0xf3, 0xcd, + 0x5c, 0x0d, 0xe9, 0x41, 0x3a, 0x5b, 0x7b, 0x4a, 0x49, 0x7e, 0x4c, 0x30, 0xe5, 0x8b, 0x8e, 0x17, + 0x72, 0x73, 0x18, 0xa9, 0x89, 0xc1, 0x75, 0xd2, 0x30, 0xe0, 0x15, 0xf0, 0x0a, 0x78, 0x05, 0xbc, + 0x02, 0x5e, 0x01, 0xaf, 0x20, 0x1d, 0xc0, 0x2b, 0xe0, 0x15, 0xf0, 0x4a, 0x07, 0xaf, 0x9c, 0x05, + 0x6f, 0xa6, 0xab, 0x83, 0x5e, 0xc7, 0x2d, 0x03, 0x5f, 0x81, 0xaf, 0xc0, 0xd7, 0xbd, 0xc3, 0xd7, + 0x90, 0x9b, 0xdc, 0x20, 0x76, 0x02, 0xb3, 0x8e, 0xe0, 0x8c, 0xb0, 0xc9, 0x6f, 0xde, 0x28, 0x86, + 0x15, 0x3d, 0xd3, 0xf3, 0x43, 0x66, 0xf9, 0x9e, 0x4d, 0x6a, 0x6b, 0x80, 0x58, 0x7d, 0x3b, 0x79, + 0x00, 0xb1, 0xbb, 0x87, 0x58, 0xdd, 0x43, 0x5a, 0x3e, 0xab, 0x56, 0x4f, 0x4e, 0xab, 0xd5, 0xd2, + 0xe9, 0xd1, 0x69, 0xe9, 0xfc, 0xf8, 0xb8, 0x7c, 0x22, 0x73, 0x78, 0x1f, 0xb8, 0x76, 0x7f, 0xb8, + 0xb6, 0x4b, 0x38, 0xeb, 0xa3, 0x90, 0x36, 0x68, 0x14, 0x34, 0x0b, 0x9a, 0x05, 0xcd, 0xee, 0x1d, + 0xcd, 0x42, 0x8c, 0x05, 0xc7, 0x2e, 0x0c, 0x1b, 0xc4, 0xd8, 0xdc, 0x71, 0x2c, 0xc4, 0x58, 0x40, + 0xeb, 0x6e, 0xa1, 0xd5, 0xe0, 0x4e, 0x97, 0x69, 0x21, 0xd7, 0x51, 0xcb, 0xc0, 0x57, 0xe0, 0x2b, + 0xf0, 0x75, 0xef, 0xf0, 0x75, 0x60, 0xfb, 0xdc, 0xb1, 0xbe, 0x87, 0x5a, 0x00, 0x16, 0x52, 0x2c, + 0xa4, 0x58, 0x20, 0x6c, 0x3a, 0x10, 0x16, 0x52, 0x2c, 0xa8, 0x36, 0x65, 0x54, 0x4b, 0xe8, 0xc8, + 0xa6, 0x40, 0xeb, 0x78, 0x60, 0x59, 0xb0, 0x2c, 0x58, 0x76, 0xff, 0x58, 0x16, 0x52, 0x2c, 0x38, + 0x76, 0x61, 0xd8, 0x20, 0xc5, 0xe6, 0x8e, 0x63, 0x21, 0xc5, 0x02, 0x5a, 0x77, 0x0b, 0xad, 0xba, + 0xa4, 0xd8, 0x49, 0xcb, 0xc0, 0x57, 0xe0, 0x2b, 0xf0, 0x75, 0xef, 0xf0, 0x15, 0x52, 0x2c, 0x10, + 0x56, 0x9f, 0xff, 0x06, 0xc2, 0xa6, 0x07, 0x61, 0x21, 0xc5, 0x82, 0x6a, 0x09, 0xa9, 0x76, 0xa7, + 0x25, 0xbe, 0x88, 0x0e, 0x10, 0x8a, 0xda, 0xd3, 0x7b, 0x90, 0xd0, 0xf0, 0xe0, 0x87, 0x43, 0xba, + 0x9a, 0x7f, 0x05, 0xcd, 0x67, 0x0b, 0x35, 0x07, 0xf7, 0xdb, 0xbe, 0x1e, 0xdc, 0x6f, 0x63, 0x78, + 0xbb, 0x19, 0x2c, 0xdb, 0x38, 0x3c, 0x44, 0xcf, 0x78, 0x76, 0xcc, 0xd0, 0xb0, 0xfa, 0x41, 0xc0, + 0x08, 0x2a, 0x62, 0x4c, 0x4f, 0x52, 0x59, 0x6e, 0x1b, 0x45, 0x1c, 0x63, 0x65, 0x47, 0x28, 0xe2, + 0x88, 0x22, 0x8e, 0xf1, 0x9e, 0x0c, 0x45, 0x1c, 0x21, 0x98, 0x40, 0x30, 0x81, 0x60, 0x92, 0x3a, + 0xc1, 0x04, 0xeb, 0x7d, 0x10, 0x4b, 0x16, 0x86, 0x0d, 0xeb, 0x7d, 0xb9, 0x13, 0x4b, 0xb0, 0xde, + 0x07, 0x65, 0x64, 0x77, 0x53, 0x1e, 0x45, 0x1c, 0x01, 0xaf, 0x80, 0x57, 0xc0, 0x2b, 0xe0, 0x15, + 0xf0, 0x0a, 0x78, 0x05, 0xbc, 0x02, 0x5e, 0x01, 0xaf, 0x59, 0x82, 0x57, 0x14, 0x71, 0x04, 0xbe, + 0x02, 0x5f, 0x81, 0xaf, 0xd4, 0x73, 0x16, 0x45, 0x1c, 0x01, 0xb1, 0x3a, 0x3d, 0x38, 0x20, 0x36, + 0x3d, 0x10, 0x8b, 0xed, 0x6a, 0xe0, 0xda, 0x74, 0x71, 0x2d, 0x8a, 0x38, 0x82, 0x66, 0x41, 0xb3, + 0xa0, 0x59, 0xaa, 0x39, 0x0b, 0x31, 0x16, 0x1c, 0xbb, 0x30, 0x6c, 0x10, 0x63, 0x73, 0xc7, 0xb1, + 0x10, 0x63, 0x01, 0xad, 0xbb, 0x85, 0x56, 0x14, 0x71, 0x04, 0xbe, 0x02, 0x5f, 0x81, 0xaf, 0xc4, + 0x73, 0x16, 0x6f, 0x0e, 0x03, 0x61, 0xf5, 0xf9, 0x6f, 0x20, 0x6c, 0x7a, 0x10, 0x16, 0x52, 0x2c, + 0xa8, 0x36, 0x65, 0x54, 0x8b, 0x22, 0x8e, 0x60, 0x59, 0xb0, 0x2c, 0x58, 0x96, 0x68, 0xce, 0x42, + 0x8a, 0x05, 0xc7, 0x2e, 0x0c, 0x1b, 0xa4, 0xd8, 0xdc, 0x71, 0x2c, 0xa4, 0x58, 0x40, 0xeb, 0x6e, + 0xa1, 0x15, 0x45, 0x1c, 0x81, 0xaf, 0xc0, 0x57, 0xe0, 0x2b, 0xf1, 0x9c, 0x85, 0x14, 0x0b, 0x84, + 0xd5, 0xe7, 0xbf, 0x81, 0xb0, 0xe9, 0x41, 0x58, 0x48, 0xb1, 0xa0, 0x5a, 0x42, 0xaa, 0x45, 0x11, + 0x47, 0xc1, 0x22, 0x8e, 0xe4, 0xa5, 0xff, 0x0a, 0x89, 0xd4, 0x72, 0xbc, 0x19, 0xdc, 0xf6, 0x85, + 0x63, 0x86, 0x97, 0xe3, 0x9b, 0xce, 0x60, 0x45, 0x47, 0xbf, 0xcf, 0x7b, 0x7d, 0x6e, 0x74, 0x02, + 0xf6, 0x3f, 0x7d, 0xe6, 0x59, 0xef, 0x74, 0xf5, 0x1c, 0x97, 0x5a, 0xa6, 0xa9, 0xe6, 0x58, 0x42, + 0x35, 0xc7, 0x1d, 0x26, 0x49, 0xa8, 0xe6, 0x98, 0x22, 0x57, 0x4f, 0x96, 0xfa, 0x44, 0xf3, 0x2f, + 0x32, 0xd6, 0x61, 0xce, 0x48, 0x31, 0xff, 0xe8, 0xb2, 0x9d, 0x69, 0x96, 0x73, 0xfb, 0xf5, 0xdf, + 0x14, 0xb7, 0x46, 0x9b, 0xd5, 0x10, 0x26, 0xa0, 0x3a, 0xb2, 0x18, 0x4d, 0xa8, 0xab, 0x2b, 0x6b, + 0xd1, 0xc9, 0xb1, 0x84, 0x59, 0x8a, 0x96, 0xec, 0x44, 0xf7, 0x50, 0xe9, 0xcf, 0x46, 0xb4, 0x8e, + 0x5e, 0x4a, 0x28, 0xff, 0x29, 0xbb, 0xb0, 0x37, 0xaa, 0x96, 0x4e, 0x0d, 0x7a, 0x14, 0x35, 0xd8, + 0x51, 0xb2, 0x1b, 0x90, 0x07, 0xc8, 0x9b, 0x7b, 0x32, 0x94, 0xec, 0xde, 0xad, 0x0b, 0xd0, 0xe1, + 0x0a, 0x56, 0xba, 0x04, 0x2c, 0x8f, 0x69, 0x76, 0x12, 0x6b, 0x9d, 0x05, 0x96, 0xc7, 0x64, 0xe6, + 0x2c, 0x76, 0x77, 0x61, 0x69, 0x6c, 0x61, 0xd8, 0xb0, 0xbb, 0x2b, 0x89, 0xa4, 0x53, 0x6b, 0xf2, + 0xb9, 0x38, 0xa4, 0xd8, 0xdd, 0xa5, 0xd9, 0xd1, 0xd3, 0xb7, 0x86, 0x92, 0xdd, 0x31, 0xa2, 0x17, + 0x4a, 0x76, 0x03, 0x5e, 0x01, 0xaf, 0x80, 0x57, 0xc0, 0x2b, 0xe0, 0x15, 0xf0, 0x0a, 0x78, 0x05, + 0xbc, 0x02, 0x5e, 0xe9, 0xe1, 0x15, 0x25, 0xbb, 0x81, 0xaf, 0xc0, 0x57, 0xe0, 0x2b, 0xf5, 0x9c, + 0x45, 0xc9, 0x6e, 0x40, 0xac, 0x4e, 0x0f, 0x0e, 0x88, 0x4d, 0x0f, 0xc4, 0xe2, 0xe5, 0x04, 0x70, + 0x6d, 0xba, 0xb8, 0x16, 0x25, 0xbb, 0x41, 0xb3, 0xa0, 0x59, 0xd0, 0x2c, 0xd5, 0x9c, 0x85, 0x18, + 0x0b, 0x8e, 0x5d, 0x18, 0x36, 0x88, 0xb1, 0xb9, 0xe3, 0x58, 0x88, 0xb1, 0x80, 0xd6, 0xdd, 0x42, + 0x2b, 0x4a, 0x76, 0x03, 0x5f, 0x81, 0xaf, 0xc0, 0x57, 0xe2, 0x39, 0x8b, 0x3a, 0x31, 0x40, 0x58, + 0x7d, 0xfe, 0x1b, 0x08, 0x9b, 0x1e, 0x84, 0x85, 0x14, 0x0b, 0xaa, 0x4d, 0x19, 0xd5, 0xa2, 0x64, + 0x37, 0x58, 0x16, 0x2c, 0x0b, 0x96, 0x25, 0x9a, 0xb3, 0x90, 0x62, 0xc1, 0xb1, 0x0b, 0xc3, 0x06, + 0x29, 0x36, 0x77, 0x1c, 0x0b, 0x29, 0x16, 0xd0, 0xba, 0x5b, 0x68, 0x45, 0xc9, 0x6e, 0xe0, 0x2b, + 0xf0, 0x15, 0xf8, 0x4a, 0x3c, 0x67, 0x21, 0xc5, 0x02, 0x61, 0xf5, 0xf9, 0x6f, 0x20, 0x6c, 0x7a, + 0x10, 0x16, 0x52, 0x2c, 0xa8, 0x96, 0x90, 0x6a, 0x51, 0xb2, 0x5b, 0xb0, 0x64, 0x37, 0x61, 0xd1, + 0xbf, 0x42, 0x22, 0xc5, 0xba, 0xef, 0x87, 0x37, 0xdc, 0x18, 0xde, 0x6f, 0x06, 0x4b, 0x37, 0x72, + 0x33, 0x78, 0x61, 0xdc, 0xd0, 0x53, 0xc1, 0x71, 0x55, 0xe3, 0xa8, 0xd6, 0x1d, 0x2b, 0x43, 0x42, + 0x21, 0x47, 0x14, 0x72, 0x4c, 0x38, 0xeb, 0xd1, 0x22, 0xd6, 0x53, 0x8a, 0xf4, 0x5a, 0xc4, 0xf9, + 0xfd, 0x2c, 0xd7, 0x5d, 0x41, 0xb9, 0xee, 0xac, 0x94, 0xeb, 0x3e, 0xc2, 0x50, 0xa1, 0x36, 0xb7, + 0x02, 0xe0, 0xfd, 0x30, 0x86, 0xc7, 0xe0, 0x10, 0x52, 0xdd, 0xa4, 0x45, 0xa0, 0x1c, 0x50, 0x0e, + 0x28, 0x97, 0x6a, 0x94, 0x7b, 0xf6, 0x7d, 0x97, 0x99, 0x1e, 0x25, 0xc8, 0x95, 0x77, 0xe5, 0x04, + 0x0f, 0x12, 0x1c, 0x12, 0x2a, 0xed, 0x24, 0x09, 0xcd, 0x44, 0x61, 0x70, 0xb5, 0xcb, 0x23, 0x72, + 0x16, 0x29, 0x3e, 0xd4, 0x62, 0x57, 0x08, 0x4e, 0x8a, 0x81, 0x8f, 0x1c, 0x55, 0x47, 0xb2, 0x99, + 0xa8, 0x7b, 0x2c, 0xde, 0x38, 0x21, 0xaf, 0x71, 0x2e, 0x17, 0x7f, 0x07, 0x39, 0x40, 0xdd, 0x65, + 0x03, 0x6f, 0x37, 0x20, 0x2a, 0xaf, 0xef, 0xba, 0x1f, 0x0e, 0x64, 0xe8, 0x54, 0xbd, 0x91, 0xfb, + 0xc0, 0x66, 0x01, 0xb3, 0x2f, 0xde, 0xc7, 0x4d, 0x68, 0xed, 0x70, 0x45, 0xeb, 0xd3, 0x6b, 0x75, + 0x12, 0xf6, 0xa6, 0xd1, 0xce, 0xc4, 0x2c, 0x2c, 0xbe, 0x9d, 0xc4, 0xfb, 0x64, 0xcc, 0x81, 0x95, + 0x1d, 0x50, 0x3d, 0x03, 0x29, 0x30, 0x80, 0x1a, 0x06, 0x2e, 0xde, 0x80, 0x6d, 0xef, 0xfe, 0x18, + 0x5d, 0x5f, 0x1c, 0xc5, 0x87, 0xb8, 0x3d, 0x3e, 0x57, 0x06, 0x2a, 0x6e, 0x58, 0x11, 0x3c, 0x5a, + 0x67, 0x8a, 0xeb, 0x31, 0x25, 0x08, 0x19, 0x2c, 0x57, 0xc7, 0x6f, 0x59, 0xcc, 0x56, 0xc6, 0x69, + 0x65, 0x6c, 0x26, 0xc1, 0x63, 0x5a, 0xe3, 0x17, 0x3d, 0x6a, 0xa6, 0x68, 0xf9, 0x9e, 0xc7, 0x2c, + 0xee, 0x07, 0xa3, 0xe3, 0x02, 0x85, 0x07, 0x61, 0x32, 0xfc, 0x0b, 0xed, 0x88, 0x46, 0x7d, 0xa9, + 0xfc, 0x54, 0x3a, 0x1f, 0x55, 0xc9, 0x3f, 0xe9, 0xf2, 0x4d, 0xd5, 0xfc, 0x92, 0x2c, 0x9f, 0x24, + 0xcb, 0x1f, 0x49, 0xf3, 0x45, 0xbd, 0x9c, 0x29, 0x9d, 0xff, 0x4d, 0x0b, 0x78, 0xda, 0xcc, 0xe3, + 0x0e, 0x7f, 0x0f, 0x58, 0x47, 0x66, 0xf0, 0x27, 0xbe, 0x5c, 0x62, 0x4b, 0x42, 0xf1, 0x7a, 0xfc, + 0xd5, 0x17, 0x66, 0xa8, 0x30, 0x7d, 0x26, 0x0f, 0xf2, 0xf9, 0xfa, 0xa2, 0xfe, 0xd0, 0xbe, 0xbc, + 0xbf, 0xbb, 0xab, 0x5f, 0xb6, 0xee, 0x1f, 0xda, 0xad, 0x3f, 0x1a, 0x75, 0xd9, 0x99, 0x34, 0x54, + 0x3c, 0x43, 0x25, 0x89, 0x9f, 0x48, 0x3a, 0xbb, 0xb9, 0x9c, 0x3e, 0x52, 0x71, 0x17, 0x72, 0x20, + 0xd1, 0x73, 0x34, 0x73, 0xf2, 0x1c, 0xb7, 0x8d, 0x7b, 0x92, 0x07, 0x39, 0x48, 0x46, 0x4d, 0xfe, + 0xa9, 0x8b, 0xf5, 0x05, 0xc0, 0xc8, 0x36, 0x39, 0x33, 0x2c, 0xdf, 0x56, 0x08, 0xcb, 0xd3, 0x26, + 0x10, 0x91, 0x11, 0x91, 0x73, 0x1e, 0x91, 0x87, 0x93, 0xdd, 0xf4, 0x6c, 0xd9, 0xf7, 0x07, 0xa2, + 0x98, 0x2c, 0xb1, 0x4b, 0xb8, 0xd8, 0x30, 0x39, 0x67, 0x81, 0x27, 0x1d, 0xfa, 0x8a, 0xff, 0xfd, + 0x67, 0xc9, 0x38, 0x7f, 0xfa, 0xbb, 0xfa, 0xf3, 0xf1, 0xd1, 0x18, 0xfd, 0x58, 0x99, 0xfd, 0xb1, + 0x35, 0xf9, 0xe1, 0xd3, 0xd2, 0x0f, 0xbf, 0x3c, 0x3e, 0x7e, 0x1c, 0xfe, 0xfc, 0x8f, 0x5f, 0xff, + 0xf3, 0x5f, 0x7f, 0xfe, 0xc3, 0x78, 0x5a, 0xfa, 0xc4, 0x7f, 0x88, 0x0f, 0xf6, 0x53, 0x0a, 0x1c, + 0x20, 0xf3, 0xcc, 0x67, 0x97, 0xd9, 0xf2, 0xee, 0x6f, 0xd2, 0x00, 0x9c, 0x1f, 0x9c, 0x5f, 0xce, + 0x9d, 0x9f, 0xfc, 0xf2, 0x93, 0xe4, 0x72, 0x93, 0x26, 0x93, 0xe7, 0xaf, 0x2c, 0xf0, 0x18, 0x37, + 0x7a, 0x5d, 0x15, 0xbb, 0x9f, 0x6d, 0x05, 0xc6, 0x0f, 0xe3, 0x87, 0x16, 0x91, 0x0d, 0x2d, 0xa2, + 0xde, 0xfa, 0x5a, 0x7f, 0xb8, 0xab, 0xb7, 0xda, 0x8d, 0xdb, 0xab, 0x9c, 0x08, 0x11, 0xf5, 0xd6, + 0xd7, 0x76, 0xb9, 0x54, 0xfa, 0x72, 0x51, 0x6b, 0xd6, 0xdb, 0xcd, 0x87, 0x6a, 0x96, 0x93, 0xf8, + 0xd1, 0xb3, 0x8c, 0x1e, 0xe5, 0xe6, 0x21, 0xeb, 0x4f, 0x52, 0x1d, 0x3f, 0x49, 0xa3, 0x79, 0x9b, + 0x83, 0x51, 0x89, 0x86, 0x25, 0xf3, 0xcf, 0xf2, 0xed, 0xee, 0xaa, 0xfe, 0xf9, 0xfa, 0xae, 0x7e, + 0x95, 0x87, 0x41, 0x69, 0xd7, 0xee, 0x2f, 0x33, 0x6f, 0x28, 0xff, 0x95, 0x1f, 0xa3, 0x9f, 0x71, + 0xc5, 0xe5, 0x52, 0x5e, 0x7c, 0xf1, 0xbf, 0x1e, 0xf2, 0xf2, 0x24, 0xcd, 0x87, 0xfc, 0x18, 0x4b, + 0x33, 0x3f, 0xc6, 0x72, 0xf9, 0xfb, 0x55, 0xf6, 0x63, 0x64, 0x35, 0x4f, 0x10, 0x36, 0x7e, 0x96, + 0x7a, 0x9e, 0x80, 0xf2, 0x36, 0x37, 0xc3, 0x92, 0x2b, 0xa4, 0xbc, 0xbc, 0xc9, 0x87, 0xc1, 0xb4, + 0x6b, 0x97, 0x97, 0xf9, 0x19, 0x94, 0x87, 0xdc, 0xf8, 0xe3, 0x1c, 0xf9, 0xb0, 0x7a, 0x6e, 0x92, + 0xe2, 0x9b, 0xfc, 0xcc, 0x2f, 0x35, 0x53, 0xd9, 0xa3, 0x0d, 0x07, 0xb3, 0xb2, 0xb9, 0xd1, 0x0b, + 0x98, 0xe5, 0x7b, 0x1d, 0x1a, 0x11, 0x3e, 0x6a, 0x0d, 0x62, 0x7c, 0x8c, 0x96, 0x20, 0xc6, 0x13, + 0x5a, 0x0a, 0xc4, 0x78, 0x05, 0x1f, 0x0a, 0x31, 0x3e, 0x2b, 0xb9, 0x13, 0xc4, 0xf8, 0x02, 0xc4, + 0x78, 0x0d, 0xcf, 0x02, 0x31, 0x3e, 0xb5, 0xfa, 0x22, 0xc4, 0xf8, 0x54, 0xfa, 0x62, 0x88, 0xf1, + 0x05, 0x88, 0xf1, 0x5a, 0xa5, 0x1f, 0x88, 0xf1, 0xe9, 0x1c, 0x18, 0x88, 0xf1, 0xa9, 0x1c, 0x16, + 0x88, 0xf1, 0xa9, 0x44, 0x31, 0x88, 0xf1, 0x69, 0xf4, 0xc7, 0x10, 0xe3, 0x53, 0x38, 0x28, 0x10, + 0xe3, 0x65, 0xa4, 0xbf, 0xc9, 0x7f, 0xd9, 0x14, 0xe3, 0x3b, 0x66, 0xdf, 0xe5, 0x86, 0xe5, 0x7b, + 0xb6, 0x23, 0x55, 0x9d, 0x25, 0xea, 0xfd, 0xc5, 0x86, 0x20, 0xc1, 0xc7, 0x68, 0x09, 0x12, 0x3c, + 0xa1, 0x7d, 0xe0, 0x65, 0x18, 0x49, 0x17, 0xc0, 0x2c, 0xc3, 0xf2, 0x83, 0x80, 0x59, 0x9c, 0xd9, + 0xc6, 0xf3, 0xa8, 0xd6, 0xa7, 0xac, 0x17, 0x58, 0x6e, 0x0b, 0x8e, 0x00, 0x8e, 0x20, 0xe7, 0x8e, + 0xc0, 0xf2, 0xfb, 0x1e, 0x67, 0x81, 0x54, 0x7d, 0x6d, 0x85, 0x33, 0x83, 0x14, 0x2b, 0x5d, 0x2b, + 0x14, 0x41, 0xa4, 0xa8, 0x64, 0x4d, 0x55, 0x2e, 0x96, 0xa8, 0xfc, 0x31, 0x65, 0xb9, 0x63, 0x95, + 0xf2, 0xbe, 0x14, 0x95, 0xa7, 0xa9, 0xbb, 0x96, 0xfe, 0x8c, 0x1b, 0xd2, 0xde, 0x4e, 0xa8, 0x24, + 0xe5, 0x53, 0xfa, 0x62, 0xf5, 0x3b, 0x67, 0x74, 0xc1, 0x7a, 0xd8, 0x18, 0xa2, 0x35, 0xa2, 0x35, + 0xa2, 0x35, 0xa2, 0x35, 0xa2, 0x35, 0xa2, 0x35, 0xa2, 0x35, 0x41, 0xb4, 0xee, 0x2a, 0x55, 0xd6, + 0x8a, 0x5a, 0x40, 0x5c, 0x46, 0x5c, 0xc6, 0x8e, 0xd6, 0x38, 0x92, 0x5a, 0x0a, 0x4a, 0x5d, 0xd6, + 0x2f, 0xdb, 0xb7, 0xf7, 0x57, 0xf5, 0x9c, 0xec, 0x66, 0x1d, 0x3c, 0x4e, 0xed, 0x5b, 0xeb, 0x3e, + 0xcb, 0x6b, 0x43, 0x83, 0x67, 0xa8, 0xdf, 0xd5, 0x2e, 0x6e, 0xb2, 0xbd, 0xc3, 0x70, 0xf0, 0x18, + 0x57, 0xd7, 0x4d, 0xd5, 0xe7, 0xd8, 0xa7, 0xf5, 0x2d, 0x66, 0x19, 0x21, 0x37, 0x79, 0x5f, 0x31, + 0x4f, 0x1e, 0xb7, 0x81, 0x30, 0x8c, 0x30, 0x8c, 0x30, 0x9c, 0x9d, 0x30, 0xdc, 0x6c, 0xd5, 0x5a, + 0xdf, 0x9a, 0x39, 0x0a, 0xc4, 0xe3, 0x07, 0xfa, 0x76, 0x77, 0x73, 0x7f, 0xf9, 0x5b, 0xf6, 0x83, + 0xd9, 0xf8, 0x71, 0x94, 0x1f, 0x66, 0xcf, 0x22, 0x5a, 0xdf, 0x1b, 0xeb, 0xb6, 0xe6, 0xb3, 0xcb, + 0x8c, 0x67, 0xd7, 0xb7, 0xbe, 0x2b, 0xc6, 0xb7, 0x95, 0x2d, 0x22, 0xda, 0x21, 0xda, 0x41, 0x0c, + 0xde, 0x3a, 0xe1, 0x21, 0x06, 0x2b, 0x2a, 0x96, 0x10, 0x83, 0xb5, 0x75, 0x2d, 0xc4, 0xe0, 0x42, + 0x8a, 0xc4, 0xe0, 0xf9, 0x28, 0x3b, 0x70, 0xfb, 0xa4, 0x61, 0x7b, 0xd4, 0x20, 0xa2, 0x36, 0xa2, + 0x36, 0xa2, 0x36, 0xa2, 0x36, 0xa2, 0x36, 0xa2, 0x36, 0xa2, 0xb6, 0x6a, 0xd4, 0xf6, 0x83, 0xae, + 0xd1, 0x31, 0x2d, 0xee, 0x07, 0x0a, 0x91, 0x7a, 0xa6, 0x11, 0x44, 0x67, 0x44, 0x67, 0x28, 0xc8, + 0x31, 0xa6, 0x7c, 0x0a, 0x14, 0xe4, 0xd6, 0x43, 0xed, 0xae, 0x79, 0x59, 0xbf, 0xfe, 0x67, 0xfd, + 0xa1, 0xfd, 0xf9, 0xfe, 0xe1, 0xb6, 0xfd, 0xb9, 0x96, 0xa3, 0xb3, 0x0b, 0xff, 0x4f, 0xf3, 0x73, + 0xa3, 0xdd, 0xb8, 0xf9, 0xd6, 0xcc, 0xb2, 0x88, 0x3c, 0x78, 0x88, 0xca, 0x59, 0x96, 0x9f, 0xe0, + 0xf2, 0x73, 0x23, 0xcb, 0xb7, 0xff, 0x5f, 0x95, 0x8c, 0x77, 0x7e, 0xa6, 0xdf, 0x79, 0xfd, 0xaf, + 0x6c, 0x4f, 0x9e, 0xcb, 0xcf, 0x8d, 0x4a, 0xbb, 0x76, 0x99, 0xe9, 0xad, 0x25, 0xf7, 0xad, 0xaf, + 0xd9, 0x7e, 0x05, 0xbc, 0x99, 0xed, 0x39, 0x74, 0x77, 0x7f, 0x37, 0x88, 0x62, 0x5f, 0xbe, 0xd4, + 0x2e, 0x6e, 0xea, 0x99, 0x36, 0x86, 0x46, 0xed, 0xb7, 0xac, 0x1b, 0x73, 0xd6, 0x51, 0x22, 0xe3, + 0x76, 0xac, 0x8a, 0x73, 0xfb, 0xb4, 0x8c, 0x3e, 0xcd, 0xc9, 0xd5, 0x8b, 0x10, 0xaf, 0x6a, 0x0c, + 0x89, 0x3e, 0x12, 0x7d, 0x24, 0xfa, 0x48, 0xf4, 0x91, 0xe8, 0x23, 0xd1, 0x47, 0xa2, 0x8f, 0x44, + 0x1f, 0x89, 0x3e, 0x12, 0x7d, 0x24, 0xfa, 0x48, 0xf4, 0x91, 0xe8, 0x23, 0xd1, 0x47, 0xa2, 0x9f, + 0x5c, 0xa2, 0xef, 0x78, 0xbd, 0x3e, 0x37, 0x7a, 0xfe, 0x5f, 0x4c, 0x61, 0x05, 0x7f, 0xb6, 0x11, + 0xb9, 0xc4, 0xbe, 0x8c, 0xc4, 0x1e, 0x89, 0x7d, 0x32, 0x89, 0xfd, 0x95, 0x13, 0xc8, 0x0d, 0xbf, + 0xf9, 0xf6, 0xa2, 0x9e, 0x4b, 0x0f, 0x1a, 0x91, 0xec, 0x62, 0xb5, 0x5d, 0x54, 0xd2, 0x26, 0x43, + 0x61, 0x3a, 0x2b, 0x4d, 0xe8, 0xbd, 0x27, 0x5c, 0x51, 0x89, 0xd2, 0x88, 0xc8, 0x8d, 0x89, 0xdc, + 0xa8, 0xd6, 0x1a, 0xd7, 0xb0, 0xe7, 0x92, 0xde, 0xa0, 0x26, 0x39, 0x6b, 0xa4, 0x75, 0xb4, 0xa5, + 0x39, 0x63, 0x33, 0xcb, 0xe9, 0x9a, 0xae, 0xd4, 0xb6, 0xd6, 0xa5, 0x78, 0x53, 0x51, 0x68, 0x63, + 0x69, 0xb3, 0xa0, 0x4a, 0x63, 0x6a, 0x9b, 0x66, 0x69, 0xd8, 0xa9, 0x40, 0xb5, 0x89, 0x76, 0xb1, + 0x9b, 0x2b, 0x1f, 0x68, 0x9a, 0x23, 0xda, 0x54, 0xbb, 0x7e, 0x04, 0x4b, 0xca, 0xed, 0xfe, 0xfc, + 0x40, 0x30, 0x04, 0x04, 0x9b, 0x6d, 0x17, 0x87, 0xe0, 0x68, 0x8f, 0x86, 0xe0, 0x60, 0x37, 0x57, + 0x3f, 0x25, 0xb4, 0xe3, 0x57, 0x62, 0x8a, 0x15, 0x1d, 0x2f, 0xe4, 0xe6, 0x30, 0x72, 0x28, 0x82, + 0xcb, 0xa4, 0x21, 0xc0, 0x0b, 0xe0, 0x05, 0xf0, 0x02, 0x78, 0x01, 0xbc, 0x00, 0x5e, 0x00, 0x2f, + 0x80, 0x17, 0xbd, 0xf0, 0xc2, 0x59, 0xf0, 0x66, 0xba, 0x14, 0xf4, 0x32, 0x6e, 0x09, 0xf8, 0x02, + 0x7c, 0x01, 0xbe, 0x08, 0xcf, 0x99, 0x90, 0x9b, 0xdc, 0x50, 0x34, 0xa2, 0x82, 0xda, 0xeb, 0xc5, + 0x51, 0x13, 0xdf, 0xbc, 0x91, 0xcf, 0x2d, 0x7a, 0xa6, 0xe7, 0x87, 0xcc, 0xf2, 0x3d, 0x5b, 0x69, + 0x2e, 0xe7, 0x1a, 0x62, 0x4a, 0x80, 0x98, 0x5d, 0x43, 0x0c, 0xf5, 0x10, 0xd0, 0xbf, 0xfe, 0x0c, + 0xae, 0x49, 0x96, 0x6b, 0xba, 0x0a, 0xb3, 0x2c, 0x72, 0xc9, 0x83, 0x46, 0x40, 0x33, 0xa0, 0x19, + 0xd0, 0x0c, 0xc4, 0x18, 0x88, 0x31, 0xe0, 0x18, 0x88, 0x31, 0x80, 0x16, 0xcd, 0xd0, 0x62, 0x70, + 0xa7, 0xcb, 0x48, 0xc8, 0x65, 0xd4, 0x12, 0xf0, 0x05, 0xf8, 0x02, 0x7c, 0x11, 0x9e, 0x33, 0x03, + 0xdb, 0xe1, 0x8e, 0xf5, 0x3d, 0x24, 0x01, 0x18, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, 0x40, 0x8a, + 0xd9, 0x53, 0xaa, 0x51, 0x30, 0xf4, 0x29, 0xd0, 0x38, 0x1e, 0x58, 0x06, 0x2c, 0x03, 0x96, 0x81, + 0x14, 0x03, 0x29, 0x06, 0x1c, 0x03, 0x29, 0x06, 0xd0, 0xa2, 0x1b, 0x5a, 0xa8, 0xa4, 0x98, 0x49, + 0x4b, 0xc0, 0x17, 0xe0, 0x0b, 0xf0, 0x05, 0x52, 0x0c, 0xa4, 0x18, 0x20, 0x0c, 0xa4, 0x18, 0x50, + 0x8d, 0x2a, 0xd5, 0x68, 0x7d, 0x85, 0xbb, 0xe6, 0x79, 0x3e, 0x37, 0x07, 0x43, 0x22, 0xf7, 0x26, + 0x77, 0x68, 0xbd, 0xb2, 0xae, 0xd9, 0x33, 0xf9, 0xeb, 0xc0, 0x61, 0x1e, 0xfa, 0x3d, 0xe6, 0x59, + 0x43, 0x12, 0x31, 0x7a, 0xae, 0xc9, 0x3b, 0x7e, 0xd0, 0x3d, 0xb4, 0xfc, 0x6e, 0xcf, 0xf7, 0x98, + 0xc7, 0xc3, 0xe9, 0x8f, 0x87, 0x33, 0x6f, 0xb5, 0x1f, 0x86, 0xdc, 0xe4, 0xec, 0x50, 0xbe, 0xf2, + 0xc1, 0xe8, 0x46, 0x78, 0xd0, 0xb7, 0xb8, 0x37, 0x29, 0xa1, 0x13, 0xdd, 0x47, 0x63, 0x7c, 0x1b, + 0xed, 0xcb, 0xe8, 0x36, 0xa6, 0x3f, 0xb6, 0x5b, 0xd3, 0xdb, 0x68, 0x37, 0x07, 0xb7, 0xd1, 0xbe, + 0x1e, 0xdc, 0x46, 0x63, 0x78, 0x17, 0x29, 0xa8, 0x29, 0xe1, 0x9a, 0x21, 0x0b, 0x8c, 0x67, 0xc7, + 0x0c, 0x0d, 0xab, 0x1f, 0x04, 0x4c, 0xe2, 0xf5, 0xb3, 0x28, 0xc0, 0xae, 0x68, 0x0b, 0x15, 0x26, + 0xf4, 0x83, 0x28, 0x2a, 0x4c, 0x28, 0xb8, 0x27, 0x54, 0x98, 0x40, 0x36, 0x87, 0x6c, 0x2e, 0x83, + 0xd9, 0x1c, 0xc4, 0xe8, 0xcc, 0x65, 0x72, 0x10, 0xa3, 0x77, 0x9e, 0xc9, 0x41, 0x8c, 0xce, 0x4f, + 0xda, 0x86, 0x0a, 0x13, 0x80, 0x17, 0xc0, 0x0b, 0xe0, 0x05, 0xf0, 0x02, 0x78, 0x01, 0xbc, 0x00, + 0x5e, 0xf2, 0x0f, 0x2f, 0xa8, 0x30, 0x01, 0x7c, 0x01, 0xbe, 0xa0, 0xc2, 0xc4, 0x6c, 0x13, 0x58, + 0x4b, 0xd7, 0xef, 0xb1, 0x00, 0x31, 0xe9, 0x1d, 0x02, 0xac, 0xa5, 0x67, 0x9d, 0x6b, 0x50, 0x61, + 0x02, 0x34, 0x03, 0x9a, 0x81, 0x18, 0x03, 0x31, 0x06, 0x62, 0x0c, 0xc4, 0x18, 0x40, 0x4b, 0x56, + 0xa0, 0x05, 0x15, 0x26, 0x80, 0x2f, 0xc0, 0x17, 0xbc, 0xd6, 0x00, 0x29, 0x06, 0x52, 0x0c, 0xa4, + 0x18, 0x48, 0x31, 0x79, 0xa0, 0x1a, 0x54, 0x98, 0x00, 0xcb, 0x80, 0x65, 0x20, 0xc5, 0x40, 0x8a, + 0x81, 0x14, 0x03, 0x29, 0x06, 0xd0, 0x92, 0x11, 0x68, 0x41, 0x85, 0x09, 0xe0, 0x0b, 0xf0, 0x05, + 0x52, 0x0c, 0xa4, 0x18, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, 0xa4, 0x8d, 0x6a, 0xf6, 0xa4, 0xc2, + 0x84, 0x72, 0x01, 0x84, 0x02, 0x65, 0xa1, 0x89, 0x9b, 0xc1, 0xdd, 0x5c, 0x38, 0x66, 0x78, 0x39, + 0xbe, 0x97, 0x14, 0x94, 0x9b, 0xf0, 0xb9, 0x67, 0x0c, 0x7a, 0xd0, 0x75, 0x4c, 0xcf, 0x62, 0x86, + 0xe5, 0xdb, 0x4c, 0xbe, 0xde, 0xc4, 0xaa, 0xc6, 0xe4, 0x0a, 0x4e, 0x94, 0x50, 0x70, 0x62, 0x17, + 0x3c, 0xba, 0x8f, 0x05, 0x27, 0xa4, 0x69, 0x73, 0xfa, 0xf6, 0x82, 0xcd, 0x3c, 0xee, 0xf0, 0xf7, + 0x80, 0x75, 0x64, 0x06, 0x7f, 0x22, 0x8f, 0x49, 0xc4, 0xc3, 0xe2, 0xf5, 0xf8, 0xab, 0x2f, 0xcc, + 0x90, 0x20, 0xdd, 0xbc, 0x6f, 0xdd, 0xb5, 0x6b, 0x8d, 0xc6, 0xcd, 0xf5, 0x65, 0xad, 0x75, 0x7d, + 0x7f, 0xd7, 0xbe, 0xbc, 0xbf, 0xaa, 0xcb, 0xce, 0xa4, 0x61, 0xe0, 0x0f, 0x95, 0x08, 0x55, 0x31, + 0x49, 0x9b, 0x3c, 0x55, 0xa3, 0x7c, 0x53, 0x6e, 0x57, 0xae, 0x2a, 0x0a, 0xe9, 0xcf, 0x87, 0x5d, + 0x3f, 0xc3, 0x60, 0x64, 0xbe, 0xdd, 0x5d, 0xd5, 0x3f, 0x5f, 0xdf, 0xd5, 0xaf, 0xb2, 0xfc, 0x20, + 0xe3, 0xc1, 0x28, 0x67, 0xfb, 0x19, 0x9a, 0xaa, 0x13, 0xea, 0x20, 0x19, 0x3a, 0xfc, 0x99, 0x06, + 0xc2, 0xe8, 0xf3, 0x69, 0x99, 0x2f, 0x79, 0xb4, 0x98, 0x6d, 0x05, 0x45, 0xac, 0xc0, 0x14, 0x28, + 0x62, 0xb5, 0x76, 0xee, 0xa0, 0x88, 0x15, 0x04, 0x63, 0x65, 0xe3, 0xc2, 0x7a, 0xb7, 0xaa, 0x84, + 0x86, 0xf5, 0xee, 0x65, 0xa5, 0x12, 0xeb, 0xdd, 0x4a, 0xc2, 0x22, 0xd6, 0xbb, 0x77, 0x3e, 0x04, + 0x58, 0xef, 0x5e, 0xea, 0x66, 0x14, 0xb1, 0x02, 0xbc, 0x00, 0x5e, 0x00, 0x2f, 0x80, 0x17, 0xc0, + 0x0b, 0xe0, 0x05, 0xf0, 0x92, 0x31, 0x78, 0x41, 0x11, 0x2b, 0xe0, 0x0b, 0xf0, 0x05, 0x45, 0xac, + 0x66, 0x9b, 0xc0, 0x76, 0x3d, 0xfd, 0x1e, 0x0b, 0x10, 0x93, 0xde, 0x21, 0xc0, 0x76, 0xbd, 0xac, + 0x73, 0x0d, 0x8a, 0x58, 0x81, 0x66, 0x40, 0x33, 0x10, 0x63, 0x20, 0xc6, 0x40, 0x8c, 0x81, 0x18, + 0x03, 0x68, 0xc9, 0x0a, 0xb4, 0xa0, 0x88, 0x15, 0xf0, 0x05, 0xf8, 0x82, 0x37, 0x27, 0x21, 0xc5, + 0x40, 0x8a, 0x81, 0x14, 0x03, 0x29, 0x26, 0x0f, 0x54, 0x83, 0x22, 0x56, 0x60, 0x19, 0xb0, 0x0c, + 0xa4, 0x18, 0x48, 0x31, 0x90, 0x62, 0x20, 0xc5, 0x00, 0x5a, 0x32, 0x02, 0x2d, 0x28, 0x62, 0x05, + 0x7c, 0x01, 0xbe, 0x40, 0x8a, 0x81, 0x14, 0x03, 0x29, 0x06, 0x52, 0x0c, 0xa4, 0x98, 0xb4, 0x51, + 0xcd, 0x9e, 0x14, 0xb1, 0x52, 0x28, 0x7d, 0x50, 0xa0, 0x2c, 0x5f, 0x75, 0x3f, 0xbc, 0x8f, 0xc6, + 0xf0, 0x36, 0x52, 0x50, 0x57, 0xa2, 0xe7, 0x87, 0xdc, 0xe8, 0x30, 0xcb, 0x78, 0x56, 0xa9, 0x2b, + 0x31, 0xd7, 0x0a, 0xea, 0x4a, 0xe8, 0xc7, 0x4f, 0xd4, 0x95, 0x50, 0x70, 0x4a, 0xa8, 0x2b, 0x91, + 0x8e, 0x1c, 0xce, 0xef, 0x71, 0xe4, 0x71, 0xd2, 0x06, 0x36, 0xed, 0x3d, 0x48, 0xd1, 0x0a, 0xc6, + 0x44, 0x2b, 0x45, 0x97, 0xcf, 0x90, 0xc8, 0xad, 0xee, 0x67, 0x68, 0xd1, 0x3b, 0x4f, 0xe4, 0xa0, + 0x45, 0xe7, 0x27, 0x6b, 0x43, 0x81, 0x09, 0x50, 0x0c, 0x28, 0x06, 0x14, 0x03, 0x8a, 0x01, 0xc5, + 0x80, 0x62, 0x40, 0x31, 0x7b, 0x44, 0x31, 0xa8, 0x34, 0xa1, 0x85, 0x63, 0xc0, 0x30, 0xb2, 0x0c, + 0x83, 0x4a, 0x13, 0xa8, 0x34, 0x91, 0x25, 0x88, 0xc1, 0x9a, 0xfa, 0xce, 0x21, 0x06, 0x6b, 0xea, + 0xe0, 0x9a, 0xf9, 0x6e, 0x46, 0xa5, 0x09, 0xa8, 0x32, 0x50, 0x65, 0xa0, 0xca, 0x40, 0x95, 0x81, + 0x2a, 0x03, 0x55, 0x06, 0xaa, 0x4c, 0xe6, 0xe8, 0x05, 0x25, 0x27, 0xa0, 0xca, 0x40, 0x95, 0xc1, + 0x7b, 0x0e, 0xd0, 0x64, 0xa0, 0xc9, 0x40, 0x93, 0x81, 0x26, 0x93, 0x07, 0xaa, 0x41, 0xc9, 0x09, + 0x68, 0x32, 0xd0, 0x64, 0xa0, 0xc9, 0x40, 0x93, 0x81, 0x26, 0x03, 0x4d, 0x06, 0x9a, 0x4c, 0xd6, + 0xe8, 0x05, 0xb5, 0x27, 0xa0, 0xc9, 0x40, 0x93, 0x81, 0x26, 0x03, 0x4d, 0x06, 0x9a, 0x0c, 0x34, + 0x19, 0x68, 0x32, 0x69, 0xa3, 0x9a, 0x3d, 0xa9, 0x3d, 0xa1, 0x50, 0x1e, 0xa1, 0x40, 0x59, 0x7b, + 0xa2, 0xe1, 0x87, 0xfc, 0x33, 0xb3, 0x2e, 0x52, 0x52, 0x7a, 0x22, 0x60, 0x04, 0x95, 0x27, 0x66, + 0x1a, 0x41, 0xe1, 0x09, 0xfd, 0xec, 0x89, 0xc2, 0x13, 0x0a, 0x1e, 0x09, 0x85, 0x27, 0x20, 0x44, + 0x67, 0x3f, 0x89, 0x83, 0x10, 0x0d, 0x21, 0x3a, 0x43, 0x59, 0x1c, 0x84, 0xe8, 0x9d, 0x67, 0x71, + 0x10, 0xa2, 0xf3, 0x93, 0xb2, 0xa1, 0xf0, 0x04, 0x28, 0x06, 0x14, 0x03, 0x8a, 0x01, 0xc5, 0x80, + 0x62, 0x40, 0x31, 0xa0, 0x98, 0x3d, 0xa2, 0x18, 0x14, 0x9e, 0xd0, 0xc2, 0x31, 0x60, 0x18, 0x59, + 0x86, 0x41, 0xe1, 0x09, 0x14, 0x9e, 0xc8, 0x12, 0xc4, 0x60, 0x41, 0x7d, 0xe7, 0x10, 0x83, 0x05, + 0x75, 0x70, 0xcd, 0x7c, 0x37, 0xa3, 0xf0, 0x04, 0x54, 0x19, 0xa8, 0x32, 0x50, 0x65, 0xa0, 0xca, + 0x40, 0x95, 0x81, 0x2a, 0x03, 0x55, 0x26, 0x73, 0xf4, 0x82, 0xc2, 0x13, 0x50, 0x65, 0xa0, 0xca, + 0xe0, 0x25, 0x07, 0x68, 0x32, 0xd0, 0x64, 0xa0, 0xc9, 0x40, 0x93, 0xc9, 0x03, 0xd5, 0xa0, 0xf0, + 0x04, 0x34, 0x19, 0x68, 0x32, 0xd0, 0x64, 0xa0, 0xc9, 0x40, 0x93, 0x81, 0x26, 0x03, 0x4d, 0x26, + 0x6b, 0xf4, 0x82, 0xc2, 0x13, 0xd0, 0x64, 0xa0, 0xc9, 0x40, 0x93, 0x81, 0x26, 0x03, 0x4d, 0x06, + 0x9a, 0x0c, 0x34, 0x99, 0xb4, 0x51, 0xcd, 0xbe, 0x14, 0x9e, 0x90, 0xae, 0x8e, 0x50, 0x20, 0xad, + 0x3b, 0x11, 0xb0, 0x54, 0x95, 0x9d, 0x08, 0x99, 0xc4, 0xdb, 0x68, 0xb3, 0x25, 0x27, 0x86, 0x0d, + 0xc8, 0x95, 0x9b, 0x28, 0xa1, 0xdc, 0xc4, 0x2e, 0x48, 0x73, 0x1f, 0xcb, 0x4d, 0x48, 0x73, 0x64, + 0x34, 0xfe, 0xcc, 0xeb, 0x77, 0x59, 0x30, 0x72, 0x65, 0x12, 0x83, 0x3f, 0x51, 0xbe, 0xaa, 0x12, + 0xd7, 0xd6, 0xbd, 0x7e, 0x77, 0x70, 0xf3, 0x3f, 0x53, 0xe0, 0x32, 0x42, 0x16, 0x38, 0xa6, 0x6b, + 0x78, 0xbe, 0xbc, 0xd3, 0x98, 0x36, 0x01, 0xb7, 0x01, 0xb7, 0x91, 0x73, 0xb7, 0x11, 0xf2, 0xc0, + 0xf1, 0x5e, 0x54, 0x3c, 0x86, 0x44, 0xaa, 0x59, 0xbc, 0x61, 0xde, 0xcb, 0x10, 0x99, 0xe4, 0x72, + 0x42, 0x85, 0x74, 0x9b, 0x22, 0x07, 0x24, 0x4a, 0x3c, 0xa6, 0x09, 0x87, 0x62, 0x3b, 0x84, 0x59, + 0x85, 0x42, 0x8e, 0x47, 0x92, 0xdb, 0x91, 0x77, 0xed, 0x49, 0x8a, 0xfa, 0x36, 0xa1, 0x8c, 0xe9, + 0x29, 0x0d, 0x61, 0xd8, 0xf7, 0x18, 0x37, 0x42, 0xfb, 0xd5, 0x18, 0xe4, 0x3c, 0xae, 0x63, 0x7a, + 0x16, 0x33, 0x2c, 0xdf, 0x66, 0x0a, 0x61, 0x79, 0x6d, 0x93, 0x08, 0xd3, 0x08, 0xd3, 0x39, 0x0f, + 0xd3, 0x8e, 0xcd, 0x3c, 0xee, 0xf0, 0xf7, 0x80, 0x75, 0x54, 0x62, 0xb5, 0x84, 0x8e, 0x55, 0xbc, + 0x1e, 0x7f, 0xf5, 0x85, 0x19, 0x12, 0x2c, 0x13, 0x35, 0xef, 0xef, 0xea, 0xad, 0x76, 0xad, 0xd1, + 0xb8, 0xb9, 0xbe, 0xac, 0xb5, 0xae, 0xef, 0xef, 0xda, 0x97, 0xf7, 0x57, 0x75, 0xd9, 0xb9, 0x34, + 0x74, 0xf3, 0xa1, 0x92, 0xb6, 0xac, 0x18, 0xaf, 0xe6, 0x9f, 0xeb, 0xdb, 0xdd, 0x55, 0xfd, 0xf3, + 0xf5, 0x5d, 0xfd, 0xaa, 0xb8, 0x8b, 0x08, 0x4c, 0xf4, 0x28, 0xff, 0x6c, 0x3e, 0x54, 0x4a, 0xa5, + 0x52, 0xfb, 0xe8, 0xe1, 0x28, 0x1f, 0x8f, 0x71, 0x9c, 0x8f, 0xc7, 0xa8, 0x24, 0xbd, 0x28, 0xf6, + 0xa4, 0xdb, 0x8d, 0x6a, 0x41, 0x8f, 0x37, 0xe6, 0xd9, 0xbe, 0x42, 0x99, 0xda, 0xf1, 0xf5, 0x80, + 0x0a, 0x40, 0x05, 0x72, 0x7f, 0xe4, 0xfe, 0xc8, 0xfd, 0x91, 0xfb, 0x23, 0xf7, 0x17, 0x0f, 0xc0, + 0x46, 0xcf, 0x0c, 0xb8, 0x6a, 0x14, 0x1e, 0x35, 0x82, 0x50, 0x8c, 0x50, 0x8c, 0x50, 0x8c, 0x50, + 0x8c, 0x50, 0x8c, 0x50, 0x8c, 0x50, 0x2c, 0x11, 0x8a, 0x03, 0xf6, 0xa6, 0x1c, 0x89, 0x07, 0x6d, + 0x20, 0x10, 0x23, 0x10, 0x23, 0x10, 0x23, 0x10, 0x23, 0x10, 0x67, 0x35, 0x10, 0x57, 0x10, 0x87, + 0xc9, 0xe2, 0xf0, 0x01, 0xe1, 0x04, 0x92, 0xdd, 0x88, 0x4c, 0xb7, 0x01, 0xb9, 0x28, 0xb2, 0xba, + 0x4f, 0xb3, 0xd9, 0x38, 0x5e, 0xf4, 0xd8, 0xde, 0xcf, 0x9b, 0x3f, 0xb1, 0x65, 0x04, 0x44, 0x7b, + 0x9e, 0xa2, 0xc7, 0x63, 0xf4, 0xb5, 0x7a, 0x1f, 0x6f, 0xee, 0xdd, 0xf5, 0x7d, 0xb6, 0xfa, 0x5f, + 0xd6, 0xf4, 0xe2, 0x80, 0x56, 0x46, 0xaf, 0x0a, 0xad, 0x7d, 0xf3, 0xaf, 0x78, 0xe3, 0x84, 0xbc, + 0xc6, 0xf9, 0xe6, 0x25, 0x99, 0x41, 0x20, 0xaa, 0xbb, 0x6c, 0x80, 0x19, 0x03, 0xb7, 0xe2, 0xf5, + 0x5d, 0xf7, 0xc3, 0xc1, 0x26, 0xd7, 0x1a, 0xff, 0xc3, 0xf7, 0x81, 0xcd, 0x02, 0x66, 0x5f, 0xbc, + 0x8f, 0x3f, 0x2a, 0xf4, 0x7c, 0xb5, 0xfe, 0xcb, 0xe0, 0x6b, 0x98, 0xbd, 0x31, 0x38, 0x6f, 0x9e, + 0x36, 0x11, 0x5c, 0x1c, 0xfa, 0x56, 0x34, 0x49, 0x3e, 0xcd, 0x4c, 0x92, 0x95, 0xbf, 0xde, 0x32, + 0x49, 0x8a, 0x57, 0x2c, 0xb4, 0x02, 0xa7, 0x37, 0x9e, 0xb8, 0xc5, 0x9a, 0x6d, 0x3b, 0xde, 0x4b, + 0xc1, 0xef, 0x71, 0xc7, 0x32, 0xdd, 0x82, 0xf5, 0x6a, 0x7a, 0x1e, 0x73, 0x0b, 0xb6, 0xc9, 0xcd, + 0x02, 0xf7, 0x0b, 0xbd, 0xd7, 0xf7, 0x70, 0xf8, 0x0f, 0x8e, 0xf7, 0xc6, 0x3c, 0xee, 0x07, 0xef, + 0xdb, 0xda, 0x8f, 0x77, 0xe6, 0x62, 0x6c, 0x5a, 0x17, 0xa1, 0xf3, 0xa5, 0x82, 0x10, 0x2c, 0xe8, + 0xc6, 0xb1, 0x19, 0x41, 0xf4, 0x96, 0x46, 0x6d, 0x69, 0xb4, 0x5e, 0x59, 0xaf, 0x61, 0xf0, 0x70, + 0x9a, 0x7d, 0x5c, 0xdc, 0xd3, 0x0c, 0x8b, 0xe3, 0xe9, 0x63, 0x8c, 0xa7, 0x4f, 0xfc, 0xae, 0x8c, + 0x46, 0x6c, 0xa1, 0x81, 0x98, 0xfd, 0xb2, 0x30, 0x99, 0xeb, 0x9e, 0xe5, 0xfa, 0xe1, 0x60, 0x3e, + 0x5b, 0xbe, 0xc7, 0x4d, 0xc7, 0x63, 0x41, 0xa1, 0xe3, 0x07, 0x05, 0xfe, 0xca, 0x0a, 0xae, 0x13, + 0xf2, 0x82, 0xdf, 0x59, 0x9c, 0xe9, 0x71, 0x5f, 0x51, 0x14, 0x3c, 0x4b, 0x54, 0x38, 0x1b, 0x95, + 0xc9, 0x42, 0x25, 0xe7, 0xbb, 0x6a, 0xca, 0xa9, 0x9c, 0x6a, 0x2a, 0xa7, 0x98, 0xf2, 0xf6, 0x20, + 0x48, 0x61, 0xaa, 0xf6, 0x75, 0x20, 0x61, 0x79, 0xe9, 0x09, 0x0a, 0x33, 0xe8, 0x91, 0xfd, 0x80, + 0x20, 0xc8, 0x51, 0x99, 0x8b, 0x09, 0x42, 0xf2, 0x4a, 0x42, 0x61, 0x61, 0xf6, 0x9e, 0x84, 0x43, + 0x82, 0xb8, 0x9e, 0xb6, 0x38, 0x8d, 0x5b, 0x7e, 0xcf, 0x70, 0xd9, 0x1b, 0x73, 0x17, 0xc2, 0x81, + 0xe5, 0x3a, 0xcc, 0xe3, 0x85, 0x9e, 0x1f, 0xf0, 0xa5, 0x39, 0x9e, 0x93, 0x70, 0x20, 0x27, 0x46, + 0xe6, 0x27, 0x22, 0x48, 0x89, 0x8d, 0x3b, 0x0f, 0x0a, 0x2b, 0xff, 0xe5, 0x69, 0x5d, 0x8a, 0x11, + 0x2f, 0x01, 0x95, 0x4d, 0x3c, 0x37, 0x8c, 0xa0, 0x5c, 0x92, 0xb9, 0x7a, 0x1c, 0x96, 0x9f, 0x79, + 0xfe, 0x37, 0x0b, 0xbe, 0x68, 0xdb, 0x53, 0x8b, 0x3d, 0xed, 0x8a, 0x67, 0x14, 0x79, 0xb6, 0xf9, + 0x27, 0x9a, 0xde, 0xf7, 0xcc, 0x3d, 0x8f, 0x4e, 0x82, 0xea, 0x98, 0xd6, 0x70, 0xbb, 0xf1, 0xfc, + 0xfd, 0xce, 0x9f, 0x16, 0x35, 0xfa, 0xcc, 0xc2, 0xd3, 0xae, 0xf6, 0x32, 0x6b, 0xbd, 0xc9, 0x26, + 0xaf, 0x31, 0xeb, 0x1d, 0x9c, 0x55, 0xbb, 0xc1, 0xb7, 0x19, 0x7f, 0x6c, 0x23, 0x8f, 0x6d, 0xcc, + 0x8b, 0x46, 0xeb, 0x74, 0x8a, 0x82, 0xb3, 0x61, 0x5d, 0x24, 0x9a, 0x76, 0xe9, 0xfa, 0xc7, 0x59, + 0xea, 0xfd, 0x75, 0x8f, 0xb3, 0xd9, 0xd5, 0x6f, 0x75, 0xed, 0x71, 0x5c, 0xf9, 0xd6, 0xc1, 0x11, + 0xf5, 0xd0, 0xc2, 0x1e, 0x59, 0xd8, 0x03, 0xc7, 0x19, 0x3c, 0x39, 0x6d, 0x68, 0x1b, 0x5e, 0x14, + 0xad, 0x49, 0x8f, 0xc7, 0x44, 0xe5, 0xf1, 0xe7, 0xb3, 0xc1, 0xa9, 0x4e, 0x27, 0x97, 0x78, 0xba, + 0x69, 0x7a, 0x24, 0x4c, 0xa5, 0xf6, 0x1c, 0x25, 0x0a, 0x52, 0xe9, 0xec, 0xc5, 0x62, 0xa8, 0x58, + 0x4a, 0x29, 0x2a, 0x3a, 0x9d, 0xbd, 0x24, 0xc4, 0x38, 0x13, 0x52, 0xcf, 0x9a, 0x8d, 0xf0, 0x6a, + 0xb3, 0xfc, 0x2a, 0xf3, 0x74, 0x75, 0x99, 0x0a, 0x6d, 0x63, 0xf8, 0x26, 0xe6, 0x99, 0xcf, 0xee, + 0x50, 0xf9, 0x16, 0xb4, 0xad, 0xc9, 0x85, 0xb1, 0xb3, 0xbd, 0x8e, 0xd9, 0x77, 0xf9, 0x28, 0x57, + 0xec, 0x33, 0x98, 0x23, 0xcc, 0x31, 0x59, 0x73, 0x7c, 0xf6, 0x7d, 0x97, 0x99, 0x9e, 0x8c, 0x3d, + 0x96, 0x13, 0xb4, 0x47, 0xd7, 0xf7, 0x7b, 0xcf, 0xa6, 0xf5, 0xdd, 0xe8, 0x8a, 0xbc, 0x48, 0x1d, + 0x3d, 0xe5, 0xfc, 0xe5, 0xe2, 0xb6, 0xd9, 0x31, 0xdd, 0x10, 0xc6, 0x09, 0xe3, 0x84, 0x71, 0xae, + 0xfa, 0xce, 0x2e, 0xef, 0x8b, 0x9b, 0xe4, 0xe0, 0x22, 0x18, 0x14, 0x0c, 0x2a, 0x51, 0x83, 0xea, + 0x3b, 0x1e, 0x2f, 0x9f, 0x48, 0xd8, 0x93, 0xc0, 0x26, 0x6e, 0xc9, 0xa2, 0xaf, 0x12, 0x1b, 0x37, + 0x55, 0x36, 0x30, 0xaa, 0x16, 0x9d, 0x56, 0x2c, 0xda, 0x4a, 0xb1, 0x9b, 0x4e, 0xa6, 0xe8, 0xb7, + 0xca, 0xc6, 0x44, 0xaa, 0x2e, 0x3b, 0x39, 0x3e, 0x3e, 0x3a, 0xde, 0x61, 0xb7, 0x69, 0xda, 0x14, + 0xf8, 0x94, 0x60, 0xc4, 0x19, 0x4b, 0xdb, 0x82, 0x21, 0x67, 0xc3, 0x4e, 0x2d, 0xc4, 0x1c, 0xc4, + 0x9c, 0xbd, 0x16, 0x3c, 0xb8, 0xc8, 0xf3, 0x4d, 0xd7, 0xb7, 0x07, 0x57, 0xc1, 0xa2, 0x60, 0x51, + 0x89, 0x5a, 0x94, 0x5c, 0x45, 0x28, 0x99, 0x4a, 0x50, 0x6a, 0x15, 0xa0, 0x96, 0x97, 0xe7, 0x86, + 0x27, 0x3c, 0xa4, 0x6e, 0x31, 0x7f, 0xcb, 0xa2, 0x44, 0xfd, 0x07, 0x8f, 0x57, 0x67, 0x4a, 0x7c, + 0x1d, 0xc7, 0xb7, 0x0c, 0xf6, 0x83, 0x7f, 0xe2, 0xcc, 0x65, 0x5d, 0xc6, 0x83, 0x77, 0xc3, 0xf7, + 0x86, 0xdb, 0x27, 0x5f, 0x98, 0xdc, 0xda, 0xce, 0x50, 0xa7, 0x91, 0x58, 0xdc, 0x51, 0x5d, 0xd7, + 0x79, 0x4a, 0x6c, 0xa3, 0xfd, 0x74, 0x9d, 0xfd, 0x70, 0xd5, 0x8f, 0x87, 0xb1, 0xd6, 0x09, 0x0b, + 0x9b, 0x36, 0x09, 0x5c, 0x47, 0xcd, 0xb6, 0x57, 0xfd, 0xd8, 0x1e, 0x3b, 0x66, 0xfa, 0x4d, 0x83, + 0x45, 0xc6, 0x5f, 0x59, 0xe0, 0x31, 0x1e, 0x7f, 0x55, 0x34, 0xba, 0x22, 0x1b, 0xeb, 0xa2, 0x8c, + 0xbf, 0xe6, 0x72, 0x61, 0x74, 0xf0, 0x5c, 0x69, 0x59, 0x19, 0x8d, 0xb9, 0xb0, 0xbe, 0x34, 0x3c, + 0xb1, 0x0d, 0xa7, 0x90, 0x81, 0xad, 0x73, 0xf1, 0x26, 0x5a, 0xfe, 0x68, 0x26, 0xd6, 0x44, 0xd4, + 0x83, 0x33, 0x71, 0x27, 0x68, 0x74, 0x81, 0xd9, 0xe7, 0xbe, 0xe1, 0xb1, 0x17, 0x9f, 0x3b, 0x26, + 0x57, 0x80, 0x8b, 0x85, 0x76, 0x04, 0x3b, 0x50, 0x6e, 0x01, 0x52, 0x51, 0x12, 0xd9, 0xf9, 0x7b, + 0xee, 0x62, 0xf6, 0xa1, 0x6a, 0x27, 0x64, 0xf6, 0x42, 0x66, 0x37, 0x24, 0xf6, 0x23, 0x29, 0x28, + 0x25, 0xfe, 0x5e, 0xbb, 0xf8, 0x2a, 0xca, 0x92, 0x9b, 0x2f, 0xa7, 0xa0, 0xa0, 0x85, 0xdd, 0xef, + 0xb9, 0xec, 0x87, 0xd8, 0x02, 0xe8, 0x52, 0x5f, 0xcc, 0x36, 0x02, 0x53, 0x87, 0xa9, 0xe7, 0xcc, + 0xd4, 0x71, 0x12, 0x4c, 0x61, 0xba, 0x7b, 0xc9, 0xe8, 0xb8, 0xfe, 0x5f, 0x86, 0xe5, 0x7b, 0x3c, + 0xf0, 0x5d, 0x79, 0x97, 0xb1, 0xaa, 0x31, 0x79, 0xc8, 0x10, 0xd9, 0x49, 0x01, 0xd7, 0x03, 0xd7, + 0x03, 0xca, 0x48, 0xd6, 0x75, 0x74, 0x4d, 0xcb, 0x30, 0x6d, 0x3b, 0x60, 0x61, 0x28, 0xef, 0x32, + 0x66, 0x1b, 0x81, 0xa9, 0xc3, 0xd4, 0x73, 0x66, 0xea, 0xf2, 0xd3, 0xbb, 0xa0, 0x5a, 0x2d, 0xab, + 0x61, 0x72, 0xce, 0x02, 0x4f, 0xba, 0x5c, 0x56, 0xf1, 0xbf, 0xff, 0x2c, 0x19, 0xe7, 0xa6, 0xd1, + 0xa9, 0x19, 0x9f, 0x9f, 0xfe, 0xae, 0xfc, 0xfc, 0xe5, 0xd3, 0xfc, 0xdf, 0x7f, 0xfd, 0xfb, 0xf8, + 0xe7, 0x7f, 0x14, 0x33, 0x59, 0xf0, 0xaf, 0xe7, 0x07, 0xdc, 0x08, 0x7b, 0x4c, 0x60, 0xd7, 0xf6, + 0xd2, 0xc8, 0xce, 0xb4, 0x01, 0xbf, 0x05, 0xbf, 0x95, 0x33, 0xbf, 0x95, 0x9b, 0x93, 0x74, 0xea, + 0xad, 0xaf, 0xf5, 0x87, 0xbb, 0x7a, 0xab, 0xdd, 0x6c, 0xd4, 0xeb, 0x57, 0x39, 0x38, 0x41, 0x67, + 0xf0, 0x18, 0xed, 0x72, 0xa9, 0xf4, 0xe5, 0x22, 0xcb, 0xe7, 0xb5, 0x8c, 0x1e, 0xe3, 0x38, 0x17, + 0x4f, 0x51, 0x2e, 0x95, 0x6e, 0xf3, 0xf0, 0x18, 0x79, 0x18, 0x8b, 0xca, 0x71, 0x3e, 0x66, 0x54, + 0x2e, 0x26, 0x54, 0x2e, 0xac, 0xfb, 0xdb, 0xdd, 0x6f, 0x77, 0xf7, 0xbf, 0xdf, 0xe5, 0xc0, 0xd9, + 0xe6, 0xc3, 0xbe, 0xf3, 0xe1, 0x6c, 0xab, 0x6a, 0xb6, 0x91, 0xf5, 0x83, 0xca, 0x52, 0x5e, 0x14, + 0x76, 0xdb, 0xce, 0xa9, 0xc9, 0x5e, 0xa2, 0x43, 0xa1, 0x9d, 0x20, 0x05, 0x95, 0xad, 0x54, 0xf5, + 0xf1, 0x57, 0xc6, 0xda, 0x53, 0x15, 0xbf, 0x9f, 0x7f, 0xc6, 0xda, 0xfd, 0x25, 0xb2, 0xe9, 0x60, + 0x66, 0x33, 0x73, 0xfc, 0x3d, 0x06, 0xd2, 0x9b, 0x64, 0x2a, 0xd8, 0x24, 0x43, 0x99, 0xe3, 0x62, + 0x93, 0x0c, 0x36, 0xc9, 0x40, 0x1b, 0x82, 0x36, 0xb4, 0x71, 0xbc, 0x73, 0xb2, 0x7c, 0x65, 0xf9, + 0xfd, 0x41, 0x74, 0x55, 0x58, 0xbb, 0x8a, 0x5a, 0x90, 0x33, 0xf2, 0x32, 0x8c, 0x1c, 0x46, 0xae, + 0xc7, 0xc8, 0x45, 0x83, 0x67, 0x74, 0xa1, 0xe3, 0x19, 0x67, 0xa5, 0x4a, 0xf9, 0x7f, 0x8c, 0x4e, + 0x60, 0x76, 0x59, 0xa8, 0xae, 0xbf, 0x2e, 0x36, 0xf8, 0x61, 0x27, 0xef, 0xd3, 0xca, 0x9a, 0x0e, + 0x85, 0x09, 0xd1, 0x99, 0x12, 0x95, 0x49, 0x91, 0x9b, 0x16, 0xb9, 0x89, 0x91, 0x9a, 0x9a, 0x5a, + 0xd6, 0x2c, 0xa9, 0x18, 0xc8, 0xc7, 0xd9, 0x75, 0x61, 0xe6, 0xa4, 0xaa, 0x32, 0x65, 0xc6, 0x06, + 0x74, 0xa6, 0xd0, 0x84, 0x5c, 0xb1, 0x02, 0x5a, 0x19, 0xa5, 0x40, 0x75, 0x1a, 0x13, 0x91, 0x67, + 0x59, 0x6a, 0x4e, 0xb1, 0xd8, 0xc1, 0x52, 0x7b, 0x84, 0x47, 0x09, 0x11, 0x68, 0x60, 0xd3, 0x21, + 0x20, 0x38, 0xb5, 0x49, 0xf7, 0x10, 0x94, 0xcf, 0xaa, 0xd5, 0x93, 0xd3, 0x6a, 0xb5, 0x74, 0x7a, + 0x74, 0x5a, 0x3a, 0x3f, 0x3e, 0x2e, 0x9f, 0x94, 0x8f, 0x53, 0x3c, 0x2a, 0x07, 0xbb, 0xb9, 0xfa, + 0x29, 0xa1, 0x03, 0xa6, 0x64, 0x4a, 0x70, 0x38, 0x9e, 0xf1, 0xec, 0xfa, 0xd6, 0x77, 0x83, 0x05, + 0x81, 0x1f, 0xd0, 0xd0, 0xc8, 0x5c, 0x83, 0xa0, 0x11, 0xd0, 0x08, 0x68, 0x04, 0x34, 0x02, 0x1a, + 0x01, 0x8d, 0x80, 0x46, 0x40, 0x23, 0xdb, 0x68, 0xc4, 0x0a, 0x2c, 0x4a, 0x16, 0x99, 0x69, 0x0e, + 0x24, 0x02, 0x12, 0x01, 0x89, 0x80, 0x44, 0x40, 0x22, 0x20, 0x11, 0x90, 0x08, 0x48, 0x64, 0x1b, + 0x89, 0x74, 0x02, 0x73, 0x78, 0xe4, 0x2e, 0xe5, 0x42, 0xcd, 0x62, 0x9b, 0x60, 0x12, 0x30, 0x09, + 0x98, 0x04, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0xc0, 0x24, 0xdb, 0x98, 0xe4, 0xff, 0x9a, + 0xcf, 0xcf, 0x2c, 0xa0, 0x24, 0x92, 0xf9, 0x16, 0xc1, 0x23, 0xe0, 0x11, 0xf0, 0x08, 0x78, 0x04, + 0x3c, 0x02, 0x1e, 0x01, 0x8f, 0x80, 0x47, 0xb6, 0xf1, 0x48, 0xd7, 0xb4, 0x26, 0x65, 0xc8, 0x28, + 0xa1, 0x64, 0x45, 0xb3, 0x20, 0x13, 0x90, 0x09, 0xc8, 0x04, 0x64, 0x02, 0x32, 0x01, 0x99, 0x80, + 0x4c, 0x40, 0x26, 0x71, 0xc8, 0xa4, 0x67, 0xf6, 0x43, 0x46, 0xcd, 0x25, 0x73, 0x8d, 0x82, 0x4a, + 0x40, 0x25, 0xa0, 0x12, 0x50, 0x09, 0xa8, 0x04, 0x54, 0x02, 0x2a, 0x01, 0x95, 0x6c, 0xa3, 0x12, + 0xff, 0x8d, 0x05, 0xa1, 0xf3, 0x6f, 0x52, 0x28, 0x59, 0x6c, 0x13, 0x4c, 0x02, 0x26, 0x01, 0x93, + 0x80, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x09, 0x98, 0x64, 0x1b, 0x93, 0xf4, 0x3d, 0x9b, 0x1e, + 0x4a, 0x96, 0x1a, 0x05, 0x95, 0x80, 0x4a, 0x40, 0x25, 0xa0, 0x12, 0x50, 0x09, 0xa8, 0x04, 0x54, + 0x02, 0x2a, 0xd9, 0xd8, 0xcd, 0x7e, 0x9f, 0x13, 0x17, 0x49, 0x5b, 0x6a, 0x11, 0x3c, 0x02, 0x1e, + 0x01, 0x8f, 0x80, 0x47, 0xc0, 0x23, 0xe0, 0x11, 0xf0, 0x08, 0x78, 0x64, 0x2b, 0x8f, 0xe8, 0xd8, + 0xea, 0xba, 0xa6, 0x5d, 0xb0, 0x09, 0xd8, 0x04, 0x6c, 0x02, 0x36, 0x01, 0x9b, 0x80, 0x4d, 0xc0, + 0x26, 0x60, 0x93, 0x58, 0x6c, 0x42, 0xbb, 0xd9, 0x75, 0x65, 0xab, 0xe0, 0x12, 0x70, 0x09, 0xb8, + 0x04, 0x5c, 0x02, 0x2e, 0x01, 0x97, 0x80, 0x4b, 0xf6, 0x89, 0x4b, 0xb4, 0x1e, 0xa5, 0x23, 0x79, + 0xba, 0x64, 0x74, 0x3d, 0xc1, 0x29, 0x93, 0xc3, 0x93, 0x14, 0x0f, 0x25, 0x4f, 0x9b, 0x2a, 0x90, + 0x9c, 0x3a, 0xd9, 0x1c, 0xdc, 0x42, 0xfb, 0x72, 0x72, 0x0b, 0x29, 0x38, 0xbe, 0xcb, 0xee, 0xf7, + 0x5c, 0xf6, 0xc3, 0xe8, 0xfa, 0xb6, 0xc2, 0x59, 0x7f, 0xb3, 0x8d, 0xe0, 0xa4, 0x3e, 0x7d, 0x5c, + 0x88, 0x43, 0xbc, 0x76, 0x72, 0x52, 0x1f, 0xf3, 0xfa, 0x5d, 0x16, 0x8c, 0x9c, 0x97, 0xc2, 0x69, + 0x7d, 0x55, 0x89, 0x6b, 0xeb, 0x5e, 0xbf, 0x3b, 0xb8, 0xf9, 0x9f, 0x29, 0x70, 0x15, 0xcc, 0x33, + 0x9f, 0x5d, 0x66, 0x74, 0x5c, 0xff, 0xaf, 0x89, 0x98, 0x2d, 0xef, 0x32, 0x56, 0x35, 0x26, 0x7f, + 0x46, 0x68, 0xc7, 0x74, 0x43, 0xb8, 0x1e, 0xb8, 0x1e, 0x1c, 0x12, 0xba, 0xec, 0x76, 0xd2, 0x70, + 0x48, 0xe8, 0xeb, 0x5f, 0x43, 0xa1, 0xc9, 0xb4, 0xed, 0x80, 0x85, 0x0a, 0x47, 0x85, 0x2e, 0xb4, + 0x03, 0x83, 0x87, 0xc1, 0xe7, 0xcc, 0xe0, 0xe5, 0xa7, 0xf7, 0x9c, 0xd1, 0x4b, 0xc8, 0x48, 0xc5, + 0x86, 0xc9, 0x39, 0x0b, 0x3c, 0x69, 0x01, 0xa9, 0xf8, 0xdf, 0x7f, 0x96, 0x8c, 0x73, 0xd3, 0xe8, + 0xd4, 0x8c, 0xcf, 0x4f, 0x7f, 0x57, 0x7e, 0xfe, 0xf2, 0x69, 0xfe, 0xef, 0xbf, 0xfe, 0x7d, 0xfc, + 0xf3, 0x3f, 0xc4, 0x47, 0xec, 0x29, 0x05, 0xfe, 0x8b, 0xc4, 0x79, 0xc1, 0x73, 0xc1, 0x73, 0xc1, + 0x73, 0xc1, 0x73, 0x25, 0xea, 0xb9, 0x3c, 0xf6, 0xe2, 0x73, 0xc7, 0xe4, 0xcc, 0x36, 0x48, 0xa4, + 0x9e, 0x35, 0xed, 0xc1, 0x9f, 0xc1, 0x9f, 0x41, 0xf5, 0xc9, 0xa3, 0xea, 0x33, 0x63, 0xf0, 0x3d, + 0x3f, 0xe0, 0x46, 0xd8, 0x63, 0xcc, 0x26, 0xf1, 0x1f, 0x33, 0xcd, 0xc1, 0x7d, 0xc0, 0x7d, 0xe4, + 0xcc, 0x7d, 0x38, 0x36, 0xf3, 0xb8, 0xc3, 0xdf, 0x03, 0xd6, 0x51, 0x71, 0x1f, 0x12, 0x0b, 0xa2, + 0xc5, 0xeb, 0xf1, 0x57, 0x5f, 0x98, 0x21, 0x53, 0xdf, 0x25, 0x54, 0x6f, 0x7d, 0xad, 0x3f, 0xdc, + 0xd5, 0x5b, 0xed, 0x66, 0xa3, 0x5e, 0xbf, 0x92, 0x9d, 0x3b, 0xc3, 0x35, 0xdf, 0x50, 0x69, 0x73, + 0x82, 0xe2, 0x5e, 0x9a, 0xc9, 0xf3, 0x0c, 0x1f, 0xa3, 0x5d, 0x2e, 0x95, 0xbe, 0x5c, 0x28, 0x6c, + 0x55, 0xf9, 0x90, 0x8e, 0xc7, 0x38, 0xce, 0xc5, 0x53, 0x94, 0x4b, 0xa5, 0xdb, 0x3c, 0x3c, 0x46, + 0x1e, 0xc6, 0xa2, 0x72, 0x9c, 0x8f, 0x19, 0x95, 0x8b, 0x09, 0x95, 0x0b, 0xeb, 0xfe, 0x76, 0xf7, + 0xdb, 0xdd, 0xfd, 0xef, 0x77, 0x39, 0x70, 0xb6, 0xf9, 0xb0, 0xef, 0x7c, 0x38, 0xdb, 0xaa, 0x9a, + 0x6d, 0x48, 0x5d, 0xf9, 0xa4, 0x9b, 0x52, 0xb5, 0x64, 0x70, 0x14, 0x69, 0x1b, 0x72, 0x35, 0xe4, + 0x6a, 0xc8, 0xd5, 0x90, 0xab, 0x21, 0x57, 0x43, 0xae, 0x86, 0x5c, 0x0d, 0xb9, 0x1a, 0x72, 0x35, + 0xe4, 0x6a, 0xc8, 0xd5, 0x90, 0xab, 0x21, 0x57, 0xa3, 0xfa, 0x64, 0xcc, 0xb1, 0x92, 0x7d, 0x91, + 0x86, 0xec, 0x05, 0x1a, 0x01, 0xa8, 0x24, 0x7a, 0x5f, 0x26, 0xde, 0xcc, 0xd9, 0xde, 0xcb, 0x9b, + 0x3f, 0xb1, 0xa5, 0xff, 0x45, 0xfb, 0x9d, 0xa0, 0xbf, 0x63, 0xf4, 0xb4, 0x72, 0x0f, 0x6f, 0xee, + 0xdb, 0xf5, 0x3d, 0xb6, 0xa1, 0xb7, 0x8a, 0xaf, 0xbe, 0x6b, 0x1b, 0xdc, 0xe9, 0x6e, 0xcf, 0x67, + 0xa6, 0xfb, 0x7a, 0xa3, 0x4b, 0xb6, 0x8c, 0xc2, 0x24, 0xd5, 0xda, 0xf2, 0xb1, 0xb8, 0xea, 0x81, + 0x88, 0x5a, 0x30, 0xab, 0x0e, 0x38, 0x71, 0xf2, 0x44, 0x51, 0x31, 0x40, 0x3a, 0xf9, 0x97, 0x4e, + 0xf6, 0x17, 0x93, 0x7b, 0xa7, 0x53, 0xd4, 0x6c, 0x45, 0x57, 0x4e, 0x10, 0xaf, 0xb3, 0xad, 0xc9, + 0x08, 0xc6, 0xec, 0xbb, 0xe9, 0xbb, 0xd8, 0xc3, 0xeb, 0x62, 0x3e, 0x7f, 0xbc, 0xe9, 0x24, 0x2d, + 0x4a, 0xc9, 0x88, 0x51, 0xc2, 0xd3, 0x4c, 0x55, 0x7b, 0x52, 0xd6, 0x9c, 0x94, 0xb5, 0x26, 0x99, + 0x69, 0xa8, 0x27, 0xb8, 0xc6, 0x9d, 0x9e, 0xd1, 0x05, 0xb6, 0xff, 0x97, 0xa7, 0xf0, 0xde, 0xe4, + 0xe0, 0x6a, 0xf9, 0xb7, 0x9e, 0x4a, 0x7b, 0xa2, 0xc5, 0x3a, 0x1d, 0x48, 0xb1, 0x8a, 0x66, 0x92, + 0x15, 0x25, 0xb6, 0xef, 0x78, 0xfc, 0xa8, 0xa2, 0x20, 0xc2, 0x9e, 0x4a, 0x5c, 0xaa, 0x56, 0x37, + 0x43, 0xa1, 0x80, 0x08, 0x45, 0x9d, 0x0c, 0xa2, 0xe2, 0x0c, 0x54, 0x75, 0x31, 0x28, 0x2b, 0x2f, + 0x28, 0xa4, 0xaf, 0x24, 0xf5, 0x2f, 0xa8, 0xbb, 0xb6, 0x5a, 0x39, 0xaf, 0x9e, 0x9f, 0x9c, 0x56, + 0xce, 0x8f, 0x53, 0xd4, 0xc7, 0x09, 0x55, 0x97, 0x48, 0xc3, 0x5e, 0xf8, 0x7e, 0x4f, 0x3e, 0x54, + 0xf7, 0x7b, 0x08, 0xd4, 0x08, 0xd4, 0x08, 0xd4, 0x08, 0xd4, 0x08, 0xd4, 0x08, 0xd4, 0x08, 0xd4, + 0xe2, 0x81, 0x9a, 0x34, 0x51, 0xaf, 0xff, 0xe0, 0x62, 0x1b, 0x14, 0xe4, 0x35, 0x11, 0xdf, 0x32, + 0xd8, 0x0f, 0xfe, 0x89, 0x33, 0x97, 0x75, 0x19, 0x0f, 0xde, 0x0d, 0xdf, 0x33, 0xac, 0xd7, 0xa1, + 0x27, 0x52, 0xd2, 0x49, 0x86, 0x35, 0x4b, 0x14, 0x84, 0x12, 0x6a, 0x8d, 0xe4, 0x29, 0xb5, 0x0b, + 0x10, 0x91, 0x3a, 0x7c, 0x28, 0xa4, 0xee, 0x15, 0x54, 0x04, 0xf2, 0xaf, 0xbe, 0x6b, 0xb7, 0x9c, + 0x2e, 0x6b, 0x8f, 0x99, 0x8a, 0x6a, 0x0d, 0x22, 0x96, 0xa6, 0x6f, 0x72, 0x26, 0xae, 0x7c, 0x8a, + 0xac, 0xce, 0x48, 0x0b, 0x9f, 0x15, 0x08, 0x9f, 0x10, 0x3e, 0x21, 0x7c, 0x22, 0x9f, 0x42, 0x3e, + 0x85, 0x7c, 0x0a, 0xf9, 0x14, 0xf2, 0x29, 0xe4, 0x53, 0x10, 0x3e, 0x11, 0xa8, 0x11, 0xa8, 0x11, + 0xa8, 0x11, 0xa8, 0x11, 0xa8, 0x11, 0xa8, 0x11, 0xa8, 0xf5, 0x26, 0xea, 0xbb, 0x54, 0xdf, 0x12, + 0xdb, 0xff, 0x1b, 0x89, 0x6f, 0x7b, 0xb9, 0xff, 0x37, 0xee, 0x66, 0x58, 0x92, 0x2e, 0xd6, 0xb1, + 0x01, 0x78, 0x7c, 0x37, 0x31, 0xf7, 0xfe, 0x0e, 0x3f, 0x1d, 0x6f, 0xdb, 0x6f, 0x09, 0xdb, 0x7e, + 0x29, 0xb0, 0x2d, 0xf9, 0x6d, 0xbf, 0xb1, 0xb1, 0x2b, 0xea, 0x6d, 0x97, 0x99, 0x9d, 0x78, 0xaf, + 0xe3, 0x46, 0x5a, 0x76, 0x0c, 0xb0, 0x2a, 0x36, 0xc6, 0xf6, 0xf8, 0xf1, 0xe3, 0x78, 0x2d, 0xe1, + 0x70, 0x38, 0xfd, 0x34, 0x18, 0x41, 0x3c, 0x15, 0x5f, 0x48, 0xbd, 0x17, 0xde, 0xfd, 0x5e, 0x81, + 0x19, 0xa4, 0xca, 0x0c, 0x62, 0xef, 0x7e, 0x37, 0xed, 0xae, 0xe3, 0x19, 0x83, 0x39, 0xd1, 0x0f, + 0xc5, 0x57, 0x82, 0xe6, 0xae, 0x16, 0x5b, 0x10, 0x2a, 0x61, 0x27, 0x3c, 0x16, 0x84, 0xa4, 0x12, + 0x65, 0xc5, 0xba, 0x99, 0x32, 0xf5, 0x32, 0x05, 0xeb, 0x64, 0x62, 0x6f, 0x41, 0xec, 0xa9, 0x47, + 0xbe, 0xb7, 0x80, 0x64, 0x61, 0x3c, 0x3a, 0xba, 0x4b, 0xe2, 0xad, 0x20, 0xa1, 0x43, 0xbf, 0xf0, + 0x5e, 0x10, 0xbc, 0xa1, 0x54, 0xe0, 0x9e, 0x4e, 0x55, 0x33, 0x08, 0x1c, 0x16, 0x18, 0x3c, 0x30, + 0xbd, 0xd0, 0x19, 0xf8, 0x42, 0x85, 0x83, 0x03, 0x56, 0x35, 0x06, 0x5d, 0x1d, 0xba, 0x7a, 0xae, + 0x74, 0x75, 0x95, 0x43, 0x74, 0x15, 0x0e, 0xcf, 0x85, 0xb4, 0x0e, 0x69, 0x3d, 0x91, 0xae, 0xa5, + 0x3f, 0xec, 0x76, 0x0f, 0x44, 0x76, 0x41, 0x2f, 0x24, 0x4c, 0xee, 0x6a, 0x66, 0xac, 0x85, 0xe4, + 0xe9, 0x88, 0x5e, 0x91, 0xec, 0xe5, 0x06, 0xf9, 0x49, 0xcb, 0x06, 0x06, 0xc7, 0x33, 0x9e, 0x03, + 0xdf, 0xb4, 0x2d, 0x33, 0xe4, 0x46, 0xef, 0x3b, 0x57, 0x80, 0xa9, 0xe5, 0xa6, 0x80, 0x52, 0x40, + 0x29, 0xa0, 0x14, 0x50, 0x0a, 0x28, 0x05, 0x94, 0xc2, 0x7e, 0x05, 0xd1, 0xb8, 0x6c, 0x3b, 0xa1, + 0x65, 0x06, 0xb6, 0x5a, 0x44, 0x8e, 0x1a, 0x41, 0x2c, 0x46, 0x2c, 0x46, 0x2c, 0x46, 0x2c, 0x46, + 0x2c, 0x46, 0x2c, 0x46, 0x2c, 0x16, 0x8d, 0xc5, 0x2c, 0x08, 0xfc, 0x40, 0x2d, 0x12, 0x8f, 0x9b, + 0x40, 0x1c, 0x46, 0x1c, 0x46, 0x1c, 0x46, 0x1c, 0x46, 0x1c, 0x46, 0x1c, 0x46, 0x1c, 0x16, 0x8d, + 0xc3, 0x1d, 0x2b, 0xa4, 0x88, 0xc5, 0x33, 0xcd, 0x20, 0x1e, 0x23, 0x1e, 0x23, 0x1e, 0x23, 0x1e, + 0x23, 0x1e, 0x23, 0x1e, 0x23, 0x1e, 0x8b, 0xc6, 0xe3, 0x6e, 0xdf, 0xe5, 0x0e, 0xcd, 0xda, 0xf1, + 0x42, 0x53, 0x88, 0xcb, 0x88, 0xcb, 0x88, 0xcb, 0x88, 0xcb, 0x88, 0xcb, 0x88, 0xcb, 0x88, 0xcb, + 0xa2, 0x71, 0xd9, 0xb7, 0x38, 0x53, 0x8c, 0xc7, 0xe3, 0x26, 0x10, 0x87, 0x11, 0x87, 0x11, 0x87, + 0x11, 0x87, 0x11, 0x87, 0x11, 0x87, 0x11, 0x87, 0x45, 0xe3, 0xb0, 0x72, 0x56, 0x8c, 0x5c, 0x18, + 0x31, 0x18, 0x31, 0x18, 0x31, 0x18, 0x31, 0x18, 0x31, 0x18, 0x31, 0x58, 0x2a, 0x06, 0xf7, 0x3d, + 0x22, 0x85, 0x7a, 0xae, 0x21, 0xc4, 0x64, 0xc4, 0x64, 0xc4, 0x64, 0xc4, 0x64, 0xc4, 0x64, 0xc4, + 0x64, 0xc4, 0x64, 0xf1, 0x98, 0xfc, 0xdd, 0xf3, 0xff, 0xf2, 0x8c, 0x5e, 0xe0, 0x73, 0x5f, 0x35, + 0x2a, 0xcf, 0x35, 0x85, 0xb8, 0x8c, 0xb8, 0x8c, 0xb8, 0x8c, 0xb8, 0x8c, 0xb8, 0x8c, 0xb8, 0x8c, + 0xb8, 0x2c, 0x14, 0x97, 0xdd, 0x41, 0x72, 0x6b, 0xb9, 0xcc, 0x0c, 0xe4, 0x03, 0xf2, 0x4c, 0x1b, + 0x88, 0xc4, 0x88, 0xc4, 0xb9, 0x8a, 0xc4, 0xdc, 0xe9, 0x32, 0xee, 0x58, 0xdf, 0xc3, 0xc4, 0x63, + 0xf1, 0x37, 0x6f, 0xe4, 0xc7, 0x8a, 0x9e, 0xe9, 0xf9, 0x21, 0xb3, 0x7c, 0x4f, 0xf8, 0x8d, 0x7e, + 0xc4, 0x74, 0xc4, 0x74, 0xc4, 0xf4, 0x34, 0xc7, 0x74, 0x94, 0x64, 0x43, 0x49, 0xb6, 0xc1, 0x13, + 0xf8, 0x7d, 0x4e, 0x56, 0x93, 0x6d, 0x45, 0x5b, 0xc0, 0x32, 0x60, 0x19, 0x04, 0x12, 0x08, 0x24, + 0x80, 0x29, 0xc0, 0x14, 0x04, 0x12, 0xe1, 0xc8, 0xac, 0x5e, 0x95, 0x6d, 0xae, 0x15, 0x44, 0x63, + 0x44, 0x63, 0x44, 0x63, 0x44, 0x63, 0x44, 0x63, 0x44, 0x63, 0x44, 0x63, 0xe1, 0x68, 0xac, 0x5a, + 0x0b, 0x66, 0xa6, 0x0d, 0x44, 0x62, 0x44, 0x62, 0x44, 0x62, 0x44, 0x62, 0x44, 0x62, 0x44, 0x62, + 0x44, 0x62, 0xe1, 0x48, 0x4c, 0x55, 0x09, 0x66, 0x45, 0x5b, 0x88, 0xcc, 0x88, 0xcc, 0x88, 0xcc, + 0x88, 0xcc, 0x88, 0xcc, 0x88, 0xcc, 0x88, 0xcc, 0xc2, 0x91, 0x59, 0xb5, 0x16, 0xcc, 0x4c, 0x1b, + 0x88, 0xc4, 0x88, 0xc4, 0x88, 0xc4, 0x88, 0xc4, 0x88, 0xc4, 0x88, 0xc4, 0x88, 0xc4, 0xc2, 0x91, + 0x58, 0x3d, 0x33, 0x46, 0x3e, 0x8c, 0x28, 0x8c, 0x28, 0x8c, 0x28, 0x8c, 0x28, 0x8c, 0x28, 0x8c, + 0x28, 0x2c, 0x17, 0x85, 0x69, 0xea, 0xc1, 0x2c, 0xb5, 0x84, 0xa8, 0x8c, 0xa8, 0x8c, 0xa8, 0x8c, + 0xa8, 0x8c, 0xa8, 0x8c, 0xa8, 0x8c, 0xa8, 0x1c, 0xf3, 0x93, 0x31, 0xe7, 0x54, 0xb1, 0xe6, 0x79, + 0x3e, 0x37, 0x07, 0x5d, 0x2b, 0x34, 0x8d, 0x8a, 0xa1, 0xf5, 0xca, 0xba, 0x66, 0xcf, 0xe4, 0xaf, + 0x03, 0x8f, 0x76, 0xe8, 0xf7, 0x98, 0x67, 0x0d, 0x23, 0xa8, 0xe1, 0x0c, 0x7c, 0x5b, 0xc7, 0xb4, + 0x58, 0x78, 0xb8, 0xea, 0xc7, 0xc3, 0x90, 0x9b, 0x9c, 0x1d, 0x8e, 0x7d, 0xa0, 0x48, 0x74, 0x2f, + 0x86, 0x3c, 0xe8, 0x5b, 0xdc, 0x1b, 0x7b, 0xd1, 0xfb, 0xe8, 0x2b, 0xaf, 0xa3, 0xaf, 0x69, 0xaf, + 0xfa, 0xb1, 0xdd, 0x1c, 0x7c, 0x63, 0xfb, 0x72, 0xf2, 0x8d, 0x07, 0x34, 0xbd, 0x1c, 0xa3, 0x87, + 0x8b, 0x36, 0x0b, 0xad, 0xc0, 0xe9, 0x09, 0x75, 0x6f, 0x14, 0x26, 0x66, 0x2f, 0x8e, 0x39, 0x9a, + 0x62, 0x86, 0x2c, 0xcc, 0x3c, 0x32, 0xac, 0x23, 0xcd, 0x38, 0xb2, 0x6c, 0xa3, 0xcc, 0x34, 0xca, + 0x2c, 0xa3, 0xc2, 0x30, 0xb4, 0xd6, 0x2d, 0xcc, 0x2a, 0xd1, 0x68, 0x85, 0x3c, 0x70, 0xbc, 0x17, + 0x91, 0xe1, 0x1a, 0xcf, 0xbd, 0xf2, 0x59, 0x82, 0xf6, 0xc5, 0x3c, 0xf3, 0xd9, 0x65, 0xb6, 0xb8, + 0x6d, 0x4d, 0x2e, 0x8c, 0xd9, 0x8f, 0x57, 0xac, 0x63, 0xf6, 0xdd, 0xe1, 0x78, 0x0e, 0xa6, 0x03, + 0xcc, 0x11, 0xe6, 0x98, 0xac, 0x39, 0x3e, 0xfb, 0xbe, 0xcb, 0x4c, 0x4f, 0xc6, 0x1e, 0xcb, 0x09, + 0xda, 0xe3, 0xab, 0x19, 0xd8, 0x7f, 0x99, 0x01, 0x33, 0x7a, 0x7e, 0xc0, 0xc5, 0xad, 0x72, 0xfe, + 0xf2, 0x7c, 0x18, 0x99, 0xc0, 0xa3, 0xe4, 0xcb, 0xcc, 0x86, 0x0f, 0x9e, 0x39, 0x43, 0x73, 0x99, + 0xd9, 0x09, 0x58, 0x47, 0xc6, 0xd0, 0x4e, 0x05, 0xae, 0x69, 0x44, 0xe0, 0x6c, 0x19, 0x3d, 0xd7, + 0xe4, 0x1d, 0x3f, 0xe8, 0x7e, 0xb2, 0xfc, 0x6e, 0xcf, 0xf7, 0x98, 0xc7, 0xc3, 0xd5, 0xbf, 0x9e, + 0xfb, 0xed, 0x10, 0x83, 0x13, 0x34, 0x6d, 0xa7, 0xe3, 0x78, 0x36, 0xfb, 0x21, 0x6e, 0xd4, 0x93, + 0x0b, 0x11, 0x33, 0x11, 0x33, 0x13, 0x35, 0xe5, 0xbe, 0xe3, 0xf1, 0xa3, 0x8a, 0x84, 0x25, 0x8b, + 0x18, 0xb2, 0x9c, 0xa6, 0x26, 0x21, 0x1e, 0xaa, 0x68, 0x68, 0x8a, 0x02, 0x8f, 0xaa, 0x66, 0x46, + 0xa1, 0xde, 0x48, 0x68, 0x64, 0x4a, 0xda, 0x18, 0x55, 0x97, 0x55, 0x2b, 0xe7, 0xd5, 0xf3, 0x93, + 0xd3, 0xca, 0xf9, 0xf1, 0x0e, 0xfb, 0x4e, 0x93, 0x12, 0xf5, 0x44, 0x6a, 0xe8, 0xc2, 0x65, 0x97, + 0xe4, 0x7d, 0x2a, 0x59, 0x99, 0x25, 0xf5, 0xf2, 0x4a, 0x92, 0x65, 0x95, 0xe2, 0x0d, 0xd2, 0x13, + 0x49, 0xe4, 0x1f, 0x55, 0x9e, 0x7c, 0x1d, 0x3b, 0x3a, 0xc1, 0xe8, 0x3f, 0x7b, 0x31, 0x08, 0x00, + 0x04, 0x90, 0x28, 0x01, 0xc8, 0xd5, 0x95, 0x94, 0x58, 0x62, 0x53, 0xad, 0x23, 0x09, 0x8c, 0x00, + 0x46, 0x6c, 0xec, 0x32, 0xba, 0x25, 0x35, 0x00, 0x05, 0x80, 0x62, 0xd7, 0x40, 0xe1, 0xbf, 0x38, + 0x96, 0xe9, 0x4a, 0xc0, 0xc4, 0xf8, 0x42, 0x80, 0x04, 0x40, 0x22, 0x51, 0x90, 0xd0, 0x2f, 0xbf, + 0xc3, 0xa7, 0x65, 0xdd, 0xa7, 0xf9, 0xbd, 0x67, 0xd3, 0xfa, 0x6e, 0x74, 0x7d, 0x5b, 0x26, 0x4d, + 0x9a, 0xbb, 0x5c, 0x7c, 0x55, 0x72, 0xd8, 0xa9, 0xf0, 0x8b, 0xf0, 0x8b, 0x79, 0xf3, 0x8b, 0x24, + 0xc6, 0xd9, 0xe5, 0x7d, 0x71, 0x93, 0x1c, 0x5c, 0x04, 0x83, 0x82, 0x41, 0x25, 0x6a, 0x50, 0x7d, + 0xc7, 0xe3, 0xe5, 0x13, 0x09, 0x7b, 0x3a, 0x81, 0xd8, 0x00, 0xb1, 0x81, 0xa8, 0xcb, 0x4e, 0x8e, + 0x8f, 0x8f, 0xf6, 0x57, 0x5d, 0x20, 0x89, 0x38, 0xe3, 0x4d, 0xaa, 0x82, 0x21, 0x67, 0x78, 0x15, + 0x62, 0x0e, 0x62, 0x4e, 0xa2, 0x31, 0x27, 0x1b, 0x5b, 0x3d, 0xfd, 0x1e, 0x0b, 0x8c, 0x90, 0x9b, + 0xbc, 0x1f, 0x8a, 0x1b, 0xd6, 0xec, 0xc5, 0xb0, 0x2f, 0xd8, 0x57, 0xa2, 0xf6, 0xc5, 0xbc, 0x7e, + 0x97, 0x05, 0xa6, 0xc0, 0x3e, 0xfe, 0x39, 0x23, 0xab, 0x0a, 0x5c, 0x53, 0xf7, 0xfa, 0xdd, 0xc1, + 0x4d, 0xfe, 0x84, 0xe8, 0xb4, 0x0f, 0xa2, 0x53, 0xef, 0xf5, 0x3d, 0x74, 0x2c, 0xd3, 0x1d, 0x76, + 0x91, 0xc7, 0x24, 0x14, 0xf5, 0xa5, 0x16, 0xf2, 0xe1, 0x1d, 0x79, 0x60, 0x7a, 0xa1, 0xc5, 0x9c, + 0x37, 0x16, 0xec, 0xa5, 0x9b, 0x9c, 0x7d, 0x7e, 0x6c, 0xc1, 0x5d, 0x33, 0xc5, 0x64, 0xb6, 0xe0, + 0xfe, 0xb9, 0xb8, 0x05, 0xf7, 0xff, 0xb5, 0xfa, 0x41, 0xc0, 0x3c, 0xfe, 0xcb, 0xaf, 0x87, 0x1f, + 0x3f, 0x1e, 0xce, 0x77, 0xfd, 0xa7, 0x99, 0x9f, 0x9f, 0x36, 0xfc, 0xdb, 0xe2, 0x3f, 0x2d, 0x1a, + 0x65, 0xb8, 0xf8, 0x81, 0xf1, 0xef, 0x17, 0x7f, 0x3d, 0xda, 0x67, 0x4b, 0x3a, 0x8a, 0x37, 0x4e, + 0xc8, 0x6b, 0x9c, 0x8b, 0x9d, 0x5b, 0x3b, 0xc8, 0xfb, 0xeb, 0x03, 0x07, 0xee, 0x0d, 0xe3, 0x86, + 0xd7, 0x77, 0x5d, 0x81, 0x71, 0xb9, 0x35, 0x7f, 0xc8, 0x5f, 0x7c, 0x1f, 0xd8, 0x2c, 0x60, 0xf6, + 0xc5, 0xfb, 0xf8, 0xd2, 0x04, 0x01, 0x75, 0xd6, 0xe6, 0x84, 0xfd, 0xb0, 0xb8, 0xc3, 0x82, 0x0b, + 0x86, 0x0b, 0x86, 0x0b, 0x5e, 0xe9, 0x82, 0x7b, 0x7e, 0xc0, 0x3f, 0xcd, 0xbd, 0x4b, 0xf4, 0x34, + 0xd7, 0x54, 0xd8, 0x7f, 0x5e, 0xf3, 0x25, 0xb3, 0xff, 0xb2, 0xd3, 0xb7, 0x2d, 0xb8, 0xc8, 0xd0, + 0x4d, 0xbd, 0xc8, 0xe0, 0x2a, 0xe4, 0xb7, 0xc8, 0x6f, 0x13, 0x75, 0x16, 0x8e, 0xcd, 0x3c, 0xee, + 0xf0, 0x77, 0x49, 0x87, 0x21, 0xa0, 0x34, 0x17, 0xaf, 0xc7, 0x5f, 0x75, 0x61, 0x86, 0x4c, 0xbe, + 0xc2, 0x50, 0x54, 0x8b, 0xc0, 0x18, 0x1a, 0x0c, 0x75, 0x87, 0x1f, 0xa8, 0x7d, 0x62, 0xcb, 0x80, + 0x15, 0x6b, 0xfd, 0x97, 0xc1, 0x84, 0x19, 0xbe, 0xf5, 0xbc, 0x3d, 0x25, 0x17, 0xf4, 0x20, 0x87, + 0xc3, 0x39, 0xf8, 0x69, 0xa6, 0x70, 0xc3, 0xc2, 0x2f, 0xc6, 0x7f, 0x1f, 0x16, 0x71, 0x88, 0xbf, + 0x4f, 0x61, 0xb6, 0x0a, 0x42, 0xb1, 0x66, 0xdb, 0x61, 0xc1, 0x2c, 0x04, 0xac, 0xc3, 0x02, 0xe6, + 0x59, 0xac, 0xd0, 0x09, 0xfc, 0x6e, 0x81, 0xbf, 0xb2, 0xc2, 0xb3, 0x19, 0xb2, 0x42, 0xf4, 0x55, + 0x05, 0xee, 0x0f, 0x7f, 0x6b, 0xf9, 0x41, 0xc0, 0xc2, 0x9e, 0xef, 0xd9, 0x8e, 0xf7, 0xf2, 0xe8, + 0x0d, 0xfc, 0x79, 0x21, 0xf2, 0xd2, 0x05, 0xc7, 0x1b, 0x7e, 0xc8, 0x66, 0x6f, 0x8e, 0x35, 0xb8, + 0xf8, 0x8d, 0x79, 0xdc, 0x0f, 0xde, 0x3f, 0x0a, 0xfa, 0xc1, 0x32, 0x5e, 0x1f, 0xc5, 0xeb, 0xa3, + 0xd1, 0x84, 0x75, 0x04, 0x13, 0x1e, 0xb9, 0xf7, 0x9e, 0x97, 0xc6, 0x5b, 0xe6, 0xfd, 0xe7, 0x75, + 0x56, 0xf6, 0xd9, 0x0f, 0x0a, 0xde, 0x58, 0x3d, 0xf3, 0x98, 0xeb, 0xfc, 0x9b, 0xd9, 0x53, 0xd3, + 0x0a, 0x3f, 0x4c, 0xcd, 0x2f, 0x1c, 0xda, 0xcf, 0xe4, 0xab, 0x0b, 0x83, 0xaf, 0x7e, 0xf4, 0xe6, + 0x6c, 0x6e, 0x62, 0x88, 0xf3, 0xe6, 0xf9, 0x71, 0x4f, 0x0a, 0xb3, 0x49, 0x8c, 0x45, 0x61, 0x2f, + 0x4a, 0xb3, 0x89, 0x59, 0xa8, 0x98, 0xa5, 0x0a, 0x5a, 0xac, 0x3c, 0xc5, 0x10, 0xa4, 0x3e, 0x2a, + 0x29, 0x90, 0x5a, 0x2a, 0x24, 0x99, 0xa2, 0x88, 0x0f, 0xc5, 0xcf, 0xe4, 0x52, 0x9f, 0xcc, 0x00, + 0x8b, 0xe9, 0x6d, 0x45, 0x95, 0x19, 0x0d, 0x60, 0x4a, 0x2c, 0x79, 0x21, 0x13, 0x08, 0x3c, 0x3b, + 0x17, 0x78, 0x84, 0x39, 0x45, 0x46, 0xa3, 0x24, 0xd0, 0x2a, 0xd7, 0x19, 0x56, 0x23, 0xf0, 0xdf, + 0x1c, 0x9b, 0xcd, 0x1b, 0xd7, 0xd8, 0x94, 0x66, 0x6d, 0x67, 0x56, 0x96, 0x29, 0xf0, 0x57, 0x73, + 0x0e, 0x50, 0xc2, 0xc9, 0x15, 0x13, 0xd9, 0xbc, 0xb0, 0x90, 0x21, 0x74, 0xfc, 0xa0, 0xc0, 0x5f, + 0x9d, 0x70, 0x06, 0x5d, 0x1e, 0xbd, 0xd6, 0x34, 0x67, 0xe8, 0xf6, 0x43, 0x5e, 0xf0, 0x3d, 0xf7, + 0xbd, 0xd0, 0xf3, 0x7b, 0x7d, 0xd7, 0xe4, 0x6c, 0xf4, 0xf1, 0x41, 0x24, 0x28, 0xfc, 0xe5, 0xf0, + 0xd7, 0x85, 0xdb, 0x7b, 0xf4, 0xcc, 0x99, 0xd6, 0xfd, 0x4e, 0x61, 0x90, 0x45, 0x16, 0x5a, 0x0f, + 0xb5, 0xbb, 0xe6, 0x65, 0xfd, 0xfa, 0x9f, 0xf5, 0x87, 0x7d, 0x21, 0x23, 0xf9, 0x89, 0xb0, 0x1f, + 0x80, 0x24, 0xe5, 0x21, 0xc0, 0x49, 0x7b, 0x27, 0x19, 0x83, 0xc7, 0xf4, 0x09, 0x48, 0x0e, 0x0f, + 0x97, 0x04, 0xa4, 0x49, 0x9c, 0x98, 0x2c, 0xaf, 0x82, 0xc8, 0x40, 0x64, 0xbb, 0x22, 0x32, 0xe9, + 0x2d, 0x3c, 0x4b, 0x13, 0x40, 0x72, 0x2b, 0xcf, 0x26, 0xfd, 0xc8, 0x2c, 0xac, 0x54, 0x8f, 0x3e, + 0x14, 0x5c, 0x27, 0x1c, 0x92, 0xcf, 0xac, 0x88, 0x34, 0x84, 0xb0, 0x15, 0xd6, 0x55, 0xf8, 0xc5, + 0x35, 0x3d, 0x16, 0xfe, 0x5a, 0x58, 0xa9, 0x29, 0x2d, 0x32, 0xd9, 0xf2, 0xe5, 0x66, 0xc0, 0x0a, + 0x6c, 0xbc, 0x21, 0x60, 0xf0, 0x9d, 0x66, 0x61, 0x65, 0x5a, 0xf5, 0xe8, 0x8d, 0x95, 0xe0, 0x89, + 0x03, 0x2e, 0x74, 0x7d, 0x9b, 0xb9, 0x60, 0x31, 0xb0, 0x18, 0x58, 0x2c, 0x53, 0x2c, 0x96, 0x8d, + 0x1d, 0x54, 0xb2, 0xa3, 0x2d, 0xb5, 0xa3, 0x2a, 0xba, 0x5a, 0x65, 0x67, 0xd5, 0xb4, 0x11, 0x85, + 0x1d, 0x56, 0x51, 0x23, 0x52, 0x3b, 0xad, 0x76, 0x48, 0xba, 0x1b, 0x3f, 0xf1, 0xb4, 0x6d, 0xcd, + 0x55, 0xac, 0x4a, 0xbe, 0x6a, 0x75, 0xfc, 0x18, 0x86, 0xac, 0x56, 0x0c, 0x7f, 0xf3, 0x14, 0x5f, + 0xdf, 0x57, 0x1b, 0x26, 0x7b, 0x31, 0xec, 0x3f, 0x4f, 0x9f, 0x68, 0x6b, 0x37, 0x4d, 0xdf, 0x3e, + 0x99, 0xbb, 0x6c, 0xcb, 0x38, 0xc4, 0x03, 0xf0, 0xd8, 0xc1, 0x58, 0x24, 0xf8, 0x0a, 0x6f, 0x4e, + 0x11, 0x8d, 0xa9, 0xd2, 0x31, 0x54, 0x3a, 0x66, 0xca, 0x6c, 0x3e, 0x51, 0xdb, 0xbb, 0x10, 0x17, + 0x8f, 0xe7, 0x66, 0x85, 0xf8, 0x3e, 0xa8, 0xb9, 0xab, 0xf3, 0x91, 0xdb, 0x61, 0x3f, 0x54, 0xda, + 0x33, 0x39, 0x6b, 0x32, 0x23, 0x24, 0xf3, 0xb7, 0xf1, 0xf5, 0x72, 0xe9, 0x4a, 0x19, 0xa7, 0x9d, + 0xe5, 0x21, 0x4b, 0x49, 0xdf, 0x69, 0x67, 0xa2, 0x66, 0x10, 0x5d, 0x28, 0x73, 0xf4, 0xcd, 0xda, + 0x19, 0x23, 0x7e, 0x14, 0x0e, 0x51, 0x5e, 0xaf, 0x6c, 0x30, 0x14, 0x86, 0x43, 0x66, 0x40, 0x54, + 0x86, 0x44, 0x6e, 0x50, 0xe4, 0x86, 0x45, 0x69, 0x60, 0x72, 0x86, 0x26, 0x69, 0x70, 0xea, 0xaa, + 0xc0, 0x32, 0x0d, 0x89, 0xbe, 0xdf, 0xbd, 0x36, 0xc8, 0x9c, 0x25, 0x74, 0x74, 0x9a, 0x4c, 0xe1, + 0x0c, 0xd1, 0xa3, 0x80, 0xd6, 0x76, 0x97, 0xd8, 0xd1, 0x40, 0x2b, 0x64, 0x54, 0x99, 0xa3, 0x82, + 0xe0, 0xae, 0xe0, 0xae, 0xe0, 0xae, 0x24, 0x6b, 0x8a, 0xad, 0xf5, 0x57, 0xe5, 0x14, 0xfb, 0x2b, + 0xb1, 0xd3, 0x54, 0xd6, 0xf6, 0x96, 0xc8, 0xd9, 0x2a, 0x9b, 0x7c, 0x55, 0x09, 0x8e, 0x0a, 0x8e, + 0x0a, 0x8e, 0x4a, 0x64, 0xb6, 0x08, 0x9f, 0x2f, 0xb3, 0xce, 0x76, 0x4e, 0x15, 0x9a, 0x50, 0x3b, + 0xd3, 0x79, 0xf2, 0x9f, 0xda, 0x74, 0x2d, 0x50, 0x9d, 0xf1, 0x4c, 0xe4, 0x54, 0x96, 0x9a, 0x23, + 0x3a, 0xf3, 0x39, 0x6a, 0x8f, 0xf0, 0x34, 0x62, 0xc5, 0xe9, 0x3c, 0x3f, 0x04, 0x04, 0x67, 0x41, + 0xeb, 0x1e, 0x02, 0xd5, 0xf3, 0x70, 0x12, 0x19, 0x8b, 0x83, 0xdd, 0x5c, 0xfd, 0x94, 0x14, 0xae, + 0x68, 0x55, 0x8c, 0x84, 0xab, 0x05, 0xa9, 0x39, 0x21, 0x2d, 0xd5, 0x83, 0xd6, 0xc4, 0x4d, 0x89, + 0x2a, 0x42, 0x2b, 0x03, 0xa6, 0x6e, 0x91, 0xef, 0x49, 0x54, 0x74, 0x97, 0x3b, 0x04, 0x3c, 0xba, + 0x5e, 0x61, 0xb9, 0x73, 0x76, 0xf5, 0x6f, 0xee, 0x6f, 0x87, 0x52, 0x7a, 0x78, 0x41, 0x69, 0x69, + 0x74, 0xf6, 0x66, 0xe6, 0xfe, 0xd6, 0x1e, 0x63, 0xaa, 0xae, 0x45, 0x6e, 0x81, 0xa5, 0x1d, 0xb9, + 0xbc, 0x41, 0x29, 0x5f, 0xc8, 0xea, 0x9e, 0x28, 0x2c, 0x32, 0x90, 0xb1, 0x3a, 0x76, 0x40, 0xad, + 0x9e, 0xa8, 0x63, 0x97, 0xf7, 0xf1, 0xe3, 0xd8, 0x5d, 0x1d, 0xca, 0xec, 0x20, 0xd2, 0xe2, 0x27, + 0x46, 0x1b, 0x49, 0xa4, 0xfd, 0x84, 0xc8, 0xfe, 0xec, 0xa5, 0xae, 0x94, 0xf5, 0x13, 0x15, 0xf8, + 0x09, 0xf8, 0x89, 0x4d, 0x7a, 0x95, 0xec, 0x62, 0xa4, 0x69, 0x77, 0x1d, 0x4f, 0xb4, 0x7a, 0xec, + 0xda, 0x29, 0x33, 0xd7, 0x1a, 0x64, 0x33, 0xc8, 0x66, 0x90, 0xcd, 0x04, 0x66, 0x8b, 0x5c, 0x39, + 0xdc, 0xb5, 0xb1, 0xa6, 0xaa, 0xd0, 0x86, 0x58, 0xb9, 0x5c, 0xaa, 0xae, 0x94, 0x4e, 0x90, 0x69, + 0xd4, 0x3a, 0xad, 0x09, 0x33, 0x7d, 0xe2, 0x4c, 0x94, 0x40, 0xab, 0x59, 0xcd, 0x53, 0x22, 0x4b, + 0x42, 0x96, 0xdf, 0x1f, 0x24, 0x9c, 0x04, 0x11, 0x2a, 0x6a, 0x49, 0x2d, 0x3a, 0x95, 0x11, 0x9d, + 0x10, 0x9d, 0xb2, 0x10, 0x9d, 0x64, 0xc1, 0x70, 0x6a, 0x7a, 0x66, 0x10, 0x38, 0x2c, 0x18, 0xbd, + 0x0c, 0xe2, 0x0c, 0x62, 0x53, 0xa8, 0x3e, 0xe0, 0x91, 0x35, 0xae, 0x68, 0x5c, 0x71, 0xa4, 0x68, + 0xd4, 0x79, 0x65, 0x43, 0xa5, 0x34, 0x58, 0x72, 0xc3, 0xa5, 0x36, 0x60, 0x6d, 0x86, 0xac, 0xcd, + 0xa0, 0x75, 0x18, 0xb6, 0x9a, 0x81, 0x2b, 0x1a, 0x3a, 0x1d, 0x8e, 0xae, 0x0b, 0x99, 0x42, 0x27, + 0x85, 0x6f, 0x33, 0xcf, 0x33, 0x82, 0xa6, 0x68, 0x16, 0x78, 0x69, 0xd0, 0x71, 0xee, 0xc6, 0x28, + 0x17, 0x7c, 0x89, 0xfd, 0xda, 0x52, 0xb3, 0xc4, 0x0b, 0xc0, 0x51, 0xbb, 0x1a, 0x16, 0x1f, 0x89, + 0x2c, 0x64, 0x7e, 0xa8, 0x08, 0x17, 0x86, 0x93, 0x1a, 0x2a, 0xba, 0x13, 0xcf, 0x77, 0x32, 0x7a, + 0x07, 0xe9, 0x68, 0xe5, 0x69, 0xa7, 0x5e, 0x5a, 0x39, 0xd3, 0xa5, 0x75, 0x5b, 0x89, 0x64, 0xbe, + 0xfa, 0x32, 0x60, 0xe2, 0x4c, 0x98, 0x66, 0x92, 0xc9, 0x4f, 0x30, 0x85, 0xc9, 0x55, 0x74, 0x3c, + 0xe3, 0x39, 0xf0, 0x4d, 0xdb, 0x32, 0x43, 0x6e, 0xf4, 0xbe, 0x73, 0x42, 0x58, 0x5f, 0x6e, 0x1a, + 0xa8, 0x0e, 0x54, 0x07, 0xaa, 0x03, 0xd5, 0x81, 0xea, 0x40, 0x75, 0xa0, 0x3a, 0x50, 0x3d, 0x9d, + 0xa8, 0xbe, 0x2b, 0x0e, 0xb3, 0x9d, 0xd0, 0x32, 0x03, 0x9b, 0x96, 0xc0, 0xa2, 0x46, 0xc1, 0x5e, + 0x60, 0x2f, 0xb0, 0x17, 0xd8, 0x0b, 0xec, 0x05, 0xf6, 0x02, 0x7b, 0x81, 0xbd, 0xc0, 0x5e, 0xb3, + 0xec, 0xc5, 0x82, 0xc0, 0x0f, 0x68, 0xc9, 0x6b, 0xdc, 0x24, 0xb8, 0x0b, 0xdc, 0x05, 0xee, 0x02, + 0x77, 0x81, 0xbb, 0xc0, 0x5d, 0xe0, 0x2e, 0x70, 0x17, 0xb8, 0x6b, 0x96, 0xbb, 0x3a, 0x56, 0xa8, + 0x83, 0xbd, 0x66, 0x9a, 0x05, 0x7f, 0x81, 0xbf, 0xc0, 0x5f, 0xe0, 0x2f, 0xf0, 0x17, 0xf8, 0x0b, + 0xfc, 0x05, 0xfe, 0x02, 0x7f, 0xcd, 0xf2, 0x57, 0xb7, 0xef, 0x72, 0x47, 0xcf, 0xde, 0xaf, 0x85, + 0xa6, 0xc1, 0x61, 0xe0, 0x30, 0x70, 0x18, 0x38, 0x0c, 0x1c, 0x06, 0x0e, 0x03, 0x87, 0x81, 0xc3, + 0xc0, 0x61, 0xb3, 0x1c, 0xe6, 0x5b, 0x9c, 0x11, 0xf3, 0xd7, 0xb8, 0x49, 0x70, 0x17, 0xb8, 0x0b, + 0xdc, 0x05, 0xee, 0x02, 0x77, 0x81, 0xbb, 0xc0, 0x5d, 0xe0, 0x2e, 0x70, 0xd7, 0x2c, 0x77, 0x91, + 0xab, 0x5e, 0xd0, 0xba, 0xc0, 0x5c, 0x60, 0x2e, 0x30, 0x17, 0x98, 0x0b, 0xcc, 0x05, 0xe6, 0x02, + 0x73, 0x81, 0xb9, 0x96, 0x98, 0xab, 0xef, 0x69, 0x5a, 0x71, 0x9c, 0x6b, 0x18, 0x0c, 0x06, 0x06, + 0x03, 0x83, 0x81, 0xc1, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x36, 0xcf, 0x60, + 0xdf, 0x3d, 0xff, 0x2f, 0xcf, 0xe8, 0x05, 0x3e, 0xf7, 0xa9, 0x29, 0x6c, 0xae, 0x69, 0x70, 0x18, + 0x38, 0x0c, 0x1c, 0x06, 0x0e, 0x03, 0x87, 0x81, 0xc3, 0xc0, 0x61, 0xe0, 0x30, 0x70, 0x58, 0x34, + 0x2c, 0xae, 0x19, 0x72, 0xc3, 0x72, 0x99, 0x19, 0xd0, 0x01, 0xd8, 0x4c, 0x9b, 0x20, 0x2f, 0x90, + 0x17, 0xc8, 0x2b, 0x45, 0xe4, 0xc5, 0x9d, 0x2e, 0xe3, 0x8e, 0xf5, 0x3d, 0x4c, 0x1d, 0x7b, 0x7d, + 0xf3, 0x46, 0x71, 0xa1, 0xe8, 0x99, 0x9e, 0x1f, 0x32, 0xcb, 0xf7, 0x94, 0x2b, 0x06, 0x82, 0xe9, + 0xc0, 0x74, 0x60, 0x3a, 0x30, 0xdd, 0xee, 0x98, 0x0e, 0x47, 0x2e, 0x50, 0x61, 0x02, 0x8e, 0x5c, + 0xa0, 0xc4, 0x7e, 0xbf, 0xcf, 0xb5, 0x9d, 0xb9, 0xb0, 0xa2, 0x6d, 0xa4, 0x01, 0x48, 0x03, 0x90, + 0x06, 0xa4, 0x28, 0x0d, 0x80, 0x00, 0x0b, 0x58, 0x07, 0xac, 0x03, 0xd6, 0x01, 0xeb, 0x14, 0xdf, + 0xaf, 0x4a, 0x62, 0xf4, 0xa7, 0x2e, 0xcc, 0xb5, 0x0a, 0xfa, 0x02, 0x7d, 0x81, 0xbe, 0x40, 0x5f, + 0xa0, 0x2f, 0xd0, 0x17, 0xe8, 0x0b, 0xf4, 0x05, 0xfa, 0x9a, 0xa3, 0x2f, 0xea, 0xda, 0xbf, 0x33, + 0x6d, 0x82, 0xbc, 0x40, 0x5e, 0x20, 0x2f, 0x90, 0x17, 0xc8, 0x0b, 0xe4, 0x05, 0xf2, 0x02, 0x79, + 0x81, 0xbc, 0xe6, 0xc8, 0x4b, 0x57, 0xe5, 0xdf, 0x15, 0x6d, 0x83, 0xc4, 0x40, 0x62, 0x20, 0x31, + 0x90, 0x18, 0x48, 0x0c, 0x24, 0x06, 0x12, 0x03, 0x89, 0x81, 0xc4, 0xe6, 0x48, 0x8c, 0xba, 0xf6, + 0xef, 0x4c, 0x9b, 0x20, 0x2f, 0x90, 0x17, 0xc8, 0x0b, 0xe4, 0x05, 0xf2, 0x02, 0x79, 0x81, 0xbc, + 0x40, 0x5e, 0x20, 0xaf, 0x39, 0xf2, 0xa2, 0x57, 0xbe, 0xa0, 0x77, 0x81, 0xba, 0x40, 0x5d, 0xa0, + 0x2e, 0x50, 0x17, 0xa8, 0x0b, 0xd4, 0x05, 0xea, 0x02, 0x75, 0x2d, 0x53, 0x97, 0x9e, 0xfa, 0xbf, + 0x4b, 0x2d, 0x83, 0xc2, 0x40, 0x61, 0xa0, 0x30, 0x50, 0x18, 0x28, 0x0c, 0x14, 0x06, 0x0a, 0x03, + 0x85, 0xe5, 0x8d, 0xc2, 0x0e, 0x12, 0x9c, 0xf3, 0xc5, 0x9a, 0xe7, 0xf9, 0xdc, 0x1c, 0x0c, 0xa5, + 0xd2, 0x34, 0x2f, 0x86, 0xd6, 0x2b, 0xeb, 0x9a, 0x3d, 0x93, 0xbf, 0x0e, 0x22, 0xc2, 0xa1, 0xdf, + 0x63, 0x9e, 0x35, 0x24, 0x24, 0xc3, 0x19, 0xc4, 0x86, 0x8e, 0x69, 0xb1, 0xf0, 0x70, 0xd5, 0x8f, + 0x87, 0x61, 0xff, 0x79, 0xe6, 0xf7, 0xb3, 0x7f, 0x3b, 0x0c, 0xb9, 0xc9, 0xd9, 0xe1, 0x38, 0xbc, + 0xa8, 0x80, 0x5f, 0x31, 0xe4, 0x41, 0xdf, 0xe2, 0xde, 0x38, 0x60, 0xdd, 0x47, 0x77, 0x77, 0x1d, + 0x7d, 0x73, 0x7b, 0xd5, 0x8f, 0xed, 0xe6, 0xec, 0xcd, 0xcd, 0xfd, 0xad, 0xdd, 0x1c, 0xdc, 0x5c, + 0xfb, 0x72, 0x72, 0x73, 0x07, 0xc9, 0x8c, 0xb5, 0xc4, 0x38, 0x17, 0x6d, 0x16, 0x5a, 0x81, 0xd3, + 0x53, 0x1a, 0xe4, 0x28, 0xd8, 0xcf, 0x36, 0x26, 0x39, 0xe7, 0xd4, 0xdc, 0x9f, 0x32, 0x79, 0x53, + 0x10, 0x37, 0x19, 0x69, 0x53, 0x11, 0x36, 0x39, 0x59, 0x93, 0x13, 0x35, 0x25, 0x49, 0x27, 0xeb, + 0x23, 0x95, 0x89, 0x39, 0x9a, 0x2d, 0x21, 0x0f, 0x1c, 0xef, 0x45, 0x65, 0xba, 0x8c, 0x6d, 0xa7, + 0x7c, 0x96, 0x62, 0x7f, 0xc3, 0x3c, 0xf3, 0xd9, 0x65, 0xb6, 0xba, 0xaf, 0x99, 0x34, 0x24, 0x39, + 0x6e, 0x57, 0xac, 0x63, 0xf6, 0xdd, 0xe1, 0x7c, 0x1b, 0x4c, 0x5f, 0xb8, 0x2b, 0xb8, 0x2b, 0xb8, + 0x2b, 0x91, 0xd9, 0xf2, 0xec, 0xfb, 0x2e, 0x33, 0x3d, 0x0a, 0x7f, 0x55, 0x4e, 0xb1, 0xbf, 0x72, + 0x3a, 0x8e, 0x67, 0xb3, 0x1f, 0xea, 0xfe, 0x6a, 0xd2, 0x10, 0x1c, 0x0d, 0x1c, 0x0d, 0x1c, 0x8d, + 0xc0, 0x6c, 0xe9, 0x3b, 0x1e, 0x3f, 0xaa, 0x10, 0xf8, 0x99, 0x53, 0x85, 0x26, 0x68, 0xe4, 0x42, + 0x02, 0x5d, 0x95, 0x52, 0x1e, 0x24, 0xd6, 0x9a, 0xa8, 0xe5, 0x40, 0x1d, 0x42, 0x12, 0x81, 0xfc, + 0x47, 0x2a, 0xfb, 0xe9, 0x1a, 0x82, 0x6a, 0xe5, 0xbc, 0x7a, 0x7e, 0x72, 0x5a, 0x39, 0x3f, 0x4e, + 0xf1, 0x58, 0xec, 0x48, 0x44, 0x7b, 0x4a, 0xd4, 0x11, 0x2a, 0x57, 0x14, 0xa6, 0x8b, 0x71, 0xda, + 0x2a, 0x08, 0xd3, 0x57, 0x0e, 0x26, 0xaa, 0x18, 0x2c, 0x37, 0x49, 0x9e, 0x92, 0x21, 0x4b, 0x22, + 0xae, 0x54, 0xa1, 0xca, 0x99, 0x2c, 0xb8, 0x04, 0x32, 0x05, 0x99, 0x82, 0x4c, 0x41, 0xa6, 0x20, + 0x53, 0x90, 0x29, 0xc8, 0x34, 0x4b, 0x64, 0x9a, 0x08, 0xae, 0x8c, 0xce, 0x18, 0x7b, 0x1d, 0x7b, + 0x1b, 0x45, 0x68, 0x99, 0x6d, 0x0c, 0xd8, 0x01, 0xec, 0x00, 0x76, 0x08, 0xcc, 0x16, 0x9a, 0x13, + 0xc5, 0x08, 0x36, 0xd3, 0x51, 0x9f, 0x20, 0x06, 0x96, 0x01, 0xcb, 0x64, 0x8a, 0x65, 0xf4, 0x6d, + 0xa6, 0x03, 0xd5, 0x40, 0x6f, 0x83, 0xde, 0x46, 0x0b, 0xb0, 0xfe, 0x8b, 0x63, 0x99, 0x2e, 0x01, + 0xbc, 0x8e, 0x1b, 0x02, 0xb8, 0x02, 0x5c, 0x01, 0xae, 0x02, 0xb3, 0x65, 0xf7, 0x5b, 0x46, 0x10, + 0x53, 0x10, 0x53, 0x28, 0x63, 0xca, 0x78, 0xd3, 0xb8, 0x62, 0x40, 0x19, 0xb6, 0x82, 0x68, 0x82, + 0x68, 0x82, 0x68, 0x22, 0x30, 0x5b, 0x76, 0xbe, 0x5f, 0x1a, 0xc1, 0x04, 0xc1, 0x84, 0x32, 0x98, + 0xf8, 0x3d, 0x16, 0x18, 0x21, 0x37, 0x79, 0x3f, 0x54, 0x8f, 0x29, 0xb3, 0x8d, 0x21, 0xb4, 0x20, + 0xb4, 0x20, 0xb4, 0x08, 0xcc, 0x16, 0xe6, 0xf5, 0xbb, 0x2c, 0x30, 0x15, 0xde, 0x63, 0x9b, 0x8b, + 0x2f, 0x55, 0x85, 0x36, 0xea, 0x5e, 0xbf, 0x3b, 0x78, 0xa8, 0x9f, 0x88, 0x51, 0x88, 0x51, 0xc4, + 0x31, 0xea, 0x40, 0xe3, 0x54, 0x52, 0x7d, 0x79, 0x58, 0xe3, 0x4b, 0xc3, 0x12, 0xf3, 0x46, 0xdb, + 0x3b, 0xc2, 0x62, 0xb3, 0x24, 0xfe, 0x88, 0xc5, 0xfb, 0x64, 0xcc, 0x31, 0x1d, 0x98, 0xa3, 0xe8, + 0x56, 0xc3, 0xe2, 0x8d, 0x13, 0xf2, 0x1a, 0xe7, 0x81, 0xd0, 0xe8, 0x17, 0x6f, 0x1d, 0xaf, 0x3e, + 0x30, 0x74, 0x6f, 0xe8, 0x7f, 0xbc, 0xbe, 0xeb, 0x7e, 0x10, 0xb8, 0xd8, 0xfc, 0x21, 0x7f, 0xf1, + 0x7d, 0x60, 0xb3, 0x80, 0xd9, 0x17, 0xef, 0xe3, 0x4b, 0x49, 0x3b, 0x50, 0xd2, 0x18, 0xb4, 0x18, + 0x81, 0xc0, 0xf4, 0xd7, 0x30, 0xed, 0xe3, 0x4d, 0xf8, 0xed, 0xd3, 0x77, 0xf3, 0x27, 0xb6, 0x8c, + 0x8b, 0xe8, 0x78, 0x50, 0x8d, 0x43, 0x8c, 0xae, 0xa7, 0xe9, 0xf2, 0xcd, 0xbd, 0xbc, 0xbe, 0xef, + 0x56, 0xff, 0xcb, 0x9a, 0xde, 0x9c, 0xb8, 0x85, 0x0d, 0xf2, 0x55, 0x3c, 0x2f, 0x20, 0x64, 0xf5, + 0x42, 0x56, 0x1e, 0xcf, 0xaa, 0xd7, 0x3d, 0x5f, 0xad, 0xff, 0x32, 0xf8, 0x9a, 0xe1, 0xdb, 0xca, + 0xeb, 0x51, 0x68, 0xf3, 0xf4, 0x89, 0x98, 0xf2, 0x70, 0xc8, 0xd2, 0x9f, 0x66, 0x26, 0xc9, 0xc2, + 0x2f, 0xb6, 0x4c, 0x8e, 0xe2, 0xd5, 0x5c, 0xa5, 0x86, 0x62, 0xcd, 0xb6, 0xc3, 0x82, 0x69, 0xdb, + 0x83, 0xbf, 0x9b, 0x6e, 0xa1, 0xce, 0x5f, 0x59, 0xe0, 0x31, 0x6e, 0x84, 0x3d, 0x66, 0x39, 0x1d, + 0xc7, 0x2a, 0x8c, 0xa6, 0x4d, 0x7f, 0x84, 0xb1, 0x05, 0xee, 0x3f, 0x7a, 0xd3, 0xef, 0x2e, 0x74, + 0x7d, 0x9b, 0x6d, 0x5b, 0xc1, 0x8a, 0xf8, 0x75, 0xcb, 0xc7, 0xe2, 0x26, 0x7a, 0x22, 0x09, 0xdd, + 0x6c, 0xe2, 0xc6, 0xf8, 0x6b, 0x1c, 0xc3, 0x11, 0xcc, 0xd0, 0xa4, 0x33, 0x31, 0xe9, 0x8c, 0x6b, + 0x31, 0xb3, 0x1a, 0x3c, 0x97, 0x66, 0x3f, 0x77, 0xe5, 0xc4, 0x8b, 0xbf, 0x45, 0x36, 0x9e, 0x3e, + 0xf1, 0xbb, 0x2f, 0xca, 0x95, 0x26, 0x57, 0xc6, 0xec, 0x84, 0x85, 0x69, 0xdc, 0xf2, 0x7b, 0x86, + 0xcb, 0xde, 0x98, 0x3b, 0x98, 0xaf, 0xdc, 0x74, 0x3c, 0x16, 0x14, 0x3a, 0x7e, 0x50, 0x98, 0x34, + 0x3b, 0x3f, 0x8d, 0x1f, 0x3d, 0xd3, 0xb3, 0x0b, 0x22, 0x14, 0x17, 0x73, 0x12, 0x4b, 0xab, 0x16, + 0x32, 0x2a, 0x85, 0xf8, 0xe4, 0x56, 0x95, 0x21, 0x94, 0x65, 0x07, 0x65, 0x99, 0x41, 0x6a, 0xf2, + 0x0b, 0xd2, 0xac, 0xaa, 0x31, 0x09, 0x86, 0xc5, 0xa7, 0x75, 0x61, 0x23, 0x1e, 0x5c, 0xc8, 0x43, + 0xc5, 0x86, 0xb1, 0x93, 0xc5, 0x87, 0xd5, 0x63, 0xb1, 0xfc, 0xdc, 0xf3, 0xbf, 0x59, 0x70, 0x3f, + 0xdb, 0x9e, 0x5c, 0xf4, 0x89, 0x57, 0x3c, 0xa7, 0xd8, 0xf3, 0xcd, 0x3f, 0xd5, 0xf4, 0xde, 0x67, + 0xee, 0xbb, 0x38, 0xfd, 0x3a, 0x63, 0xe4, 0x57, 0x16, 0xef, 0x7c, 0xe6, 0x4d, 0xab, 0x85, 0x4f, + 0x2e, 0x3c, 0xfd, 0x6a, 0x4f, 0x33, 0xf5, 0x28, 0x95, 0x85, 0x7f, 0xd8, 0xe0, 0x39, 0x66, 0xaa, + 0x06, 0xac, 0xea, 0x84, 0x2d, 0x5e, 0x20, 0xb6, 0xb5, 0xc7, 0xb6, 0xea, 0x39, 0xeb, 0x5d, 0xa5, + 0x08, 0x6e, 0x9e, 0x17, 0xeb, 0xc2, 0xd0, 0xb4, 0x4b, 0xd7, 0x3f, 0xcb, 0x52, 0xef, 0xaf, 0x7b, + 0x96, 0xcd, 0x8e, 0x7e, 0xab, 0x63, 0x8f, 0xe3, 0xc8, 0x37, 0x0f, 0x8b, 0xa8, 0x93, 0x16, 0x76, + 0xca, 0xc2, 0x4e, 0x78, 0xeb, 0xb0, 0xc9, 0x71, 0xff, 0x36, 0xaa, 0x28, 0x9a, 0x76, 0xd7, 0xf1, + 0xe2, 0x2e, 0x65, 0x44, 0x9d, 0x3a, 0x77, 0x55, 0x3c, 0x34, 0x2d, 0xed, 0x12, 0x4d, 0x63, 0x2d, + 0x28, 0x64, 0x0c, 0x4b, 0xe3, 0xa8, 0xfd, 0x6a, 0x48, 0x1a, 0x5b, 0xa5, 0x97, 0x54, 0xe3, 0x45, + 0x54, 0xf7, 0x98, 0xea, 0xfa, 0x06, 0x30, 0xd8, 0xe0, 0x05, 0x5e, 0x9d, 0x97, 0x57, 0x16, 0x18, + 0xae, 0xf9, 0xce, 0x02, 0xc3, 0xe9, 0xc4, 0xb7, 0x83, 0xc5, 0x0b, 0x61, 0x0a, 0x30, 0x85, 0xc5, + 0x20, 0x38, 0x22, 0x10, 0x23, 0x60, 0x1d, 0x11, 0x93, 0x88, 0xf1, 0x9e, 0x69, 0xb1, 0x31, 0xa1, + 0xb3, 0x39, 0xb1, 0x62, 0xf4, 0x7d, 0x73, 0xbf, 0x1b, 0xfc, 0x65, 0xc8, 0x61, 0x4a, 0x7d, 0x20, + 0x24, 0x13, 0x4b, 0xc9, 0xc3, 0x52, 0xb2, 0xb0, 0x98, 0x1c, 0x2c, 0xe7, 0x20, 0x9c, 0x8e, 0x11, + 0xaf, 0x06, 0xc0, 0x8c, 0x99, 0x19, 0x71, 0x34, 0x78, 0xb8, 0x84, 0xfd, 0x72, 0x09, 0xb1, 0xde, + 0x41, 0x9f, 0x4c, 0x8a, 0xa3, 0x18, 0x1f, 0x15, 0x7b, 0x0f, 0x4b, 0x6c, 0x79, 0x47, 0x42, 0xbb, + 0x90, 0xda, 0x87, 0x32, 0x7d, 0x49, 0x47, 0xf0, 0x3a, 0x85, 0x37, 0x6f, 0x7e, 0x8a, 0x2d, 0x56, + 0x25, 0xde, 0x15, 0x95, 0x72, 0xf5, 0xb4, 0x7a, 0x76, 0x74, 0x52, 0x3d, 0x4d, 0xb0, 0x4f, 0x88, + 0xb4, 0x9b, 0x27, 0x0d, 0x1e, 0x58, 0xe4, 0x9d, 0x66, 0x89, 0x77, 0x97, 0xe1, 0x87, 0xf7, 0xc8, + 0x0f, 0xdb, 0x03, 0x1e, 0x33, 0x3d, 0xdb, 0xe0, 0x4e, 0xac, 0xdd, 0xdc, 0xd3, 0xdd, 0xa7, 0xf1, + 0xa0, 0x8c, 0xb3, 0xc0, 0x8b, 0xed, 0x92, 0x8b, 0x8f, 0x8f, 0xf6, 0xdf, 0xd5, 0x9f, 0xc6, 0xe0, + 0x8f, 0xca, 0xe4, 0x8f, 0xd6, 0xe8, 0x8f, 0x4f, 0x73, 0x7f, 0xfc, 0xf2, 0xf8, 0xf8, 0xf1, 0xf1, + 0xd1, 0xfe, 0xc7, 0xaf, 0xff, 0xf9, 0xcb, 0xbf, 0xfe, 0xf7, 0xcf, 0xc7, 0xc7, 0x7f, 0x3c, 0x3e, + 0x1a, 0x4f, 0x73, 0x9f, 0xf8, 0xb5, 0xb8, 0x1b, 0xdb, 0xf4, 0xff, 0x92, 0xca, 0x9e, 0x16, 0xae, + 0x83, 0x85, 0xc2, 0x42, 0x91, 0x3c, 0xe5, 0x2f, 0x79, 0x8a, 0xf5, 0xe6, 0x8d, 0xc8, 0x1b, 0x36, + 0x70, 0x05, 0x7b, 0xe4, 0x0a, 0x62, 0xbf, 0x3b, 0x12, 0xf3, 0x1d, 0x11, 0xb9, 0x39, 0x2c, 0xb2, + 0xe1, 0x5f, 0x62, 0x63, 0x3f, 0x66, 0x34, 0x44, 0xf2, 0xb4, 0x8b, 0xe4, 0xbd, 0xd7, 0xf7, 0xd0, + 0x30, 0x6d, 0x3b, 0x60, 0xa1, 0x80, 0x0d, 0xcc, 0x5d, 0x05, 0x23, 0x80, 0x11, 0x88, 0xcf, 0x0b, + 0xfd, 0x29, 0xd8, 0x2f, 0x7f, 0x96, 0x8c, 0x73, 0xd3, 0xe8, 0xd4, 0x8c, 0xcf, 0x4f, 0x83, 0x44, + 0xeb, 0xd3, 0xfc, 0xdf, 0x7f, 0xfd, 0x7f, 0x7e, 0xfd, 0xcf, 0xdd, 0x64, 0x56, 0x61, 0x8f, 0xc5, + 0x38, 0x80, 0x65, 0x1a, 0x2b, 0x87, 0x1f, 0x87, 0x95, 0xc1, 0xca, 0xc6, 0xfd, 0xfc, 0x62, 0xf6, + 0x5f, 0x58, 0xac, 0xda, 0x63, 0x02, 0x35, 0xc6, 0xf2, 0xa5, 0x39, 0x97, 0xa0, 0x39, 0xd3, 0xd5, + 0xc8, 0xca, 0xab, 0xfa, 0x3c, 0x80, 0x78, 0x27, 0xe4, 0x8e, 0x25, 0x40, 0x3e, 0x33, 0xd7, 0x64, + 0x60, 0xf3, 0x36, 0x3c, 0xb2, 0x8c, 0x47, 0x8e, 0xbd, 0x69, 0xdb, 0x76, 0x42, 0xcb, 0xf7, 0xb8, + 0xe3, 0xf5, 0x1d, 0xfe, 0x3e, 0xd2, 0x9d, 0x85, 0xb7, 0x6f, 0xaf, 0x68, 0x43, 0x6c, 0x63, 0x75, + 0x29, 0x8d, 0x1b, 0xab, 0x85, 0xde, 0xf5, 0xce, 0xc9, 0xa6, 0x6a, 0x91, 0x17, 0xb5, 0x69, 0x5f, + 0x0f, 0x14, 0x7e, 0xf1, 0x5a, 0x7a, 0xd1, 0x44, 0x86, 0xdc, 0xa5, 0x09, 0x3e, 0xba, 0x30, 0xd9, + 0xc5, 0x94, 0x78, 0x21, 0x27, 0xfe, 0x48, 0xc6, 0x18, 0xc5, 0xa2, 0xe3, 0x19, 0xcf, 0x81, 0x6f, + 0xda, 0x96, 0x19, 0x72, 0xa3, 0xf7, 0x9d, 0x87, 0xe2, 0x8e, 0x64, 0xb9, 0x09, 0xf8, 0x11, 0xf8, + 0x91, 0x84, 0xfc, 0xc8, 0xf8, 0x18, 0x68, 0xa1, 0x82, 0xc8, 0x12, 0x05, 0x90, 0x25, 0x0b, 0x14, + 0x4b, 0xbc, 0xfd, 0xae, 0x52, 0x80, 0x58, 0xb5, 0x70, 0x8b, 0x62, 0x81, 0x61, 0x8a, 0xd2, 0xb5, + 0x32, 0xe5, 0x73, 0x54, 0x0a, 0x06, 0x53, 0x75, 0x19, 0x5d, 0x41, 0x60, 0x92, 0x5e, 0xd4, 0x54, + 0x5c, 0x20, 0xe1, 0xc8, 0x34, 0x40, 0x54, 0x33, 0xb0, 0xe5, 0x62, 0x52, 0x74, 0x31, 0xa2, 0x11, + 0xa2, 0x51, 0xb2, 0xd1, 0x48, 0xe8, 0x68, 0x20, 0x89, 0xa3, 0x80, 0x10, 0x8d, 0x10, 0x8d, 0x36, + 0x76, 0x99, 0xea, 0x51, 0x3b, 0x88, 0x41, 0x51, 0x0c, 0x62, 0x41, 0xe0, 0x07, 0x72, 0x11, 0x68, + 0x7c, 0x29, 0xe2, 0x0f, 0xe2, 0x0f, 0xe2, 0x0f, 0xe2, 0x0f, 0xe2, 0x0f, 0xe2, 0x8f, 0x78, 0xfc, + 0xe9, 0xf6, 0x5d, 0xee, 0xa8, 0xa9, 0x73, 0x0b, 0x4d, 0x20, 0x1e, 0x21, 0x1e, 0x41, 0x9d, 0x43, + 0x3c, 0x82, 0x3a, 0x87, 0xc8, 0xa4, 0x12, 0x99, 0x7c, 0x8b, 0x33, 0xc9, 0x88, 0x34, 0xbe, 0x14, + 0x91, 0x08, 0x91, 0x08, 0x91, 0x08, 0x91, 0x08, 0x91, 0x08, 0x91, 0x48, 0x25, 0x12, 0xf5, 0x3d, + 0xc5, 0x0c, 0x69, 0xae, 0x01, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, 0x25, 0x44, + 0x25, 0xb5, 0xa8, 0xf4, 0xdd, 0xf3, 0xff, 0xf2, 0x8c, 0x5e, 0xe0, 0x73, 0x5f, 0x36, 0x2e, 0xcd, + 0x35, 0x81, 0xc8, 0x84, 0xc8, 0x94, 0x6c, 0x64, 0xc2, 0x4a, 0x12, 0x22, 0x13, 0x56, 0x92, 0x72, + 0x10, 0x8f, 0xfc, 0x3e, 0x57, 0xde, 0xe8, 0xbd, 0xa2, 0x0d, 0x44, 0x24, 0x44, 0x24, 0xe4, 0x4a, + 0x88, 0x48, 0xc8, 0x95, 0x10, 0x9b, 0x94, 0x62, 0x93, 0xfc, 0x56, 0xef, 0xb9, 0xab, 0x11, 0x8f, + 0x10, 0x8f, 0x90, 0x21, 0x21, 0x1e, 0x21, 0x43, 0x42, 0x14, 0x92, 0x88, 0x42, 0xb2, 0x9b, 0xbd, + 0x67, 0xae, 0x45, 0x04, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x92, 0x88, + 0x40, 0xaa, 0xdb, 0xbd, 0x57, 0xb4, 0x81, 0x88, 0x84, 0x88, 0x04, 0x8d, 0x0e, 0x11, 0x09, 0x1a, + 0x1d, 0x62, 0x93, 0x52, 0x6c, 0x92, 0xdd, 0xf0, 0x3d, 0x73, 0x2d, 0x62, 0x11, 0x62, 0x11, 0x62, + 0x11, 0x62, 0x11, 0x62, 0x11, 0x62, 0x91, 0x52, 0x2c, 0x52, 0xdb, 0xf2, 0xbd, 0xd4, 0x02, 0xe2, + 0x12, 0xe2, 0x12, 0xe2, 0x12, 0xe2, 0x12, 0xe2, 0x12, 0xe2, 0x92, 0xc4, 0x27, 0xb6, 0x15, 0x76, + 0xae, 0x79, 0x9e, 0xcf, 0x47, 0x47, 0xb4, 0xc4, 0xaa, 0xef, 0x1c, 0x5a, 0xaf, 0xac, 0x6b, 0xf6, + 0xa2, 0x33, 0xc5, 0x18, 0xef, 0x18, 0xd3, 0x53, 0xc5, 0x0e, 0x97, 0x0f, 0x18, 0x8b, 0x4e, 0x17, + 0x8b, 0x5d, 0x26, 0x7c, 0xf4, 0x3d, 0x3c, 0xe8, 0x5b, 0x7c, 0x7c, 0xa2, 0x56, 0xf1, 0xba, 0xde, + 0xfa, 0x7c, 0x1d, 0x35, 0xdd, 0x9e, 0xfe, 0xd8, 0x1c, 0x7c, 0xc9, 0xf4, 0xef, 0xed, 0xe6, 0xf4, + 0x4b, 0x34, 0x54, 0x47, 0xe7, 0x71, 0x5c, 0x6b, 0xe4, 0x4e, 0x87, 0x9f, 0xc6, 0x19, 0x15, 0x38, + 0xa3, 0x62, 0xd2, 0xcf, 0x36, 0xf3, 0xb8, 0xc3, 0xdf, 0x05, 0xcf, 0xf8, 0x8b, 0xe1, 0xfa, 0x8a, + 0xd7, 0xe3, 0xa6, 0x2f, 0xcc, 0x90, 0xc9, 0xbc, 0xce, 0x31, 0x39, 0x84, 0x70, 0x38, 0x65, 0x55, + 0x3b, 0xee, 0x40, 0xec, 0x5f, 0xd6, 0x74, 0xf4, 0x60, 0x02, 0x6d, 0x39, 0x26, 0x2f, 0xde, 0x59, + 0x83, 0x42, 0x67, 0x0c, 0x0a, 0x9d, 0x2d, 0x18, 0xef, 0x4c, 0xc1, 0x75, 0xcf, 0x17, 0xd3, 0xf3, + 0xca, 0x7b, 0xdc, 0xe2, 0xc6, 0x73, 0x1e, 0x64, 0xdc, 0xeb, 0xea, 0xa9, 0xb1, 0x3c, 0xac, 0xf3, + 0xbf, 0x59, 0xe8, 0x80, 0x6d, 0x0f, 0x2e, 0xfa, 0xc0, 0x2b, 0x1e, 0x53, 0xe8, 0xf1, 0xe6, 0x1f, + 0x6a, 0x7a, 0xeb, 0x33, 0xb7, 0x5d, 0x74, 0x5d, 0xbb, 0xb7, 0x74, 0xb3, 0xd3, 0xe3, 0x5d, 0x07, + 0xff, 0xba, 0xf0, 0x90, 0xab, 0x8f, 0xba, 0x58, 0xeb, 0xc8, 0x37, 0x39, 0xee, 0x69, 0x6e, 0x68, + 0x19, 0x2b, 0xbe, 0x2a, 0x8e, 0x77, 0x8e, 0xed, 0x8d, 0x63, 0x7b, 0xdf, 0x39, 0x6f, 0x3b, 0xb9, + 0x31, 0xc1, 0x89, 0xb0, 0xee, 0x50, 0x89, 0xa2, 0x35, 0xe9, 0xa5, 0x35, 0x4f, 0x33, 0x4d, 0x58, + 0x86, 0x9f, 0x5b, 0xe7, 0x40, 0x36, 0x9e, 0x36, 0xb2, 0x35, 0xa6, 0xc6, 0x89, 0xa5, 0x31, 0x86, + 0x46, 0x34, 0x80, 0x0a, 0x07, 0x4e, 0xe1, 0x80, 0x19, 0x6f, 0xe8, 0xe4, 0x9c, 0xf6, 0xb6, 0x73, + 0x42, 0x8a, 0xd6, 0xab, 0x19, 0x86, 0x4e, 0x68, 0x38, 0x02, 0xa7, 0x7d, 0xcd, 0x5c, 0x93, 0x01, + 0x9c, 0xda, 0x3e, 0x15, 0x32, 0xca, 0x54, 0x5b, 0xa7, 0xca, 0xae, 0xc0, 0x2a, 0x1d, 0x27, 0xa7, + 0x4e, 0x67, 0xa9, 0x21, 0x96, 0x27, 0x2c, 0x5e, 0x88, 0x39, 0x8e, 0x39, 0xae, 0x38, 0x49, 0x0a, + 0x69, 0x3a, 0x4f, 0x95, 0x79, 0xe6, 0xb3, 0x2b, 0x72, 0xba, 0xe3, 0xe4, 0x82, 0x6d, 0x67, 0x52, + 0xb1, 0x8e, 0xd9, 0x77, 0x87, 0xc3, 0x36, 0x18, 0x6d, 0xd8, 0x0d, 0xec, 0x66, 0xb9, 0xc7, 0x9f, + 0x7d, 0xdf, 0x65, 0xa6, 0xd0, 0xf9, 0xc3, 0x65, 0x0d, 0x36, 0xf0, 0xca, 0x5c, 0xd7, 0x1f, 0x9e, + 0x28, 0x15, 0xc4, 0xb7, 0x83, 0xd9, 0x8b, 0x30, 0xb9, 0x31, 0xb9, 0x97, 0x7a, 0xbc, 0xef, 0x78, + 0x1c, 0x87, 0x9e, 0x12, 0xae, 0xbe, 0xe0, 0xd0, 0x53, 0x6d, 0xbd, 0x93, 0xe6, 0x43, 0x4f, 0xfb, + 0xbd, 0x5e, 0xc0, 0xc2, 0xd0, 0xe0, 0xee, 0x9b, 0x61, 0xda, 0x6f, 0x2c, 0xe0, 0x4e, 0xc8, 0xc6, + 0xd6, 0x1f, 0xf7, 0x10, 0xd4, 0xf5, 0x6d, 0xc0, 0x75, 0xc3, 0x75, 0x67, 0x67, 0x31, 0xe0, 0xe6, + 0xe6, 0xaa, 0xd1, 0x6e, 0xdd, 0xfc, 0x33, 0xee, 0x30, 0x0d, 0xdd, 0x4b, 0x28, 0xb4, 0x9a, 0x2f, + 0xe8, 0xf7, 0x26, 0x77, 0xd6, 0xb8, 0x7f, 0x68, 0xb5, 0xaf, 0xea, 0xcd, 0xcb, 0x87, 0xeb, 0x46, + 0xeb, 0xfa, 0xfe, 0xae, 0xa8, 0xc3, 0x35, 0x4b, 0xde, 0x5b, 0xf3, 0x8f, 0x66, 0xab, 0x7e, 0xdb, + 0xbe, 0xac, 0x35, 0x6a, 0x17, 0xd7, 0x37, 0xd7, 0xad, 0xeb, 0x7a, 0x33, 0x85, 0xb7, 0x97, 0xd2, + 0xce, 0xbb, 0xfc, 0x5a, 0x6b, 0x36, 0xaf, 0x9b, 0xed, 0xeb, 0xab, 0x34, 0xdd, 0xd5, 0x6d, 0xed, + 0xae, 0xf6, 0xa5, 0x7e, 0x5b, 0xbf, 0x6b, 0xb5, 0x6b, 0x57, 0x57, 0x0f, 0xf5, 0x66, 0xaa, 0x46, + 0x74, 0x68, 0x0c, 0xe9, 0xea, 0xb0, 0xf1, 0x24, 0xbb, 0xab, 0xdd, 0xd6, 0xa9, 0xf7, 0x3e, 0x3d, + 0x69, 0xf6, 0xdf, 0xb1, 0x16, 0x12, 0x67, 0x41, 0x36, 0xf6, 0x1a, 0xe1, 0x2c, 0xf2, 0x89, 0x5f, + 0x14, 0x6b, 0x81, 0x51, 0x11, 0x7e, 0xde, 0x43, 0xce, 0xba, 0x86, 0xcd, 0x42, 0x2b, 0x70, 0x7a, + 0xb1, 0x36, 0x82, 0x4c, 0xa1, 0x67, 0xf9, 0x5a, 0xc0, 0x0e, 0x60, 0x87, 0x42, 0xa0, 0x8f, 0xf1, + 0xd9, 0x1b, 0xe6, 0xbd, 0x0c, 0xd7, 0x88, 0x91, 0xa9, 0xe6, 0x2b, 0x53, 0xad, 0x1c, 0x23, 0x31, + 0x9d, 0xf5, 0xcd, 0xe3, 0x7d, 0x0c, 0x62, 0x4e, 0x79, 0xc3, 0xbe, 0x19, 0x78, 0x63, 0x78, 0x63, + 0x78, 0x63, 0x78, 0x63, 0x78, 0xe3, 0x98, 0xff, 0x42, 0xbc, 0x85, 0xcf, 0xef, 0x31, 0x6f, 0xb4, + 0x75, 0x69, 0xe8, 0x21, 0x0e, 0x87, 0xff, 0xb7, 0x71, 0x2f, 0x53, 0x61, 0x79, 0x53, 0xdb, 0x7d, + 0xd4, 0xc8, 0x8d, 0x6b, 0xf7, 0xda, 0xc3, 0xff, 0x1b, 0x3b, 0xea, 0xb8, 0xbb, 0xf4, 0x56, 0xec, + 0x23, 0x9b, 0x6e, 0xae, 0xdb, 0xbe, 0xfb, 0x6a, 0xe6, 0xb3, 0xd8, 0x81, 0x95, 0x9d, 0x1d, 0x58, + 0xd3, 0xfd, 0xa1, 0xb1, 0x91, 0x22, 0xce, 0x96, 0xd2, 0x18, 0x03, 0x0e, 0xa0, 0xc8, 0x02, 0x50, + 0x6c, 0x9b, 0x40, 0xd1, 0x07, 0xb7, 0xec, 0xd2, 0x5c, 0x3b, 0x40, 0x5b, 0x3d, 0x9d, 0xc4, 0x94, + 0x12, 0x9e, 0x5a, 0x32, 0x53, 0x4c, 0x61, 0xaa, 0xc9, 0x4e, 0x39, 0xe5, 0xa9, 0xa7, 0x3c, 0x05, + 0xd5, 0xa6, 0xa2, 0x60, 0x5c, 0x8f, 0x39, 0x66, 0x71, 0xa7, 0x68, 0x74, 0x41, 0xdc, 0x2d, 0x48, + 0x6b, 0x47, 0x3a, 0xde, 0x96, 0xa4, 0xe5, 0x1b, 0x15, 0xda, 0xa2, 0x44, 0x45, 0x6e, 0xa2, 0x36, + 0xa0, 0x62, 0x0b, 0x04, 0x36, 0xa1, 0x6a, 0x1b, 0x64, 0x36, 0x42, 0x66, 0x2b, 0x34, 0x36, 0x23, + 0x66, 0x3b, 0x12, 0xe9, 0x44, 0x41, 0xea, 0x75, 0xe1, 0xa5, 0x11, 0x8f, 0xbf, 0xc5, 0x6a, 0xad, + 0x73, 0x2f, 0x6b, 0x7a, 0xc7, 0x52, 0x24, 0xb7, 0x8a, 0xa5, 0xb2, 0xac, 0xed, 0x84, 0x18, 0x72, + 0x0b, 0xcc, 0x1b, 0xe6, 0x9d, 0x45, 0xf3, 0x36, 0x43, 0x36, 0x7d, 0xff, 0xca, 0x88, 0xb7, 0x61, + 0x61, 0xad, 0xa5, 0x9f, 0x4a, 0x5c, 0xdb, 0x88, 0x12, 0x67, 0xcb, 0x70, 0x3a, 0x9f, 0x66, 0xde, + 0x05, 0x5b, 0xf8, 0xc5, 0xf8, 0xef, 0x43, 0x5b, 0xd4, 0xe5, 0x51, 0x48, 0x41, 0x46, 0xf0, 0xed, + 0x6b, 0x21, 0x41, 0x61, 0xd5, 0x2b, 0x73, 0x87, 0x42, 0xec, 0x1d, 0x53, 0x75, 0x58, 0xf5, 0x6a, + 0xdd, 0x46, 0x29, 0x42, 0xbc, 0x4f, 0xe3, 0xd4, 0x5e, 0x11, 0xf2, 0xdf, 0x32, 0x7e, 0x3b, 0xd5, + 0x35, 0x56, 0x90, 0x8a, 0xec, 0xc6, 0x82, 0xe5, 0xab, 0xad, 0xb8, 0xcc, 0xec, 0x88, 0x39, 0x53, + 0x19, 0x27, 0x1a, 0x39, 0xcf, 0x8f, 0x1f, 0xc7, 0xc6, 0x7f, 0x18, 0xdf, 0x3d, 0x12, 0x19, 0x26, + 0x73, 0x5e, 0x5e, 0x9f, 0xa5, 0xaa, 0x97, 0x4f, 0x2f, 0xd5, 0xac, 0x16, 0x54, 0x60, 0xa2, 0x50, + 0x0b, 0x16, 0x27, 0xac, 0x42, 0x36, 0x30, 0x69, 0x41, 0x2e, 0x23, 0x28, 0x23, 0x23, 0x40, 0x46, + 0xa0, 0x2b, 0x23, 0x10, 0x35, 0x87, 0xa9, 0xde, 0x6b, 0xf6, 0xcc, 0x67, 0xc7, 0x75, 0xb8, 0xc3, + 0x42, 0xf9, 0x31, 0x8b, 0x54, 0xe0, 0xd9, 0xd6, 0x3e, 0x28, 0xd5, 0x9b, 0x2a, 0x4b, 0x5e, 0x2e, + 0xea, 0xfd, 0x29, 0xcd, 0x87, 0xd0, 0x8c, 0xa8, 0xcc, 0x89, 0xdc, 0xac, 0xc8, 0xcd, 0x8b, 0xd6, + 0xcc, 0xe4, 0xcc, 0x4d, 0xd2, 0xec, 0x94, 0xcd, 0x6f, 0xd9, 0x0c, 0xdf, 0xd5, 0x47, 0x7a, 0xc9, + 0x18, 0xdf, 0x55, 0x87, 0x5a, 0xcd, 0x24, 0x95, 0x23, 0x9a, 0x0e, 0x13, 0xd5, 0x60, 0xaa, 0xd4, + 0x26, 0xab, 0xcd, 0x74, 0xb5, 0x99, 0xb0, 0x1e, 0x53, 0x56, 0x33, 0x69, 0x45, 0xd3, 0x26, 0x33, + 0xf1, 0xa9, 0xa9, 0x8b, 0xad, 0xb0, 0xc6, 0x37, 0x77, 0x51, 0x15, 0x28, 0x01, 0x93, 0x27, 0x37, + 0x7d, 0x1d, 0x2e, 0x40, 0xa3, 0x2b, 0xd0, 0xe5, 0x12, 0xb4, 0xbb, 0x06, 0xed, 0x2e, 0x42, 0xaf, + 0xab, 0xa0, 0x71, 0x19, 0x44, 0xae, 0x63, 0xfa, 0xa8, 0x72, 0xc2, 0xf0, 0xd6, 0x76, 0xa5, 0x85, + 0xe3, 0x48, 0x89, 0x89, 0x7e, 0x3a, 0x9c, 0x25, 0xf8, 0xe9, 0x5f, 0xde, 0x0f, 0x49, 0xbd, 0x4b, + 0x41, 0x41, 0x83, 0xbe, 0x9b, 0xdc, 0x73, 0xf4, 0x53, 0xfb, 0x72, 0xe6, 0x9e, 0xa7, 0x7f, 0x79, + 0x17, 0x92, 0xab, 0xf5, 0xcf, 0x24, 0x82, 0x59, 0x24, 0xb7, 0x9c, 0xb9, 0x5d, 0xd8, 0x10, 0x5f, + 0xe6, 0xdc, 0x16, 0x37, 0x4a, 0x88, 0x1b, 0x88, 0x1b, 0x88, 0x1b, 0x34, 0x73, 0x56, 0x7a, 0xb9, + 0x77, 0xeb, 0x8c, 0x15, 0x5f, 0xae, 0x88, 0x0d, 0x8e, 0xa7, 0x84, 0x6d, 0xce, 0x2c, 0x77, 0x8c, + 0xca, 0xa1, 0x8a, 0x2f, 0x06, 0xa7, 0xdb, 0xaf, 0x8f, 0x6a, 0x9e, 0x92, 0x3b, 0xf6, 0x75, 0xa5, + 0x54, 0x53, 0x95, 0x11, 0x54, 0xe0, 0xd9, 0xe1, 0xd9, 0xf7, 0xd4, 0xb3, 0x53, 0x89, 0x0a, 0x51, + 0x83, 0xb2, 0x7b, 0x62, 0x63, 0x5b, 0x82, 0xdc, 0x9e, 0xd9, 0x84, 0xb1, 0x51, 0x1b, 0x3e, 0xea, + 0x74, 0x36, 0x09, 0x38, 0x1d, 0xdd, 0xce, 0x27, 0x31, 0x27, 0x94, 0x98, 0x33, 0x4a, 0xc6, 0x29, + 0xd1, 0x3a, 0x27, 0x62, 0x27, 0xa5, 0x0f, 0x43, 0x97, 0x66, 0xbc, 0xfc, 0xa6, 0xe3, 0xd8, 0xf4, + 0x52, 0x3e, 0x48, 0xe7, 0x80, 0x11, 0x0e, 0x16, 0xad, 0x4a, 0xa0, 0x53, 0x2d, 0x80, 0xfb, 0x87, + 0xfb, 0x87, 0xfb, 0x87, 0xfb, 0x97, 0x2a, 0x9f, 0x27, 0x1d, 0x02, 0x8e, 0x35, 0xb4, 0x2d, 0x55, + 0x9e, 0x4f, 0xba, 0xa3, 0x86, 0xe5, 0xfc, 0x16, 0xab, 0xd3, 0xfd, 0xa1, 0xcb, 0xc8, 0x24, 0x8a, + 0x01, 0x8a, 0xfe, 0xf7, 0xb7, 0xb6, 0x96, 0xe7, 0xfa, 0xad, 0x55, 0xbf, 0xa9, 0x37, 0xbe, 0xde, + 0xdf, 0xd5, 0x8b, 0xda, 0xbe, 0xef, 0xe7, 0x87, 0xac, 0x77, 0xd2, 0xc3, 0xfd, 0xb7, 0x56, 0xfd, + 0x01, 0x3d, 0xb4, 0xbe, 0x87, 0xae, 0xee, 0x2f, 0x9b, 0xd7, 0xcd, 0xf6, 0x65, 0xed, 0xe2, 0xa6, + 0xde, 0xbe, 0xaa, 0xff, 0xf3, 0xfa, 0x12, 0x13, 0x6a, 0x43, 0x77, 0x35, 0x5b, 0xb5, 0xd6, 0xf5, + 0xfd, 0x5d, 0xfb, 0xfe, 0xee, 0xe6, 0x0f, 0xf4, 0xd3, 0x86, 0x7e, 0x6a, 0xff, 0xf3, 0xa6, 0x76, + 0x87, 0x1e, 0x5a, 0xdf, 0x43, 0xf7, 0xad, 0xaf, 0xf0, 0x4c, 0x9b, 0x3a, 0xe8, 0x12, 0x53, 0x68, + 0x4b, 0x0f, 0xdd, 0xd6, 0x2e, 0xdb, 0x17, 0x0f, 0xd7, 0x57, 0x5f, 0xe0, 0xb2, 0x37, 0x31, 0x40, + 0xbd, 0x51, 0xaf, 0x81, 0x02, 0x36, 0xc3, 0xe4, 0xef, 0xf7, 0xed, 0x61, 0xc1, 0xde, 0xc1, 0x94, + 0x7a, 0xa8, 0xdf, 0xd4, 0x10, 0xdc, 0x36, 0xf4, 0xd6, 0xef, 0x37, 0xb5, 0xbb, 0x76, 0xed, 0xf2, + 0xb2, 0xde, 0x6c, 0xb6, 0x1b, 0xf7, 0xd7, 0x77, 0x2d, 0x8d, 0x9d, 0xa5, 0xa5, 0xe5, 0xa7, 0xb4, + 0xa7, 0xfb, 0xd8, 0x34, 0x27, 0xd4, 0x6e, 0x12, 0x9b, 0xe6, 0x28, 0xd7, 0xdf, 0x0b, 0xc9, 0xec, + 0x99, 0x5b, 0x71, 0x7a, 0xea, 0xee, 0xe6, 0xd1, 0x6e, 0x77, 0x7c, 0x6f, 0x3f, 0xab, 0x38, 0x76, + 0x53, 0x42, 0xa5, 0xc8, 0xb7, 0xb6, 0x26, 0x53, 0xaa, 0x7c, 0x7b, 0xa3, 0x12, 0xa5, 0xcc, 0xb7, + 0x36, 0x2a, 0x54, 0xea, 0x5c, 0xf7, 0x78, 0x12, 0x7b, 0x92, 0x24, 0x3c, 0x48, 0x91, 0x64, 0x6f, + 0x91, 0x66, 0x9f, 0xa1, 0xe6, 0x2d, 0x7e, 0x66, 0xe4, 0x15, 0x2f, 0xa2, 0xd9, 0xa3, 0x6d, 0xd6, + 0xa8, 0xbc, 0x63, 0xa8, 0x67, 0x8a, 0xc8, 0xcd, 0x0b, 0xf1, 0x51, 0x95, 0x18, 0x51, 0xd5, 0x97, + 0x70, 0x68, 0x5e, 0xba, 0x21, 0x7b, 0xd5, 0xb5, 0x84, 0x57, 0x5d, 0x17, 0x02, 0x37, 0x5e, 0x75, + 0xdd, 0x2b, 0x3f, 0xa8, 0xfa, 0x72, 0x0a, 0xa5, 0x07, 0x54, 0x78, 0xe9, 0x24, 0x21, 0xdf, 0xd7, + 0x0f, 0xb9, 0xdf, 0x35, 0xb8, 0xfb, 0x46, 0xf1, 0xc6, 0xff, 0x4c, 0x63, 0x78, 0xe1, 0x1f, 0x5e, + 0x70, 0x4f, 0xbc, 0xa0, 0xf2, 0x0b, 0xff, 0xdc, 0x7d, 0xa3, 0x7b, 0xd3, 0x7f, 0xd0, 0x18, 0x5e, + 0xf1, 0x4f, 0xc0, 0x38, 0xa9, 0x8d, 0x54, 0x9b, 0xb1, 0x6a, 0x33, 0x5a, 0x3d, 0xc6, 0x9b, 0x0e, + 0xc1, 0x07, 0xaf, 0xf8, 0xa7, 0xc1, 0xf4, 0x75, 0xb8, 0x00, 0x8d, 0xae, 0x40, 0x97, 0x4b, 0xd0, + 0xee, 0x1a, 0xb4, 0xbb, 0x08, 0xbd, 0xae, 0x82, 0xc6, 0x65, 0x10, 0xb9, 0x0e, 0x5d, 0x1a, 0xa3, + 0x9e, 0x6c, 0x69, 0x8a, 0xec, 0x87, 0xdc, 0x7d, 0x4b, 0xf7, 0xab, 0xfd, 0xc3, 0x7b, 0x6d, 0xb9, + 0x6f, 0x61, 0xbb, 0xe5, 0xbe, 0xe5, 0xf0, 0x8d, 0x7e, 0xbf, 0xef, 0xd0, 0xc7, 0x89, 0x41, 0xa3, + 0x78, 0x9f, 0x1f, 0x41, 0x02, 0x41, 0x22, 0x95, 0x41, 0x02, 0xef, 0xf3, 0x2f, 0xbe, 0xcf, 0x3f, + 0x70, 0x58, 0xf9, 0x72, 0xea, 0x46, 0xd8, 0x7f, 0xe6, 0x94, 0xe3, 0x3c, 0xeb, 0xdc, 0xa3, 0xc6, + 0xe1, 0xe4, 0xe1, 0xe4, 0xe1, 0xe4, 0xe1, 0xe4, 0xb3, 0xe2, 0xe4, 0x23, 0xc7, 0x85, 0xda, 0x2d, + 0xdb, 0x46, 0x19, 0xb5, 0x5b, 0xe0, 0xe0, 0xe1, 0xe0, 0x53, 0xec, 0xe0, 0xc9, 0x6b, 0xb7, 0x50, + 0x4a, 0x01, 0x1a, 0x25, 0x01, 0x4d, 0xd4, 0xa8, 0x8d, 0x1e, 0x75, 0x3a, 0x99, 0x04, 0x9c, 0x8d, + 0x6e, 0xa7, 0x93, 0x98, 0xf3, 0x49, 0xcc, 0x09, 0x25, 0xe3, 0x8c, 0x68, 0x9d, 0x12, 0xb1, 0x73, + 0xd2, 0x47, 0xa1, 0x2b, 0x38, 0x25, 0x70, 0xbc, 0x17, 0x9d, 0xef, 0xeb, 0x9f, 0xed, 0x41, 0xc9, + 0x16, 0x1d, 0x8a, 0x41, 0x02, 0xca, 0x01, 0x62, 0x01, 0x62, 0x01, 0x62, 0x01, 0x62, 0x01, 0x62, + 0x01, 0x61, 0x2c, 0xd0, 0x1b, 0x04, 0xe0, 0xfd, 0xe1, 0xfd, 0xe1, 0xfd, 0xe1, 0xfd, 0xe9, 0x67, + 0xbc, 0xe3, 0xf1, 0xa3, 0x8a, 0x46, 0xe7, 0x7f, 0xa4, 0xa1, 0xe9, 0x07, 0xd3, 0x7b, 0x61, 0xda, + 0x4a, 0x5b, 0xe9, 0x7b, 0xb7, 0xbe, 0x78, 0xeb, 0x78, 0xda, 0x1c, 0xc0, 0x52, 0xd4, 0xfd, 0xa0, + 0xf7, 0x6b, 0x86, 0x05, 0xc6, 0x8a, 0x9f, 0x0a, 0x95, 0x72, 0xf5, 0xb4, 0x7a, 0x76, 0x74, 0x52, + 0x3d, 0xd3, 0xfc, 0x85, 0x9f, 0x03, 0xd3, 0xe2, 0x8e, 0xef, 0x5d, 0x39, 0x2f, 0xce, 0xf0, 0x75, + 0xd7, 0x52, 0x16, 0x2b, 0x37, 0x14, 0x6f, 0xcd, 0x1f, 0x89, 0xcd, 0x81, 0x52, 0xd2, 0x73, 0xe0, + 0x34, 0x47, 0x73, 0xe0, 0x20, 0x1b, 0xad, 0x3e, 0xed, 0x01, 0x5c, 0xbf, 0x8d, 0xe7, 0x99, 0x26, + 0xba, 0x1e, 0x35, 0x0f, 0xbc, 0x06, 0x5e, 0x03, 0xaf, 0x81, 0xd7, 0xa4, 0x33, 0xfe, 0xd9, 0xf1, + 0xcc, 0xe0, 0x5d, 0x23, 0x5f, 0x9f, 0xa3, 0x1e, 0x51, 0x9c, 0xb9, 0x9e, 0xc1, 0x1d, 0xfe, 0x69, + 0xae, 0x43, 0x34, 0xbf, 0xc1, 0x3f, 0x5d, 0xe5, 0x87, 0x08, 0x76, 0x07, 0xe9, 0xd9, 0x03, 0x8a, + 0xcd, 0x9f, 0x69, 0xa5, 0x08, 0xec, 0x0d, 0xda, 0x0d, 0x25, 0x60, 0xf3, 0xa7, 0xb2, 0xca, 0xa3, + 0x75, 0xf3, 0x67, 0xaa, 0x76, 0x7d, 0xa6, 0xa1, 0xac, 0xdc, 0xa0, 0x43, 0x0a, 0x7e, 0xdf, 0x29, + 0xd0, 0xad, 0xca, 0xa3, 0xcc, 0x1c, 0xca, 0xcc, 0x09, 0x81, 0x61, 0xca, 0xca, 0xcb, 0xcd, 0xa1, + 0x20, 0xaa, 0xca, 0xa5, 0x60, 0x92, 0xa4, 0xa4, 0xa4, 0x52, 0x34, 0x31, 0xd2, 0x5c, 0x56, 0xc9, + 0xb1, 0xd5, 0xab, 0x29, 0x39, 0xb6, 0x62, 0x11, 0xa5, 0x12, 0x4a, 0xc9, 0x15, 0x50, 0x44, 0x29, + 0x23, 0xce, 0x4f, 0x99, 0x92, 0x09, 0xa9, 0x98, 0x82, 0x82, 0x97, 0xa9, 0xd7, 0xb1, 0xd3, 0xec, + 0xb1, 0xd4, 0xde, 0x5c, 0x22, 0x79, 0x53, 0x09, 0xc5, 0xdf, 0xe0, 0xb7, 0xf6, 0xaf, 0xf8, 0x9b, + 0xf9, 0xc2, 0xe8, 0x8a, 0xbf, 0x0d, 0x1a, 0xa3, 0x29, 0xfe, 0x56, 0x42, 0xf1, 0xb7, 0x5d, 0x48, + 0x7c, 0x28, 0xfe, 0x96, 0x06, 0x59, 0x86, 0x4c, 0xb2, 0x8b, 0x66, 0x5c, 0xdf, 0xf1, 0xf8, 0x49, + 0x95, 0x62, 0xc2, 0x8d, 0xed, 0x93, 0x60, 0x5b, 0x14, 0xf1, 0x86, 0x37, 0x42, 0x81, 0x53, 0xc7, + 0x86, 0x36, 0x5d, 0x3b, 0x27, 0x26, 0x9b, 0x95, 0xa8, 0xdb, 0xd5, 0xb8, 0x27, 0x89, 0x72, 0x0f, + 0x8d, 0x8e, 0x7d, 0x67, 0xba, 0x87, 0xaa, 0x7c, 0x56, 0xad, 0x9e, 0x9c, 0x56, 0xab, 0xa5, 0xd3, + 0xa3, 0xd3, 0xd2, 0xf9, 0xf1, 0x71, 0xf9, 0x84, 0xfa, 0x1c, 0x58, 0xad, 0xa3, 0x97, 0x12, 0xe5, + 0xfc, 0x69, 0x57, 0xa2, 0x9c, 0x02, 0x52, 0x5b, 0xaf, 0x66, 0x18, 0x3a, 0xa1, 0xa1, 0xa0, 0xcf, + 0x2c, 0xb9, 0xf6, 0x99, 0x36, 0x81, 0x5e, 0x40, 0x2f, 0xa0, 0x57, 0xca, 0xd0, 0x8b, 0xec, 0x45, + 0x34, 0xa2, 0x17, 0xcf, 0x76, 0xed, 0xf9, 0x0c, 0x92, 0x6d, 0x28, 0x2b, 0xdc, 0x9f, 0x41, 0xb1, + 0x6c, 0x09, 0x1f, 0x08, 0x1f, 0x08, 0x1f, 0x48, 0xed, 0x03, 0x69, 0x8d, 0x74, 0xce, 0x19, 0x56, + 0x09, 0xda, 0xaa, 0x7b, 0xfd, 0xee, 0xe0, 0x81, 0x7f, 0x66, 0xd0, 0xb1, 0x52, 0xa2, 0x24, 0x10, + 0x12, 0xee, 0x13, 0xee, 0x13, 0x08, 0x99, 0x4e, 0x4f, 0xe7, 0x9a, 0x21, 0x37, 0xfa, 0x3d, 0x9b, + 0xa2, 0xc4, 0xe1, 0x74, 0xb5, 0x76, 0xa6, 0x51, 0xf8, 0x3e, 0xf8, 0x3e, 0xf8, 0xbe, 0x94, 0xf9, + 0x3e, 0xea, 0x85, 0x8b, 0x2a, 0x16, 0x2e, 0x24, 0x63, 0x86, 0x26, 0x35, 0xfc, 0xbc, 0x52, 0x39, + 0x3a, 0x3a, 0xad, 0x94, 0x8e, 0x4e, 0xce, 0x8e, 0xab, 0xa7, 0xa7, 0xc7, 0x67, 0xa5, 0x33, 0x2c, + 0x65, 0x50, 0x0f, 0x5e, 0x29, 0xb1, 0xc1, 0x3b, 0xc5, 0x4a, 0x86, 0xe8, 0x7f, 0x59, 0x5c, 0xc9, + 0xe8, 0x9a, 0x9e, 0xf9, 0x32, 0xdc, 0x3b, 0x6f, 0x98, 0xb6, 0x1d, 0xb0, 0x30, 0xa4, 0x63, 0xb2, + 0x15, 0x6d, 0x03, 0xcd, 0x80, 0x66, 0x40, 0x33, 0xa4, 0xa5, 0x99, 0xf0, 0x84, 0xc4, 0x2b, 0x1c, + 0xeb, 0xbe, 0x00, 0x3e, 0x11, 0x3e, 0x11, 0x3e, 0x11, 0x3e, 0x31, 0x85, 0x3e, 0xb1, 0xe7, 0x07, + 0xdc, 0xb0, 0x59, 0x68, 0x05, 0x4e, 0x8f, 0xe4, 0xed, 0xc3, 0xa8, 0x7f, 0x97, 0x5a, 0x86, 0x17, + 0x84, 0x17, 0x84, 0x17, 0x84, 0x17, 0x4c, 0xab, 0x17, 0xa4, 0x5c, 0x9f, 0x9d, 0x34, 0x08, 0x9f, + 0x07, 0x9f, 0x07, 0x9f, 0x07, 0x9f, 0x97, 0x5e, 0x9f, 0x47, 0x9c, 0x02, 0xcf, 0xb5, 0x0a, 0xef, + 0x07, 0xef, 0x07, 0xef, 0x97, 0x32, 0xef, 0x47, 0x68, 0xa1, 0x05, 0x6c, 0xef, 0x9b, 0xde, 0x7b, + 0xf8, 0x1e, 0x72, 0xd6, 0xd5, 0x93, 0x4b, 0xaf, 0x68, 0x1b, 0xbe, 0x15, 0xbe, 0x15, 0xbe, 0x35, + 0xff, 0x64, 0x49, 0xd0, 0xd6, 0x0d, 0xf3, 0x5e, 0x86, 0x25, 0x46, 0xf0, 0xfa, 0xae, 0x42, 0xb3, + 0x78, 0x7d, 0x37, 0x73, 0x43, 0x55, 0x39, 0xc6, 0xdb, 0xba, 0xc2, 0xff, 0x3d, 0x65, 0x97, 0xbd, + 0xc6, 0x65, 0xe3, 0x68, 0xa1, 0x6b, 0xd8, 0x28, 0x68, 0x0b, 0xb4, 0x05, 0xda, 0x02, 0x6d, 0x81, + 0xb6, 0x40, 0x5b, 0xa0, 0x2d, 0xd0, 0xd6, 0x5e, 0xd3, 0x16, 0xe7, 0x2e, 0x1d, 0x65, 0x0d, 0x1a, + 0x03, 0x5d, 0x81, 0xae, 0x40, 0x57, 0x29, 0xa3, 0xab, 0xbe, 0xe3, 0xf1, 0xf2, 0x09, 0x21, 0x5d, + 0x9d, 0xe0, 0x7d, 0x2e, 0xb0, 0x15, 0xd8, 0x4a, 0x6a, 0xa8, 0x4e, 0x8e, 0x8f, 0x8f, 0x40, 0x57, + 0xd9, 0xa1, 0xab, 0xbd, 0x3f, 0x0e, 0x42, 0xf5, 0xf0, 0x38, 0xc2, 0x83, 0x20, 0x14, 0x4e, 0x87, + 0x93, 0xa8, 0xa8, 0x7e, 0xa0, 0x71, 0xc4, 0x27, 0xa7, 0x00, 0x09, 0x6f, 0x2c, 0x54, 0x3b, 0xe3, + 0x87, 0xe4, 0x4c, 0x1f, 0x92, 0x33, 0x7c, 0xd4, 0xce, 0xec, 0x11, 0xed, 0x6d, 0x45, 0xbb, 0xa2, + 0xb4, 0xa7, 0xa2, 0x54, 0xa1, 0x7e, 0x22, 0x0b, 0x12, 0xb3, 0x9d, 0xf8, 0x16, 0x10, 0xef, 0x93, + 0x31, 0x47, 0x4d, 0x76, 0xb4, 0x08, 0x46, 0x49, 0x60, 0x70, 0x94, 0x07, 0x25, 0xde, 0x58, 0x6c, + 0xef, 0xd9, 0x18, 0xbd, 0x2a, 0x78, 0xd2, 0x83, 0xd4, 0xc9, 0x0e, 0x82, 0x25, 0x0b, 0x84, 0x4f, + 0x6e, 0x90, 0xc9, 0xc5, 0x15, 0x72, 0x6e, 0xd9, 0xdc, 0x5a, 0x39, 0x87, 0x56, 0xce, 0x95, 0xd5, + 0x72, 0x62, 0x5a, 0x4b, 0x16, 0x3d, 0x29, 0xa1, 0x68, 0xf9, 0xfd, 0x81, 0xa5, 0x88, 0xbf, 0xd8, + 0x3e, 0x2d, 0x7b, 0x37, 0x69, 0x41, 0x34, 0x20, 0x4b, 0x55, 0xdc, 0x90, 0x96, 0x9a, 0x54, 0xa4, + 0x25, 0x02, 0x29, 0x49, 0x55, 0x3a, 0x22, 0x93, 0x8a, 0xc8, 0xa4, 0x21, 0x1a, 0x29, 0x48, 0x2f, + 0xf4, 0xc9, 0x1e, 0x1c, 0x52, 0xec, 0x04, 0x66, 0x97, 0x19, 0xb6, 0x13, 0x5a, 0x66, 0x40, 0x70, + 0xcc, 0xd8, 0x7c, 0x73, 0x38, 0x71, 0x0c, 0x27, 0xf7, 0xec, 0x4c, 0x73, 0xcd, 0xea, 0x89, 0x63, + 0xe3, 0x30, 0xa3, 0x54, 0x26, 0x8b, 0xe0, 0x5c, 0x0f, 0x22, 0x19, 0x95, 0xe6, 0xb4, 0x58, 0xc2, + 0x85, 0x08, 0xda, 0x33, 0xc9, 0x89, 0x65, 0x52, 0x1d, 0x7a, 0xdb, 0x4f, 0x9a, 0xb3, 0x75, 0x53, + 0x3f, 0x04, 0xfa, 0xce, 0xe1, 0xd0, 0x32, 0x2a, 0x3b, 0x52, 0x1d, 0x9f, 0x52, 0x7c, 0x6a, 0xe0, + 0x08, 0x1e, 0x58, 0x10, 0xf8, 0x81, 0xa1, 0x60, 0xf3, 0x0b, 0x30, 0x12, 0xb5, 0x07, 0x1a, 0x01, + 0x8d, 0x80, 0x46, 0x40, 0x23, 0xa0, 0x11, 0xd0, 0x08, 0x68, 0x04, 0x34, 0x22, 0x40, 0x23, 0x7e, + 0x9f, 0xd3, 0xe2, 0xc8, 0xa0, 0x41, 0xf0, 0x08, 0x78, 0x04, 0x3c, 0x02, 0x1e, 0x01, 0x8f, 0x80, + 0x47, 0xc0, 0x23, 0xe0, 0x91, 0x58, 0x3c, 0x42, 0xa7, 0x8b, 0x40, 0x11, 0x01, 0x81, 0x80, 0x40, + 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x12, 0x97, 0x40, 0x08, 0xb5, 0x10, 0xa8, + 0x20, 0x60, 0x10, 0x30, 0x08, 0x18, 0x04, 0x0c, 0x02, 0x06, 0x01, 0x83, 0x80, 0x41, 0x62, 0x74, + 0xf3, 0xf0, 0x84, 0x57, 0xcb, 0x65, 0x66, 0xa0, 0x0e, 0x21, 0x33, 0x6d, 0x81, 0x42, 0x40, 0x21, + 0xa0, 0x10, 0xc1, 0x19, 0x63, 0x9b, 0x9c, 0x19, 0xa6, 0x67, 0x1b, 0xdc, 0x51, 0x2a, 0x7f, 0x46, + 0x51, 0x5a, 0xa9, 0xd8, 0x30, 0x39, 0x67, 0x81, 0xa7, 0x0c, 0x23, 0xc5, 0xc7, 0x47, 0xfb, 0xef, + 0xea, 0x4f, 0x63, 0xf0, 0x47, 0x65, 0xf2, 0x47, 0x6b, 0xf4, 0xc7, 0xa7, 0xb9, 0x3f, 0x7e, 0x79, + 0x7c, 0xfc, 0xf8, 0xf8, 0x68, 0xff, 0xe3, 0xd7, 0xff, 0xfc, 0xe5, 0x5f, 0xff, 0xfb, 0xe7, 0xe3, + 0xe3, 0x3f, 0x1e, 0x1f, 0x8d, 0xa7, 0xb9, 0x4f, 0xfc, 0x5a, 0xcc, 0xa5, 0x0f, 0xe6, 0xee, 0x1b, + 0xdd, 0x1b, 0x03, 0xb3, 0x8d, 0xc1, 0x0b, 0xc3, 0x0b, 0xc3, 0x0b, 0x23, 0x17, 0x44, 0x2e, 0x88, + 0x5c, 0x10, 0xb9, 0x20, 0x72, 0xc1, 0x18, 0x1c, 0xd2, 0xf7, 0xbe, 0x7b, 0xfe, 0x5f, 0x1e, 0x0d, + 0x87, 0x4c, 0x1a, 0x03, 0x87, 0x80, 0x43, 0xc0, 0x21, 0xe0, 0x10, 0x70, 0x08, 0x38, 0x04, 0x1c, + 0xb2, 0x5f, 0x1c, 0x92, 0xcf, 0x6a, 0x51, 0xc3, 0x7a, 0x3b, 0x87, 0x92, 0x15, 0x4c, 0x0a, 0x0a, + 0x45, 0x89, 0x86, 0x85, 0xd5, 0xda, 0x97, 0x93, 0x2f, 0xd6, 0x55, 0x25, 0x4a, 0xa0, 0xfc, 0x0e, + 0xf3, 0xcc, 0x67, 0x97, 0xd9, 0xf2, 0x75, 0x60, 0x26, 0x0d, 0x88, 0x96, 0xe8, 0x60, 0x1d, 0xb3, + 0xef, 0x0e, 0x19, 0x61, 0x80, 0x1c, 0x92, 0x55, 0x64, 0x4a, 0xa8, 0x22, 0x93, 0x28, 0x34, 0xee, + 0x55, 0x15, 0x19, 0x69, 0x18, 0x8c, 0x46, 0xfc, 0xd9, 0xf7, 0x5d, 0x66, 0xca, 0x64, 0x50, 0xd1, + 0x22, 0x40, 0x39, 0x05, 0x3e, 0x42, 0xea, 0x90, 0x98, 0xa8, 0x13, 0x24, 0x4e, 0x83, 0x81, 0x79, + 0xc3, 0xbc, 0xb3, 0x60, 0xde, 0x66, 0xc8, 0x8c, 0x88, 0x2a, 0x8c, 0x80, 0x75, 0x54, 0x2c, 0xfd, + 0x54, 0xe2, 0xda, 0x46, 0xc4, 0x3e, 0x96, 0xe1, 0x74, 0x3e, 0xcd, 0xc0, 0xce, 0xc2, 0x2f, 0xc6, + 0x7f, 0x1f, 0xda, 0x22, 0x6a, 0x53, 0xae, 0x65, 0xc2, 0x04, 0xea, 0x52, 0x0a, 0xd4, 0xd6, 0x8d, + 0x51, 0x93, 0xf2, 0x40, 0xa1, 0xaf, 0x27, 0xb5, 0x71, 0x63, 0x38, 0x68, 0xb1, 0x6a, 0xb8, 0x52, + 0xd5, 0x6f, 0xa5, 0xaa, 0xdd, 0x8a, 0x55, 0xb7, 0xdd, 0xd6, 0x1f, 0x82, 0x73, 0x4e, 0x7a, 0xae, + 0x15, 0x63, 0x55, 0x12, 0x95, 0x99, 0x5d, 0x9b, 0xe7, 0xd5, 0xfa, 0xd9, 0xb2, 0xfa, 0x5f, 0xd6, + 0xf4, 0x57, 0xdc, 0x7e, 0x12, 0xec, 0x9f, 0x0d, 0xbd, 0x22, 0xd4, 0x1b, 0xab, 0xfb, 0x60, 0xf9, + 0x09, 0x57, 0x3c, 0xdd, 0x96, 0xfa, 0xad, 0xb1, 0xea, 0xb5, 0x6e, 0x29, 0x70, 0xb9, 0xb5, 0x1e, + 0x6b, 0x1c, 0x16, 0x11, 0x60, 0x8e, 0xb8, 0x6c, 0x21, 0xcc, 0x10, 0xc2, 0xac, 0x20, 0xc6, 0x04, + 0x62, 0x33, 0x72, 0x5b, 0xc1, 0xc7, 0xa2, 0xf5, 0x6a, 0x86, 0xa1, 0x13, 0x1a, 0xce, 0xf6, 0x4c, + 0x77, 0x2a, 0xe1, 0x4e, 0xaf, 0xd9, 0xe6, 0x48, 0x63, 0xe1, 0x6a, 0x6c, 0x3c, 0x15, 0xc1, 0x51, + 0x09, 0xfc, 0x14, 0xc5, 0x4d, 0x69, 0xbc, 0x94, 0xc6, 0x49, 0x39, 0x7c, 0x54, 0x0b, 0x86, 0xb1, + 0x71, 0x50, 0xfc, 0x30, 0xbd, 0xe9, 0x8e, 0x2e, 0x59, 0xf7, 0xfc, 0x21, 0xce, 0xcc, 0x1e, 0x9d, + 0x4f, 0x2f, 0x31, 0xbd, 0xe3, 0x1c, 0x6c, 0x8f, 0x39, 0xbe, 0x97, 0x73, 0x5c, 0x6c, 0x92, 0xcc, + 0x4d, 0xf6, 0x6a, 0x8c, 0xcf, 0xd6, 0xbd, 0x7e, 0x77, 0x70, 0x43, 0x3f, 0x75, 0x18, 0x46, 0xdc, + 0x12, 0xd7, 0xa2, 0x25, 0xad, 0x63, 0x96, 0xb0, 0x86, 0x29, 0xa4, 0xd9, 0x14, 0xe2, 0x96, 0x88, + 0x2e, 0x32, 0x8f, 0x07, 0x0e, 0x0b, 0x0d, 0xf3, 0x85, 0xd9, 0x42, 0x6f, 0xfb, 0xcd, 0x28, 0xe4, + 0x0b, 0x2d, 0x88, 0x15, 0xfa, 0x2f, 0x89, 0x16, 0xfa, 0x2f, 0xa1, 0xd0, 0x3f, 0xa9, 0xa8, 0x95, + 0xa6, 0x42, 0xff, 0xc2, 0xa2, 0x95, 0xd2, 0x86, 0x04, 0x89, 0x0d, 0x08, 0x92, 0x1b, 0x0e, 0xe4, + 0x8e, 0xd8, 0x51, 0x50, 0x4c, 0xd5, 0x36, 0x27, 0x29, 0x6e, 0x18, 0xa0, 0x58, 0x8a, 0xfe, 0x29, + 0x77, 0xa0, 0xd0, 0xce, 0xbb, 0x8c, 0x6e, 0x81, 0x9f, 0xa4, 0x17, 0x35, 0x89, 0xa1, 0x4f, 0x09, + 0x1e, 0x3a, 0x23, 0x77, 0x68, 0x81, 0xd2, 0x21, 0x05, 0x88, 0x4d, 0x88, 0x4d, 0x88, 0x4d, 0x88, + 0x4d, 0x88, 0x4d, 0x88, 0x4d, 0x31, 0x62, 0x93, 0x70, 0x11, 0x7b, 0xb5, 0xa2, 0xf5, 0x88, 0x4e, + 0x88, 0x4e, 0x88, 0x4e, 0x88, 0x4e, 0x88, 0x4e, 0x88, 0x4e, 0x31, 0xa2, 0x93, 0x7c, 0x5c, 0x42, + 0x44, 0x42, 0x44, 0x42, 0x44, 0x42, 0x44, 0x42, 0x44, 0x42, 0x44, 0xa2, 0x8c, 0x48, 0x52, 0xcb, + 0x4c, 0xa2, 0x45, 0x24, 0x11, 0x93, 0x10, 0x93, 0x10, 0x93, 0x10, 0x93, 0x10, 0x93, 0x10, 0x93, + 0x36, 0x76, 0x83, 0x44, 0x91, 0x41, 0xf9, 0xa2, 0x82, 0x88, 0x4a, 0x88, 0x4a, 0x84, 0x51, 0x49, + 0xb6, 0x28, 0x9f, 0x4c, 0x11, 0x3e, 0xe9, 0xa2, 0x7b, 0x3b, 0x2a, 0xb2, 0x97, 0xa4, 0x0f, 0xe1, + 0xee, 0x9b, 0x61, 0x5a, 0x16, 0xeb, 0x71, 0x26, 0xb1, 0x44, 0x3d, 0x77, 0x35, 0xfc, 0x08, 0xfc, + 0x08, 0xe8, 0x16, 0x74, 0x0b, 0xba, 0x05, 0xdd, 0x12, 0x45, 0x26, 0xe9, 0xbd, 0x53, 0xe2, 0xe5, + 0x5a, 0x11, 0x97, 0x10, 0x97, 0x10, 0x97, 0x10, 0x97, 0x10, 0x97, 0x10, 0x97, 0xb6, 0xc6, 0x25, + 0xd1, 0x72, 0x9e, 0x0a, 0xe5, 0x3b, 0x11, 0x97, 0x10, 0x97, 0x10, 0x97, 0x10, 0x97, 0x10, 0x97, + 0xf6, 0x39, 0x2e, 0xa5, 0xae, 0x7c, 0x8a, 0x70, 0xa5, 0xc6, 0x18, 0xa5, 0x42, 0x44, 0x8a, 0x30, + 0xca, 0xbd, 0x7a, 0x1c, 0xb7, 0xa8, 0xa2, 0x60, 0x11, 0x45, 0xc1, 0xa2, 0x89, 0x78, 0x65, 0x9f, + 0x38, 0x44, 0x67, 0xe3, 0x95, 0xfd, 0xf8, 0x45, 0x07, 0x63, 0x16, 0x19, 0x94, 0xb3, 0x81, 0x57, + 0xe6, 0xba, 0xfe, 0x70, 0xd9, 0x25, 0x88, 0x6f, 0x07, 0xb3, 0x17, 0x61, 0x72, 0x63, 0x72, 0x2f, + 0xf5, 0x78, 0xdf, 0xf1, 0x78, 0x2c, 0xa8, 0x14, 0x80, 0x49, 0x41, 0x88, 0x14, 0xa0, 0x61, 0x19, + 0x68, 0x94, 0xad, 0x7d, 0x29, 0x09, 0x89, 0x2a, 0x58, 0x23, 0x52, 0x43, 0x54, 0x06, 0x06, 0x55, + 0xbb, 0x42, 0x1d, 0xfe, 0x94, 0x7a, 0x87, 0x08, 0xca, 0x9e, 0x34, 0x38, 0xe7, 0xb0, 0xdf, 0xeb, + 0x05, 0x2c, 0x0c, 0x8d, 0xe1, 0xca, 0xaa, 0xfd, 0xc6, 0x02, 0xee, 0x84, 0x6c, 0x6c, 0xfd, 0x31, + 0x7d, 0xf5, 0x86, 0x36, 0xe0, 0xba, 0xe1, 0xba, 0x97, 0x7a, 0xdc, 0xb1, 0x99, 0xc7, 0x1d, 0xfe, + 0x1e, 0xaf, 0x4c, 0x6a, 0xc4, 0x26, 0x31, 0x2c, 0xb6, 0x78, 0x3d, 0x6e, 0xfa, 0xc2, 0x0c, 0x99, + 0xb8, 0x58, 0x76, 0x73, 0x73, 0xd5, 0x68, 0xb7, 0x6e, 0xfe, 0x19, 0x77, 0x98, 0x86, 0xee, 0x25, + 0x14, 0x12, 0x1d, 0x24, 0x4b, 0x27, 0x37, 0xee, 0x1f, 0x5a, 0xed, 0xab, 0x7a, 0xf3, 0xf2, 0xe1, + 0xba, 0xd1, 0xba, 0xbe, 0xbf, 0x2b, 0xea, 0x70, 0xcd, 0x92, 0xf7, 0xd6, 0xfc, 0xa3, 0xd9, 0xaa, + 0xdf, 0xb6, 0x2f, 0x6b, 0x8d, 0xda, 0xc5, 0xf5, 0xcd, 0x75, 0xeb, 0xba, 0xde, 0x4c, 0xe1, 0xed, + 0xa5, 0xb4, 0xf3, 0x2e, 0xbf, 0xd6, 0x9a, 0xcd, 0xeb, 0x66, 0xfb, 0xfa, 0x2a, 0x4d, 0x77, 0x75, + 0x5b, 0xbb, 0xab, 0x7d, 0xa9, 0xdf, 0xd6, 0xef, 0x5a, 0xed, 0xda, 0xd5, 0xd5, 0x43, 0xbd, 0x99, + 0xaa, 0x11, 0x1d, 0x1a, 0x43, 0xba, 0x3a, 0x6c, 0x3c, 0xc9, 0xee, 0x6a, 0xb7, 0x75, 0x6a, 0x89, + 0xf6, 0x49, 0xb3, 0xff, 0xce, 0x47, 0x41, 0x5f, 0x39, 0xf8, 0x79, 0x0f, 0x39, 0xeb, 0x1a, 0x36, + 0x0b, 0xad, 0xc0, 0xe9, 0xc5, 0xd2, 0xab, 0xa6, 0xd0, 0xb3, 0x7c, 0x2d, 0x60, 0x07, 0xb0, 0xb3, + 0x3c, 0x4f, 0xc4, 0x6b, 0x83, 0xc6, 0xf8, 0xec, 0x0d, 0xf3, 0x5e, 0x86, 0x6a, 0x29, 0x32, 0xd5, + 0x7c, 0x65, 0xaa, 0x95, 0x63, 0x24, 0xa6, 0xb3, 0xbe, 0x39, 0xd6, 0x89, 0x23, 0x8b, 0x4e, 0x39, + 0x4e, 0x1d, 0x7b, 0x78, 0x63, 0x78, 0x63, 0x78, 0x63, 0x78, 0x63, 0x78, 0xe3, 0xcd, 0xff, 0x92, + 0xc4, 0xd1, 0x0f, 0xdb, 0x4e, 0x5c, 0x89, 0xbb, 0x94, 0x1b, 0xfb, 0xc0, 0x87, 0x83, 0x0d, 0x4f, + 0xb8, 0xed, 0xc9, 0xe2, 0x3c, 0x51, 0x71, 0xe5, 0x89, 0x12, 0x5b, 0x9e, 0x61, 0xfe, 0xee, 0xa7, + 0xf7, 0x38, 0x73, 0x7f, 0x45, 0xce, 0x82, 0xae, 0xe3, 0x99, 0xae, 0x61, 0xb3, 0x37, 0x67, 0x45, + 0x3c, 0x98, 0xee, 0xfb, 0x5a, 0xf8, 0xe0, 0xc2, 0x33, 0xae, 0x2e, 0x5c, 0xbd, 0x36, 0xda, 0x6d, + 0x8a, 0x6e, 0xb3, 0xd1, 0xcc, 0xef, 0x71, 0x63, 0xf0, 0xcd, 0xab, 0x9e, 0x7f, 0x4b, 0x04, 0x8b, + 0x1d, 0xb1, 0x62, 0x47, 0xa8, 0xc5, 0x88, 0x14, 0xdd, 0x9c, 0xe0, 0x7c, 0x58, 0x57, 0x20, 0xba, + 0x68, 0x4d, 0x7a, 0x6b, 0xcb, 0x21, 0x21, 0xe3, 0xcf, 0x29, 0x9e, 0x12, 0x52, 0xa2, 0x39, 0x25, + 0x64, 0xc3, 0x10, 0x89, 0xc2, 0x46, 0xf2, 0x27, 0x85, 0xac, 0x1f, 0xc2, 0x5d, 0x39, 0xb1, 0x05, + 0x3b, 0x3b, 0x5c, 0xfc, 0xfb, 0xc6, 0xb1, 0xdf, 0xe8, 0x17, 0x5a, 0xe3, 0x96, 0xae, 0x86, 0x0d, + 0xb5, 0x17, 0xfe, 0x3a, 0x9e, 0x16, 0x0a, 0x27, 0xdc, 0xb8, 0xfe, 0x8b, 0x63, 0x99, 0xae, 0x61, + 0xbd, 0x9a, 0x9e, 0xc7, 0xdc, 0x70, 0xfb, 0x3c, 0x5e, 0xba, 0x02, 0x33, 0x3a, 0x75, 0x33, 0x3a, + 0xce, 0xf9, 0x37, 0x83, 0xc1, 0x13, 0x3a, 0x1d, 0x64, 0x78, 0x41, 0x36, 0x8e, 0x42, 0x88, 0x31, + 0x19, 0xb2, 0x9b, 0x53, 0x6d, 0x9f, 0x2c, 0x34, 0x79, 0x55, 0xec, 0x23, 0x11, 0xb6, 0x44, 0x40, + 0xb9, 0x88, 0x28, 0x39, 0xb5, 0x84, 0xa7, 0x98, 0xcc, 0x54, 0x53, 0x9c, 0x72, 0xb2, 0x53, 0x4f, + 0x79, 0x0a, 0x2a, 0x4f, 0x45, 0xf5, 0x29, 0x29, 0x98, 0xe6, 0xc4, 0x1c, 0xbb, 0xb8, 0x53, 0x35, + 0xba, 0xc0, 0xb4, 0xbb, 0x8e, 0x67, 0x6c, 0x3e, 0xde, 0x6d, 0xeb, 0xa8, 0xcf, 0x36, 0xb2, 0x1f, + 0x07, 0xda, 0x4a, 0x4c, 0x72, 0xd5, 0xc9, 0x4e, 0x36, 0xe9, 0xc9, 0x26, 0x3f, 0x9d, 0x11, 0x88, + 0x19, 0x83, 0x84, 0x5c, 0x52, 0xa0, 0x39, 0xd8, 0x76, 0x66, 0xa2, 0xc7, 0x3d, 0xf6, 0x69, 0xad, + 0xfb, 0xae, 0x4a, 0x5c, 0x1b, 0xef, 0x58, 0x28, 0xf9, 0x5e, 0x15, 0x11, 0xa0, 0x44, 0x96, 0x09, + 0xd7, 0x76, 0x68, 0xfc, 0xf5, 0x42, 0x78, 0x0e, 0x78, 0x8e, 0x0c, 0x7b, 0x8e, 0xd8, 0x4a, 0xfb, + 0x7a, 0xe5, 0x3d, 0x05, 0x36, 0xef, 0x78, 0x36, 0xfb, 0x21, 0x6f, 0xed, 0xa3, 0xcb, 0x61, 0xe7, + 0xb0, 0xf3, 0xdc, 0xda, 0x79, 0xdf, 0xf1, 0xf8, 0x51, 0x45, 0xc1, 0xce, 0x65, 0x4e, 0xbb, 0x97, + 0x7b, 0xd9, 0x73, 0xf2, 0x9f, 0xdc, 0x24, 0x2b, 0xa8, 0xbe, 0xfc, 0xa9, 0x68, 0xe0, 0x4b, 0xcd, + 0x28, 0xbe, 0x0c, 0x1a, 0xb5, 0x43, 0xf0, 0x3a, 0xa3, 0xe4, 0xf4, 0x9b, 0xef, 0x5a, 0x85, 0x97, + 0x44, 0x75, 0x75, 0x6d, 0xb5, 0x72, 0x5e, 0x3d, 0x3f, 0x39, 0xad, 0x9c, 0x1f, 0xa7, 0xa8, 0x8f, + 0x0f, 0x92, 0xb9, 0xea, 0x29, 0x05, 0xe1, 0x77, 0x41, 0x71, 0x8e, 0x77, 0xae, 0xf1, 0x5a, 0x57, + 0xb5, 0xb2, 0x35, 0x04, 0x67, 0x04, 0xe7, 0xdc, 0x06, 0x67, 0xb1, 0x37, 0x2d, 0xd6, 0x92, 0xb8, + 0x84, 0xf7, 0x93, 0x7b, 0x13, 0x63, 0xed, 0x83, 0xdc, 0xdc, 0x7f, 0xb9, 0xbe, 0xac, 0xdd, 0xb4, + 0xeb, 0x37, 0xa3, 0x5d, 0xe9, 0x8d, 0x87, 0xfb, 0xd6, 0xfd, 0xe5, 0xfd, 0x4d, 0xbb, 0xf5, 0x47, + 0xa3, 0x5e, 0x54, 0x29, 0x0d, 0x10, 0x4a, 0x63, 0x84, 0x1a, 0x4a, 0xcc, 0x3d, 0xde, 0xe0, 0x71, + 0xda, 0xf7, 0xad, 0xbb, 0xe2, 0x2e, 0x22, 0x2f, 0xe5, 0x33, 0xd4, 0x5b, 0x5f, 0xeb, 0x0f, 0x77, + 0xf5, 0x56, 0x31, 0xe1, 0xf0, 0xf6, 0x94, 0x9a, 0x0a, 0x0c, 0x62, 0xe1, 0xcd, 0xef, 0x3d, 0x9b, + 0xd6, 0x77, 0xa3, 0xeb, 0xdb, 0x4a, 0x71, 0x6d, 0xb6, 0x19, 0x04, 0x34, 0x04, 0xb4, 0xdc, 0x06, + 0xb4, 0xb9, 0xa9, 0xbe, 0x5b, 0x45, 0x5a, 0xe2, 0xda, 0x99, 0xaa, 0x1d, 0x77, 0xf7, 0x77, 0xf5, + 0x62, 0x0a, 0x5c, 0x50, 0x60, 0x72, 0x66, 0x58, 0xae, 0x19, 0x86, 0xf2, 0xfe, 0x67, 0xa6, 0x0d, + 0x38, 0x1f, 0x38, 0x1f, 0xd0, 0x74, 0xda, 0x69, 0xba, 0xf5, 0x70, 0x7d, 0xf1, 0xad, 0x55, 0x7b, + 0xf8, 0xa3, 0xfd, 0x50, 0x6b, 0xd5, 0xdb, 0x97, 0x37, 0xb5, 0x66, 0x33, 0x27, 0x24, 0x3d, 0x78, + 0xb4, 0xd1, 0x53, 0x1d, 0x97, 0x4a, 0x5f, 0xb2, 0xcc, 0xd3, 0xd3, 0x27, 0x39, 0xcb, 0xcd, 0x93, + 0x94, 0xcb, 0xb9, 0x79, 0x94, 0x6a, 0x5e, 0x1e, 0xe4, 0x24, 0x47, 0x43, 0x92, 0x1b, 0x3b, 0xc9, + 0xd1, 0x93, 0xe4, 0xe5, 0x41, 0x72, 0xf2, 0x1c, 0x95, 0x8f, 0xc7, 0x79, 0x79, 0x92, 0xdc, 0x18, + 0xc9, 0x79, 0x6e, 0x9e, 0xa4, 0x72, 0x9c, 0x1b, 0x7b, 0xcf, 0xcd, 0x93, 0x9c, 0xe6, 0x29, 0x2c, + 0xe6, 0xe5, 0x51, 0x8e, 0xd4, 0x9e, 0x64, 0x8f, 0x44, 0x72, 0xce, 0x42, 0x6e, 0x84, 0xce, 0x8b, + 0x67, 0xba, 0xf2, 0x12, 0xd5, 0x6c, 0x23, 0xd0, 0xa8, 0xa0, 0x51, 0xe5, 0x56, 0xa3, 0x8a, 0x5f, + 0xf3, 0x77, 0xad, 0x3e, 0x55, 0x4e, 0x83, 0xd1, 0x07, 0xce, 0xb3, 0xd1, 0x0b, 0x7c, 0xee, 0x5b, + 0xbe, 0x8a, 0xd9, 0xcf, 0x35, 0x03, 0xc3, 0x87, 0xe1, 0x43, 0x9c, 0xde, 0x6c, 0xfc, 0x69, 0x12, + 0xa7, 0xf3, 0xb8, 0xc9, 0xa3, 0xfc, 0xa5, 0x9e, 0xf9, 0x4d, 0x1e, 0xf7, 0xad, 0x6f, 0xd5, 0xec, + 0x3f, 0xc4, 0xd5, 0xb7, 0xa3, 0xcc, 0x3f, 0x44, 0xb3, 0x75, 0x5b, 0x39, 0x3e, 0xc9, 0xfe, 0x58, + 0x5c, 0x9e, 0x9e, 0x9c, 0xe5, 0xe0, 0x29, 0xaa, 0x67, 0x79, 0xb0, 0xed, 0x4a, 0xf6, 0x3d, 0x54, + 0xb9, 0xf4, 0xa5, 0xde, 0xbe, 0xa9, 0xdd, 0xe5, 0x61, 0x38, 0x8e, 0xf2, 0xe0, 0x6a, 0x73, 0x31, + 0xa7, 0x4a, 0x39, 0x88, 0xdd, 0xcd, 0xd6, 0x6d, 0xf9, 0x24, 0x17, 0x63, 0xd1, 0xbe, 0xbd, 0xf9, + 0x92, 0x07, 0xd3, 0xb8, 0xbc, 0xcb, 0x87, 0xbb, 0xfd, 0x3d, 0x1f, 0xee, 0xb6, 0x9c, 0x0b, 0x3e, + 0xaf, 0xe4, 0xe1, 0x21, 0x72, 0x60, 0x19, 0x83, 0xd0, 0x97, 0x87, 0x98, 0x71, 0x92, 0xfd, 0x84, + 0xaf, 0x9a, 0x87, 0xf0, 0x7d, 0x7f, 0x95, 0x87, 0xd4, 0xfb, 0xb2, 0x7c, 0x5e, 0xd9, 0xe3, 0xc5, + 0x2f, 0xd2, 0x02, 0x48, 0x82, 0x67, 0x6d, 0x46, 0xd7, 0xc9, 0x97, 0x34, 0x5c, 0x2c, 0x03, 0x78, + 0x38, 0xfe, 0xe1, 0x50, 0xa8, 0xaa, 0x57, 0x41, 0xbe, 0xf6, 0xe1, 0xcd, 0xe8, 0x06, 0x2e, 0xc7, + 0xdf, 0xdf, 0x1e, 0xff, 0xb0, 0xb1, 0x26, 0xa2, 0xf8, 0x20, 0xc4, 0x39, 0x9a, 0x9b, 0xf1, 0x57, + 0x16, 0x78, 0x8c, 0x8b, 0x57, 0x40, 0x8b, 0xae, 0x44, 0x0d, 0x34, 0xd4, 0x40, 0x53, 0x74, 0x01, + 0xc2, 0x35, 0xd0, 0x04, 0xcb, 0xf6, 0x2d, 0x0d, 0xb8, 0xb0, 0xa1, 0x4b, 0x4c, 0x61, 0xe9, 0xa9, + 0xac, 0x32, 0xa5, 0x89, 0xa6, 0xb6, 0xea, 0x14, 0x27, 0x9b, 0xea, 0x64, 0x53, 0x9e, 0x6e, 0xea, + 0x4b, 0x46, 0x57, 0xc1, 0xb1, 0x17, 0x35, 0x89, 0xe8, 0x42, 0xd3, 0x0d, 0x0d, 0x9b, 0xb9, 0xe6, + 0xbb, 0xfa, 0x42, 0xd6, 0xb4, 0x29, 0xc9, 0xbe, 0x9e, 0x79, 0x5d, 0xac, 0x24, 0xdb, 0x86, 0xe2, + 0xe9, 0xe9, 0xb2, 0xc6, 0x47, 0x61, 0x84, 0xc4, 0xc6, 0x48, 0x65, 0x94, 0xe4, 0xc6, 0x49, 0x6e, + 0xa4, 0xf4, 0xc6, 0xaa, 0x86, 0xde, 0x92, 0x69, 0x87, 0xfc, 0xa2, 0xf8, 0xd2, 0xcc, 0x91, 0x2e, + 0x52, 0xb4, 0x68, 0x47, 0xa7, 0x0a, 0x4d, 0xa8, 0x15, 0x2d, 0xa2, 0x49, 0xc4, 0x0a, 0x54, 0x45, + 0x8c, 0x88, 0x1c, 0xcc, 0x52, 0x73, 0x44, 0x45, 0x8d, 0xa2, 0xf6, 0x08, 0x0b, 0xef, 0x10, 0x64, + 0xd1, 0xd3, 0x21, 0x20, 0x28, 0x76, 0xa4, 0x7b, 0x08, 0xa8, 0x8a, 0x1f, 0x69, 0x1d, 0x8b, 0x83, + 0xdd, 0x5c, 0xfd, 0x94, 0x50, 0x11, 0x26, 0x99, 0xb7, 0xcc, 0x2d, 0xd7, 0x61, 0x1e, 0x37, 0x4c, + 0x37, 0x54, 0x67, 0x98, 0x99, 0xb6, 0xd4, 0x21, 0x26, 0x2a, 0x0e, 0x02, 0x96, 0x01, 0xcb, 0x80, + 0x65, 0x24, 0x67, 0x0e, 0xf3, 0xfa, 0x5d, 0x16, 0x98, 0x12, 0x15, 0x84, 0x57, 0x66, 0xe3, 0x55, + 0x85, 0x36, 0xe4, 0xaa, 0x33, 0x2b, 0x78, 0x43, 0xad, 0x39, 0xa3, 0xa4, 0x92, 0xaa, 0x53, 0x51, + 0x9d, 0xa8, 0x84, 0x87, 0x52, 0x8a, 0x8b, 0x06, 0x89, 0xb5, 0x3e, 0xbe, 0x21, 0x21, 0xad, 0x55, + 0x7c, 0xf8, 0x84, 0x8a, 0x28, 0xb9, 0x76, 0x4f, 0xa1, 0x76, 0x52, 0xbc, 0xf3, 0x17, 0x21, 0x64, + 0x41, 0xc8, 0xca, 0x96, 0x90, 0x25, 0xa9, 0xf1, 0x2e, 0x13, 0xa0, 0xac, 0xe7, 0x51, 0x30, 0x15, + 0x20, 0x1b, 0x90, 0x6d, 0xf7, 0xc8, 0x26, 0x6b, 0x7a, 0x51, 0x03, 0xcc, 0x33, 0x9f, 0x5d, 0x66, + 0xab, 0x0f, 0xf5, 0x14, 0xfd, 0x46, 0x0d, 0x2a, 0x8e, 0xcb, 0x4c, 0x4a, 0xd6, 0x31, 0xdd, 0x90, + 0xa9, 0xb6, 0x47, 0x54, 0x74, 0x59, 0xd5, 0xd8, 0x29, 0x8d, 0x5e, 0x93, 0xf1, 0x53, 0x3b, 0x01, + 0x6d, 0xce, 0x40, 0x9b, 0x53, 0xd0, 0xe7, 0x1c, 0x88, 0x24, 0x21, 0xc5, 0xb9, 0xa7, 0x9c, 0xe7, + 0x2d, 0xcd, 0x3c, 0xf9, 0x37, 0x3a, 0xd7, 0x46, 0xe3, 0xf2, 0x8e, 0x54, 0x33, 0x95, 0xf2, 0xf0, + 0xa1, 0xe7, 0xfb, 0x3d, 0xc7, 0x7b, 0xa1, 0xf3, 0xa6, 0x51, 0x8b, 0x70, 0xa7, 0x70, 0xa7, 0x70, + 0xa7, 0x70, 0xa7, 0x99, 0x73, 0xa7, 0x89, 0xe2, 0xb0, 0xa2, 0x3c, 0x96, 0x88, 0x4c, 0x36, 0x3c, + 0x80, 0x5d, 0x29, 0x63, 0xd5, 0xa9, 0x99, 0x0d, 0x4f, 0x7a, 0x97, 0x11, 0xce, 0x14, 0x14, 0x53, + 0x09, 0xad, 0xc7, 0x63, 0xce, 0xcb, 0xeb, 0xb3, 0x1f, 0x10, 0x2c, 0x1f, 0x4d, 0x9b, 0xda, 0xb1, + 0x7e, 0x50, 0x81, 0x7e, 0x00, 0xfd, 0x20, 0x6b, 0xfa, 0xc1, 0xc4, 0x7a, 0xe8, 0x90, 0x37, 0x6a, + 0x91, 0x06, 0x51, 0xcb, 0x40, 0x54, 0x20, 0xea, 0xbe, 0x23, 0xaa, 0xaa, 0x99, 0x47, 0x0d, 0x29, + 0x2a, 0xf6, 0x6b, 0x27, 0xb2, 0x32, 0x0f, 0x69, 0x30, 0x7d, 0x72, 0x17, 0xa0, 0xc3, 0x15, 0x68, + 0x76, 0x09, 0xba, 0x5c, 0x83, 0x76, 0x17, 0xa1, 0xdd, 0x55, 0xe8, 0x77, 0x19, 0x34, 0xae, 0x83, + 0xc8, 0x85, 0x50, 0xa7, 0x58, 0xc9, 0xa7, 0x5c, 0x11, 0xe7, 0x47, 0x3f, 0x1d, 0x92, 0x7a, 0x1d, + 0xed, 0x59, 0xd9, 0xdd, 0xe4, 0x01, 0xa2, 0x9f, 0x94, 0x12, 0x35, 0xfa, 0x69, 0x46, 0xb1, 0xe9, + 0xd4, 0xea, 0x87, 0xdc, 0xef, 0x1a, 0xdc, 0x7d, 0x0b, 0x35, 0x44, 0x99, 0x99, 0xc6, 0x53, 0x1e, + 0x6a, 0x2a, 0xd9, 0x08, 0x35, 0x12, 0x5b, 0x53, 0x10, 0x66, 0x28, 0xc2, 0xcc, 0xb0, 0xe3, 0x73, + 0x1a, 0x62, 0xa8, 0x68, 0x35, 0x6a, 0x90, 0xbb, 0x6f, 0xf4, 0x53, 0x2a, 0xaa, 0xdf, 0xe9, 0xbe, + 0x51, 0x4f, 0x26, 0x5a, 0xa7, 0xa2, 0x8d, 0x63, 0x75, 0x3a, 0x99, 0x04, 0x9c, 0x8d, 0x6e, 0xa7, + 0x93, 0x98, 0xf3, 0x49, 0xcc, 0x09, 0x25, 0xe3, 0x8c, 0x68, 0x9d, 0x12, 0xb1, 0x73, 0xd2, 0xe6, + 0xa4, 0x74, 0xa5, 0xd8, 0xc9, 0xa4, 0xdc, 0x09, 0xb9, 0x30, 0xed, 0xae, 0x2c, 0x09, 0x97, 0x96, + 0xa0, 0x6b, 0x4b, 0xca, 0xc5, 0x25, 0xee, 0xea, 0x12, 0x77, 0x79, 0xc9, 0xba, 0x3e, 0x3d, 0x2e, + 0x50, 0x93, 0x2b, 0xd4, 0x2d, 0x0d, 0xa4, 0x43, 0x2a, 0x98, 0xa6, 0x8e, 0x87, 0xdc, 0x7d, 0x3b, + 0xd4, 0xea, 0x3d, 0x77, 0x22, 0x25, 0x0c, 0x1f, 0xb0, 0xe5, 0xbe, 0x85, 0xed, 0x96, 0xfb, 0x46, + 0xaa, 0x2c, 0xe8, 0x9f, 0xd5, 0x1a, 0x66, 0x74, 0xd1, 0xef, 0x3b, 0xfa, 0x83, 0xf0, 0xe0, 0x4b, + 0xf4, 0x46, 0xe0, 0x12, 0x22, 0x30, 0x22, 0x30, 0x22, 0xf0, 0x7e, 0x44, 0x60, 0xb2, 0xad, 0x68, + 0x5b, 0x2d, 0xc6, 0x65, 0x66, 0x47, 0xee, 0x18, 0x07, 0xe1, 0x14, 0xe2, 0x54, 0xe3, 0x77, 0x34, + 0xc6, 0x10, 0xf1, 0xf1, 0xe3, 0x61, 0xc8, 0x4d, 0xce, 0x0e, 0x07, 0x0e, 0x79, 0xbf, 0x83, 0x9e, + 0x11, 0xf6, 0x9f, 0xb9, 0xce, 0x79, 0x34, 0x1b, 0xfc, 0xa2, 0x2f, 0x43, 0x10, 0x44, 0x10, 0x44, + 0x10, 0x44, 0x10, 0x44, 0x10, 0x4c, 0x47, 0x10, 0x8c, 0x1c, 0xf3, 0x1e, 0x07, 0xc3, 0x61, 0x67, + 0xe8, 0x0f, 0x83, 0xa3, 0xaf, 0xc9, 0xb8, 0x0e, 0x5b, 0x41, 0x00, 0x44, 0x00, 0x44, 0x00, 0x4c, + 0x45, 0x00, 0xd4, 0xb5, 0x34, 0x95, 0x88, 0x34, 0xb6, 0x2a, 0x4b, 0xd0, 0x3d, 0x79, 0xf5, 0x66, + 0x09, 0x89, 0x65, 0x0b, 0x49, 0x3a, 0xcd, 0x1d, 0x38, 0xcf, 0xa4, 0x9d, 0xe8, 0xce, 0x9c, 0xe9, + 0xce, 0x9c, 0xea, 0x6e, 0x9c, 0xab, 0x5e, 0x27, 0xab, 0xd9, 0xd9, 0x26, 0x97, 0x75, 0xac, 0xe0, + 0xc6, 0x40, 0xfd, 0xcd, 0x70, 0x21, 0x88, 0x3c, 0x3b, 0xc8, 0xe6, 0xf8, 0x6b, 0x1c, 0xfb, 0x44, + 0x14, 0xb3, 0x55, 0x31, 0x51, 0xb3, 0x72, 0x86, 0xd8, 0x88, 0xd8, 0x88, 0xd8, 0x88, 0xd8, 0x88, + 0xd8, 0x88, 0xd8, 0x28, 0xdd, 0x37, 0xc9, 0x06, 0x45, 0x44, 0x43, 0x44, 0x43, 0x44, 0x43, 0x44, + 0x43, 0x44, 0xc3, 0x45, 0x8b, 0x53, 0x3d, 0x59, 0x44, 0xd4, 0x3d, 0x1e, 0x25, 0xf0, 0x55, 0x34, + 0x27, 0x95, 0xc4, 0xfd, 0x2f, 0x19, 0xff, 0x51, 0xa0, 0x3e, 0xf9, 0x44, 0x98, 0x62, 0x3e, 0x24, + 0xfb, 0xb5, 0x93, 0x63, 0x3c, 0x2a, 0xe5, 0xea, 0x69, 0xf5, 0xec, 0xe8, 0xa4, 0x7a, 0x96, 0xf0, + 0x0d, 0x68, 0x38, 0xee, 0x23, 0x25, 0x6e, 0x66, 0x7e, 0x4e, 0x99, 0x3f, 0x76, 0x36, 0xa7, 0x4a, + 0xbb, 0x9e, 0x53, 0xa7, 0x7b, 0x34, 0xa7, 0x0e, 0xf2, 0xf1, 0x2d, 0x4f, 0x48, 0xa6, 0x96, 0xa6, + 0xd5, 0xdb, 0x78, 0x5e, 0x27, 0x94, 0x4d, 0x8d, 0xbe, 0x0e, 0xe9, 0x14, 0xd2, 0x29, 0xa4, 0x53, + 0x48, 0xa7, 0x90, 0x4e, 0xcd, 0x96, 0x67, 0x75, 0x3c, 0x33, 0x78, 0x4f, 0x30, 0x9f, 0x3a, 0xcf, + 0x6a, 0x38, 0xc4, 0xeb, 0x8b, 0x2b, 0xbe, 0x27, 0x0d, 0xaf, 0x2f, 0xea, 0xdc, 0x73, 0x58, 0xd8, + 0xfd, 0xdb, 0x8b, 0xcd, 0xe1, 0xe3, 0xed, 0xf1, 0xd6, 0xd5, 0x64, 0x5e, 0xe0, 0xc0, 0x9b, 0x1b, + 0x3b, 0x45, 0x41, 0x6c, 0x5c, 0xcd, 0x20, 0xea, 0x61, 0xe3, 0xea, 0x0e, 0x51, 0x2e, 0xf7, 0x6f, + 0x6e, 0x64, 0xea, 0x95, 0x8d, 0x54, 0xd7, 0xf7, 0xf9, 0x8d, 0xbd, 0x4f, 0x42, 0x5c, 0xc1, 0xef, + 0x3b, 0x05, 0x7d, 0x5b, 0xae, 0x8a, 0x37, 0x4e, 0xc8, 0x6b, 0x9c, 0x6b, 0xaa, 0x27, 0x74, 0xeb, + 0x78, 0x75, 0x97, 0x0d, 0x3c, 0x4e, 0x58, 0xfc, 0x54, 0xf0, 0xfa, 0xae, 0xab, 0x81, 0x37, 0x6e, + 0xcd, 0x1f, 0xfa, 0xbf, 0xe4, 0x3e, 0xb0, 0x59, 0xc0, 0xec, 0x8b, 0xf7, 0xf1, 0x57, 0xa4, 0x7a, + 0xfe, 0x68, 0xce, 0x26, 0xd2, 0x90, 0x45, 0x14, 0xb5, 0xbc, 0x73, 0xb5, 0xc3, 0xbc, 0x81, 0xd6, + 0x73, 0xfe, 0x44, 0x05, 0xe0, 0x2c, 0xcd, 0xe8, 0x2c, 0x97, 0x01, 0x8e, 0x66, 0x71, 0x9e, 0x4a, + 0x01, 0x3b, 0x36, 0x7d, 0x05, 0x60, 0xc7, 0x26, 0x2e, 0xfc, 0x5b, 0x42, 0x8d, 0xf9, 0xb4, 0xe7, + 0x98, 0xa8, 0x31, 0x9f, 0xb5, 0x08, 0x43, 0x9e, 0x07, 0x6a, 0xcc, 0xfb, 0x74, 0xe4, 0x79, 0xcb, + 0x79, 0x9d, 0x63, 0xe7, 0xc9, 0xb3, 0xd3, 0xbe, 0x58, 0xaf, 0xe5, 0x45, 0xfa, 0x7d, 0x2f, 0xec, + 0x0e, 0xff, 0x0e, 0xff, 0xae, 0xcd, 0xbf, 0x93, 0x17, 0x78, 0x37, 0x5f, 0x98, 0xbe, 0x02, 0xef, + 0x83, 0xc6, 0xf5, 0x14, 0x78, 0x2f, 0xa1, 0xc0, 0x3b, 0x0a, 0xbc, 0xa7, 0xc9, 0x11, 0xad, 0x73, + 0x48, 0xfb, 0x58, 0xe0, 0x5d, 0xdb, 0x62, 0x44, 0x34, 0xe3, 0xfb, 0x8e, 0xc7, 0x4f, 0xaa, 0x3a, + 0x26, 0xfc, 0xd8, 0xbf, 0x68, 0xd8, 0x4d, 0xad, 0x79, 0xdf, 0xbd, 0xc6, 0xa5, 0x9f, 0x24, 0xf6, + 0xd5, 0x27, 0xb5, 0xa1, 0x71, 0xb2, 0xc7, 0x59, 0xf7, 0xf7, 0x24, 0xb8, 0x95, 0x59, 0xe7, 0xd6, + 0xd9, 0x24, 0xb6, 0xbf, 0x27, 0x3d, 0xf4, 0xe5, 0xb3, 0x6a, 0xf5, 0xe4, 0xb4, 0x5a, 0x2d, 0x9d, + 0x1e, 0x9d, 0x96, 0xce, 0x8f, 0x8f, 0xcb, 0x27, 0xe5, 0xe3, 0x1c, 0xcd, 0x86, 0x8c, 0xac, 0x61, + 0x3e, 0xa5, 0x75, 0xc5, 0x80, 0x30, 0x6d, 0xb3, 0x5e, 0xcd, 0x30, 0x74, 0x42, 0x83, 0x50, 0x8f, + 0x5d, 0x0a, 0x85, 0x33, 0xdf, 0x01, 0xd4, 0x06, 0x6a, 0x03, 0xb5, 0x81, 0xda, 0xa4, 0x33, 0x5e, + 0x5b, 0x3d, 0x08, 0x4d, 0xf5, 0x1f, 0xd2, 0x1e, 0x09, 0x0c, 0x2d, 0x1b, 0x4c, 0x57, 0x84, 0x03, + 0x43, 0xc7, 0x86, 0x1b, 0xc4, 0x04, 0xc4, 0x04, 0xc4, 0x84, 0x7d, 0x8f, 0x09, 0x7a, 0x9d, 0xcc, + 0x5c, 0x70, 0xa8, 0x6a, 0x68, 0xbb, 0xee, 0xf5, 0xbb, 0x83, 0x0e, 0xfa, 0xb9, 0x07, 0x81, 0x47, + 0x67, 0xea, 0x81, 0x94, 0x03, 0xe1, 0x05, 0xe1, 0x05, 0xe1, 0x05, 0x29, 0x47, 0x1a, 0x3d, 0xbf, + 0x6b, 0x86, 0xdc, 0xe8, 0xf7, 0x6c, 0x1d, 0x27, 0x31, 0x4c, 0x77, 0x05, 0xcd, 0x7c, 0x09, 0x62, + 0x01, 0x62, 0x01, 0x62, 0x01, 0x62, 0x01, 0x2d, 0x63, 0x6a, 0x5e, 0xe8, 0xad, 0x62, 0xa1, 0x77, + 0x7a, 0xe3, 0x49, 0x2e, 0xf4, 0x96, 0x13, 0x5a, 0xed, 0x3b, 0xaf, 0x54, 0x8e, 0x8e, 0x4e, 0x2b, + 0xa5, 0xa3, 0x93, 0xb3, 0xe3, 0xea, 0xe9, 0xe9, 0xf1, 0x59, 0xe9, 0x0c, 0x4b, 0xbf, 0xb1, 0x26, + 0x43, 0x0e, 0x97, 0x7e, 0x97, 0x27, 0xc3, 0x29, 0x56, 0x7e, 0x93, 0x6e, 0x75, 0x1f, 0x56, 0x7e, + 0xbb, 0xa6, 0x67, 0xbe, 0x0c, 0xdf, 0xea, 0x34, 0x4c, 0xdb, 0x0e, 0x58, 0x18, 0xea, 0x63, 0xf0, + 0x15, 0xdf, 0x05, 0x14, 0x07, 0x8a, 0x03, 0xc5, 0x81, 0xe2, 0x90, 0x65, 0x32, 0x10, 0x19, 0x34, + 0xaf, 0x08, 0xaf, 0xfb, 0x42, 0xc4, 0x08, 0xc4, 0x08, 0xc4, 0x08, 0xc4, 0x08, 0xc4, 0x88, 0xd4, + 0xc5, 0x88, 0x9e, 0x1f, 0x70, 0xc3, 0x66, 0xa1, 0x15, 0x38, 0x3d, 0x2d, 0x75, 0x50, 0xa2, 0xf1, + 0x5a, 0xfa, 0x26, 0x44, 0x05, 0x44, 0x05, 0x44, 0x05, 0x44, 0x05, 0x44, 0x85, 0x74, 0x46, 0x05, + 0x9d, 0xfb, 0x79, 0x26, 0x5f, 0x80, 0x18, 0x80, 0x18, 0x80, 0x18, 0x80, 0x18, 0x80, 0x18, 0x90, + 0xd6, 0x18, 0xa0, 0x59, 0x32, 0x9a, 0xfb, 0x16, 0x44, 0x03, 0x44, 0x03, 0x44, 0x03, 0x44, 0x83, + 0xac, 0x78, 0x98, 0x02, 0x5e, 0x1f, 0x20, 0x2c, 0xc7, 0xf9, 0x1e, 0x72, 0xd6, 0x4d, 0x46, 0x8b, + 0x5a, 0xf1, 0x5d, 0x88, 0x3d, 0x88, 0x3d, 0x88, 0x3d, 0x88, 0x3d, 0x59, 0xcb, 0x44, 0x34, 0xb4, + 0x7d, 0xc3, 0xbc, 0x97, 0x61, 0x69, 0x4b, 0xec, 0x2a, 0x4d, 0xce, 0xb5, 0x2f, 0x7d, 0x0d, 0xca, + 0x07, 0x89, 0x0d, 0x7d, 0x0e, 0xf7, 0x90, 0x56, 0x8e, 0x51, 0x2d, 0x28, 0xf1, 0x56, 0x9f, 0xf6, + 0x87, 0xb5, 0xc7, 0xb5, 0xef, 0xf5, 0x42, 0xf6, 0xf0, 0x4b, 0x40, 0xd7, 0xa0, 0x6b, 0xd0, 0x35, + 0xe8, 0x1a, 0x74, 0x0d, 0xba, 0x06, 0x5d, 0x83, 0xae, 0x41, 0xd7, 0xa0, 0xeb, 0xdc, 0xd2, 0x35, + 0xe7, 0xae, 0x3e, 0xaa, 0x1e, 0x34, 0x0e, 0x9a, 0x06, 0x4d, 0x83, 0xa6, 0x41, 0xd3, 0xa4, 0x33, + 0xbe, 0xef, 0x78, 0xbc, 0x7c, 0xa2, 0x91, 0xa6, 0x4f, 0x50, 0xff, 0x00, 0x2c, 0x0d, 0x96, 0xce, + 0x25, 0x4b, 0x9f, 0x1c, 0x1f, 0x1f, 0x81, 0xa6, 0x41, 0xd3, 0xa4, 0x2d, 0xe1, 0x2c, 0xdc, 0xe5, + 0xb3, 0x70, 0x29, 0x8f, 0xcf, 0x2b, 0xec, 0xe0, 0x14, 0xdc, 0xe6, 0xf0, 0xfe, 0xd3, 0x72, 0x4c, + 0xe2, 0xc1, 0x0e, 0xa7, 0xe7, 0xe4, 0xf0, 0x7a, 0xe5, 0xb7, 0x20, 0x68, 0x8f, 0xa6, 0xd7, 0x72, + 0x14, 0xbd, 0x96, 0xa3, 0xe7, 0x69, 0x8f, 0x9a, 0x57, 0x1d, 0x4d, 0x62, 0x27, 0xb3, 0x0b, 0xe7, + 0x52, 0x24, 0x39, 0x35, 0x34, 0x49, 0x77, 0xa2, 0xe6, 0x48, 0xe4, 0xcd, 0x5f, 0xee, 0x4a, 0xc9, + 0x29, 0x46, 0x35, 0xb5, 0x12, 0x9c, 0x52, 0x0a, 0x33, 0x29, 0x99, 0x19, 0x24, 0x37, 0x71, 0xc4, + 0x87, 0x5d, 0x62, 0xc8, 0x15, 0x0f, 0xde, 0x25, 0x39, 0x68, 0x57, 0xb1, 0x72, 0x9e, 0xf2, 0x41, + 0xba, 0x14, 0x12, 0x1f, 0xf1, 0x41, 0xb9, 0x54, 0xb2, 0x1d, 0xb9, 0x3c, 0x47, 0x2e, 0xc3, 0xd1, + 0x1f, 0x74, 0x9b, 0xac, 0xbb, 0x54, 0x3d, 0xb8, 0xb6, 0x68, 0xf9, 0x7d, 0x8f, 0xb3, 0x40, 0xbd, + 0x8e, 0xda, 0xf4, 0x14, 0x83, 0x49, 0x8b, 0xaa, 0xc8, 0x48, 0x52, 0xd0, 0x92, 0x4c, 0x99, 0xa7, + 0x54, 0xe2, 0x35, 0x28, 0xef, 0xd4, 0x4a, 0xbb, 0x36, 0x65, 0x5d, 0x9b, 0x92, 0xae, 0x47, 0x39, + 0xdf, 0x6d, 0xda, 0x44, 0x75, 0x2e, 0x75, 0xb1, 0x13, 0x98, 0x5d, 0x66, 0xd8, 0x4e, 0x68, 0x99, + 0x81, 0x4d, 0x7f, 0xd0, 0xfd, 0x7c, 0xf3, 0xb4, 0x07, 0xde, 0x97, 0xa8, 0x0f, 0xbc, 0x2f, 0x65, + 0xe3, 0xc0, 0x7b, 0xe2, 0x25, 0x39, 0x1c, 0x76, 0x9f, 0xac, 0xe3, 0x48, 0xa7, 0x3c, 0x48, 0xbe, + 0xb4, 0xb6, 0x18, 0xf6, 0x49, 0xab, 0x8a, 0x6b, 0x38, 0x36, 0x5a, 0xd3, 0x2a, 0x9a, 0x86, 0xb5, + 0x4a, 0x9d, 0xab, 0x66, 0x9a, 0x97, 0x4c, 0x74, 0xaf, 0x92, 0x25, 0xb1, 0x3c, 0xa2, 0x61, 0x55, + 0x4c, 0xeb, 0x6a, 0x58, 0x52, 0x43, 0x9a, 0xdc, 0x31, 0xcf, 0x89, 0x8c, 0x72, 0x4a, 0x17, 0x95, + 0x9e, 0xd2, 0xb2, 0x6a, 0xf0, 0x81, 0x8a, 0x3d, 0x59, 0x10, 0xf8, 0x81, 0x41, 0xe8, 0xd3, 0x16, + 0xe0, 0x33, 0x6a, 0x1f, 0xf4, 0x09, 0xfa, 0x04, 0x7d, 0x82, 0x3e, 0x41, 0x9f, 0xa0, 0x4f, 0xd0, + 0x27, 0xe8, 0x13, 0xf4, 0x09, 0xfa, 0x1c, 0xd3, 0xa1, 0xdf, 0xe7, 0x7a, 0xf1, 0x73, 0xf0, 0x05, + 0xe0, 0x4f, 0xf0, 0x27, 0xf8, 0x13, 0xfc, 0x09, 0xfe, 0x04, 0x7f, 0x82, 0x3f, 0xc1, 0x9f, 0xe0, + 0x4f, 0xf0, 0xa7, 0x46, 0xdd, 0x13, 0x8a, 0x27, 0x88, 0x13, 0xc4, 0x09, 0xe2, 0x04, 0x71, 0x82, + 0x38, 0x41, 0x9c, 0x20, 0x4e, 0x10, 0x27, 0x88, 0x73, 0xc0, 0x85, 0x1a, 0xb5, 0x4e, 0xa8, 0x9c, + 0x60, 0x4e, 0x30, 0x27, 0x98, 0x13, 0xcc, 0x09, 0xe6, 0x04, 0x73, 0x82, 0x39, 0xc1, 0x9c, 0x7b, + 0xcf, 0x9c, 0xae, 0x19, 0x72, 0xc3, 0x72, 0x99, 0x19, 0xd0, 0x43, 0xe7, 0x4c, 0xdb, 0xa0, 0x4e, + 0x50, 0x27, 0xa8, 0x73, 0xcf, 0xa8, 0xd3, 0x36, 0x39, 0x33, 0x4c, 0xcf, 0x36, 0xb8, 0x43, 0x5a, + 0x5d, 0x5f, 0x47, 0xe5, 0xeb, 0x62, 0xc3, 0xe4, 0x9c, 0x05, 0x1e, 0x39, 0x7c, 0x16, 0x1f, 0x1f, + 0xed, 0xbf, 0xab, 0x3f, 0x8d, 0xc1, 0x1f, 0x95, 0xc9, 0x1f, 0xad, 0xd1, 0x1f, 0x9f, 0xe6, 0xfe, + 0xf8, 0xe5, 0xf1, 0xf1, 0xe3, 0xe3, 0xa3, 0xfd, 0x8f, 0x5f, 0xff, 0xf3, 0x97, 0x7f, 0xfd, 0xef, + 0x9f, 0x8f, 0x8f, 0xff, 0x78, 0x7c, 0x34, 0x9e, 0xe6, 0x3e, 0xf1, 0x6b, 0x11, 0x31, 0x6c, 0x45, + 0x0f, 0x73, 0xf7, 0x4d, 0xdf, 0x1b, 0xb2, 0xb3, 0x8d, 0x23, 0x8a, 0x21, 0x8a, 0x21, 0x8a, 0x41, + 0x3b, 0x81, 0x76, 0x02, 0xed, 0x04, 0xda, 0x09, 0xb4, 0x13, 0x68, 0x27, 0x7b, 0xcf, 0x9d, 0x7d, + 0xef, 0xbb, 0xe7, 0xff, 0xe5, 0xe9, 0xe1, 0xce, 0x49, 0xe3, 0xe0, 0x4e, 0x70, 0x27, 0xb8, 0x13, + 0xdc, 0x09, 0xee, 0x04, 0x77, 0x82, 0x3b, 0xc1, 0x9d, 0xe0, 0xce, 0xec, 0x72, 0x27, 0xea, 0x7f, + 0x8b, 0x14, 0x6b, 0x1e, 0xd6, 0x07, 0x3e, 0x24, 0xaa, 0x4c, 0x5a, 0xd0, 0x5d, 0xb9, 0x79, 0x78, + 0x6e, 0x40, 0xfb, 0x72, 0x72, 0xb7, 0xbb, 0xaa, 0xfb, 0xad, 0x50, 0x3f, 0x98, 0x79, 0xe6, 0xb3, + 0xcb, 0x6c, 0xba, 0xa2, 0xb2, 0x93, 0x06, 0x55, 0xeb, 0x69, 0xb2, 0x8e, 0xd9, 0x77, 0x87, 0x40, + 0xd9, 0x31, 0xdd, 0x90, 0x11, 0xd5, 0xa8, 0x2d, 0xe5, 0xbc, 0x46, 0x2d, 0x41, 0x49, 0x69, 0x5d, + 0xe9, 0x4e, 0xf6, 0xeb, 0xd4, 0xaa, 0x97, 0x9c, 0x4e, 0x47, 0x50, 0x20, 0x4b, 0x61, 0xa2, 0x99, + 0xf7, 0xec, 0xfb, 0x2e, 0x33, 0x29, 0x74, 0x8b, 0x68, 0xa9, 0xb7, 0x9c, 0x41, 0x67, 0x1a, 0x7a, + 0xbe, 0xdf, 0x73, 0xbc, 0x17, 0x3a, 0x6f, 0x1a, 0xb5, 0x08, 0x77, 0x0a, 0x77, 0x0a, 0x77, 0x0a, + 0x77, 0x9a, 0x39, 0x77, 0x8a, 0x33, 0x69, 0xd6, 0xa6, 0x39, 0x69, 0x3d, 0x8f, 0x46, 0xe1, 0x34, + 0x34, 0x89, 0xb3, 0x68, 0x0e, 0x34, 0x4e, 0x0c, 0xd5, 0x09, 0xa1, 0x7d, 0x22, 0x14, 0xa5, 0x4e, + 0xe2, 0xd1, 0x36, 0xf4, 0x62, 0x83, 0x1e, 0x7f, 0xe8, 0x04, 0x86, 0x4d, 0xf2, 0xa0, 0x21, 0xa5, + 0x03, 0x86, 0x24, 0x4f, 0x30, 0x91, 0x3e, 0x50, 0x48, 0x05, 0x57, 0x88, 0xf0, 0x44, 0x15, 0x47, + 0xc8, 0xf0, 0x83, 0x0c, 0x37, 0xe8, 0xf0, 0x42, 0xaf, 0x4b, 0x92, 0x3d, 0x29, 0xa4, 0x68, 0xba, + 0xa1, 0x61, 0x33, 0xd7, 0x7c, 0x57, 0x3f, 0x85, 0x6b, 0xda, 0x94, 0xec, 0x69, 0x46, 0xd3, 0x7c, + 0xa2, 0xa4, 0x78, 0x9a, 0x57, 0x49, 0xf5, 0x34, 0xaf, 0x12, 0x4e, 0xf3, 0xd2, 0x9d, 0x1b, 0xe0, + 0x34, 0x2f, 0x6a, 0xe6, 0x9f, 0x3b, 0xe0, 0xfe, 0xa8, 0xa2, 0x32, 0x69, 0xc6, 0x76, 0x74, 0xaa, + 0xd0, 0x04, 0xcd, 0x92, 0x2e, 0xcd, 0x31, 0xaf, 0x84, 0x19, 0x32, 0xed, 0xf6, 0x17, 0xe2, 0x25, + 0x59, 0x1d, 0x8b, 0x73, 0x3f, 0x69, 0x0e, 0xc5, 0x4d, 0xfd, 0x10, 0x54, 0x2b, 0xe7, 0xd5, 0xf3, + 0x93, 0xd3, 0xca, 0xf9, 0x71, 0x8a, 0xc7, 0x62, 0x47, 0x19, 0xf7, 0x53, 0x8a, 0x0f, 0x11, 0xb5, + 0x5c, 0x87, 0x79, 0xdc, 0x30, 0xdd, 0x50, 0x9d, 0x61, 0x66, 0xda, 0x52, 0x87, 0x98, 0x7a, 0xeb, + 0x6b, 0xfd, 0xe1, 0xae, 0xde, 0x02, 0xcb, 0x80, 0x65, 0xc0, 0x32, 0xb2, 0x33, 0x87, 0x79, 0xfd, + 0x2e, 0x0b, 0x46, 0x72, 0x8b, 0x3a, 0xd0, 0x94, 0xab, 0x0a, 0x6d, 0xd4, 0xbd, 0x7e, 0x77, 0xf0, + 0x50, 0x3f, 0x53, 0xec, 0x0d, 0x1d, 0xcf, 0x38, 0x2b, 0x55, 0xca, 0xff, 0x63, 0x0c, 0x8b, 0xf5, + 0x10, 0xb8, 0xc4, 0xc5, 0x06, 0xe1, 0xcc, 0x06, 0xf6, 0xc8, 0xf8, 0x2b, 0xfc, 0x98, 0x84, 0x1f, + 0x1b, 0xf4, 0xdb, 0xde, 0xb9, 0x30, 0x8a, 0x4d, 0xb8, 0x04, 0x9b, 0x6e, 0x91, 0x91, 0x21, 0x23, + 0xcb, 0x54, 0x46, 0xa6, 0x6f, 0x53, 0x2b, 0x72, 0xb3, 0xc4, 0x68, 0xe4, 0xd9, 0xf5, 0xad, 0xef, + 0xa3, 0x03, 0x52, 0x68, 0x68, 0x64, 0xae, 0x41, 0xd0, 0x08, 0x68, 0x04, 0x34, 0x02, 0x1a, 0x01, + 0x8d, 0x80, 0x46, 0x40, 0x23, 0xa0, 0x91, 0x6d, 0x34, 0x62, 0x05, 0x16, 0x25, 0x8b, 0xcc, 0x34, + 0x07, 0x12, 0x01, 0x89, 0x80, 0x44, 0x40, 0x22, 0x20, 0x11, 0x90, 0x08, 0x48, 0x04, 0x24, 0xb2, + 0x8d, 0x44, 0x3a, 0x81, 0xf9, 0x32, 0x08, 0x00, 0x94, 0x0b, 0x35, 0x8b, 0x6d, 0x82, 0x49, 0xc0, + 0x24, 0x60, 0x12, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x6c, 0x63, 0x92, 0xff, + 0x6b, 0x3e, 0x3f, 0xb3, 0x80, 0x92, 0x48, 0xe6, 0x5b, 0x04, 0x8f, 0x80, 0x47, 0xc0, 0x23, 0xe0, + 0x11, 0xf0, 0x08, 0x78, 0x04, 0x3c, 0x02, 0x1e, 0xd9, 0xc6, 0x23, 0x5d, 0xd3, 0x32, 0x2c, 0xdf, + 0xe3, 0x81, 0xef, 0x52, 0x42, 0xc9, 0x8a, 0x66, 0x41, 0x26, 0x20, 0x13, 0x90, 0x09, 0xc8, 0x04, + 0x64, 0x02, 0x32, 0x01, 0x99, 0x80, 0x4c, 0xe2, 0x90, 0x49, 0xcf, 0xec, 0x87, 0x8c, 0x9a, 0x4b, + 0xe6, 0x1a, 0x05, 0x95, 0x80, 0x4a, 0x40, 0x25, 0xa0, 0x12, 0x50, 0x09, 0xa8, 0x04, 0x54, 0x02, + 0x2a, 0xd9, 0x46, 0x25, 0xfe, 0x1b, 0x0b, 0x42, 0xe7, 0xdf, 0xa4, 0x50, 0xb2, 0xd8, 0x26, 0x98, + 0x04, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0xc9, 0x36, 0x26, + 0xe9, 0x59, 0xa1, 0xf1, 0xec, 0xf4, 0x28, 0xdf, 0xba, 0x59, 0x68, 0x12, 0x44, 0x82, 0xf2, 0x4a, + 0x8a, 0x58, 0xb2, 0xbf, 0xe5, 0x95, 0xc0, 0x26, 0x60, 0x13, 0xb0, 0x09, 0xd8, 0x64, 0x6f, 0xd9, + 0x64, 0x08, 0x11, 0xcc, 0x36, 0x42, 0x66, 0xf9, 0x9e, 0x4d, 0x07, 0x28, 0x8b, 0xed, 0x82, 0x52, + 0x40, 0x29, 0xa0, 0x14, 0x50, 0x0a, 0x28, 0x05, 0x94, 0x02, 0x4a, 0x01, 0xa5, 0x88, 0x51, 0x4a, + 0xc8, 0xde, 0x58, 0xc0, 0xdc, 0x77, 0x6d, 0xb8, 0xb2, 0xf6, 0x0b, 0xc0, 0x2d, 0xe0, 0x16, 0x70, + 0x0b, 0xb8, 0x05, 0xdc, 0x02, 0x6e, 0x01, 0xb7, 0x80, 0x5b, 0xc4, 0xb8, 0xa5, 0xef, 0x99, 0x6f, + 0xa6, 0xe3, 0x9a, 0xcf, 0x2e, 0x23, 0x47, 0x96, 0x55, 0x6d, 0x83, 0x56, 0x40, 0x2b, 0xa0, 0x15, + 0xd0, 0x0a, 0x68, 0x05, 0xb4, 0x02, 0x5a, 0x01, 0xad, 0xc4, 0xa7, 0x95, 0xbe, 0x67, 0xd3, 0x6f, + 0x9e, 0x5d, 0x6a, 0x14, 0x7c, 0x82, 0xdd, 0xb3, 0xf2, 0x68, 0x82, 0xdd, 0xb3, 0xa0, 0x12, 0x50, + 0x09, 0xa8, 0x04, 0x54, 0xb2, 0x17, 0x54, 0xe2, 0xf7, 0x39, 0xf1, 0x61, 0x7e, 0x4b, 0x2d, 0x82, + 0x47, 0xc0, 0x23, 0xe0, 0x11, 0xf0, 0x08, 0x78, 0x04, 0x3c, 0x02, 0x1e, 0x01, 0x8f, 0x6c, 0xe5, + 0x11, 0xda, 0xe3, 0xfc, 0x96, 0x5a, 0x04, 0x8f, 0x60, 0xfd, 0x46, 0x11, 0x4a, 0xb0, 0x7e, 0x03, + 0x32, 0x01, 0x99, 0x80, 0x4c, 0x40, 0x26, 0xfb, 0x45, 0x26, 0x94, 0x47, 0xfb, 0x2d, 0xb4, 0x07, + 0x2a, 0x01, 0x95, 0x80, 0x4a, 0x40, 0x25, 0xa0, 0x12, 0x50, 0x09, 0xa8, 0x04, 0x54, 0x22, 0x40, + 0x25, 0x3a, 0x4a, 0xd8, 0xaf, 0x69, 0x17, 0x94, 0x82, 0xb5, 0x1c, 0x79, 0x40, 0xc1, 0x5a, 0x0e, + 0xd8, 0x04, 0x6c, 0x02, 0x36, 0x01, 0x9b, 0xec, 0x15, 0x9b, 0xd0, 0x16, 0xb1, 0x5f, 0xd9, 0x2a, + 0xb8, 0x04, 0x5c, 0x02, 0x2e, 0x01, 0x97, 0x80, 0x4b, 0xc0, 0x25, 0xe0, 0x12, 0x70, 0xc9, 0x56, + 0x2e, 0xa1, 0x2e, 0x19, 0xbb, 0xa2, 0x4d, 0x30, 0x09, 0x56, 0x74, 0x14, 0xc1, 0x04, 0x2b, 0x3a, + 0xa0, 0x13, 0xd0, 0x09, 0xe8, 0x04, 0x74, 0x92, 0x51, 0x3a, 0x39, 0xd0, 0x38, 0x47, 0x8b, 0x35, + 0xcf, 0xf3, 0xb9, 0x39, 0x18, 0x12, 0xa9, 0x69, 0x59, 0x0c, 0xad, 0x57, 0xd6, 0x35, 0x7b, 0x26, + 0x7f, 0x1d, 0x78, 0xdc, 0x43, 0xbf, 0xc7, 0x3c, 0x6b, 0x48, 0x0f, 0xc3, 0x98, 0xe3, 0x78, 0xa6, + 0x6b, 0xd8, 0xec, 0xcd, 0xb1, 0xd8, 0xe1, 0xe2, 0xdf, 0x5d, 0xff, 0xc5, 0xb1, 0x4c, 0xd7, 0xb0, + 0x5e, 0x4d, 0xcf, 0x63, 0x6e, 0x78, 0x38, 0xfe, 0xe1, 0x90, 0xf1, 0x57, 0x16, 0x78, 0x8c, 0x1f, + 0x86, 0xdc, 0xe4, 0x4c, 0xc2, 0x77, 0x17, 0x43, 0x1e, 0xf4, 0x2d, 0xee, 0x8d, 0xc3, 0xc0, 0x7d, + 0x74, 0x4f, 0xad, 0xf1, 0x2d, 0x5c, 0x0d, 0xef, 0xa0, 0xbd, 0xf0, 0xd7, 0x9b, 0xd1, 0x0d, 0x5d, + 0x8e, 0xef, 0xa7, 0x3d, 0xfe, 0xa1, 0x5d, 0x1f, 0xdf, 0x4f, 0xbb, 0x39, 0xbc, 0x9f, 0x03, 0x3d, + 0x83, 0x17, 0xef, 0x93, 0x31, 0x87, 0x57, 0x76, 0x58, 0x75, 0x0e, 0xa7, 0xc0, 0x40, 0x6a, 0x1a, + 0xc0, 0x78, 0x43, 0xb7, 0x7d, 0x20, 0x62, 0x0c, 0x42, 0xd1, 0xf1, 0x6c, 0x16, 0xdf, 0xd3, 0xcf, + 0xbc, 0x8b, 0x3f, 0xb8, 0x2c, 0xe6, 0x20, 0x8b, 0xb9, 0x7f, 0x61, 0xaa, 0x97, 0xa1, 0x78, 0x45, + 0x6a, 0x97, 0xa5, 0x74, 0x65, 0x2a, 0x57, 0xa6, 0x70, 0x75, 0xea, 0xa6, 0x75, 0x00, 0xc2, 0x14, + 0x1d, 0x8d, 0x9c, 0xcb, 0xcc, 0x4e, 0xc0, 0x3a, 0x22, 0xa3, 0x36, 0x9e, 0x88, 0xe5, 0x53, 0x81, + 0x6b, 0x1a, 0x63, 0x1f, 0xf3, 0xf1, 0xe3, 0xe1, 0xc8, 0xb6, 0x0f, 0x47, 0x73, 0x3f, 0x51, 0x1b, + 0x7d, 0x09, 0x58, 0x18, 0xca, 0x58, 0xe9, 0xe8, 0x42, 0x31, 0x3b, 0x2d, 0xc3, 0x4e, 0x61, 0xa7, + 0x8b, 0xb7, 0x73, 0xe5, 0x04, 0x62, 0x03, 0x67, 0x4d, 0x66, 0x87, 0x60, 0xcf, 0x4f, 0x93, 0xe2, + 0xe1, 0xf5, 0x82, 0xbd, 0x26, 0x36, 0x85, 0x95, 0x85, 0x24, 0x15, 0x01, 0x89, 0x48, 0x38, 0x52, + 0x15, 0x8c, 0xc8, 0x84, 0x22, 0x32, 0x81, 0x88, 0x4e, 0x18, 0xd2, 0x9b, 0x92, 0x88, 0x9a, 0x44, + 0x74, 0x61, 0xef, 0xf5, 0x3d, 0x9c, 0x65, 0x50, 0x75, 0x45, 0x76, 0xa9, 0x45, 0xe8, 0xb1, 0xd0, + 0x63, 0xa1, 0xc7, 0x4a, 0xce, 0x1c, 0x71, 0xb2, 0xa4, 0x20, 0xcd, 0xb5, 0xe4, 0x79, 0xe8, 0x5b, + 0x46, 0xcf, 0x35, 0x79, 0xc7, 0x0f, 0xba, 0x9f, 0x2c, 0xbf, 0xdb, 0xf3, 0x3d, 0xe6, 0xf1, 0x70, + 0xf5, 0xaf, 0x07, 0xbf, 0xe5, 0x81, 0xe9, 0x85, 0x16, 0x73, 0xde, 0x58, 0xf0, 0x69, 0xe6, 0xe7, + 0xc5, 0x7f, 0x5a, 0x74, 0x1a, 0xe1, 0xe2, 0x07, 0x26, 0x99, 0xf1, 0xc2, 0xaf, 0x05, 0xf8, 0x97, + 0x6a, 0x6c, 0x6f, 0x9c, 0x90, 0xd7, 0x38, 0x0f, 0xd4, 0xc6, 0xf7, 0xd6, 0xf1, 0xea, 0x2e, 0x1b, + 0x4c, 0xf1, 0x01, 0x4b, 0x7b, 0x7d, 0xd7, 0x55, 0x18, 0x9d, 0x5b, 0xf3, 0x07, 0x5d, 0x63, 0xf7, + 0x81, 0xcd, 0x02, 0x66, 0x5f, 0xbc, 0x8f, 0x9b, 0x4a, 0xf1, 0x82, 0xe2, 0xcc, 0x4c, 0x50, 0x8f, + 0x5b, 0xb3, 0x8d, 0x21, 0x64, 0x21, 0x64, 0x21, 0x64, 0xed, 0x69, 0xc8, 0x8a, 0x7e, 0x3b, 0xd4, + 0x52, 0xb1, 0x62, 0xa1, 0x47, 0xe2, 0x1e, 0xeb, 0x41, 0x87, 0x52, 0xb9, 0xb5, 0x06, 0xc1, 0xfb, + 0x7a, 0x74, 0x3f, 0xed, 0xb1, 0x13, 0xd6, 0xb5, 0x62, 0x21, 0x24, 0xe8, 0x9b, 0x9c, 0xc9, 0x8b, + 0x16, 0x32, 0x2b, 0x41, 0xca, 0x9a, 0x45, 0x05, 0x9a, 0x05, 0x34, 0x0b, 0x68, 0x16, 0x00, 0x40, + 0x00, 0x20, 0x00, 0x10, 0x9a, 0x05, 0x34, 0x0b, 0x68, 0x16, 0xd0, 0x2c, 0x10, 0xb2, 0x10, 0xb2, + 0x10, 0xb2, 0xa0, 0x59, 0xe4, 0x46, 0xb3, 0x48, 0xc9, 0x26, 0xcb, 0x89, 0x64, 0x81, 0x3d, 0x96, + 0x0a, 0x83, 0xb9, 0xbb, 0x2d, 0x96, 0xe3, 0xe1, 0x4b, 0x72, 0xf7, 0xd6, 0x42, 0x67, 0x18, 0x66, + 0x18, 0x3a, 0x2f, 0xde, 0x04, 0xc2, 0x04, 0x77, 0x74, 0x6d, 0x6a, 0x0c, 0xbb, 0xbc, 0xb0, 0xcb, + 0x4b, 0xd1, 0x55, 0x08, 0xef, 0xf2, 0x9a, 0xce, 0x3f, 0x79, 0xd1, 0x74, 0xa6, 0x0d, 0xec, 0xf6, + 0x82, 0x72, 0x9a, 0x37, 0xe5, 0x54, 0x72, 0x23, 0xe4, 0xd2, 0xc4, 0x91, 0x5e, 0xb4, 0x51, 0x30, + 0x15, 0xa4, 0x9c, 0x48, 0x39, 0x77, 0x9f, 0x72, 0xca, 0x9a, 0xde, 0x34, 0x4a, 0xb9, 0xae, 0x6f, + 0xc9, 0xa7, 0x35, 0xab, 0xa3, 0xd6, 0xb4, 0x4d, 0xc5, 0xd1, 0xa1, 0x79, 0x3b, 0x52, 0xd9, 0x44, + 0x29, 0x4d, 0x55, 0x93, 0xc9, 0x52, 0x9b, 0xae, 0x36, 0x13, 0xd6, 0x66, 0xca, 0xfa, 0x4c, 0x5a, + 0xcd, 0xb4, 0x15, 0x4d, 0x9c, 0x4e, 0x5d, 0x5a, 0x9a, 0x79, 0x36, 0xb3, 0x9c, 0xae, 0xe9, 0x2a, + 0xbd, 0x5c, 0xbf, 0x14, 0x45, 0x2b, 0x04, 0x6d, 0x2d, 0xbd, 0x62, 0x7c, 0x44, 0xd0, 0x28, 0xcd, + 0x2b, 0xfc, 0x93, 0xff, 0x68, 0xac, 0xab, 0x40, 0xfd, 0x4a, 0xff, 0xe2, 0x70, 0x54, 0x3e, 0xd0, + 0x36, 0x4b, 0xfc, 0x8a, 0xff, 0xfa, 0x11, 0x2f, 0x91, 0xb5, 0xff, 0xf3, 0x03, 0xe1, 0x50, 0x11, + 0xbe, 0xfa, 0xbf, 0x38, 0x54, 0x47, 0x18, 0xaa, 0x9f, 0x07, 0xe9, 0x68, 0xe5, 0x69, 0x47, 0xf5, + 0x08, 0x14, 0xa6, 0xea, 0x8c, 0x54, 0x60, 0x70, 0x8a, 0x48, 0xb1, 0x42, 0x83, 0x18, 0x35, 0x0c, + 0xa4, 0x03, 0xd2, 0x01, 0xe9, 0x52, 0x8a, 0x74, 0xcc, 0xeb, 0x77, 0x59, 0x40, 0x91, 0x7b, 0xcd, + 0x41, 0x5d, 0x95, 0xa0, 0xad, 0xba, 0xd7, 0xef, 0x0e, 0x1e, 0xf6, 0x67, 0x06, 0x9d, 0xab, 0xcd, + 0x42, 0x2b, 0x70, 0x7a, 0xb4, 0x69, 0xf2, 0x6c, 0xa3, 0x70, 0xaa, 0x70, 0xaa, 0x70, 0xaa, 0x29, + 0x75, 0xaa, 0x21, 0x0f, 0x1c, 0xef, 0x85, 0xd2, 0x9f, 0x9e, 0x65, 0xd0, 0x07, 0x8a, 0x95, 0xc3, + 0xd9, 0xda, 0xa9, 0x22, 0x65, 0x72, 0xe0, 0xf7, 0xe0, 0xf7, 0xe0, 0xf7, 0x12, 0xf7, 0x7b, 0x7d, + 0xc7, 0xe3, 0x47, 0x15, 0x42, 0xbf, 0x77, 0x0a, 0x19, 0x6f, 0x27, 0x0e, 0x0e, 0x32, 0x5e, 0x72, + 0x32, 0x9e, 0xae, 0xa1, 0xaa, 0x56, 0xce, 0xab, 0xe7, 0x27, 0xa7, 0x95, 0xf3, 0x63, 0xe8, 0x79, + 0xfb, 0xa0, 0xe7, 0x2d, 0x6c, 0x67, 0xa3, 0x03, 0xaf, 0xc5, 0x86, 0x81, 0x60, 0x40, 0x30, 0x20, + 0x58, 0x4a, 0x11, 0x4c, 0xfd, 0x45, 0x80, 0xa5, 0xdc, 0x93, 0x02, 0xc2, 0x66, 0x5f, 0x0c, 0x98, + 0x0c, 0xde, 0xa7, 0xc5, 0xad, 0xce, 0xb3, 0xff, 0xb6, 0xb4, 0xed, 0x79, 0xf6, 0x1f, 0x67, 0x5e, + 0x4c, 0x8b, 0x7e, 0xa7, 0xf0, 0x56, 0xda, 0x6e, 0xfd, 0x76, 0xd7, 0xec, 0xf5, 0x1c, 0xef, 0x85, + 0xce, 0x5f, 0x4f, 0x1a, 0x84, 0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x4e, 0xa9, 0x9f, 0x76, 0x6c, 0xe6, + 0x71, 0x87, 0xbf, 0x13, 0xfb, 0x6a, 0x02, 0xd6, 0x2f, 0x5e, 0x8f, 0x6f, 0xed, 0xc2, 0x0c, 0x09, + 0xe7, 0xf2, 0xe4, 0xc1, 0x3f, 0x3f, 0xd4, 0x6e, 0xeb, 0xed, 0xdb, 0x5a, 0xa3, 0x71, 0x7d, 0xf7, + 0xa5, 0xdd, 0x78, 0xb8, 0x6f, 0xdd, 0x5f, 0xde, 0xdf, 0x14, 0x29, 0x8f, 0x33, 0x08, 0xc9, 0xb2, + 0x7d, 0xda, 0x8c, 0x7f, 0xae, 0x1f, 0xbe, 0xdc, 0x36, 0x8a, 0x69, 0xcc, 0x75, 0x75, 0x3d, 0xee, + 0xe7, 0x46, 0xbb, 0xb5, 0x4f, 0x0f, 0x5c, 0xdb, 0xbf, 0xf1, 0xfd, 0xbc, 0x4f, 0x0f, 0x7c, 0xb1, + 0x5f, 0xe3, 0x7b, 0x79, 0xf1, 0x50, 0x4c, 0x99, 0xcc, 0xf3, 0x94, 0xd9, 0x63, 0x64, 0x54, 0xd2, + 0x05, 0xbf, 0xc7, 0xf5, 0xc8, 0x3c, 0x8b, 0x0d, 0x23, 0x7d, 0x40, 0xfa, 0x80, 0xf4, 0x01, 0x32, + 0x8f, 0xac, 0xcc, 0x93, 0x74, 0xfd, 0x87, 0xdd, 0xba, 0x65, 0x1e, 0x38, 0xcf, 0x7d, 0x6e, 0x06, + 0xef, 0x46, 0xe8, 0xfa, 0xdc, 0x20, 0xde, 0xfb, 0xb0, 0xb2, 0x75, 0x38, 0x68, 0x38, 0x68, 0x38, + 0xe8, 0xb4, 0xea, 0x3b, 0xc4, 0x3b, 0x21, 0xf0, 0x42, 0x93, 0x6c, 0x5c, 0xd3, 0xb4, 0xbc, 0x5e, + 0x29, 0x57, 0x4f, 0xab, 0x67, 0x47, 0x27, 0xd5, 0x33, 0x6c, 0x89, 0xa0, 0x1e, 0xb3, 0x92, 0xee, + 0x31, 0x3b, 0xc5, 0x96, 0x88, 0x64, 0xb3, 0xed, 0x9f, 0x19, 0x79, 0x3d, 0x5e, 0xb1, 0x68, 0x57, + 0xd4, 0x8e, 0x86, 0x7a, 0x4f, 0x1b, 0xca, 0x15, 0x1d, 0x4e, 0x7f, 0x3e, 0x54, 0x2a, 0x6d, 0x51, + 0xa0, 0xaf, 0x12, 0x35, 0xff, 0xfb, 0xda, 0xf4, 0xa6, 0xdb, 0xd3, 0x9f, 0xa5, 0x8a, 0x96, 0xcb, + 0x4f, 0x10, 0x99, 0xb2, 0x97, 0x6a, 0x40, 0x4f, 0xb2, 0x89, 0x19, 0xa5, 0x2e, 0xb5, 0x11, 0x39, + 0xea, 0x8e, 0xe8, 0x76, 0xac, 0xb9, 0x2d, 0x75, 0x29, 0x75, 0x96, 0xe9, 0x6e, 0x7c, 0x98, 0xdc, + 0x81, 0x0c, 0x4b, 0x03, 0x20, 0x5b, 0x3d, 0xb2, 0x40, 0x59, 0x3b, 0xa9, 0x02, 0x1f, 0x06, 0x1f, + 0x86, 0xda, 0x49, 0xa8, 0x9d, 0x04, 0x41, 0x10, 0x82, 0x60, 0x16, 0x04, 0x41, 0xd4, 0x4e, 0xca, + 0xbd, 0xd4, 0x88, 0xda, 0x49, 0xa8, 0x9d, 0x04, 0x61, 0x31, 0x33, 0xc2, 0x22, 0x6a, 0x27, 0x01, + 0xe9, 0x80, 0x74, 0x40, 0x3a, 0xe9, 0x99, 0x87, 0xda, 0x49, 0x5a, 0x9c, 0x2b, 0x6a, 0x27, 0xc1, + 0xa9, 0xc2, 0xa9, 0xee, 0xab, 0x53, 0x45, 0xed, 0x24, 0xd4, 0x4e, 0x82, 0xdf, 0x83, 0xdf, 0xdb, + 0x37, 0xbf, 0x87, 0xda, 0x49, 0x69, 0x91, 0xf1, 0x50, 0x3b, 0x09, 0xb5, 0x93, 0x50, 0x3b, 0x69, + 0xaf, 0xf4, 0x3c, 0xd4, 0x4e, 0x02, 0x82, 0x01, 0xc1, 0xf6, 0x1d, 0xc1, 0x50, 0x3b, 0x29, 0x6b, + 0x7e, 0x1b, 0xb5, 0x93, 0xe0, 0xa7, 0xe1, 0xa7, 0xf7, 0xcd, 0x4f, 0xa3, 0x76, 0x12, 0x6a, 0x27, + 0xa1, 0x76, 0x52, 0x8e, 0x1f, 0x18, 0xb5, 0x93, 0xf2, 0xfd, 0xc0, 0xa8, 0x9d, 0xb4, 0x6b, 0x99, + 0x07, 0xb5, 0x93, 0x50, 0x3b, 0x09, 0xe9, 0x03, 0xd2, 0x07, 0xc8, 0x3c, 0xa9, 0x94, 0x79, 0x50, + 0x3b, 0x09, 0xb5, 0x93, 0xe0, 0xa0, 0xe1, 0xa0, 0xf7, 0x54, 0xdf, 0x41, 0xed, 0xa4, 0xf8, 0x37, + 0x86, 0xda, 0x49, 0x33, 0x5f, 0x80, 0x2d, 0x11, 0xa8, 0x9d, 0x44, 0x9e, 0x2b, 0xa3, 0x76, 0x52, + 0xcc, 0xf8, 0x96, 0xf9, 0xda, 0x49, 0x2a, 0x95, 0x2d, 0x0a, 0x3b, 0x2a, 0x9d, 0xd4, 0x1c, 0xde, + 0x73, 0x52, 0x55, 0x47, 0x0e, 0x34, 0x4e, 0xa4, 0x01, 0xd2, 0xc9, 0x6e, 0x56, 0x2e, 0xde, 0x38, + 0x21, 0xaf, 0x71, 0x2e, 0x57, 0xa0, 0x61, 0x10, 0x44, 0xeb, 0x2e, 0x1b, 0xf6, 0x6d, 0xf1, 0x53, + 0xc1, 0xeb, 0xbb, 0xae, 0x44, 0x79, 0x95, 0x5b, 0xf3, 0x87, 0x7a, 0x23, 0xf7, 0x81, 0xcd, 0x02, + 0x66, 0x5f, 0xbc, 0x8f, 0x9b, 0xd0, 0xda, 0xe1, 0x8a, 0x16, 0xbb, 0x3b, 0x4b, 0x2d, 0x4a, 0x55, + 0xbf, 0x49, 0xda, 0x36, 0xc5, 0xac, 0x32, 0xbe, 0x6d, 0xc5, 0xfb, 0x64, 0xcc, 0xc9, 0x20, 0x3b, + 0x09, 0x12, 0x1e, 0x7c, 0x81, 0x11, 0x4f, 0x6a, 0xa4, 0xe3, 0x0d, 0xef, 0xf6, 0xc1, 0x8a, 0x31, + 0x50, 0x45, 0x9f, 0xc7, 0x1f, 0x9d, 0x69, 0x06, 0xcf, 0xe3, 0xbe, 0xeb, 0x26, 0x08, 0xfc, 0xc2, + 0xc2, 0x85, 0x8c, 0x40, 0xa1, 0x28, 0x44, 0xc8, 0x0a, 0x0e, 0xca, 0xc2, 0x82, 0xb2, 0x80, 0xa0, + 0x2e, 0x14, 0xd0, 0x3a, 0x08, 0xd1, 0xb2, 0x47, 0x45, 0x6b, 0x32, 0x3b, 0x04, 0x7b, 0x7e, 0x32, + 0xe0, 0x52, 0x25, 0x2c, 0x25, 0x73, 0x56, 0x69, 0x0d, 0x4e, 0x45, 0x73, 0x23, 0xd2, 0xd8, 0x54, + 0x35, 0x35, 0x32, 0x0d, 0x8d, 0x4c, 0x33, 0xa3, 0xd3, 0xc8, 0xf4, 0x92, 0xaa, 0x6c, 0x25, 0xb0, + 0x45, 0x31, 0xfa, 0x25, 0x30, 0xbd, 0xbe, 0x6b, 0x06, 0x0e, 0x7f, 0x57, 0xaf, 0xcb, 0xb7, 0xa1, + 0x6d, 0x14, 0x1c, 0x45, 0xb1, 0xbe, 0x9d, 0xcb, 0xd5, 0x59, 0x2d, 0x38, 0x4a, 0xb3, 0xdd, 0x90, + 0x62, 0x9b, 0x21, 0xed, 0xf6, 0xc2, 0xe8, 0x01, 0x5b, 0x0f, 0xd7, 0x17, 0xdf, 0x5a, 0xb5, 0x87, + 0x3f, 0xda, 0xcd, 0x9b, 0xfb, 0x56, 0xfb, 0xcb, 0x43, 0xed, 0xee, 0xdb, 0x4d, 0xed, 0xe1, 0xba, + 0xf5, 0x87, 0xea, 0xa4, 0x24, 0xdc, 0x52, 0x48, 0xbc, 0x95, 0x72, 0xf0, 0xcc, 0xa3, 0xc7, 0xad, + 0x7c, 0x3c, 0xfe, 0x42, 0xb0, 0x06, 0xf3, 0x21, 0xbd, 0x4f, 0x98, 0xf7, 0xe7, 0x2b, 0x7f, 0xac, + 0x90, 0x3c, 0xe2, 0xc1, 0x6e, 0x34, 0xde, 0x9f, 0x29, 0x2e, 0x19, 0xcc, 0xb9, 0x63, 0x74, 0xc3, + 0x17, 0xc3, 0xec, 0x73, 0x9f, 0x80, 0x50, 0x66, 0x5b, 0x03, 0x93, 0x80, 0x49, 0xc0, 0x24, 0x92, + 0x33, 0xe7, 0xd9, 0xf7, 0x5d, 0x66, 0x7a, 0x14, 0x3c, 0x52, 0xce, 0x80, 0xfb, 0x61, 0x3f, 0x7a, + 0xcc, 0xe2, 0xcc, 0xa6, 0x73, 0x41, 0x51, 0x8b, 0x70, 0x43, 0x70, 0x43, 0x70, 0x43, 0x92, 0x33, + 0x47, 0xb9, 0x58, 0x93, 0x62, 0x91, 0xa6, 0x64, 0xbd, 0x10, 0x0f, 0x4c, 0x2f, 0xec, 0x3a, 0x9c, + 0xce, 0x0b, 0x45, 0x2d, 0xc2, 0x0b, 0xc1, 0x0b, 0xc1, 0x0b, 0xed, 0x8f, 0x17, 0xda, 0xb7, 0x65, + 0x7d, 0x9f, 0x7b, 0xf2, 0x27, 0x93, 0x11, 0x2f, 0xe8, 0xde, 0x73, 0x4f, 0xea, 0xc0, 0x31, 0x81, + 0x05, 0x7a, 0xa1, 0xc5, 0x6a, 0x99, 0x43, 0x79, 0x94, 0x0e, 0xe3, 0x51, 0x5e, 0x2a, 0xab, 0x60, + 0xa9, 0x0c, 0x4b, 0x65, 0x31, 0x6f, 0x53, 0x7a, 0xa9, 0xec, 0xd9, 0xb4, 0xbe, 0xbf, 0x04, 0x7e, + 0xdf, 0xb3, 0x8d, 0x67, 0xd7, 0xb7, 0xbe, 0x1b, 0x2c, 0x08, 0xfc, 0x20, 0x54, 0x87, 0xaf, 0x75, + 0x0d, 0x83, 0xc1, 0xc0, 0x60, 0x60, 0x30, 0xc9, 0x99, 0x63, 0xf9, 0x7d, 0x8f, 0xb3, 0x40, 0xe9, + 0x78, 0x9b, 0x89, 0x29, 0x29, 0xbc, 0x15, 0x40, 0xf4, 0x9e, 0x06, 0xc1, 0xcb, 0x2c, 0x94, 0xef, + 0x65, 0x10, 0xef, 0xed, 0xa7, 0xae, 0x48, 0xa9, 0x63, 0x0b, 0x3f, 0xc1, 0x7a, 0x13, 0xe9, 0x6b, + 0x16, 0xba, 0x86, 0xa0, 0x7c, 0x56, 0xad, 0x9e, 0x9c, 0x56, 0xab, 0xa5, 0xd3, 0xa3, 0xd3, 0xd2, + 0xf9, 0xf1, 0x71, 0xf9, 0xa4, 0x7c, 0x9c, 0xe2, 0x51, 0xd9, 0xd1, 0x8b, 0x0c, 0x4f, 0x29, 0x56, + 0x87, 0x2c, 0xdf, 0x66, 0xc6, 0x9b, 0xe3, 0xbb, 0xc3, 0x8c, 0x8b, 0x80, 0x4f, 0x16, 0x1b, 0x04, + 0x97, 0x80, 0x4b, 0xc0, 0x25, 0xe0, 0x12, 0x70, 0x09, 0xb8, 0x04, 0x5c, 0x02, 0x2e, 0x89, 0xd9, + 0xcd, 0x43, 0x55, 0x83, 0x8d, 0x35, 0x0e, 0x02, 0x2c, 0x59, 0x68, 0x0f, 0x54, 0x02, 0x2a, 0x01, + 0x95, 0x80, 0x4a, 0x40, 0x25, 0xa0, 0x12, 0x50, 0x09, 0xa8, 0x44, 0x90, 0x4a, 0x42, 0x66, 0xf9, + 0x9e, 0x4d, 0x88, 0x25, 0x93, 0x06, 0xc1, 0x25, 0xe0, 0x12, 0x70, 0x09, 0xb8, 0x04, 0x5c, 0x02, + 0x2e, 0x01, 0x97, 0x80, 0x4b, 0xe2, 0x72, 0x49, 0xe8, 0x05, 0x04, 0x30, 0x32, 0x68, 0x45, 0x8d, + 0x40, 0xca, 0x20, 0x10, 0x10, 0x48, 0xd6, 0x08, 0x44, 0x76, 0x93, 0x57, 0xd4, 0x80, 0xf9, 0x46, + 0x78, 0x88, 0xd3, 0xa0, 0x31, 0x14, 0xf8, 0x8d, 0x63, 0xa4, 0xfc, 0xbd, 0xc7, 0x42, 0x54, 0xf7, + 0xa5, 0x68, 0x78, 0xc1, 0x82, 0x47, 0x3d, 0x8b, 0xd2, 0xbe, 0x0b, 0x73, 0xce, 0x66, 0x96, 0xd3, + 0x35, 0x5d, 0xa5, 0x04, 0x63, 0x29, 0x62, 0x56, 0x08, 0xda, 0x5a, 0xc2, 0xac, 0x0a, 0x8a, 0x06, + 0xcb, 0x0d, 0x47, 0x05, 0xc7, 0x27, 0x67, 0xa5, 0x56, 0xf0, 0x11, 0x86, 0x0a, 0xa7, 0x26, 0xcb, + 0x43, 0x9b, 0xe3, 0x85, 0xdc, 0xf4, 0x38, 0x1d, 0xb8, 0x4d, 0x1a, 0x04, 0xbc, 0x01, 0xde, 0x00, + 0x6f, 0x80, 0x37, 0xc0, 0x1b, 0xe0, 0x0d, 0xf0, 0x06, 0x78, 0x03, 0xbc, 0xe9, 0x80, 0x37, 0xce, + 0x82, 0x37, 0xd3, 0xa5, 0xa4, 0xb7, 0x71, 0x8b, 0xc0, 0x37, 0xe0, 0x1b, 0xf0, 0x2d, 0x75, 0xf8, + 0x16, 0x72, 0x93, 0x1b, 0x44, 0x46, 0x5a, 0xa0, 0x59, 0xe8, 0x8f, 0x9a, 0xfa, 0xe6, 0x8d, 0x62, + 0x43, 0xd1, 0x33, 0x3d, 0x5f, 0x6d, 0x2b, 0x0f, 0x20, 0xae, 0x04, 0x32, 0xd8, 0xf7, 0xd3, 0xba, + 0xf4, 0x6d, 0x48, 0x00, 0xd7, 0xa5, 0x9b, 0xeb, 0xba, 0x26, 0xe1, 0xd9, 0xa9, 0x83, 0xc6, 0x40, + 0x73, 0xa0, 0x39, 0xd0, 0x1c, 0xc4, 0x38, 0x88, 0x71, 0x10, 0xe3, 0xc0, 0x71, 0x10, 0xe3, 0x00, + 0x6d, 0x5a, 0xa0, 0xcd, 0xe0, 0x4e, 0x97, 0x91, 0x92, 0xdb, 0xa8, 0x45, 0xe0, 0x1b, 0xf0, 0x0d, + 0xf8, 0x96, 0x3a, 0x7c, 0x1b, 0xd8, 0x26, 0x77, 0xac, 0xef, 0x21, 0x29, 0xc0, 0x41, 0x8a, 0x83, + 0x14, 0x07, 0x84, 0x83, 0x14, 0x07, 0xaa, 0x4b, 0x05, 0xd5, 0x11, 0x38, 0x96, 0x29, 0xd0, 0x39, + 0x1e, 0x58, 0x0e, 0x2c, 0x07, 0x96, 0x83, 0x14, 0x07, 0x29, 0x0e, 0x52, 0x1c, 0x38, 0x0e, 0x52, + 0x1c, 0xa0, 0x4d, 0x0f, 0xb4, 0x51, 0x4b, 0x71, 0x93, 0x16, 0x81, 0x6f, 0xc0, 0x37, 0xe0, 0x1b, + 0xa4, 0x38, 0x48, 0x71, 0x90, 0xe2, 0x80, 0x70, 0x90, 0xe2, 0x40, 0x75, 0x09, 0x5c, 0x29, 0x5b, + 0xd2, 0x44, 0xf1, 0x10, 0xbd, 0xa8, 0x1d, 0x4d, 0x87, 0xe9, 0x0d, 0xcf, 0x7d, 0x3b, 0x54, 0xa8, + 0x37, 0x54, 0xd0, 0x73, 0xb0, 0x5e, 0x73, 0x70, 0x5f, 0xed, 0xfa, 0xe0, 0xbe, 0x52, 0x5c, 0xed, + 0xa9, 0xc3, 0x2c, 0xc3, 0xf2, 0x83, 0x60, 0x78, 0x04, 0xb4, 0xf1, 0x3c, 0xb2, 0x54, 0xc5, 0xda, + 0x4f, 0x2b, 0xda, 0x44, 0x2d, 0x4a, 0x54, 0x82, 0x52, 0x64, 0x76, 0xd4, 0xa2, 0x44, 0x2d, 0x4a, + 0x0d, 0x70, 0x8c, 0x5a, 0x94, 0x3b, 0x87, 0x5e, 0xd4, 0xa2, 0x2c, 0xa0, 0x16, 0x65, 0x1c, 0x3a, + 0x79, 0xe7, 0x8c, 0x1e, 0x4f, 0x86, 0x8d, 0x82, 0x4f, 0xc0, 0x27, 0xe0, 0x13, 0xf0, 0x09, 0xf8, + 0x04, 0x7c, 0x02, 0x3e, 0x01, 0x9f, 0x08, 0xf0, 0x49, 0xdf, 0x1b, 0xc3, 0x84, 0xf9, 0xec, 0x32, + 0xb2, 0x33, 0xc6, 0xd6, 0xb6, 0x0c, 0x52, 0x01, 0xa9, 0x80, 0x54, 0x40, 0x2a, 0x20, 0x15, 0x90, + 0x0a, 0x48, 0x05, 0xa4, 0x22, 0x4d, 0x2a, 0x83, 0x98, 0xa5, 0x05, 0x54, 0x46, 0x0d, 0x83, 0x53, + 0xc0, 0x29, 0xe0, 0x14, 0x70, 0x0a, 0x38, 0x05, 0x9c, 0x02, 0x4e, 0x01, 0xa7, 0xc4, 0xec, 0xe6, + 0x9e, 0x1f, 0x72, 0x63, 0xc0, 0x14, 0xcf, 0x8c, 0xe0, 0x14, 0xb2, 0xb9, 0xd6, 0x70, 0x1a, 0x19, + 0x88, 0x64, 0xcf, 0x88, 0x04, 0xa7, 0x91, 0xe9, 0x31, 0x4a, 0x4a, 0xe3, 0x5c, 0x6b, 0xa4, 0x78, + 0xfb, 0x43, 0xd3, 0xdb, 0x1f, 0xd3, 0xde, 0xc5, 0x1b, 0x20, 0x0b, 0x73, 0x2f, 0x3b, 0x2f, 0xf0, + 0x96, 0xcf, 0xf0, 0xfa, 0x87, 0xdc, 0x78, 0xe0, 0x0d, 0x5e, 0xbc, 0xc1, 0x8b, 0x77, 0x3d, 0x92, + 0x49, 0x9a, 0xd4, 0xbf, 0x1f, 0xc7, 0x92, 0x81, 0xe2, 0x40, 0x71, 0xa0, 0x38, 0x50, 0x1c, 0x28, + 0x0e, 0x14, 0x07, 0x8a, 0x03, 0xc5, 0xed, 0x1f, 0xc5, 0xe1, 0x7c, 0xb2, 0x9d, 0x72, 0x1c, 0x18, + 0x0e, 0x75, 0x58, 0x12, 0xe5, 0x37, 0x9c, 0x4f, 0xb6, 0x27, 0x10, 0x87, 0x4a, 0x2c, 0xa8, 0xc4, + 0x82, 0x4a, 0x2c, 0x38, 0x9f, 0x4c, 0x3d, 0x64, 0xe0, 0x7c, 0x32, 0xa8, 0x72, 0x50, 0xe5, 0xa0, + 0xca, 0x41, 0x95, 0x83, 0x2a, 0xf7, 0xff, 0xb3, 0x77, 0x2e, 0x3d, 0x8d, 0x23, 0x51, 0x14, 0xde, + 0xf3, 0x2b, 0x90, 0xf7, 0xa1, 0x49, 0x80, 0x00, 0xcb, 0x40, 0xa7, 0x19, 0x34, 0x79, 0x30, 0xc1, + 0x68, 0xd4, 0x0b, 0x14, 0x99, 0xa4, 0xba, 0x65, 0xb5, 0x63, 0x33, 0xb6, 0x83, 0x9a, 0x45, 0xff, + 0xf7, 0x11, 0x79, 0x90, 0x00, 0x21, 0xb8, 0x1e, 0x0e, 0x76, 0xe5, 0x9b, 0x05, 0x1a, 0x89, 0x76, + 0xe1, 0x5b, 0x75, 0x1f, 0xe7, 0x9e, 0xaa, 0x3a, 0x06, 0xd0, 0xc1, 0xca, 0x81, 0xde, 0xf2, 0x47, + 0x6f, 0x7c, 0xa8, 0x0c, 0x56, 0x0e, 0x56, 0x6e, 0x6b, 0xf0, 0x1b, 0xea, 0xc8, 0x70, 0x72, 0x40, + 0x38, 0x38, 0x39, 0x50, 0x9d, 0xc5, 0xa8, 0x8e, 0x0f, 0x95, 0xc1, 0xc9, 0xc1, 0xc9, 0xc1, 0xc9, + 0xc1, 0xc9, 0xc1, 0xc9, 0x01, 0xe8, 0xe0, 0xe4, 0x40, 0x6f, 0xe5, 0x42, 0x6f, 0x7c, 0xb1, 0x0c, + 0x4e, 0x0e, 0x4e, 0x0e, 0x4e, 0x0e, 0x4e, 0x0e, 0x4e, 0x0e, 0x08, 0x07, 0x27, 0x07, 0xaa, 0x2b, + 0x06, 0xaa, 0xe3, 0x8b, 0x65, 0xaf, 0xbf, 0x58, 0x66, 0x40, 0x9b, 0x68, 0x37, 0xcf, 0x2f, 0x97, + 0x5d, 0x45, 0x49, 0xfa, 0x4d, 0x0c, 0xce, 0x44, 0xa1, 0xbf, 0x5f, 0x76, 0x1f, 0x0b, 0x83, 0x72, + 0x51, 0x4b, 0x83, 0xa1, 0x16, 0x85, 0x5a, 0x94, 0x26, 0x66, 0x47, 0x2d, 0x4a, 0xc7, 0xfb, 0x50, + 0x8b, 0x92, 0x0a, 0x52, 0x3a, 0x6f, 0x76, 0x4f, 0x36, 0xdd, 0x7d, 0xb3, 0x7b, 0x62, 0x7f, 0xeb, + 0xcd, 0xee, 0x09, 0xbb, 0x27, 0xf4, 0xd9, 0xa5, 0xe9, 0xb3, 0x51, 0x8b, 0x02, 0xc5, 0x81, 0xe2, + 0x40, 0x71, 0xa0, 0x38, 0x50, 0x1c, 0x28, 0x0e, 0x14, 0x07, 0x8a, 0xdb, 0x3a, 0x14, 0x87, 0x5a, + 0xd4, 0xa7, 0xe2, 0x38, 0x30, 0x1c, 0x67, 0x60, 0x36, 0x8a, 0xdf, 0x50, 0x8b, 0xda, 0x12, 0x10, + 0xc7, 0x29, 0x18, 0x4e, 0xc1, 0x70, 0x0a, 0x06, 0xb5, 0x28, 0xfd, 0x92, 0x81, 0x5a, 0x14, 0xac, + 0x1c, 0xac, 0x1c, 0xac, 0x1c, 0xac, 0x1c, 0xac, 0x1c, 0x80, 0x0e, 0x56, 0x0e, 0xf4, 0x96, 0x3f, + 0x7a, 0x43, 0x2d, 0x0a, 0x56, 0x0e, 0x56, 0x6e, 0x6b, 0xf0, 0x1b, 0x37, 0xd3, 0xe0, 0xe4, 0x80, + 0x70, 0x70, 0x72, 0xa0, 0x3a, 0x8b, 0x51, 0x1d, 0x6a, 0x51, 0x70, 0x72, 0x70, 0x72, 0x70, 0x72, + 0x70, 0x72, 0x70, 0x72, 0x00, 0x3a, 0x38, 0x39, 0xd0, 0x5b, 0xb9, 0xd0, 0x1b, 0x6a, 0x51, 0x70, + 0x72, 0x70, 0x72, 0x70, 0x72, 0x70, 0x72, 0x70, 0x72, 0x40, 0x38, 0x38, 0x39, 0x50, 0x5d, 0x31, + 0x50, 0x1d, 0x6a, 0x51, 0x6f, 0xd4, 0xa2, 0xb4, 0xa5, 0x89, 0x76, 0x73, 0x15, 0x8b, 0x8a, 0x45, + 0xf1, 0xb5, 0xa2, 0xfe, 0xab, 0x3c, 0xcc, 0xd2, 0x83, 0xa6, 0x4e, 0xd4, 0x7c, 0x20, 0x34, 0xa2, + 0xd0, 0x88, 0xd2, 0x44, 0xea, 0x68, 0x44, 0xe9, 0x78, 0x1f, 0x1a, 0x51, 0xf4, 0xda, 0xf4, 0xda, + 0xec, 0x95, 0x68, 0xe1, 0xf6, 0x1a, 0x7d, 0xb6, 0xda, 0x72, 0xb0, 0x55, 0xc2, 0x56, 0x09, 0x4d, + 0x75, 0x69, 0x9a, 0x6a, 0xa4, 0xa1, 0x00, 0x6f, 0x80, 0x37, 0xc0, 0x1b, 0xe0, 0x0d, 0xf0, 0x06, + 0x78, 0x03, 0xbc, 0x01, 0xde, 0xb6, 0x05, 0xbc, 0xa1, 0x08, 0x05, 0x7c, 0x03, 0xbe, 0x6d, 0x0f, + 0x7c, 0x43, 0x11, 0x6a, 0x4b, 0x40, 0x1c, 0x27, 0x5d, 0x38, 0xe9, 0xc2, 0x49, 0x17, 0x14, 0xa1, + 0xf4, 0x4b, 0x06, 0x8a, 0x50, 0xa0, 0x39, 0xd0, 0x1c, 0x64, 0x1c, 0x64, 0x1c, 0x64, 0x1c, 0x38, + 0x0e, 0x32, 0x0e, 0xd0, 0x96, 0x1b, 0x68, 0x43, 0x08, 0x0a, 0xf8, 0x06, 0x7c, 0xdb, 0x1a, 0xf8, + 0xc6, 0xa5, 0x33, 0xa8, 0x38, 0x20, 0x1c, 0x54, 0x1c, 0xa8, 0xce, 0x62, 0x54, 0x87, 0x10, 0x14, + 0x58, 0x0e, 0x2c, 0x07, 0x15, 0x07, 0x15, 0x07, 0x15, 0x07, 0x8e, 0x83, 0x8a, 0x03, 0xb4, 0x95, + 0x02, 0xb4, 0xa1, 0xff, 0x04, 0x7c, 0x03, 0xbe, 0x41, 0xc5, 0x41, 0xc5, 0x41, 0xc5, 0x01, 0xe1, + 0xa0, 0xe2, 0x40, 0x75, 0xc5, 0x40, 0x75, 0xe8, 0x3f, 0xbd, 0xd6, 0x7f, 0xd2, 0x93, 0x1c, 0xda, + 0xcd, 0x53, 0xfb, 0xe9, 0x9f, 0x69, 0xd0, 0x15, 0x58, 0xf8, 0x29, 0x1e, 0xfa, 0x95, 0x51, 0xf2, + 0x53, 0x5f, 0xf8, 0x69, 0x3e, 0x90, 0x9e, 0xf0, 0xd3, 0x3e, 0xc2, 0x4f, 0xa6, 0xa1, 0x3b, 0xc2, + 0x4f, 0x79, 0x67, 0x49, 0x6d, 0x34, 0xbe, 0x74, 0x3b, 0x25, 0xf6, 0x43, 0x1d, 0xdd, 0xa6, 0x67, + 0xe6, 0xf4, 0xa4, 0xc0, 0x39, 0x27, 0x11, 0x0f, 0x22, 0x16, 0xc1, 0x63, 0x45, 0xc4, 0x71, 0x14, + 0x8b, 0x61, 0x65, 0x8e, 0xea, 0xb5, 0x93, 0xd0, 0xbb, 0x23, 0x93, 0x95, 0xc8, 0x4a, 0x64, 0x25, + 0x45, 0xcf, 0x19, 0x44, 0xe3, 0x30, 0x15, 0xb1, 0x16, 0x33, 0x60, 0x80, 0x11, 0x30, 0xd4, 0xb1, + 0x1b, 0x20, 0x4d, 0x4c, 0x76, 0xe8, 0x86, 0xdb, 0x3d, 0xd3, 0x1d, 0x79, 0x1e, 0xbd, 0x9c, 0x81, + 0x0e, 0xdc, 0x68, 0xe7, 0x9d, 0xd7, 0x12, 0xe4, 0xd7, 0x69, 0xe7, 0xb2, 0x2a, 0x9f, 0xd4, 0xd1, + 0xde, 0x16, 0x18, 0xa9, 0xa4, 0xb1, 0x7f, 0x37, 0x4e, 0xbd, 0xf8, 0xb1, 0x92, 0x04, 0x51, 0x5a, + 0xf9, 0x19, 0x7b, 0xe1, 0x38, 0xf0, 0x62, 0x3f, 0x7d, 0xd4, 0xc7, 0x2a, 0x6b, 0xc6, 0x06, 0xad, + 0x80, 0x56, 0x40, 0x2b, 0x8a, 0x9e, 0xe3, 0x0f, 0x45, 0x98, 0xfa, 0xe9, 0x63, 0x2c, 0x7e, 0x98, + 0x68, 0xa4, 0x34, 0x32, 0xb6, 0x73, 0x39, 0x7b, 0x95, 0x33, 0x2f, 0x31, 0xb8, 0x95, 0xea, 0xf6, + 0x2e, 0xcf, 0x6e, 0xdc, 0x46, 0xef, 0x7b, 0xff, 0xba, 0xd5, 0x75, 0xfb, 0x17, 0xbd, 0x46, 0xe7, + 0xa6, 0xd5, 0xe8, 0x5d, 0xba, 0xdf, 0x75, 0x9d, 0x72, 0x52, 0xb8, 0x12, 0x23, 0x7b, 0x22, 0x86, + 0x2a, 0xf3, 0xb2, 0xcd, 0x53, 0x73, 0x6b, 0x7b, 0x47, 0x17, 0x4e, 0x11, 0x20, 0x48, 0x6e, 0x16, + 0xda, 0x6e, 0x5f, 0x75, 0xaf, 0x66, 0xc4, 0x44, 0xad, 0x11, 0x6e, 0x37, 0x9d, 0x17, 0x37, 0x83, + 0x57, 0xd2, 0x09, 0x09, 0x5b, 0xf1, 0xc6, 0x69, 0x64, 0x00, 0xa1, 0x2c, 0x8f, 0x06, 0x26, 0x01, + 0x93, 0x80, 0x49, 0x14, 0x3d, 0xe7, 0x2e, 0x8a, 0x02, 0xe1, 0x85, 0x26, 0xf0, 0x48, 0xb5, 0x04, + 0xe9, 0x47, 0xfc, 0xbe, 0x17, 0x83, 0x54, 0x0c, 0xcd, 0xa5, 0xa0, 0xe7, 0x11, 0x49, 0x43, 0xa4, + 0x21, 0xd2, 0x90, 0xa2, 0xe7, 0x6c, 0xc7, 0xf6, 0xd2, 0x3c, 0x67, 0xc4, 0x62, 0xf0, 0x60, 0x2e, + 0x03, 0x4d, 0x46, 0x23, 0xfb, 0x90, 0x7d, 0xc8, 0x3e, 0x64, 0x9f, 0x0c, 0xd9, 0x27, 0x8d, 0xbd, + 0x30, 0x19, 0xf9, 0xa9, 0xb9, 0x0c, 0xf4, 0x3c, 0x22, 0x59, 0x88, 0x2c, 0x44, 0x16, 0x22, 0x0b, + 0xad, 0x79, 0xc7, 0x71, 0xe8, 0x3d, 0x78, 0x7e, 0xe0, 0xdd, 0x05, 0xc2, 0xdc, 0xe9, 0x9a, 0x55, + 0x83, 0x92, 0x8b, 0xc8, 0x45, 0xe4, 0x22, 0x45, 0xcf, 0xe1, 0x60, 0xcd, 0xab, 0x17, 0xe1, 0x60, + 0x8d, 0xd6, 0x7f, 0x1c, 0xac, 0x29, 0xe4, 0xaa, 0xd8, 0x7e, 0xb0, 0x66, 0x27, 0x47, 0x1f, 0xd5, + 0xbd, 0x82, 0x92, 0xeb, 0xd5, 0x13, 0x47, 0xe5, 0xf0, 0x73, 0x3e, 0x57, 0x4d, 0xe4, 0x8a, 0x67, + 0xf6, 0x25, 0xcb, 0xf6, 0x2f, 0x33, 0x2e, 0xaa, 0xea, 0x62, 0xe6, 0xb4, 0x88, 0x12, 0xcb, 0x67, + 0x7e, 0xd9, 0xb2, 0x2d, 0xd8, 0xc7, 0xd3, 0x9f, 0x61, 0xea, 0x9d, 0xa9, 0xb3, 0x66, 0x9d, 0xf1, + 0x17, 0xdf, 0xca, 0xc8, 0xea, 0xe3, 0x92, 0x5f, 0x6e, 0x5f, 0x20, 0xf8, 0x8c, 0xa2, 0x22, 0x2a, + 0x88, 0x5d, 0x13, 0xa1, 0xab, 0x22, 0x72, 0x6d, 0x04, 0xae, 0x8d, 0xb8, 0xf5, 0x11, 0xb6, 0xd9, + 0xb0, 0x97, 0xfd, 0x32, 0xba, 0xe3, 0x0d, 0x47, 0x7e, 0x58, 0x91, 0x73, 0xdb, 0x37, 0xab, 0xbe, + 0x3c, 0x88, 0xe4, 0xfc, 0xa9, 0xe1, 0x16, 0xe5, 0xb6, 0x54, 0xa7, 0x1d, 0x35, 0xd4, 0x86, 0xea, + 0xb6, 0x9f, 0xc6, 0xda, 0x4e, 0x63, 0xed, 0xa6, 0xb9, 0x36, 0x33, 0x5f, 0x80, 0xa3, 0xdc, 0x4e, + 0xae, 0x72, 0xf4, 0x89, 0xbc, 0x85, 0xca, 0xf2, 0xcf, 0xd3, 0xf7, 0xa1, 0xc2, 0xb3, 0xcd, 0x70, + 0x3c, 0x7a, 0xb2, 0xe0, 0x4f, 0x5e, 0x18, 0x44, 0x22, 0x67, 0x0f, 0x45, 0x32, 0x88, 0xfd, 0x7b, + 0x25, 0xbc, 0xb8, 0xa4, 0x65, 0xb6, 0x18, 0x84, 0xcc, 0x41, 0xe6, 0xb0, 0x36, 0x73, 0x28, 0x93, + 0xe1, 0x8a, 0x24, 0x78, 0x3e, 0x31, 0xef, 0x87, 0x43, 0xf1, 0x5b, 0x3d, 0xda, 0xa7, 0x8f, 0x13, + 0xe7, 0xc4, 0xb9, 0xb5, 0x71, 0x3e, 0xf6, 0xc3, 0xf4, 0xa0, 0xa6, 0x11, 0xe7, 0xc7, 0x0a, 0x8f, + 0xea, 0xb1, 0xca, 0x1a, 0xf4, 0xba, 0x09, 0x16, 0xd9, 0x94, 0xd0, 0x9c, 0x21, 0xd6, 0xd8, 0x24, + 0x2f, 0xa9, 0x23, 0x0c, 0x68, 0x82, 0x1d, 0x36, 0x3d, 0xb5, 0x87, 0xb5, 0xd3, 0xc3, 0xd3, 0xfa, + 0x71, 0xed, 0xf4, 0xa8, 0x40, 0x73, 0xbc, 0x21, 0xee, 0xf5, 0xb6, 0x00, 0xe5, 0x37, 0xf0, 0xc3, + 0x5f, 0xba, 0xbd, 0xfa, 0xd2, 0x18, 0x14, 0x62, 0x0a, 0xb1, 0xb5, 0x85, 0x58, 0x84, 0xe3, 0x91, + 0x88, 0x3d, 0x85, 0xce, 0xd2, 0xaa, 0x2e, 0xfd, 0x15, 0x2b, 0x3f, 0x65, 0x2d, 0xd4, 0x93, 0xc7, + 0xaa, 0xd1, 0x48, 0x23, 0xa4, 0x11, 0x6b, 0xd3, 0x88, 0xde, 0x1d, 0x67, 0x9d, 0xbb, 0xcd, 0x66, + 0xee, 0x34, 0x3f, 0x1b, 0xd2, 0xea, 0x5e, 0x5c, 0x9e, 0x37, 0x5a, 0xfd, 0x66, 0xab, 0xd9, 0x6e, + 0x76, 0xdc, 0xfe, 0x55, 0xaf, 0xeb, 0x76, 0xcf, 0xbb, 0xad, 0xbe, 0xfb, 0xfd, 0xaa, 0xa9, 0xea, + 0x4f, 0x06, 0xae, 0x31, 0x1b, 0xba, 0xaa, 0xfd, 0x64, 0x4e, 0xbf, 0xeb, 0x76, 0x9c, 0xcf, 0x00, + 0xeb, 0x26, 0x6d, 0x68, 0xba, 0x7f, 0x35, 0x7b, 0x9d, 0xa6, 0xbb, 0xe9, 0x33, 0x5a, 0xb7, 0x79, + 0x87, 0x6e, 0x4e, 0xe5, 0x2d, 0xba, 0xbf, 0xf3, 0x06, 0xbf, 0x2a, 0xa3, 0x68, 0xa8, 0x55, 0xd7, + 0x96, 0x87, 0xa1, 0xa0, 0x51, 0xd0, 0xac, 0x2d, 0x68, 0x2f, 0x5c, 0xfd, 0x73, 0x37, 0xb1, 0x14, + 0x9e, 0xfd, 0x2a, 0x7e, 0x78, 0xe3, 0x60, 0xb2, 0x4a, 0x9d, 0x6e, 0xa7, 0xe9, 0x14, 0x20, 0x05, + 0xc5, 0x5e, 0x2a, 0x2a, 0x83, 0xc0, 0x4b, 0x12, 0xf5, 0xfc, 0xb3, 0x34, 0x06, 0xc9, 0x87, 0xe4, + 0x03, 0x9a, 0x2e, 0x3a, 0x9a, 0x5e, 0x28, 0x03, 0xf5, 0x1a, 0x6e, 0xb3, 0x7f, 0xde, 0x6a, 0x5c, + 0x5f, 0x5b, 0x82, 0xa4, 0x27, 0xf2, 0x31, 0x13, 0xab, 0x8e, 0xf6, 0xf7, 0x2f, 0xca, 0x8c, 0xa7, + 0x17, 0x96, 0x9c, 0x58, 0x63, 0x49, 0xb5, 0x6a, 0x8d, 0x29, 0x87, 0xb6, 0x18, 0x52, 0xb7, 0x68, + 0x49, 0xac, 0x89, 0x13, 0x8b, 0x2c, 0xb1, 0xc5, 0x10, 0x4b, 0xec, 0xd0, 0xd3, 0xc5, 0x2b, 0x94, + 0x25, 0xd6, 0x04, 0xc9, 0xa9, 0x35, 0x96, 0xd4, 0x8e, 0xac, 0x89, 0x77, 0x6b, 0x2c, 0x39, 0xb6, + 0xa9, 0x2c, 0xda, 0x62, 0xca, 0x81, 0x9e, 0x25, 0x5b, 0x44, 0x92, 0xa7, 0x22, 0x49, 0x2b, 0x89, + 0xff, 0x33, 0xf4, 0x02, 0x75, 0x8a, 0x6a, 0x79, 0x10, 0x38, 0x2a, 0x38, 0x2a, 0x6b, 0x39, 0x2a, + 0x75, 0x05, 0x49, 0x45, 0xe5, 0xc8, 0x9c, 0x82, 0x3e, 0xf6, 0xef, 0x2a, 0xf7, 0x71, 0x94, 0x46, + 0x83, 0x48, 0x27, 0xec, 0x5f, 0x0c, 0x43, 0xe0, 0x13, 0xf8, 0x90, 0xd3, 0xeb, 0x83, 0xbf, 0x48, + 0xe4, 0xb4, 0x8d, 0x87, 0x3c, 0xaa, 0x17, 0xcd, 0xd2, 0x1f, 0xf2, 0xe8, 0xba, 0x37, 0x87, 0xe5, + 0x37, 0xe2, 0xeb, 0xcd, 0x41, 0xe9, 0x8d, 0xb8, 0x76, 0xdb, 0xb5, 0xa3, 0x7a, 0xf9, 0xd7, 0xe2, + 0xfc, 0xb8, 0x7e, 0x62, 0x81, 0x15, 0x87, 0x27, 0x36, 0xc4, 0x76, 0xad, 0xfc, 0x19, 0xaa, 0xba, + 0x7f, 0xd1, 0xec, 0xb7, 0x1a, 0x1d, 0x1b, 0x96, 0xe3, 0xc0, 0x86, 0x54, 0x6b, 0x85, 0x4f, 0xed, + 0x5b, 0x50, 0xbb, 0xaf, 0xdd, 0x76, 0xb5, 0x6e, 0xc5, 0x5a, 0xf4, 0xdb, 0xad, 0x0b, 0x1b, 0x42, + 0xe3, 0xbc, 0x63, 0x47, 0xba, 0xfd, 0xd7, 0x8e, 0x74, 0x5b, 0xb5, 0x02, 0x9f, 0xd7, 0x6c, 0x30, + 0xc2, 0x82, 0xc8, 0x78, 0x2a, 0x7d, 0x36, 0xd4, 0x8c, 0x7a, 0xf9, 0x1b, 0xbe, 0x43, 0x1b, 0xca, + 0x77, 0xf7, 0xab, 0x0d, 0xad, 0xf7, 0x79, 0xf5, 0xb4, 0xb6, 0xc5, 0x9b, 0x5f, 0xb6, 0x4a, 0x25, + 0xca, 0xde, 0xcb, 0x36, 0x2c, 0x96, 0x28, 0xa1, 0x6f, 0x99, 0x41, 0x2e, 0x71, 0x47, 0x63, 0x71, + 0x9c, 0xbf, 0xc5, 0x63, 0x56, 0xc5, 0x18, 0xa7, 0xe5, 0x27, 0x69, 0x23, 0x4d, 0xb3, 0x29, 0xdf, + 0x39, 0x6d, 0x3f, 0x6c, 0x06, 0x62, 0x24, 0xc2, 0x89, 0xf0, 0x40, 0x38, 0x0e, 0x82, 0x0c, 0xba, + 0x8e, 0x6d, 0xef, 0xb7, 0xfc, 0x43, 0xdd, 0x78, 0x28, 0x62, 0x31, 0x3c, 0x7b, 0x9c, 0x3d, 0xa2, + 0x35, 0x21, 0x92, 0x5e, 0x9a, 0x83, 0x77, 0x3a, 0x99, 0xf4, 0x2f, 0x0d, 0xfa, 0xe3, 0x7a, 0x4f, + 0x7c, 0xdf, 0xbf, 0x56, 0xff, 0xe6, 0x9d, 0x09, 0xce, 0x3a, 0xb1, 0x06, 0x27, 0x74, 0xcd, 0x44, + 0x9a, 0x99, 0xc0, 0xd5, 0x13, 0xf7, 0x76, 0x5a, 0x56, 0x4c, 0x89, 0x13, 0xdd, 0xcf, 0x6e, 0xcd, + 0x7b, 0xc1, 0xe4, 0x8a, 0xd0, 0xfb, 0xb7, 0x5a, 0x16, 0x5b, 0x66, 0x6f, 0x1e, 0x79, 0x67, 0xaa, + 0xd7, 0x2b, 0x97, 0x7e, 0xb8, 0xef, 0x97, 0x65, 0x7f, 0x4f, 0x72, 0x1f, 0x2f, 0xeb, 0x7e, 0x9d, + 0xf4, 0xbe, 0x9c, 0xf4, 0xfe, 0x9b, 0xfc, 0x3e, 0x9b, 0x9c, 0x9b, 0x7f, 0xa4, 0x0c, 0xea, 0x64, + 0xba, 0x41, 0xf9, 0x3c, 0xbd, 0x19, 0x2e, 0x4a, 0x66, 0x14, 0xaa, 0xcd, 0x2c, 0x50, 0x2b, 0xb3, + 0xbd, 0xab, 0xb8, 0x9d, 0x2b, 0xbb, 0x7d, 0xab, 0xbc, 0x5d, 0xab, 0xbc, 0x3d, 0xab, 0xbe, 0x1d, + 0xab, 0x57, 0x8f, 0xb3, 0x0a, 0xcb, 0x3a, 0x83, 0xf9, 0x6a, 0x4a, 0x4a, 0x20, 0xcf, 0x9e, 0xcb, + 0x59, 0x03, 0x79, 0x1f, 0x0d, 0x64, 0x63, 0xae, 0xa8, 0xef, 0x92, 0xb6, 0xe0, 0xf9, 0x37, 0x05, + 0xf0, 0xcb, 0xd3, 0xcf, 0x2f, 0x52, 0x2e, 0xad, 0x51, 0xfd, 0xbb, 0x8b, 0x3f, 0xdf, 0x7e, 0xfa, + 0xeb, 0xfd, 0xa7, 0x9f, 0xfd, 0x99, 0xcf, 0x6f, 0x50, 0xfc, 0x7c, 0x72, 0xa3, 0xd8, 0x1f, 0xca, + 0xc7, 0xfe, 0xfc, 0x41, 0xb9, 0xe0, 0xdf, 0x27, 0xf8, 0x09, 0xfe, 0xd7, 0xaf, 0x23, 0x7d, 0x0c, + 0x68, 0x71, 0x31, 0x5e, 0x78, 0x3f, 0xe4, 0x8e, 0xfe, 0x3c, 0x57, 0x21, 0x09, 0xcd, 0x46, 0xe7, + 0x6a, 0x96, 0x5f, 0xf6, 0xf6, 0xa6, 0xdd, 0xfe, 0x97, 0xb9, 0xf3, 0xf3, 0x95, 0x02, 0xbe, 0x52, + 0xb0, 0x25, 0x41, 0x2a, 0xfd, 0x95, 0x02, 0xb4, 0xc6, 0x77, 0x37, 0xe4, 0xe4, 0xba, 0xce, 0x6e, + 0xcc, 0xe9, 0x8d, 0x39, 0xbf, 0xb9, 0x20, 0x50, 0xa4, 0xb5, 0xd1, 0x1a, 0x57, 0x99, 0x0b, 0x69, + 0x34, 0xa9, 0x89, 0x2a, 0x89, 0x75, 0x62, 0xbd, 0x84, 0xb1, 0x3e, 0xf6, 0xc3, 0xb4, 0x5a, 0xd7, + 0x88, 0xf5, 0x3a, 0x7a, 0xe3, 0x6a, 0xc3, 0xa0, 0x37, 0x9e, 0xfb, 0xd4, 0xd6, 0x8f, 0x8e, 0x0e, + 0x90, 0x1a, 0xff, 0x94, 0xea, 0xfb, 0x20, 0xc2, 0x61, 0x14, 0x6b, 0xd5, 0xdf, 0xc5, 0x10, 0x54, + 0x60, 0x2a, 0x30, 0x68, 0x7b, 0xf3, 0x68, 0xdb, 0x4e, 0x5a, 0x7d, 0x43, 0x87, 0x64, 0x56, 0xb3, + 0xea, 0xc5, 0x3b, 0x22, 0x93, 0xad, 0xcd, 0xe1, 0x90, 0xcc, 0x26, 0x7c, 0x33, 0xbf, 0x23, 0x32, + 0x2b, 0xbd, 0xd1, 0x96, 0x03, 0x32, 0x59, 0x0f, 0x90, 0x18, 0x9c, 0x3f, 0x9d, 0x23, 0x32, 0xeb, + 0xe9, 0xf3, 0x4c, 0x74, 0x79, 0xe6, 0xa3, 0x30, 0x35, 0x8e, 0xc2, 0x18, 0x3f, 0x0a, 0x93, 0xbf, + 0x43, 0x7f, 0x54, 0xa2, 0x14, 0x9d, 0x78, 0x4d, 0xf1, 0x59, 0xe1, 0xb9, 0x3b, 0x6b, 0xe6, 0xe2, + 0xa3, 0x39, 0x50, 0xb7, 0xdd, 0x59, 0x19, 0x30, 0x0a, 0xd6, 0xbe, 0xb4, 0x73, 0x61, 0xcd, 0xf4, + 0xff, 0x66, 0xf6, 0xbc, 0x67, 0x87, 0xe3, 0x27, 0xdf, 0xbc, 0x5f, 0xa2, 0x17, 0x45, 0x6f, 0x5d, + 0xee, 0xb5, 0x6d, 0xce, 0xf2, 0xaf, 0x5e, 0xbc, 0xe9, 0xf2, 0x8b, 0xfc, 0xd9, 0xf9, 0xf3, 0x3f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x58, 0x11, 0x83, 0xc0, 0xed, + 0x12, 0x00, + } +) + + +// ΛEnumTypes is a map, keyed by a YANG schema path, of the enumerated types that +// correspond with the leaf. The type is represented as a reflect.Type. The naming +// of the map ensures that there are no clashes with valid YANG identifiers. +var ΛEnumTypes = map[string][]reflect.Type{ + "/components/component/port/breakout-mode/config/channel-speed": []reflect.Type{ + reflect.TypeOf((E_OpenconfigIfEthernet_ETHERNET_SPEED)(0)), + }, + "/components/component/port/breakout-mode/state/channel-speed": []reflect.Type{ + reflect.TypeOf((E_OpenconfigIfEthernet_ETHERNET_SPEED)(0)), + }, + "/components/component/state/oper-status": []reflect.Type{ + reflect.TypeOf((E_OpenconfigPlatformTypes_COMPONENT_OPER_STATUS)(0)), + }, + "/components/component/state/temperature/alarm-severity": []reflect.Type{ + reflect.TypeOf((E_OpenconfigAlarmTypes_OPENCONFIG_ALARM_SEVERITY)(0)), + }, + "/components/component/state/type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigPlatformTypes_OPENCONFIG_SOFTWARE_COMPONENT)(0)), + reflect.TypeOf((E_OpenconfigPlatformTypes_OPENCONFIG_HARDWARE_COMPONENT)(0)), + }, + "/components/component/transceiver/config/ethernet-pmd-preconf": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE)(0)), + }, + "/components/component/transceiver/config/fec-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigPlatformTypes_FEC_MODE_TYPE)(0)), + }, + "/components/component/transceiver/config/form-factor-preconf": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE)(0)), + }, + "/components/component/transceiver/state/connector-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_FIBER_CONNECTOR_TYPE)(0)), + }, + "/components/component/transceiver/state/ethernet-pmd": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE)(0)), + }, + "/components/component/transceiver/state/ethernet-pmd-preconf": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_ETHERNET_PMD_TYPE)(0)), + }, + "/components/component/transceiver/state/fec-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigPlatformTypes_FEC_MODE_TYPE)(0)), + }, + "/components/component/transceiver/state/fec-status": []reflect.Type{ + reflect.TypeOf((E_OpenconfigPlatformTypes_FEC_STATUS_TYPE)(0)), + }, + "/components/component/transceiver/state/form-factor": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE)(0)), + }, + "/components/component/transceiver/state/form-factor-preconf": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRANSCEIVER_FORM_FACTOR_TYPE)(0)), + }, + "/components/component/transceiver/state/otn-compliance-code": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_OTN_APPLICATION_CODE)(0)), + }, + "/components/component/transceiver/state/present": []reflect.Type{ + reflect.TypeOf((E_OpenconfigPlatform_Components_Component_Transceiver_State_Present)(0)), + }, + "/components/component/transceiver/state/sonet-sdh-compliance-code": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_SONET_APPLICATION_CODE)(0)), + }, + "/interfaces-state/interface/admin-status": []reflect.Type{ + reflect.TypeOf((E_IETFInterfaces_InterfacesState_Interface_AdminStatus)(0)), + }, + "/interfaces-state/interface/oper-status": []reflect.Type{ + reflect.TypeOf((E_IETFInterfaces_InterfacesState_Interface_OperStatus)(0)), + }, + "/interfaces-state/interface/type": []reflect.Type{ + reflect.TypeOf((E_IETFInterfaces_InterfaceType)(0)), + }, + "/interfaces/interface/config/type": []reflect.Type{ + reflect.TypeOf((E_IETFInterfaces_InterfaceType)(0)), + }, + "/interfaces/interface/ethernet/config/duplex-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode)(0)), + }, + "/interfaces/interface/ethernet/config/port-speed": []reflect.Type{ + reflect.TypeOf((E_OpenconfigIfEthernet_ETHERNET_SPEED)(0)), + }, + "/interfaces/interface/ethernet/state/duplex-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_Config_DuplexMode)(0)), + }, + "/interfaces/interface/ethernet/state/negotiated-duplex-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_Ethernet_State_NegotiatedDuplexMode)(0)), + }, + "/interfaces/interface/ethernet/state/negotiated-port-speed": []reflect.Type{ + reflect.TypeOf((E_OpenconfigIfEthernet_ETHERNET_SPEED)(0)), + }, + "/interfaces/interface/ethernet/state/port-speed": []reflect.Type{ + reflect.TypeOf((E_OpenconfigIfEthernet_ETHERNET_SPEED)(0)), + }, + "/interfaces/interface/state/admin-status": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus)(0)), + }, + "/interfaces/interface/state/oper-status": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus)(0)), + }, + "/interfaces/interface/state/type": []reflect.Type{ + reflect.TypeOf((E_IETFInterfaces_InterfaceType)(0)), + }, + "/interfaces/interface/subinterfaces/subinterface/state/admin-status": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus)(0)), + }, + "/interfaces/interface/subinterfaces/subinterface/state/oper-status": []reflect.Type{ + reflect.TypeOf((E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus)(0)), + }, + "/lldp/config/chassis-id-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldp_ChassisIdType)(0)), + }, + "/lldp/config/suppress-tlv-advertisement": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldpTypes_LLDP_TLV)(0)), + }, + "/lldp/interfaces/interface/neighbors/neighbor/capabilities/capability/name": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY)(0)), + }, + "/lldp/interfaces/interface/neighbors/neighbor/capabilities/capability/state/name": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldpTypes_LLDP_SYSTEM_CAPABILITY)(0)), + }, + "/lldp/interfaces/interface/neighbors/neighbor/state/chassis-id-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldp_ChassisIdType)(0)), + }, + "/lldp/interfaces/interface/neighbors/neighbor/state/port-id-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldp_PortIdType)(0)), + }, + "/lldp/state/chassis-id-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldp_ChassisIdType)(0)), + }, + "/lldp/state/suppress-tlv-advertisement": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldpTypes_LLDP_TLV)(0)), + }, + "/terminal-device/logical-channels/channel/config/admin-state": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_AdminStateType)(0)), + }, + "/terminal-device/logical-channels/channel/config/logical-channel-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE)(0)), + }, + "/terminal-device/logical-channels/channel/config/loopback-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_LoopbackModeType)(0)), + }, + "/terminal-device/logical-channels/channel/config/rate-class": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE)(0)), + }, + "/terminal-device/logical-channels/channel/config/trib-protocol": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE)(0)), + }, + "/terminal-device/logical-channels/channel/ethernet/config/client-als": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls)(0)), + }, + "/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/state/chassis-id-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldp_ChassisIdType)(0)), + }, + "/terminal-device/logical-channels/channel/ethernet/lldp/neighbors/neighbor/state/port-id-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigLldp_PortIdType)(0)), + }, + "/terminal-device/logical-channels/channel/ethernet/state/client-als": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_Ethernet_Config_ClientAls)(0)), + }, + "/terminal-device/logical-channels/channel/logical-channel-assignments/assignment/config/assignment-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType)(0)), + }, + "/terminal-device/logical-channels/channel/logical-channel-assignments/assignment/config/mapping": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL)(0)), + }, + "/terminal-device/logical-channels/channel/logical-channel-assignments/assignment/state/assignment-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_LogicalChannelAssignments_Assignment_Config_AssignmentType)(0)), + }, + "/terminal-device/logical-channels/channel/logical-channel-assignments/assignment/state/mapping": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_FRAME_MAPPING_PROTOCOL)(0)), + }, + "/terminal-device/logical-channels/channel/otn/config/tributary-slot-granularity": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY)(0)), + }, + "/terminal-device/logical-channels/channel/otn/state/tributary-slot-granularity": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRIBUTARY_SLOT_GRANULARITY)(0)), + }, + "/terminal-device/logical-channels/channel/state/admin-state": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_AdminStateType)(0)), + }, + "/terminal-device/logical-channels/channel/state/link-state": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_TerminalDevice_LogicalChannels_Channel_State_LinkState)(0)), + }, + "/terminal-device/logical-channels/channel/state/logical-channel-type": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE)(0)), + }, + "/terminal-device/logical-channels/channel/state/loopback-mode": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTerminalDevice_LoopbackModeType)(0)), + }, + "/terminal-device/logical-channels/channel/state/rate-class": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRIBUTARY_RATE_CLASS_TYPE)(0)), + }, + "/terminal-device/logical-channels/channel/state/trib-protocol": []reflect.Type{ + reflect.TypeOf((E_OpenconfigTransportTypes_TRIBUTARY_PROTOCOL_TYPE)(0)), + }, +} + diff --git a/hackfest/openconfig/openconfig-terminal-device.png b/hackfest/openconfig/openconfig-terminal-device.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed8c7ea9906a8526244c12130db7b23a71e6fb0 Binary files /dev/null and b/hackfest/openconfig/openconfig-terminal-device.png differ diff --git a/hackfest/openconfig/openconfig-terminal-device.tree b/hackfest/openconfig/openconfig-terminal-device.tree new file mode 100644 index 0000000000000000000000000000000000000000..03da8a72e224eb752fea330b5c65321bad1d91d5 --- /dev/null +++ b/hackfest/openconfig/openconfig-terminal-device.tree @@ -0,0 +1,258 @@ +module: openconfig-terminal-device + +--rw terminal-device + +--rw config + +--ro state + +--rw logical-channels + | +--rw channel* [index] + | +--rw index -> ../config/index + | +--rw config + | | +--rw index? uint32 + | | +--rw description? string + | | +--rw admin-state? oc-opt-types:admin-state-type + | | +--rw rate-class? identityref + | | +--rw trib-protocol? identityref + | | +--rw logical-channel-type? identityref + | | +--rw loopback-mode? oc-opt-types:loopback-mode-type + | | +--rw test-signal? boolean + | +--ro state + | | +--ro index? uint32 + | | +--ro description? string + | | +--ro admin-state? oc-opt-types:admin-state-type + | | +--ro rate-class? identityref + | | +--ro trib-protocol? identityref + | | +--ro logical-channel-type? identityref + | | +--ro loopback-mode? oc-opt-types:loopback-mode-type + | | +--ro test-signal? boolean + | | +--ro link-state? enumeration + | +--rw otn + | | +--rw config + | | | +--rw tti-msg-transmit? string + | | | +--rw tti-msg-expected? string + | | | +--rw tti-msg-auto? boolean + | | | +--rw tributary-slot-granularity? identityref + | | +--ro state + | | +--ro tti-msg-transmit? string + | | +--ro tti-msg-expected? string + | | +--ro tti-msg-auto? boolean + | | +--ro tributary-slot-granularity? identityref + | | +--ro tti-msg-recv? string + | | +--ro rdi-msg? string + | | +--ro errored-seconds? yang:counter64 + | | +--ro severely-errored-seconds? yang:counter64 + | | +--ro unavailable-seconds? yang:counter64 + | | +--ro code-violations? yang:counter64 + | | +--ro errored-blocks? yang:counter64 + | | +--ro fec-uncorrectable-blocks? yang:counter64 + | | +--ro fec-uncorrectable-words? yang:counter64 + | | +--ro fec-corrected-bytes? yang:counter64 + | | +--ro fec-corrected-bits? yang:counter64 + | | +--ro background-block-errors? yang:counter64 + | | +--ro pre-fec-ber + | | | +--ro instant? decimal64 + | | | +--ro avg? decimal64 + | | | +--ro min? decimal64 + | | | +--ro max? decimal64 + | | | +--ro interval? oc-types:stat-interval + | | | +--ro min-time? oc-types:timeticks64 + | | | +--ro max-time? oc-types:timeticks64 + | | +--ro post-fec-ber + | | | +--ro instant? decimal64 + | | | +--ro avg? decimal64 + | | | +--ro min? decimal64 + | | | +--ro max? decimal64 + | | | +--ro interval? oc-types:stat-interval + | | | +--ro min-time? oc-types:timeticks64 + | | | +--ro max-time? oc-types:timeticks64 + | | +--ro q-value + | | | +--ro instant? decimal64 + | | | +--ro avg? decimal64 + | | | +--ro min? decimal64 + | | | +--ro max? decimal64 + | | | +--ro interval? oc-types:stat-interval + | | | +--ro min-time? oc-types:timeticks64 + | | | +--ro max-time? oc-types:timeticks64 + | | +--ro esnr + | | +--ro instant? decimal64 + | | +--ro avg? decimal64 + | | +--ro min? decimal64 + | | +--ro max? decimal64 + | | +--ro interval? oc-types:stat-interval + | | +--ro min-time? oc-types:timeticks64 + | | +--ro max-time? oc-types:timeticks64 + | +--rw ethernet + | | +--rw config + | | | +--rw client-als? enumeration + | | | +--rw als-delay? uint32 + | | +--ro state + | | | +--ro client-als? enumeration + | | | +--ro als-delay? uint32 + | | | +--ro in-mac-control-frames? oc-yang:counter64 + | | | +--ro in-mac-pause-frames? oc-yang:counter64 + | | | +--ro in-oversize-frames? oc-yang:counter64 + | | | +--ro in-undersize-frames? oc-yang:counter64 + | | | +--ro in-jabber-frames? oc-yang:counter64 + | | | +--ro in-fragment-frames? oc-yang:counter64 + | | | +--ro in-8021q-frames? oc-yang:counter64 + | | | +--ro in-crc-errors? oc-yang:counter64 + | | | +--ro in-block-errors? oc-yang:counter64 + | | | +--ro out-mac-control-frames? oc-yang:counter64 + | | | +--ro out-mac-pause-frames? oc-yang:counter64 + | | | +--ro out-8021q-frames? oc-yang:counter64 + | | | +--ro in-pcs-bip-errors? oc-yang:counter64 + | | | +--ro in-pcs-errored-seconds? oc-yang:counter64 + | | | +--ro in-pcs-severely-errored-seconds? oc-yang:counter64 + | | | +--ro in-pcs-unavailable-seconds? oc-yang:counter64 + | | | +--ro out-pcs-bip-errors? oc-yang:counter64 + | | | +--ro out-crc-errors? oc-yang:counter64 + | | | +--ro out-block-errors? oc-yang:counter64 + | | +--rw lldp + | | +--rw config + | | | +--rw enabled? boolean + | | | +--rw snooping? boolean + | | +--ro state + | | | +--ro enabled? boolean + | | | +--ro snooping? boolean + | | | +--ro counters + | | | +--ro frame-in? yang:counter64 + | | | +--ro frame-out? yang:counter64 + | | | +--ro frame-error-in? yang:counter64 + | | | +--ro frame-discard? yang:counter64 + | | | +--ro tlv-discard? yang:counter64 + | | | +--ro tlv-unknown? yang:counter64 + | | | +--ro last-clear? yang:date-and-time + | | | +--ro frame-error-out? yang:counter64 + | | +--ro neighbors + | | +--ro neighbor* [id] + | | +--ro id -> ../state/id + | | +--ro config + | | +--ro state + | | | +--ro system-name? string + | | | +--ro system-description? string + | | | +--ro chassis-id? string + | | | +--ro chassis-id-type? oc-lldp-types:chassis-id-type + | | | +--ro id? string + | | | +--ro age? uint64 + | | | +--ro last-update? int64 + | | | +--ro ttl? uint16 + | | | +--ro port-id? string + | | | +--ro port-id-type? oc-lldp-types:port-id-type + | | | +--ro port-description? string + | | | +--ro management-address? string + | | | +--ro management-address-type? string + | | +--ro custom-tlvs + | | +--ro tlv* [type oui oui-subtype] + | | +--ro type -> ../state/type + | | +--ro oui -> ../state/oui + | | +--ro oui-subtype -> ../state/oui-subtype + | | +--ro config + | | +--ro state + | | +--ro type? int32 + | | +--ro oui? string + | | +--ro oui-subtype? string + | | +--ro value? binary + | +--rw ingress + | | +--rw config + | | | +--rw transceiver? -> /oc-platform:components/component/name + | | | +--rw physical-channel* -> /oc-platform:components/component/oc-transceiver:transceiver/physical-channels/channel/index + | | +--ro state + | | +--ro transceiver? -> /oc-platform:components/component/name + | | +--ro physical-channel* -> /oc-platform:components/component/oc-transceiver:transceiver/physical-channels/channel/index + | +--rw logical-channel-assignments + | +--rw assignment* [index] + | +--rw index -> ../config/index + | +--rw config + | | +--rw index? uint32 + | | +--rw description? string + | | +--rw assignment-type? enumeration + | | +--rw logical-channel? -> /terminal-device/logical-channels/channel/index + | | +--rw optical-channel? -> /oc-platform:components/component/name + | | +--rw allocation? decimal64 + | | +--rw tributary-slot-index? int32 + | | +--rw mapping? identityref + | +--ro state + | +--ro index? uint32 + | +--ro description? string + | +--ro assignment-type? enumeration + | +--ro logical-channel? -> /terminal-device/logical-channels/channel/index + | +--ro optical-channel? -> /oc-platform:components/component/name + | +--ro allocation? decimal64 + | +--ro tributary-slot-index? int32 + | +--ro mapping? identityref + +--rw operational-modes + +--ro mode* [mode-id] + +--ro mode-id -> ../state/mode-id + +--ro config + +--ro state + +--ro mode-id? uint16 + +--ro description? string + +--ro vendor-id? string + + augment /oc-platform:components/oc-platform:component: + +--rw optical-channel + +--rw config + | +--rw frequency? oc-opt-types:frequency-type + | +--rw target-output-power? decimal64 + | +--rw operational-mode? uint16 + | +--rw line-port? -> /oc-platform:components/component/name + +--ro state + +--ro frequency? oc-opt-types:frequency-type + +--ro target-output-power? decimal64 + +--ro operational-mode? uint16 + +--ro line-port? -> /oc-platform:components/component/name + +--ro group-id? uint32 + +--ro output-power + | +--ro instant? decimal64 + | +--ro avg? decimal64 + | +--ro min? decimal64 + | +--ro max? decimal64 + | +--ro interval? oc-types:stat-interval + | +--ro min-time? oc-types:timeticks64 + | +--ro max-time? oc-types:timeticks64 + +--ro input-power + | +--ro instant? decimal64 + | +--ro avg? decimal64 + | +--ro min? decimal64 + | +--ro max? decimal64 + | +--ro interval? oc-types:stat-interval + | +--ro min-time? oc-types:timeticks64 + | +--ro max-time? oc-types:timeticks64 + +--ro laser-bias-current + | +--ro instant? decimal64 + | +--ro avg? decimal64 + | +--ro min? decimal64 + | +--ro max? decimal64 + | +--ro interval? oc-types:stat-interval + | +--ro min-time? oc-types:timeticks64 + | +--ro max-time? oc-types:timeticks64 + +--ro chromatic-dispersion + | +--ro instant? decimal64 + | +--ro avg? decimal64 + | +--ro min? decimal64 + | +--ro max? decimal64 + | +--ro interval? oc-types:stat-interval + | +--ro min-time? oc-types:timeticks64 + | +--ro max-time? oc-types:timeticks64 + +--ro polarization-mode-dispersion + | +--ro instant? decimal64 + | +--ro avg? decimal64 + | +--ro min? decimal64 + | +--ro max? decimal64 + | +--ro interval? oc-types:stat-interval + | +--ro min-time? oc-types:timeticks64 + | +--ro max-time? oc-types:timeticks64 + +--ro second-order-polarization-mode-dispersion + | +--ro instant? decimal64 + | +--ro avg? decimal64 + | +--ro min? decimal64 + | +--ro max? decimal64 + | +--ro interval? oc-types:stat-interval + | +--ro min-time? oc-types:timeticks64 + | +--ro max-time? oc-types:timeticks64 + +--ro polarization-dependent-loss + +--ro instant? decimal64 + +--ro avg? decimal64 + +--ro min? decimal64 + +--ro max? decimal64 + +--ro interval? oc-types:stat-interval + +--ro min-time? oc-types:timeticks64 + +--ro max-time? oc-types:timeticks64 diff --git a/hackfest/openconfig/openconfig-terminal-device.uml b/hackfest/openconfig/openconfig-terminal-device.uml new file mode 100644 index 0000000000000000000000000000000000000000..11b945ead0abbc6fb591767ef0f41d62c641b49e --- /dev/null +++ b/hackfest/openconfig/openconfig-terminal-device.uml @@ -0,0 +1,400 @@ +'Download plantuml from http://plantuml.sourceforge.net/ +'Generate png with java -jar plantuml.jar +'Output in img/.png +'If Java spits out memory error increase heap size with java -Xmx1024m -jar plantuml.jar +@startuml img/openconfig-terminal-device.png +hide empty fields +hide empty methods +hide <> circle +hide <> circle +hide <> circle +hide <> stereotype +hide <> circle +page 1x1 +Title openconfig-terminal-device +package "oc-types:openconfig-types" as oc_types_openconfig_types { +} +package "oc-opt-types:openconfig-transport-types" as oc_opt_types_openconfig_transport_types { +} +package "oc-eth:openconfig-if-ethernet" as oc_eth_openconfig_if_ethernet { +} +package "oc-platform:openconfig-platform" as oc_platform_openconfig_platform { +} +package "oc-transceiver:openconfig-platform-transceiver" as oc_transceiver_openconfig_platform_transceiver { +} +package "oc-lldp:openconfig-lldp" as oc_lldp_openconfig_lldp { +} +package "oc-ext:openconfig-extensions" as oc_ext_openconfig_extensions { +} +package "yang:ietf-yang-types" as yang_ietf_yang_types { +} +package "oc-yang:openconfig-yang-types" as oc_yang_openconfig_yang_types { +} +note top of oc_opt_term_openconfig_terminal_device : Namespace: http://openconfig.net/yang/terminal-device \nPrefix: oc-opt-term \nOrganization : \nOpenConfig working group \nContact : \nOpenConfig working group \nwww.openconfig.net \nRevision : 2019-11-28 \n +package "oc-opt-term:openconfig-terminal-device" as oc_opt_term_openconfig_terminal_device { +oc_types_openconfig_types +-- oc_opt_term_openconfig_terminal_device +oc_opt_types_openconfig_transport_types +-- oc_opt_term_openconfig_terminal_device +oc_eth_openconfig_if_ethernet +-- oc_opt_term_openconfig_terminal_device +oc_platform_openconfig_platform +-- oc_opt_term_openconfig_terminal_device +oc_transceiver_openconfig_platform_transceiver +-- oc_opt_term_openconfig_terminal_device +oc_lldp_openconfig_lldp +-- oc_opt_term_openconfig_terminal_device +oc_ext_openconfig_extensions +-- oc_opt_term_openconfig_terminal_device +yang_ietf_yang_types +-- oc_opt_term_openconfig_terminal_device +oc_yang_openconfig_yang_types +-- oc_opt_term_openconfig_terminal_device +class "openconfig-terminal-device" as openconfig_terminal_device << (M, #33CCFF) module>> +class "terminal-input-optical-power" as openconfig_terminal_device_I_terminal_input_optical_power_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_input_optical_power_grouping : input-power : decimal64 {dBm} +class "terminal-ethernet-protocol-config" as openconfig_terminal_device_I_terminal_ethernet_protocol_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_ethernet_protocol_config_grouping : client-als : enumeration : {NONE,LASER_SHUTDOWN,ETHERNET,} = ETHERNET +openconfig_terminal_device_I_terminal_ethernet_protocol_config_grouping : als-delay : uint32 = 0 {milliseconds} +class "terminal-ethernet-protocol-state" as openconfig_terminal_device_I_terminal_ethernet_protocol_state_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_ethernet_protocol_state_grouping : oc-eth:ethernet-interface-state-counters {uses} +openconfig_terminal_device_I_terminal_ethernet_protocol_state_grouping : terminal-ethernet-protocol-state-counters {uses} +class "terminal-ethernet-protocol-state-counters" as openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : in-pcs-bip-errors : oc-yang:counter64 +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : in-pcs-errored-seconds : oc-yang:counter64 +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : in-pcs-severely-errored-seconds : oc-yang:counter64 +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : in-pcs-unavailable-seconds : oc-yang:counter64 +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : out-pcs-bip-errors : oc-yang:counter64 +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : out-crc-errors : oc-yang:counter64 +openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : out-block-errors : oc-yang:counter64 +class "terminal-ethernet-protocol-top" as openconfig_terminal_device_I_terminal_ethernet_protocol_top_grouping <<(G,Lime) grouping>> +class "ethernet" as openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet <> +openconfig_terminal_device_I_terminal_ethernet_protocol_top_grouping *-- "1" openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet +class "config" as openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_config <> +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet *-- "1" openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_config +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_config : terminal-ethernet-protocol-config {uses} +class "state" as openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state <> +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet *-- "1" openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state +note bottom of openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state : terminal-ethernet-protocol-config {uses} +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state : terminal-ethernet-protocol-state {uses} +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet : lldp-logical-channel-top {uses} +class "lldp-logical-channel-top" as openconfig_terminal_device_I_lldp_logical_channel_top_grouping <<(G,Lime) grouping>> +class "lldp" as openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp <> +openconfig_terminal_device_I_lldp_logical_channel_top_grouping *-- "1" openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp +class "config" as openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_config <> +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp *-- "1" openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_config +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_config : lldp-logical-channel-config {uses} +class "state" as openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_state <> +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp *-- "1" openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_state +note bottom of openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_state +Config = false +end note +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_state : lldp-logical-channel-config {uses} +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_state : oc-lldp:lldp-interface-state {uses} +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp : lldp-logical-channel-neighbor-top {uses} +class "lldp-logical-channel-config" as openconfig_terminal_device_I_lldp_logical_channel_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_lldp_logical_channel_config_grouping : enabled : boolean = false +openconfig_terminal_device_I_lldp_logical_channel_config_grouping : snooping : boolean = false +class "lldp-logical-channel-neighbor-top" as openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_grouping <<(G,Lime) grouping>> +class "neighbors" as openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors <> +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_grouping *-- "1" openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors +note bottom of openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors +Config = false +end note +class "neighbor" as openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor << (L, #FF7700) list>> +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors *-- "0..N" openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor : +id : leafref : ../state/id {key} +class "config" as openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_config <> +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor *-- "1" openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_config +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_config : lldp-logical-channel-neighbor-config {uses} +class "state" as openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state <> +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor *-- "1" openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state +note bottom of openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state +Config = false +end note +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state : oc-lldp:lldp-system-info-config {uses} +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state : oc-lldp:lldp-system-info-state {uses} +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state : oc-lldp:lldp-neighbor-config {uses} +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_state : oc-lldp:lldp-neighbor-state {uses} +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor : oc-lldp:lldp-custom-tlv-top {uses} +class "lldp-logical-channel-neighbor-config" as openconfig_terminal_device_I_lldp_logical_channel_neighbor_config_grouping <<(G,Lime) grouping>> +class "terminal-otn-protocol-config" as openconfig_terminal_device_I_terminal_otn_protocol_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_otn_protocol_config_grouping : tti-msg-transmit : string +openconfig_terminal_device_I_terminal_otn_protocol_config_grouping : tti-msg-expected : string +openconfig_terminal_device_I_terminal_otn_protocol_config_grouping : tti-msg-auto : boolean +openconfig_terminal_device_I_terminal_otn_protocol_config_grouping : tributary-slot-granularity : identityref {oc-opt-types:TRIBUTARY_SLOT_GRANULARITY} +class "terminal-otn-protocol-counter-stats" as openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : errored-seconds : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : severely-errored-seconds : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : unavailable-seconds : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : code-violations : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : errored-blocks : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : fec-uncorrectable-blocks : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : fec-uncorrectable-words : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : fec-corrected-bytes : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : fec-corrected-bits : yang:counter64 +openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : background-block-errors : yang:counter64 +class "terminal-otn-protocol-multi-stats" as openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_grouping <<(G,Lime) grouping>> +class "pre-fec-ber" as openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_pre_fec_ber <> +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_grouping *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_pre_fec_ber +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_pre_fec_ber : oc-opt-types:avg-min-max-instant-stats-precision18-ber {uses} +class "post-fec-ber" as openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_post_fec_ber <> +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_grouping *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_post_fec_ber +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_post_fec_ber : oc-opt-types:avg-min-max-instant-stats-precision18-ber {uses} +class "q-value" as openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_q_value <> +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_grouping *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_q_value +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_q_value : oc-types:avg-min-max-instant-stats-precision2-dB {uses} +class "esnr" as openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_esnr <> +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_grouping *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_esnr +openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_I_esnr : oc-types:avg-min-max-instant-stats-precision2-dB {uses} +class "terminal-otn-protocol-state" as openconfig_terminal_device_I_terminal_otn_protocol_state_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_otn_protocol_state_grouping : tti-msg-recv : string +openconfig_terminal_device_I_terminal_otn_protocol_state_grouping : rdi-msg : string +openconfig_terminal_device_I_terminal_otn_protocol_state_grouping : terminal-otn-protocol-counter-stats {uses} +openconfig_terminal_device_I_terminal_otn_protocol_state_grouping : terminal-otn-protocol-multi-stats {uses} +class "terminal-otn-protocol-top" as openconfig_terminal_device_I_terminal_otn_protocol_top_grouping <<(G,Lime) grouping>> +class "otn" as openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn <> +openconfig_terminal_device_I_terminal_otn_protocol_top_grouping *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn +class "config" as openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_config <> +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_config +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_config : terminal-otn-protocol-config {uses} +class "state" as openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state <> +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn *-- "1" openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state +note bottom of openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state : terminal-otn-protocol-config {uses} +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state : terminal-otn-protocol-state {uses} +class "terminal-client-port-assignment-config" as openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping : index : uint32 +openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping : description : string +openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping : logical-channel : leafref : /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:index +openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping : allocation : decimal64 {Gbps} +class "terminal-client-port-assignment-state" as openconfig_terminal_device_I_terminal_client_port_assignment_state_grouping <<(G,Lime) grouping>> +class "terminal-client-port-assignment-top" as openconfig_terminal_device_I_terminal_client_port_assignment_top_grouping <<(G,Lime) grouping>> +class "logical-channel-assignments" as openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments <> +openconfig_terminal_device_I_terminal_client_port_assignment_top_grouping *-- "1" openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments +class "assignment" as openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment << (L, #FF7700) list>> +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments *-- "0..N" openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment : +index : leafref : ../config/index {key} +class "config" as openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_config <> +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment *-- "1" openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_config +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_config : terminal-client-port-assignment-config {uses} +class "state" as openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state <> +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment *-- "1" openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state +note bottom of openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state : terminal-client-port-assignment-config {uses} +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state : terminal-client-port-assignment-state {uses} +class "terminal-logical-chan-assignment-config" as openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : +index : uint32 {key} +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : description : string +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : assignment-type : enumeration : {LOGICAL_CHANNEL,OPTICAL_CHANNEL,} +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : logical-channel : leafref : /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:index +note bottom of openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping +Must (logical-channel): +../assignment-type = 'LOGICAL_CHANNEL' + +end note +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : optical-channel : leafref : /oc-platform:components/oc-platform:component/oc-platform:name +note bottom of openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping +Must (optical-channel): +../assignment-type = 'OPTICAL_CHANNEL' + +end note +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : allocation : decimal64 {Gbps} +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : tributary-slot-index : int32 +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : mapping : identityref {oc-opt-types:FRAME_MAPPING_PROTOCOL} +class "terminal-logical-chan-assignment-state" as openconfig_terminal_device_I_terminal_logical_chan_assignment_state_grouping <<(G,Lime) grouping>> +class "terminal-logical-chan-assignment-top" as openconfig_terminal_device_I_terminal_logical_chan_assignment_top_grouping <<(G,Lime) grouping>> +class "logical-channel-assignments" as openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments <> +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_grouping *-- "1" openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments +class "assignment" as openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment << (L, #FF7700) list>> +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments *-- "0..N" openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment : +index : leafref : ../config/index {key} +class "config" as openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_config <> +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment *-- "1" openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_config +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_config : terminal-logical-chan-assignment-config {uses} +class "state" as openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state <> +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment *-- "1" openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state +note bottom of openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state : terminal-logical-chan-assignment-config {uses} +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state : terminal-logical-chan-assignment-state {uses} +class "terminal-logical-channel-ingress-config" as openconfig_terminal_device_I_terminal_logical_channel_ingress_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_logical_channel_ingress_config_grouping : transceiver : leafref : /oc-platform:components/oc-platform:component/oc-platform:name +openconfig_terminal_device_I_terminal_logical_channel_ingress_config_grouping : physical-channel []: leafref : /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:index +class "terminal-logical-channel-ingress-state" as openconfig_terminal_device_I_terminal_logical_channel_ingress_state_grouping <<(G,Lime) grouping>> +class "terminal-logical-channel-ingress-top" as openconfig_terminal_device_I_terminal_logical_channel_ingress_top_grouping <<(G,Lime) grouping>> +class "ingress" as openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress <> +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_grouping *-- "1" openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress +class "config" as openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_config <> +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress *-- "1" openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_config +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_config : terminal-logical-channel-ingress-config {uses} +class "state" as openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state <> +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress *-- "1" openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state +note bottom of openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state : terminal-logical-channel-ingress-config {uses} +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state : terminal-logical-channel-ingress-state {uses} +class "terminal-logical-channel-config" as openconfig_terminal_device_I_terminal_logical_channel_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : +index : uint32 {key} +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : description : string +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : admin-state : oc-opt-types:admin-state-type +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : rate-class : identityref {oc-opt-types:TRIBUTARY_RATE_CLASS_TYPE} +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : trib-protocol : identityref {oc-opt-types:TRIBUTARY_PROTOCOL_TYPE} +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : logical-channel-type : identityref {oc-opt-types:LOGICAL_ELEMENT_PROTOCOL_TYPE} +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : loopback-mode : oc-opt-types:loopback-mode-type +openconfig_terminal_device_I_terminal_logical_channel_config_grouping : test-signal : boolean +class "terminal-logical-channel-state" as openconfig_terminal_device_I_terminal_logical_channel_state_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_logical_channel_state_grouping : link-state : enumeration : {UP,DOWN,TESTING,} +class "terminal-logical-channel-top" as openconfig_terminal_device_I_terminal_logical_channel_top_grouping <<(G,Lime) grouping>> +class "logical-channels" as openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels <> +openconfig_terminal_device_I_terminal_logical_channel_top_grouping *-- "1" openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels +class "channel" as openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel << (L, #FF7700) list>> +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels *-- "0..N" openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel : +index : leafref : ../config/index {key} +class "config" as openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_config <> +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel *-- "1" openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_config +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_config : terminal-logical-channel-config {uses} +class "state" as openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state <> +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel *-- "1" openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state +note bottom of openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state : terminal-logical-channel-config {uses} +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state : terminal-logical-channel-state {uses} +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel : terminal-otn-protocol-top {uses} +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel : terminal-ethernet-protocol-top {uses} +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel : terminal-logical-channel-ingress-top {uses} +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel : terminal-logical-chan-assignment-top {uses} +class "terminal-optical-channel-config" as openconfig_terminal_device_I_terminal_optical_channel_config_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_optical_channel_config_grouping : frequency : oc-opt-types:frequency-type +openconfig_terminal_device_I_terminal_optical_channel_config_grouping : target-output-power : decimal64 {dBm} +openconfig_terminal_device_I_terminal_optical_channel_config_grouping : operational-mode : uint16 +openconfig_terminal_device_I_terminal_optical_channel_config_grouping : line-port : leafref : /oc-platform:components/oc-platform:component/oc-platform:name +class "terminal-optical-channel-state" as openconfig_terminal_device_I_terminal_optical_channel_state_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_optical_channel_state_grouping : group-id : uint32 +openconfig_terminal_device_I_terminal_optical_channel_state_grouping : oc-transceiver:optical-power-state {uses} +class "chromatic-dispersion" as openconfig_terminal_device_I_terminal_optical_channel_state_I_chromatic_dispersion <> +openconfig_terminal_device_I_terminal_optical_channel_state_grouping *-- "1" openconfig_terminal_device_I_terminal_optical_channel_state_I_chromatic_dispersion +openconfig_terminal_device_I_terminal_optical_channel_state_I_chromatic_dispersion : oc-opt-types:avg-min-max-instant-stats-precision2-ps-nm {uses} +class "polarization-mode-dispersion" as openconfig_terminal_device_I_terminal_optical_channel_state_I_polarization_mode_dispersion <> +openconfig_terminal_device_I_terminal_optical_channel_state_grouping *-- "1" openconfig_terminal_device_I_terminal_optical_channel_state_I_polarization_mode_dispersion +openconfig_terminal_device_I_terminal_optical_channel_state_I_polarization_mode_dispersion : oc-opt-types:avg-min-max-instant-stats-precision2-ps {uses} +class "second-order-polarization-mode-dispersion" as openconfig_terminal_device_I_terminal_optical_channel_state_I_second_order_polarization_mode_dispersion <> +openconfig_terminal_device_I_terminal_optical_channel_state_grouping *-- "1" openconfig_terminal_device_I_terminal_optical_channel_state_I_second_order_polarization_mode_dispersion +openconfig_terminal_device_I_terminal_optical_channel_state_I_second_order_polarization_mode_dispersion : oc-opt-types:avg-min-max-instant-stats-precision2-ps2 {uses} +class "polarization-dependent-loss" as openconfig_terminal_device_I_terminal_optical_channel_state_I_polarization_dependent_loss <> +openconfig_terminal_device_I_terminal_optical_channel_state_grouping *-- "1" openconfig_terminal_device_I_terminal_optical_channel_state_I_polarization_dependent_loss +openconfig_terminal_device_I_terminal_optical_channel_state_I_polarization_dependent_loss : oc-types:avg-min-max-instant-stats-precision2-dB {uses} +class "terminal-optical-channel-top" as openconfig_terminal_device_I_terminal_optical_channel_top_grouping <<(G,Lime) grouping>> +class "optical-channel" as openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel <> +openconfig_terminal_device_I_terminal_optical_channel_top_grouping *-- "1" openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel +class "config" as openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_config <> +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel *-- "1" openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_config +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_config : terminal-optical-channel-config {uses} +class "state" as openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state <> +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel *-- "1" openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state +note bottom of openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state : terminal-optical-channel-config {uses} +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state : terminal-optical-channel-state {uses} +class "terminal-operational-mode-config" as openconfig_terminal_device_I_terminal_operational_mode_config_grouping <<(G,Lime) grouping>> +class "terminal-operational-mode-state" as openconfig_terminal_device_I_terminal_operational_mode_state_grouping <<(G,Lime) grouping>> +openconfig_terminal_device_I_terminal_operational_mode_state_grouping : mode-id : uint16 +openconfig_terminal_device_I_terminal_operational_mode_state_grouping : description : string +openconfig_terminal_device_I_terminal_operational_mode_state_grouping : vendor-id : string +class "terminal-operational-mode-top" as openconfig_terminal_device_I_terminal_operational_mode_top_grouping <<(G,Lime) grouping>> +class "operational-modes" as openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes <> +openconfig_terminal_device_I_terminal_operational_mode_top_grouping *-- "1" openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes +class "mode" as openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode << (L, #FF7700) list>> +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes *-- "0..N" openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode +note bottom of openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode +Config = false +end note +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode : +mode-id : leafref : ../state/mode-id {key} +class "config" as openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_config <> +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode *-- "1" openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_config +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_config : terminal-operational-mode-config {uses} +class "state" as openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state <> +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode *-- "1" openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state +note bottom of openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state : terminal-operational-mode-config {uses} +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state : terminal-operational-mode-state {uses} +class "terminal-device-config" as openconfig_terminal_device_I_terminal_device_config_grouping <<(G,Lime) grouping>> +class "terminal-device-state" as openconfig_terminal_device_I_terminal_device_state_grouping <<(G,Lime) grouping>> +class "terminal-device-top" as openconfig_terminal_device_I_terminal_device_top_grouping <<(G,Lime) grouping>> +class "terminal-device" as openconfig_terminal_device_I_terminal_device_top_I_terminal_device <> +openconfig_terminal_device_I_terminal_device_top_grouping *-- "1" openconfig_terminal_device_I_terminal_device_top_I_terminal_device +class "config" as openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_config <> +openconfig_terminal_device_I_terminal_device_top_I_terminal_device *-- "1" openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_config +openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_config : terminal-device-config {uses} +class "state" as openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state <> +openconfig_terminal_device_I_terminal_device_top_I_terminal_device *-- "1" openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state +note bottom of openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state +Config = false +end note +openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state : terminal-device-config {uses} +openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state : terminal-device-state {uses} +openconfig_terminal_device_I_terminal_device_top_I_terminal_device : terminal-logical-channel-top {uses} +openconfig_terminal_device_I_terminal_device_top_I_terminal_device : terminal-operational-mode-top {uses} +class "/oc-platform:components/oc-platform:component" as oc_platform_components_oc_platform_component << (A,CadetBlue) augment>> +openconfig_terminal_device *-- oc_platform_components_oc_platform_component +note bottom of oc_platform_components_oc_platform_component +When: /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:type = 'OPTICAL_CHANNEL' +end note +oc_platform_components_oc_platform_component : terminal-optical-channel-top {uses} +openconfig_terminal_device_I_terminal_otn_protocol_config_grouping-->oc_opt_types_TRIBUTARY_SLOT_GRANULARITY: tributary-slot-granularity +openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping-->oc_opt_types_FRAME_MAPPING_PROTOCOL: mapping +openconfig_terminal_device_I_terminal_logical_channel_config_grouping-->oc_opt_types_TRIBUTARY_RATE_CLASS_TYPE: rate-class +openconfig_terminal_device_I_terminal_logical_channel_config_grouping-->oc_opt_types_TRIBUTARY_PROTOCOL_TYPE: trib-protocol +openconfig_terminal_device_I_terminal_logical_channel_config_grouping-->oc_opt_types_LOGICAL_ELEMENT_PROTOCOL_TYPE: logical-channel-type +} + +openconfig_terminal_device_I_terminal_ethernet_protocol_state_grouping --> openconfig_terminal_device_I_terminal_ethernet_protocol_state_counters_grouping : uses +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_config --> openconfig_terminal_device_I_terminal_ethernet_protocol_config_grouping : uses +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state --> openconfig_terminal_device_I_terminal_ethernet_protocol_config_grouping : uses +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet_I_state --> openconfig_terminal_device_I_terminal_ethernet_protocol_state_grouping : uses +openconfig_terminal_device_I_terminal_ethernet_protocol_top_I_ethernet --> openconfig_terminal_device_I_lldp_logical_channel_top_grouping : uses +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_config --> openconfig_terminal_device_I_lldp_logical_channel_config_grouping : uses +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp_I_state --> openconfig_terminal_device_I_lldp_logical_channel_config_grouping : uses +openconfig_terminal_device_I_lldp_logical_channel_top_I_lldp --> openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_grouping : uses +openconfig_terminal_device_I_lldp_logical_channel_neighbor_top_I_neighbors_I_neighbor_I_config --> openconfig_terminal_device_I_lldp_logical_channel_neighbor_config_grouping : uses +openconfig_terminal_device_I_terminal_otn_protocol_state_grouping --> openconfig_terminal_device_I_terminal_otn_protocol_counter_stats_grouping : uses +openconfig_terminal_device_I_terminal_otn_protocol_state_grouping --> openconfig_terminal_device_I_terminal_otn_protocol_multi_stats_grouping : uses +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_config --> openconfig_terminal_device_I_terminal_otn_protocol_config_grouping : uses +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state --> openconfig_terminal_device_I_terminal_otn_protocol_config_grouping : uses +openconfig_terminal_device_I_terminal_otn_protocol_top_I_otn_I_state --> openconfig_terminal_device_I_terminal_otn_protocol_state_grouping : uses +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_config --> openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping : uses +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state --> openconfig_terminal_device_I_terminal_client_port_assignment_config_grouping : uses +openconfig_terminal_device_I_terminal_client_port_assignment_top_I_logical_channel_assignments_I_assignment_I_state --> openconfig_terminal_device_I_terminal_client_port_assignment_state_grouping : uses +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_config --> openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : uses +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state --> openconfig_terminal_device_I_terminal_logical_chan_assignment_config_grouping : uses +openconfig_terminal_device_I_terminal_logical_chan_assignment_top_I_logical_channel_assignments_I_assignment_I_state --> openconfig_terminal_device_I_terminal_logical_chan_assignment_state_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_config --> openconfig_terminal_device_I_terminal_logical_channel_ingress_config_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state --> openconfig_terminal_device_I_terminal_logical_channel_ingress_config_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_ingress_top_I_ingress_I_state --> openconfig_terminal_device_I_terminal_logical_channel_ingress_state_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_config --> openconfig_terminal_device_I_terminal_logical_channel_config_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state --> openconfig_terminal_device_I_terminal_logical_channel_config_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel_I_state --> openconfig_terminal_device_I_terminal_logical_channel_state_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel --> openconfig_terminal_device_I_terminal_otn_protocol_top_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel --> openconfig_terminal_device_I_terminal_ethernet_protocol_top_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel --> openconfig_terminal_device_I_terminal_logical_channel_ingress_top_grouping : uses +openconfig_terminal_device_I_terminal_logical_channel_top_I_logical_channels_I_channel --> openconfig_terminal_device_I_terminal_logical_chan_assignment_top_grouping : uses +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_config --> openconfig_terminal_device_I_terminal_optical_channel_config_grouping : uses +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state --> openconfig_terminal_device_I_terminal_optical_channel_config_grouping : uses +openconfig_terminal_device_I_terminal_optical_channel_top_I_optical_channel_I_state --> openconfig_terminal_device_I_terminal_optical_channel_state_grouping : uses +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_config --> openconfig_terminal_device_I_terminal_operational_mode_config_grouping : uses +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state --> openconfig_terminal_device_I_terminal_operational_mode_config_grouping : uses +openconfig_terminal_device_I_terminal_operational_mode_top_I_operational_modes_I_mode_I_state --> openconfig_terminal_device_I_terminal_operational_mode_state_grouping : uses +openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_config --> openconfig_terminal_device_I_terminal_device_config_grouping : uses +openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state --> openconfig_terminal_device_I_terminal_device_config_grouping : uses +openconfig_terminal_device_I_terminal_device_top_I_terminal_device_I_state --> openconfig_terminal_device_I_terminal_device_state_grouping : uses +openconfig_terminal_device_I_terminal_device_top_I_terminal_device --> openconfig_terminal_device_I_terminal_logical_channel_top_grouping : uses +openconfig_terminal_device_I_terminal_device_top_I_terminal_device --> openconfig_terminal_device_I_terminal_operational_mode_top_grouping : uses +oc_platform_components_oc_platform_component --> openconfig_terminal_device_I_terminal_optical_channel_top_grouping : uses +center footer + UML Generated : 2020-04-19 01:36 + endfooter +@enduml diff --git a/hackfest/openconfig/openconfig-terminal-device.yang b/hackfest/openconfig/openconfig-terminal-device.yang new file mode 100644 index 0000000000000000000000000000000000000000..6cd0160c6c6f7cd3e9d7bfaba33e020c3451984e --- /dev/null +++ b/hackfest/openconfig/openconfig-terminal-device.yang @@ -0,0 +1,1489 @@ +module openconfig-terminal-device { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/terminal-device"; + + prefix "oc-opt-term"; + + import openconfig-types { prefix oc-types; } + import openconfig-transport-types { prefix oc-opt-types; } + import openconfig-if-ethernet { prefix oc-eth; } + import openconfig-platform { prefix oc-platform; } + import openconfig-platform-transceiver { prefix oc-transceiver; } + import openconfig-lldp { prefix oc-lldp; } + import openconfig-extensions { prefix oc-ext; } + import ietf-yang-types { prefix yang; } + import openconfig-yang-types { prefix oc-yang; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module describes a terminal optics device model for + managing the terminal systems (client and line side) in a + DWDM transport network. + + Elements of the model: + + physical port: corresponds to a physical, pluggable client + port on the terminal device. Examples includes 10G, 40G, 100G + (e.g., 10x10G, 4x25G or 1x100G) and 400G/1T in the future. + Physical client ports will have associated operational state or + PMs. + + physical channel: a physical lane or channel in the + physical client port. Each physical client port has 1 or more + channels. An example is 100GBASE-LR4 client physical port having + 4x25G channels. Channels have their own optical PMs and can be + monitored independently within a client physical port (e.g., + channel power). Physical client channels are defined in the + model as part of a physical client port, and are modeled + primarily for reading their PMs. + + logical channel: a logical grouping of logical grooming elements + that may be assigned to subsequent grooming stages for + multiplexing / de-multiplexing, or to an optical channel for + line side transmission. The logical channels can represent, for + example, an ODU/OTU logical packing of the client + data onto the line side. Tributaries are similarly logical + groupings of demand that can be represented in this structure and + assigned to an optical channel. Note that different types of + logical channels may be present, each with their corresponding + PMs. + + optical channel: corresponds to an optical carrier and is + assigned a wavelength/frequency. Optical channels have PMs + such as power, BER, and operational mode. + + Directionality: + + To maintain simplicity in the model, the configuration is + described from client-to-line direction. The assumption is that + equivalent reverse configuration is implicit, resulting in + the same line-to-client configuration. + + Physical layout: + + The model does not assume a particular physical layout of client + and line ports on the terminal device (e.g., such as number of + ports per linecard, separate linecards for client and line ports, + etc.)."; + + oc-ext:openconfig-version "1.7.2"; + + revision "2019-11-28" { + description + "Additional xpath fixes in when statement"; + reference "1.7.2"; + } + + revision "2019-10-12" { + description + "Fix when statement paths"; + reference "1.7.1"; + } + + revision "2019-08-08" { + description + "Add ALS config to logical-channel/ethernet/config and remove + legacy interfaces augment for this config. Client FEC was + previosuly migrated to the components model and should not + be here anymore."; + reference "1.7.0"; + } + + revision "2019-07-26" { + description + "Add support for LLDP natively on logical-channels."; + reference "1.6.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.5.1"; + } + + revision "2018-10-23" { + description + "Adds support of logical-channel tributary slot allocation to + logical-channel-assignments with different channel speeds. + Enables logical channel mapping procedure specification."; + reference "1.5.0"; + } + + revision "2018-08-28" { + description + "Adds terminal device related Ethernet counters"; + reference "1.4.0"; + } + + revision "2018-07-30" { + description + "Adds lldp snooping config leaf and augmented it to oc-lldp"; + reference "1.3.0"; + } + + revision "2018-07-26" { + description + "Adds OTN protocol counter stats of errored-blocks and + fec-uncorrectable-blocks, adds ethernet-config-ext grouping + and uses it to augment oc-eth"; + reference "1.2.0"; + } + + revision "2018-07-17" { + description + "Adds testing enum to link-state"; + reference "1.1.0"; + } + + revision "2017-07-08" { + description + "Adds test-signal"; + reference "1.0.0"; + } + + revision "2016-12-22" { + description + "Fixes and additions to terminal optics model"; + reference "0.4.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping terminal-input-optical-power { + description + "Reusable leaves related to input optical power"; + + leaf input-power { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "The input optical power of this port in units of 0.01dBm. + If the port is an aggregate of multiple physical channels, + this attribute is the total power or sum of all channels."; + } + } + + grouping terminal-ethernet-protocol-config { + description + "Configuration data for logical channels with Ethernet + framing"; + + leaf client-als { + type enumeration { + enum NONE { + description + "The client port will do nothing when a failure is + detected on the line port or the remote client port"; + } + enum LASER_SHUTDOWN { + description + "The client port will shut down the laser to notify the + subtending Ethernet equipment of the failure detected on + the line port or the remote client port."; + } + enum ETHERNET { + description + "The client port will propagate the local fault or remote + fault signal to the subtending Ethernet equipment."; + } + } + default ETHERNET; + description + "Sets the client port behavior that defines if the actions + of automatic laser shutdown (als), ethernet fault + propagation, or nothing will be done upon the detection + of a failure on the line port or the upstream remote + client port."; + } + + leaf als-delay { + type uint32; + units milliseconds; + default 0; + description + "The timer to delay the client-als actions on the client + port when a local or remote fault is detected on the line + port. The delay will only be valid when the client-als is + set to LASER_SHUTDOWN"; + } + } + + grouping terminal-ethernet-protocol-state { + description + "Ethernet-specific counters when logical channel + is using Ethernet protocol framing, e.g., 10GE, 100GE"; + + uses oc-eth:ethernet-interface-state-counters; + uses terminal-ethernet-protocol-state-counters; + } + + grouping terminal-ethernet-protocol-state-counters { + description + "Ethernet-specific counters for terminal devices when + logical channel is using Ethernet protocol framing, + e.g., 10GE, 100GE"; + + // ingress counters + + leaf in-pcs-bip-errors { + type oc-yang:counter64; + description + "The number of received bit interleaved parity (BIP) errors + at the physical coding sublayer (PCS). If the interface + consists of multiple lanes, this will be the sum of all + errors on the lane"; + } + + leaf in-pcs-errored-seconds { + type oc-yang:counter64; + description + "The number of seconds that physical coding sublayer (PCS) + errors have crossed a sytem defined threshold indicating the + link is erroring"; + } + + leaf in-pcs-severely-errored-seconds { + type oc-yang:counter64; + description + "The number of seconds that physical coding sublayer (PCS) + errors have crossed a system defined threshold indicating the + link is severely erroring"; + } + + leaf in-pcs-unavailable-seconds { + type oc-yang:counter64; + description + "The number of seconds that physical coding sublayer (PCS) + errors have crossed a system defined threshold indicating the + link is unavailable"; + } + + // egress counters + + leaf out-pcs-bip-errors { + type oc-yang:counter64; + description + "The number of transmitted bit interleaved parity (BIP) errors + at the physical coding sublayer (PCS). If the interface + consists of multiple lanes, this will be the sum of all + errors on the lane"; + } + + leaf out-crc-errors { + type oc-yang:counter64; + description + "Number of FCS/CRC error check failures sent on the interface"; + } + + leaf out-block-errors { + type oc-yang:counter64; + description + "The number of transmitted errored blocks. Error detection + codes are capable of detecting whether one or more errors have + occurred in a given sequence of bits – the block. It is + normally not possible to determine the exact number of errored + bits within the block"; + } + } + + grouping terminal-ethernet-protocol-top { + description + "Top-level grouping for data related to Ethernet protocol + framing on logical channels"; + + container ethernet { + description + "Top level container for data related to Ethernet framing + for the logical channel"; + + container config { + description + "Configuration data for Ethernet protocol framing on + logical channels"; + + uses terminal-ethernet-protocol-config; + } + + container state { + config false; + description + "Operational state data for Ethernet protocol framing + on logical channels"; + + uses terminal-ethernet-protocol-config; + uses terminal-ethernet-protocol-state; + } + + uses lldp-logical-channel-top; + } + } + + grouping lldp-logical-channel-top { + description + "Top-level grouping for LLDP data for a logical channel"; + + container lldp { + description + "LLDP data for logical channels"; + + container config { + description + "LLDP configuration data for logical channels"; + + uses lldp-logical-channel-config; + } + + container state { + config false; + description + "LLDP operational state data for logical channels"; + + uses lldp-logical-channel-config; + uses oc-lldp:lldp-interface-state; + } + + uses lldp-logical-channel-neighbor-top; + } + } + + grouping lldp-logical-channel-config { + description + "Configuration data for LLDP for logical-channels"; + + leaf enabled { + type boolean; + default "false"; + description + "Enable or disable the LLDP protocol on the logical channel."; + } + + leaf snooping { + type boolean; + default "false"; + description + "If true, LLDP PDUs are only received and processed on + the logical-channel, but are not originated by the local + agent. The PDUs are not dropped by the logical channel after + processing, but relayed to the downstream link layer + neighbors. The snooping mode is valid only when LLDP is + enabled on the logical channel. The snooping mode is useful + when a logical channel does not want its link layer neighbors + to discover itself since, for example, it is a lower-layer + logical channel."; + } + } + + grouping lldp-logical-channel-neighbor-top { + description + "Top-level grouping for the LLDP neighbor list"; + + container neighbors { + config false; + description + "Enclosing container for list of LLDP neighbors on + a logical channel"; + + list neighbor { + key "id"; + description + "List of LLDP neighbors. If the implementation only + supports one neighbor, this would always be a list with + one item. If the device and neighbor supported multiple + neighbors, which can be achieved via LLDP forwarding, then + this would be supported"; + reference + "IEEE Std 802.1AB-2016, section 7.1, Destination address"; + + leaf id { + type leafref { + path "../state/id"; + } + description + "System generated identifier for the neighbor on + the logical channel."; + } + + container config { + description + "Configuration data "; + + uses lldp-logical-channel-neighbor-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses oc-lldp:lldp-system-info-config; + uses oc-lldp:lldp-system-info-state; + uses oc-lldp:lldp-neighbor-config; + uses oc-lldp:lldp-neighbor-state; + } + + uses oc-lldp:lldp-custom-tlv-top; + } + } + } + + grouping lldp-logical-channel-neighbor-config { + description + "Configuration data for LLDP neighbors"; + } + + grouping terminal-otn-protocol-config { + description + "OTU configuration when logical channel + framing is using an OTU protocol, e.g., OTU1, OTU3, etc."; + + leaf tti-msg-transmit { + type string; + description + "Trail trace identifier (TTI) message transmitted"; + } + + leaf tti-msg-expected { + type string; + description + "Trail trace identifier (TTI) message expected"; + } + + leaf tti-msg-auto { + type boolean; + description + "Trail trace identifier (TTI) transmit message automatically + created. If true, then setting a custom transmit message + would be invalid."; + } + + leaf tributary-slot-granularity { + type identityref { + base oc-opt-types:TRIBUTARY_SLOT_GRANULARITY; + } + description + "Granularity value of OPUk or OPUCn tributary slots for OTN + signal allocation. The currently defined values follow the + existing ITU-T G.709 standard, which can be extended as + needed in future."; + } + } + + grouping terminal-otn-protocol-counter-stats { + description + "Counter based statistics containers for logical channels + using OTN framing"; + + leaf errored-seconds { + type yang:counter64; + description + "The number of seconds that at least one errored blocks + occurs, at least one code violation occurs, loss of sync is + detected or loss of signal is detected"; + } + + leaf severely-errored-seconds { + type yang:counter64; + description + "The number of seconds that loss of frame is detected OR + the number of errored blocks, code violations, loss of sync + or loss of signal is detected exceeds a predefined + threshold"; + } + + leaf unavailable-seconds { + type yang:counter64; + description + "The number of seconds during which the link is unavailable"; + } + + leaf code-violations { + type yang:counter64; + description + "For ethernet or fiberchannel links, the number of 8b/10b + coding violations. For SONET/SDH, the number of BIP (bit + interleaved parity) errors"; + } + + leaf errored-blocks { + type yang:counter64; + description + "The number of errored blocks. Error detection codes are + capable to detect whether one or more errors have occurred + in a given sequence of bits – the block. It is normally not + possible to determine the exact number of errored bits within + the block."; + reference "ITU-T Rec. G.826"; + } + + leaf fec-uncorrectable-blocks { + type yang:counter64; + description + "The number of blocks that were uncorrectable by the FEC"; + } + + leaf fec-uncorrectable-words { + type yang:counter64; + description + "The number of words that were uncorrectable by the FEC"; + } + + leaf fec-corrected-bytes { + type yang:counter64; + description + "The number of bytes that were corrected by the FEC"; + } + + leaf fec-corrected-bits { + type yang:counter64; + description + "The number of bits that were corrected by the FEC"; + } + + leaf background-block-errors { + type yang:counter64; + description + "The number of background block errors"; + } + } + + grouping terminal-otn-protocol-multi-stats { + description + "Multi-value statistics containers for logical channels using + OTN framing (e.g., max, min, avg, instant)"; + + container pre-fec-ber { + description + "Bit error rate before forward error correction -- computed + value with 18 decimal precision. Note that decimal64 + supports values as small as i x 10^-18 where i is an + integer. Values smaller than this should be reported as 0 + to inidicate error free or near error free performance. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision18-ber; + } + + container post-fec-ber { + description + "Bit error rate after forward error correction -- computed + value with 18 decimal precision. Note that decimal64 + supports values as small as i x 10^-18 where i is an + integer. Values smaller than this should be reported as 0 + to inidicate error free or near error free performance. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision18-ber; + } + + container q-value { + description + "Quality value (factor) in dB of a channel with two + decimal precision. Values include the instantaneous, + average, minimum, and maximum statistics. If avg/min/max + statistics are not supported, the target is expected + to just supply the instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dB; + } + + container esnr { + description + "Electrical signal to noise ratio. Baud rate + normalized signal to noise ratio based on + error vector magnitude in dB with two decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. If avg/min/max + statistics are not supported, the target is expected + to just supply the instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dB; + } + } + + grouping terminal-otn-protocol-state { + description + "OTU operational state when logical channel + framing is using an OTU protocol, e.g., OTU1, OTU3, etc."; + + + leaf tti-msg-recv { + type string; + description + "Trail trace identifier (TTI) message received"; + } + + leaf rdi-msg { + type string; + description + "Remote defect indication (RDI) message received"; + } + uses terminal-otn-protocol-counter-stats; + uses terminal-otn-protocol-multi-stats; + } + + grouping terminal-otn-protocol-top { + description + "Top-level grouping for data related to OTN protocol framing"; + + container otn { + description + "Top level container for OTU configuration when logical + channel framing is using an OTU protocol, e.g., OTU1, OTU3, + etc."; + + container config { + description + "Configuration data for OTN protocol framing"; + + uses terminal-otn-protocol-config; + } + + container state { + + config false; + + description + "Operational state data for OTN protocol PMs, statistics, + etc."; + + uses terminal-otn-protocol-config; + uses terminal-otn-protocol-state; + } + } + } + + grouping terminal-client-port-assignment-config { + description + "Configuration data for assigning physical client ports to + logical channels"; + + leaf index { + type uint32; + description + "Index of the client port assignment"; + } + + leaf description { + type string; + description + "Descriptive name for the client port-to-logical channel + mapping"; + } + + leaf logical-channel { + type leafref { + path "/oc-opt-term:terminal-device/oc-opt-term:logical-channels" + + "/oc-opt-term:channel/oc-opt-term:index"; + } + description + "Reference to the logical channel for this + assignment"; + } + + leaf allocation { + type decimal64 { + fraction-digits 3; + } + units Gbps; + description + "Allocation of the client physical port to the assigned + logical channel expressed in Gbps. In most cases, + the full client physical port rate is assigned to a single + logical channel."; + } + + } + + grouping terminal-client-port-assignment-state { + description + "Operational state data for assigning physical client ports + to logical channels"; + } + + grouping terminal-client-port-assignment-top { + description + "Top-level grouping for the assigment of client physical ports + to logical channels"; + //TODO: this grouping could be removed, instead reusing a common + //grouping for logical client assignment pointers + + container logical-channel-assignments { + description + "Enclosing container for client port to logical client + mappings"; + + list assignment { + key "index"; + description + "List of assignments to logical clients"; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index of this logical client + assignment"; + } + + container config { + description + "Configuration data for the logical client assignment"; + + uses terminal-client-port-assignment-config; + } + + container state { + + config false; + + description + "Operational state data for the logical client + assignment"; + + uses terminal-client-port-assignment-config; + uses terminal-client-port-assignment-state; + } + } + } + } + + + grouping terminal-logical-chan-assignment-config { + description + "Configuration data for assigning client logical channels + to line-side tributaries"; + + leaf index { + type uint32; + description + "Index of the current logical client channel to tributary + mapping"; + } + + leaf description { + type string; + description + "Name assigned to the logical client channel"; + } + + leaf assignment-type { + type enumeration { + enum LOGICAL_CHANNEL { + description + "Subsequent channel is a logical channel"; + } + enum OPTICAL_CHANNEL { + description + "Subsequent channel is a optical channel / carrier"; + } + } + description + "Each logical channel element may be assigned to subsequent + stages of logical elements to implement further grooming, or + can be assigned to a line-side optical channel for + transmission. Each assignment also has an associated + bandwidth allocation."; + } + + leaf logical-channel { + type leafref { + path "/oc-opt-term:terminal-device/" + + "oc-opt-term:logical-channels/oc-opt-term:channel/" + + "oc-opt-term:index"; + } + must "../assignment-type = 'LOGICAL_CHANNEL'" { + description + "The assignment-type must be set to LOGICAL_CHANNEL for + this leaf to be valid"; + } + description + "Reference to another stage of logical channel elements."; + } + + leaf optical-channel { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + must "../assignment-type = 'OPTICAL_CHANNEL'" { + description + "The assignment-type must be set to OPTICAL_CHANNEL for + this leaf to be valid"; + } + description + "Reference to the line-side optical channel that should + carry the current logical channel element. Use this + reference to exit the logical element stage."; + } + + leaf allocation { + type decimal64 { + fraction-digits 3; + } + units Gbps; + description + "Allocation of the logical client channel to the tributary + or sub-channel, expressed in Gbps. Please note that if the + assignment is to an OTN logical channel, the allocation must + be an integer multiplication to tributary-slot-granularity + of the OTN logical channel."; + } + + leaf tributary-slot-index { + type int32; + description + "Indicates the first tributary slot index allocated to the + client signal or logical channel in the assignment. Valid + only when the assignment is to an OTN logical channel."; + } + + leaf mapping { + type identityref { + base oc-opt-types:FRAME_MAPPING_PROTOCOL; + } + description + "Logical channel mapping procedure. Valid only when the + assignment is to an OTN logical channel."; + } + } + + grouping terminal-logical-chan-assignment-state { + description + "Operational state data for the assignment of logical client + channel to line-side tributary"; + } + + grouping terminal-logical-chan-assignment-top { + description + "Top-level grouping for the list of logical client channel-to- + tributary assignments"; + + container logical-channel-assignments { + //TODO: we need a commonly understood name for this logical + //channel structure + description + "Enclosing container for tributary assignments"; + + list assignment { + key "index"; + description + "Logical channel elements may be assigned directly to + optical channels for line-side transmission, or can be + further groomed into additional stages of logical channel + elements. The grooming can multiplex (i.e., split the + current element into multiple elements in the subsequent + stage) or de-multiplex (i.e., combine the current element + with other elements into the same element in the subsequent + stage) logical elements in each stage. + + Note that to support the ability to groom the logical + elements, the list of logical channel elements should be + populated with an entry for the logical elements at + each stage, starting with the initial assignment from the + respective client physical port. + + Each logical element assignment consists of a pointer to + an element in the next stage, or to an optical channel, + along with a bandwidth allocation for the corresponding + assignment (e.g., to split or combine signal)."; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index for the current tributary + assignment"; + } + + container config { + description + "Configuration data for tributary assignments"; + + uses terminal-logical-chan-assignment-config; + } + + container state { + + config false; + + description + "Operational state data for tributary assignments"; + + uses terminal-logical-chan-assignment-config; + uses terminal-logical-chan-assignment-state; + } + } + } + } + + grouping terminal-logical-channel-ingress-config { + description + "Configuration data for ingress signal to logical channel"; + + leaf transceiver { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + description + "Reference to the transceiver carrying the input signal + for the logical channel. If specific physical channels + are mapped to the logical channel (as opposed to all + physical channels carried by the transceiver), they can be + specified in the list of physical channel references."; + } + + leaf-list physical-channel { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-transceiver:transceiver/" + + "oc-transceiver:physical-channels/" + + "oc-transceiver:channel/oc-transceiver:index"; + } + description + "This list should be populated with references + to the client physical channels that feed this logical + channel from the transceiver specified in the 'transceiver' + leaf, which must be specified. If this leaf-list is empty, + all physical channels in the transceiver are assumed to be + mapped to the logical channel."; + } + } + + grouping terminal-logical-channel-ingress-state { + description + "Operational state data for ingress signal to logical channel"; + } + + grouping terminal-logical-channel-ingress-top { + description + "Top-level grouping for ingress signal to logical channel"; + + container ingress { + description + "Top-level container for specifying references to the + source of signal for the logical channel, either a + transceiver or individual physical channels"; + + container config { + description + "Configuration data for the signal source for the + logical channel"; + + uses terminal-logical-channel-ingress-config; + } + + container state { + + config false; + + description + "Operational state data for the signal source for the + logical channel"; + + uses terminal-logical-channel-ingress-config; + uses terminal-logical-channel-ingress-state; + } + } + } + + grouping terminal-logical-channel-config { + description + "Configuration data for logical channels"; + + leaf index { + type uint32; + description + "Index of the current logical channel"; + } + + leaf description { + type string; + description + "Description of the logical channel"; + } + + leaf admin-state { + type oc-opt-types:admin-state-type; + description + "Sets the admin state of the logical channel"; + } + + leaf rate-class { + type identityref { + base oc-opt-types:TRIBUTARY_RATE_CLASS_TYPE; + } + description + "Rounded bit rate of the tributary signal. Exact bit rate + will be refined by protocol selection."; + } + + leaf trib-protocol { + type identityref { + base oc-opt-types:TRIBUTARY_PROTOCOL_TYPE; + } + description + "Protocol framing of the tributary signal. If this + LogicalChannel is directly connected to a Client-Port or + Optical-Channel, this is the protocol of the associated port. + If the LogicalChannel is connected to other LogicalChannels, + the TributaryProtocol of the LogicalChannels will define a + specific mapping/demapping or multiplexing/demultiplexing + function. + + Not all protocols are valid, depending on the value + of trib-rate-class. The expectation is that the NMS + will validate that a correct combination of rate class + and protocol are specfied. Basic combinations are: + + rate class: 1G + protocols: 1GE + + rate class: 2.5G + protocols: OC48, STM16 + + rate class: 10G + protocols: 10GE LAN, 10GE WAN, OC192, STM64, OTU2, OTU2e, + OTU1e, ODU2, ODU2e, ODU1e + + rate class: 40G + protocols: 40GE, OC768, STM256, OTU3, ODU3 + + rate class: 100G + protocols: 100GE, 100G MLG, OTU4, OTUCn, ODU4"; + } + + leaf logical-channel-type { + type identityref { + base oc-opt-types:LOGICAL_ELEMENT_PROTOCOL_TYPE; + } + description + "The type / stage of the logical element determines the + configuration and operational state parameters (PMs) + available for the logical element"; + } + + leaf loopback-mode { + type oc-opt-types:loopback-mode-type; + description + "Sets the loopback type on the logical channel. Setting the + mode to something besides NONE activates the loopback in + the specified mode."; + } + + leaf test-signal { + type boolean; + description + "When enabled the logical channel's DSP will generate a pseudo + randmon bit stream (PRBS) which can be used during testing."; + } + } + + + grouping terminal-logical-channel-state { + description + "Operational state data for logical client channels"; + + leaf link-state { + type enumeration { + enum UP { + description + "Logical channel is operationally up"; + } + enum DOWN { + description + "Logical channel is operationally down"; + } + enum TESTING { + description + "Logical channel is under test as a result of + enabling test-signal"; + } + } + description + "Link-state of the Ethernet protocol on the logical channel, + SONET / SDH framed signal, etc."; + } + + } + + grouping terminal-logical-channel-top { + description + "Top-level grouping for logical channels"; + + container logical-channels { + description + "Enclosing container the list of logical channels"; + + list channel { + key "index"; + description + "List of logical channels"; + //TODO: naming for this list of logical elements should be + //revisited. + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index of the logical channel"; + } + + container config { + description + "Configuration data for logical channels"; + + uses terminal-logical-channel-config; + + } + + container state { + + config false; + + description + "Operational state data for logical channels"; + + uses terminal-logical-channel-config; + uses terminal-logical-channel-state; + } + + uses terminal-otn-protocol-top { + when "./config/logical-channel-type = 'PROT_OTN'" { + description + "Include the OTN protocol data only when the + channel is using OTN framing."; + } + } + uses terminal-ethernet-protocol-top { + when "./config/logical-channel-type = 'PROT_ETHERNET'" { + description + "Include the Ethernet protocol statistics only when the + protocol used by the link is Ethernet."; + } + } + uses terminal-logical-channel-ingress-top; + uses terminal-logical-chan-assignment-top; + } + } + } + + + grouping terminal-optical-channel-config { + description + "Configuration data for describing optical channels"; + + leaf frequency { + type oc-opt-types:frequency-type; + description + "Frequency of the optical channel, expressed in MHz"; + } + + leaf target-output-power { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "Target output optical power level of the optical channel, + expressed in increments of 0.01 dBm (decibel-milliwats)"; + } + + leaf operational-mode { + type uint16; + description + "Vendor-specific mode identifier -- sets the operational + mode for the channel. The specified operational mode must + exist in the list of supported operational modes supplied + by the device"; + // + // Ideally, this leaf should be a leafref to the supported + // operational modes, but YANG 1.0 does not allow a r/w + // leaf to be a leafref to a r/o leaf. + } + + + leaf line-port { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + description + "Reference to the line-side physical port that carries + this optical channel. The target port should be + a component in the physical inventory data model."; + } + } + + grouping terminal-optical-channel-state { + description + "Operational state data for optical channels"; + + leaf group-id { + type uint32; + description + "If the device places constraints on which optical + channels must be managed together (e.g., transmitted on the + same line port), it can indicate that by setting the group-id + to the same value across related optical channels."; + } + + uses oc-transceiver:optical-power-state; + + container chromatic-dispersion { + description + "Chromatic Dispersion of an optical channel in + picoseconds / nanometer (ps/nm) as reported by receiver + with two decimal precision. Values include the instantaneous, + average, minimum, and maximum statistics. If avg/min/max + statistics are not supported, the target is expected to just + supply the instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision2-ps-nm; + } + + container polarization-mode-dispersion { + description + "Polarization Mode Dispersion of an optical channel + in picosends (ps) as reported by receiver with two decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. If avg/min/max statistics + are not supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision2-ps; + } + + container second-order-polarization-mode-dispersion { + description + "Second Order Polarization Mode Dispersion of an optical + channel in picoseconds squared (ps^2) as reported by + receiver with two decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + If avg/min/max statistics are not supported, the target + is expected to just supply the instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision2-ps2; + } + + container polarization-dependent-loss { + description + "Polarization Dependent Loss of an optical channel + in dB as reported by receiver with two decimal precision. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dB; + } + } + + grouping terminal-optical-channel-top { + description + "Top-level grouping for optical channel data"; + + container optical-channel { + description + "Enclosing container for the list of optical channels"; + + container config { + description + "Configuration data for optical channels"; + + uses terminal-optical-channel-config; + } + + container state { + + config false; + + description + "Operational state data for optical channels"; + + uses terminal-optical-channel-config; + uses terminal-optical-channel-state; + } + } + } + + grouping terminal-operational-mode-config { + description + "Configuration data for vendor-supported operational modes"; + } + + grouping terminal-operational-mode-state { + description + "Operational state data for vendor-supported operational + modes"; + + leaf mode-id { + type uint16; + description + "Two-octet encoding of the vendor-defined operational + mode"; + } + + leaf description { + type string; + description + "Vendor-supplied textual description of the characteristics + of this operational mode to enable operators to select the + appropriate mode for the application."; + } + + //TODO: examples of the kind of info that would be useful to + //report in the operational mode: + //Symbol rate (32G, 40G, 43G, 64G, etc.) + //Modulation (QPSK, 8-QAM, 16-QAM, etc.) + //Differential encoding (on, off/pilot symbol, etc) + //State of polarization tracking mode (default, med. + //high-speed, etc.) + //Pulse shaping (RRC, RC, roll-off factor) + //FEC mode (SD, HD, % OH) + + leaf vendor-id { + type string; + description + "Identifier to represent the vendor / supplier of the + platform and the associated operational mode information"; + } + } + + grouping terminal-operational-mode-top { + description + "Top-level grouping for vendor-supported operational modes"; + + container operational-modes { + description + "Enclosing container for list of operational modes"; + + list mode { + key "mode-id"; + config false; + description + "List of operational modes supported by the platform. + The operational mode provides a platform-defined summary + of information such as symbol rate, modulation, pulse + shaping, etc."; + + leaf mode-id { + type leafref { + path "../state/mode-id"; + } + description + "Reference to mode-id"; + } + + container config { + description + "Configuration data for operational mode"; + + uses terminal-operational-mode-config; + } + + container state { + + config false; + + description + "Operational state data for the platform-defined + operational mode"; + + uses terminal-operational-mode-config; + uses terminal-operational-mode-state; + } + } + } + } + + grouping terminal-device-config { + description + "Configuration data for transport terminal devices at a + device-wide level"; + } + + grouping terminal-device-state { + description + "Operational state data for transport terminal devices at a + device-wide level"; + } + + grouping terminal-device-top { + description + "Top-level grouping for data for terminal devices"; + + container terminal-device { + description + "Top-level container for the terminal device"; + + container config { + description + "Configuration data for global terminal-device"; + + uses terminal-device-config; + } + + container state { + + config false; + + description + "Operational state data for global terminal device"; + + uses terminal-device-config; + uses terminal-device-state; + } + + uses terminal-logical-channel-top; + uses terminal-operational-mode-top; + + } + } + + // data definition statements + + uses terminal-device-top; + + // augment statements + + augment "/oc-platform:components/oc-platform:component" { + when "/oc-platform:components/oc-platform:component/" + + "oc-platform:state/oc-platform:type = 'OPTICAL_CHANNEL'" { + description + "Augment is active when component is of type + OPTICAL_CHANNEL"; + } + description + "Adding optical channel data to physical inventory"; + + uses terminal-optical-channel-top { + } + } +} diff --git a/hackfest/openconfig/terminal.json b/hackfest/openconfig/terminal.json new file mode 100644 index 0000000000000000000000000000000000000000..9c7164f2c1cc240544ac4ab13e532408f198cb30 --- /dev/null +++ b/hackfest/openconfig/terminal.json @@ -0,0 +1,22 @@ +{ + "terminal-device" : { + "logical-channels" : { + "channel" : [ + { + "index" : 1, + "config" : { "index" : 1 }, + "otn" : { + "state" : { + "q-value" : { + "instant" : "5" + }, + "esnr" : { + "instant" : "6" + } + } + } + } + ] + } + } +} diff --git a/hackfest/p4/README.md b/hackfest/p4/README.md new file mode 100644 index 0000000000000000000000000000000000000000..344b88c0826a4d44ded9c8369a5009e73ed211b4 --- /dev/null +++ b/hackfest/p4/README.md @@ -0,0 +1,97 @@ +# Network X 22 Demo - P4 driver, Basic connectivity functionality + +This functional test shows the P4 driver with a basic connectivity test between 2 hosts connected to a single P4 switch, using the TeraFlow Cloud-native SDN Controller. + +## Functional test folder + +This functional test can be found in folder `hackfest/p4` + +## P4 source and Mininet topology + +This test is designed to operate with a mininet deployment that contains 2 hosts and a BMv2 switch, such a topology can be found in the 'hackfest/p4/mininet' folder. +Additionally the P4 source code, along with its compiled artifacts are present in the 'hackfest/p4/p4' folder. + +## Deployment and Dependencies + +To run this functional test, it is assumed you have deployed a MicroK8s-based Kubernetes environment and a TeraFlowSDN +controller instance as described in the [Tutorial: Deployment Guide](./1-0-deployment.md), and you configured the Python +environment as described in +[Tutorial: Run Experiments Guide > 2.1. Configure Python Environment](./2-1-python-environment.md). +Remember to source the scenario settings appropriately, e.g., `cd ~/tfs-ctrl && source my_deploy.sh` in each terminal +you open. + +Additionally mininet with a p4 switch (bmv2 for example) should be installed, we suggest using the mininet packaged in the [Next-Gen SDN Tutorial][https://github.com/opennetworkinglab/ngsdn-tutorial], as it provides an easy way to deploy mininet dockerized and comes with the BMv2Stratum software switch. + +### Next-Gen SDN Tutorial installation + +To install the recommended mininet from the Next-Gen SDN Tutorial follow these steps: + +First of all you should have the following dependencies installed: + +- Docker v1.13.0+ (with docker-compose) +- make +- Python 3 + +Then clone the repo +``` +cd ~ +git clone -b advanced https://github.com/opennetworkinglab/ngsdn-tutorial +``` + +After the repo is downloaded do the following to download the required docker images +``` +cd ~/ngsdn-tutorial +make deps +``` + +Add the following make rule to the ~/ngsdn-tutorial/Makefile +``` +start-simple: NGSDN_TOPO_PY := topo-simple.py +start-simple: _start +``` + +And copy the topology file from ~/tfs-ctrl/hackfest/p4/mininet/topo-simple.py to the ~/ngsdn-tutorial/mininet/ directory. + +## Test Execution + +### Mininet +To execute this functional test, first start mininet: +``` +make start-simple +make mn-cli +``` + +You will be prompted with the mininet cli. Run the following and let it run until the end of the experiment +``` +client ping server +``` + +### Teraflow + +In another terminal cd to the teraflow directory and run the following +``` +hackfest/p4/setup.sh +``` +This will copy the p4 artifacts to the device pod. + +Then you can bootstrap the device to the Teraflow Controller +``` +hackfest/p4/run_test_01_bootstrap.sh +``` + +Install the required rules to the p4 switch +``` +hackfest/p4/run_test_02_create_service.sh +``` +You should now check the mininet terminal. The two hosts should be pinging each other as intended. + +You can remove the rules from the p4 switch +``` +hackfest/p4/run_test_03_delete_service.sh +``` +The two hosts on the mininet terminal, should stop pinging. + +And remove the device from the Teraflow Controller +``` +hackfest/p4/run_test_04_cleanup.sh +``` diff --git a/src/common/rpc_method_wrapper/tests/__init__.py b/hackfest/p4/__init__.py similarity index 100% rename from src/common/rpc_method_wrapper/tests/__init__.py rename to hackfest/p4/__init__.py diff --git a/hackfest/p4/deploy_specs.sh b/hackfest/p4/deploy_specs.sh new file mode 100644 index 0000000000000000000000000000000000000000..b486474e2afad7305409bf410c7b8885b0afe2a8 --- /dev/null +++ b/hackfest/p4/deploy_specs.sh @@ -0,0 +1,17 @@ +# Set the URL of your local Docker registry where the images will be uploaded to. +export TFS_REGISTRY_IMAGE="http://localhost:32000/tfs/" + +# Set the list of components, separated by spaces, you want to build images for, and deploy. +export TFS_COMPONENTS="context device automation service compute monitoring webui" + +# Set the tag you want to use for your images. +export TFS_IMAGE_TAG="dev" + +# Set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE="tfs" + +# Set additional manifest files to be applied after the deployment +export TFS_EXTRA_MANIFESTS="manifests/nginx_ingress_http.yaml" + +# Set the neew Grafana admin password +export TFS_GRAFANA_PASSWORD="admin123+" diff --git a/hackfest/p4/mininet/topo-simple.py b/hackfest/p4/mininet/topo-simple.py new file mode 100755 index 0000000000000000000000000000000000000000..8a7ccaf62ecb69113e459acfbc99e020df3a02c7 --- /dev/null +++ b/hackfest/p4/mininet/topo-simple.py @@ -0,0 +1,96 @@ +#!/usr/bin/python + +# Copyright 2019-present Open Networking Foundation +# +# 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. + +import argparse + +from mininet.cli import CLI +from mininet.log import setLogLevel +from mininet.net import Mininet +from mininet.node import Host +from mininet.topo import Topo +from stratum import StratumBmv2Switch + +CPU_PORT = 255 + +class IPv4Host(Host): + """Host that can be configured with an IPv4 gateway (default route). + """ + + def config(self, mac=None, ip=None, defaultRoute=None, lo='up', gw=None, + **_params): + super(IPv4Host, self).config(mac, ip, defaultRoute, lo, **_params) + self.cmd('arp -s 192.168.1.1 11:22:33:44:55:77') + self.cmd('ip -4 addr flush dev %s' % self.defaultIntf()) + self.cmd('ip -6 addr flush dev %s' % self.defaultIntf()) + self.cmd('ip -4 link set up %s' % self.defaultIntf()) + self.cmd('ip -4 addr add %s dev %s' % (ip, self.defaultIntf())) + if gw: + self.cmd('ip -4 route add default via %s' % gw) + # Disable offload + for attr in ["rx", "tx", "sg"]: + cmd = "/sbin/ethtool --offload %s %s off" % ( + self.defaultIntf(), attr) + self.cmd(cmd) + + def updateIP(): + return ip.split('/')[0] + + self.defaultIntf().updateIP = updateIP + +class TutorialTopo(Topo): + """Basic Server-Client topology with IPv4 hosts""" + + def __init__(self, *args, **kwargs): + Topo.__init__(self, *args, **kwargs) + + # Spines + # gRPC port 50001 + switch1 = self.addSwitch('switch1', cls=StratumBmv2Switch, cpuport=CPU_PORT) + + # IPv4 hosts attached to switch 1 + client = self.addHost('client', cls=IPv4Host, mac="aa:bb:cc:dd:ee:11", + ip='10.0.0.1/24', gw='10.0.0.100') + server = self.addHost('server', cls=IPv4Host, mac="aa:bb:cc:dd:ee:22", + ip='10.0.0.2/24', gw='10.0.0.100') + self.addLink(client, switch1) # port 1 + self.addLink(server, switch1) # port 2 + + +def main(): + net = Mininet(topo=TutorialTopo(), controller=None) + net.start() + client = net.hosts[0] + server = net.hosts[1] + client.setARP('10.0.0.2', 'aa:bb:cc:dd:ee:22') + server.setARP('10.0.0.1', 'aa:bb:cc:dd:ee:11') + CLI(net) + net.stop() + print '#' * 80 + print 'ATTENTION: Mininet was stopped! Perhaps accidentally?' + print 'No worries, it will restart automatically in a few seconds...' + print 'To access again the Mininet CLI, use `make mn-cli`' + print 'To detach from the CLI (without stopping), press Ctrl-D' + print 'To permanently quit Mininet, use `make stop`' + print '#' * 80 + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description='Mininet topology script for 2x2 fabric with stratum_bmv2 and IPv4 hosts') + args = parser.parse_args() + setLogLevel('info') + + main() diff --git a/hackfest/p4/p4/bmv2.json b/hackfest/p4/p4/bmv2.json new file mode 100644 index 0000000000000000000000000000000000000000..b1e3fa8ce1f6d19e9c94384d85a7ab5875a614b0 --- /dev/null +++ b/hackfest/p4/p4/bmv2.json @@ -0,0 +1,669 @@ +{ + "header_types" : [ + { + "name" : "scalars_0", + "id" : 0, + "fields" : [ + ["tmp", 1, false], + ["local_metadata_t.is_multicast", 1, false], + ["_padding_0", 6, false] + ] + }, + { + "name" : "standard_metadata", + "id" : 1, + "fields" : [ + ["ingress_port", 9, false], + ["egress_spec", 9, false], + ["egress_port", 9, false], + ["clone_spec", 32, false], + ["instance_type", 32, false], + ["drop", 1, false], + ["recirculate_port", 16, false], + ["packet_length", 32, false], + ["enq_timestamp", 32, false], + ["enq_qdepth", 19, false], + ["deq_timedelta", 32, false], + ["deq_qdepth", 19, false], + ["ingress_global_timestamp", 48, false], + ["egress_global_timestamp", 48, false], + ["lf_field_list", 32, false], + ["mcast_grp", 16, false], + ["resubmit_flag", 32, false], + ["egress_rid", 16, false], + ["recirculate_flag", 32, false], + ["checksum_error", 1, false], + ["parser_error", 32, false], + ["priority", 3, false], + ["_padding", 2, false] + ] + }, + { + "name" : "ethernet_t", + "id" : 2, + "fields" : [ + ["dst_addr", 48, false], + ["src_addr", 48, false], + ["ether_type", 16, false] + ] + } + ], + "headers" : [ + { + "name" : "scalars", + "id" : 0, + "header_type" : "scalars_0", + "metadata" : true, + "pi_omit" : true + }, + { + "name" : "standard_metadata", + "id" : 1, + "header_type" : "standard_metadata", + "metadata" : true, + "pi_omit" : true + }, + { + "name" : "ethernet", + "id" : 2, + "header_type" : "ethernet_t", + "metadata" : false, + "pi_omit" : true + } + ], + "header_stacks" : [], + "header_union_types" : [], + "header_unions" : [], + "header_union_stacks" : [], + "field_lists" : [], + "errors" : [ + ["NoError", 1], + ["PacketTooShort", 2], + ["NoMatch", 3], + ["StackOutOfBounds", 4], + ["HeaderTooShort", 5], + ["ParserTimeout", 6], + ["ParserInvalidArgument", 7] + ], + "enums" : [], + "parsers" : [ + { + "name" : "parser", + "id" : 0, + "init_state" : "start", + "parse_states" : [ + { + "name" : "start", + "id" : 0, + "parser_ops" : [ + { + "parameters" : [ + { + "type" : "regular", + "value" : "ethernet" + } + ], + "op" : "extract" + } + ], + "transitions" : [ + { + "value" : "default", + "mask" : null, + "next_state" : null + } + ], + "transition_key" : [] + } + ] + } + ], + "parse_vsets" : [], + "deparsers" : [ + { + "name" : "deparser", + "id" : 0, + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 148, + "column" : 8, + "source_fragment" : "DeparserImpl" + }, + "order" : ["ethernet"] + } + ], + "meter_arrays" : [], + "counter_arrays" : [], + "register_arrays" : [], + "calculations" : [], + "learn_lists" : [], + "actions" : [ + { + "name" : "IngressPipeImpl.drop", + "id" : 0, + "runtime_data" : [], + "primitives" : [ + { + "op" : "mark_to_drop", + "parameters" : [ + { + "type" : "header", + "value" : "standard_metadata" + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 77, + "column" : 8, + "source_fragment" : "mark_to_drop(standard_metadata)" + } + } + ] + }, + { + "name" : "IngressPipeImpl.drop", + "id" : 1, + "runtime_data" : [], + "primitives" : [ + { + "op" : "mark_to_drop", + "parameters" : [ + { + "type" : "header", + "value" : "standard_metadata" + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 77, + "column" : 8, + "source_fragment" : "mark_to_drop(standard_metadata)" + } + } + ] + }, + { + "name" : "IngressPipeImpl.set_egress_port", + "id" : 2, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 81, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num" + } + } + ] + }, + { + "name" : "IngressPipeImpl.set_egress_port", + "id" : 3, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 81, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num" + } + } + ] + }, + { + "name" : "IngressPipeImpl.set_multicast_group", + "id" : 4, + "runtime_data" : [ + { + "name" : "gid", + "bitwidth" : 16 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "mcast_grp"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 89, + "column" : 8, + "source_fragment" : "standard_metadata.mcast_grp = gid" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["scalars", "local_metadata_t.is_multicast"] + }, + { + "type" : "expression", + "value" : { + "type" : "expression", + "value" : { + "op" : "b2d", + "left" : null, + "right" : { + "type" : "bool", + "value" : true + } + } + } + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 90, + "column" : 8, + "source_fragment" : "local_metadata.is_multicast = true" + } + } + ] + }, + { + "name" : "IngressPipeImpl.set_multicast_group", + "id" : 5, + "runtime_data" : [ + { + "name" : "gid", + "bitwidth" : 16 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "mcast_grp"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 89, + "column" : 8, + "source_fragment" : "standard_metadata.mcast_grp = gid" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["scalars", "local_metadata_t.is_multicast"] + }, + { + "type" : "expression", + "value" : { + "type" : "expression", + "value" : { + "op" : "b2d", + "left" : null, + "right" : { + "type" : "bool", + "value" : true + } + } + } + } + ], + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 90, + "column" : 8, + "source_fragment" : "local_metadata.is_multicast = true" + } + } + ] + }, + { + "name" : "act", + "id" : 6, + "runtime_data" : [], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["scalars", "tmp"] + }, + { + "type" : "expression", + "value" : { + "type" : "expression", + "value" : { + "op" : "b2d", + "left" : null, + "right" : { + "type" : "bool", + "value" : true + } + } + } + } + ] + } + ] + }, + { + "name" : "act_0", + "id" : 7, + "runtime_data" : [], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["scalars", "tmp"] + }, + { + "type" : "expression", + "value" : { + "type" : "expression", + "value" : { + "op" : "b2d", + "left" : null, + "right" : { + "type" : "bool", + "value" : false + } + } + } + } + ] + } + ] + } + ], + "pipelines" : [ + { + "name" : "ingress", + "id" : 0, + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 71, + "column" : 8, + "source_fragment" : "IngressPipeImpl" + }, + "init_table" : "IngressPipeImpl.l2_exact_table", + "tables" : [ + { + "name" : "IngressPipeImpl.l2_exact_table", + "id" : 0, + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 95, + "column" : 10, + "source_fragment" : "l2_exact_table" + }, + "key" : [ + { + "match_type" : "exact", + "name" : "hdr.ethernet.dst_addr", + "target" : ["ethernet", "dst_addr"], + "mask" : null + } + ], + "match_type" : "exact", + "type" : "simple", + "max_size" : 1024, + "with_counters" : false, + "support_timeout" : false, + "direct_meters" : null, + "action_ids" : [2, 4, 0], + "actions" : ["IngressPipeImpl.set_egress_port", "IngressPipeImpl.set_multicast_group", "IngressPipeImpl.drop"], + "base_default_next" : null, + "next_tables" : { + "__HIT__" : "tbl_act", + "__MISS__" : "tbl_act_0" + }, + "default_entry" : { + "action_id" : 0, + "action_const" : true, + "action_data" : [], + "action_entry_const" : true + } + }, + { + "name" : "tbl_act", + "id" : 1, + "key" : [], + "match_type" : "exact", + "type" : "simple", + "max_size" : 1024, + "with_counters" : false, + "support_timeout" : false, + "direct_meters" : null, + "action_ids" : [6], + "actions" : ["act"], + "base_default_next" : "node_5", + "next_tables" : { + "act" : "node_5" + }, + "default_entry" : { + "action_id" : 6, + "action_const" : true, + "action_data" : [], + "action_entry_const" : true + } + }, + { + "name" : "tbl_act_0", + "id" : 2, + "key" : [], + "match_type" : "exact", + "type" : "simple", + "max_size" : 1024, + "with_counters" : false, + "support_timeout" : false, + "direct_meters" : null, + "action_ids" : [7], + "actions" : ["act_0"], + "base_default_next" : "node_5", + "next_tables" : { + "act_0" : "node_5" + }, + "default_entry" : { + "action_id" : 7, + "action_const" : true, + "action_data" : [], + "action_entry_const" : true + } + }, + { + "name" : "IngressPipeImpl.l2_ternary_table", + "id" : 3, + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 109, + "column" : 10, + "source_fragment" : "l2_ternary_table" + }, + "key" : [ + { + "match_type" : "ternary", + "name" : "hdr.ethernet.dst_addr", + "target" : ["ethernet", "dst_addr"], + "mask" : null + } + ], + "match_type" : "ternary", + "type" : "simple", + "max_size" : 1024, + "with_counters" : false, + "support_timeout" : false, + "direct_meters" : null, + "action_ids" : [3, 5, 1], + "actions" : ["IngressPipeImpl.set_egress_port", "IngressPipeImpl.set_multicast_group", "IngressPipeImpl.drop"], + "base_default_next" : null, + "next_tables" : { + "IngressPipeImpl.set_egress_port" : null, + "IngressPipeImpl.set_multicast_group" : null, + "IngressPipeImpl.drop" : null + }, + "default_entry" : { + "action_id" : 1, + "action_const" : true, + "action_data" : [], + "action_entry_const" : true + } + } + ], + "action_profiles" : [], + "conditionals" : [ + { + "name" : "node_5", + "id" : 0, + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 122, + "column" : 12, + "source_fragment" : "!l2_exact_table.apply().hit" + }, + "expression" : { + "type" : "expression", + "value" : { + "op" : "not", + "left" : null, + "right" : { + "type" : "expression", + "value" : { + "op" : "d2b", + "left" : null, + "right" : { + "type" : "field", + "value" : ["scalars", "tmp"] + } + } + } + } + }, + "false_next" : null, + "true_next" : "IngressPipeImpl.l2_ternary_table" + } + ] + }, + { + "name" : "egress", + "id" : 1, + "source_info" : { + "filename" : "p4src/main.p4", + "line" : 134, + "column" : 8, + "source_fragment" : "EgressPipeImpl" + }, + "init_table" : null, + "tables" : [], + "action_profiles" : [], + "conditionals" : [] + } + ], + "checksums" : [], + "force_arith" : [], + "extern_instances" : [], + "field_aliases" : [ + [ + "queueing_metadata.enq_timestamp", + ["standard_metadata", "enq_timestamp"] + ], + [ + "queueing_metadata.enq_qdepth", + ["standard_metadata", "enq_qdepth"] + ], + [ + "queueing_metadata.deq_timedelta", + ["standard_metadata", "deq_timedelta"] + ], + [ + "queueing_metadata.deq_qdepth", + ["standard_metadata", "deq_qdepth"] + ], + [ + "intrinsic_metadata.ingress_global_timestamp", + ["standard_metadata", "ingress_global_timestamp"] + ], + [ + "intrinsic_metadata.egress_global_timestamp", + ["standard_metadata", "egress_global_timestamp"] + ], + [ + "intrinsic_metadata.lf_field_list", + ["standard_metadata", "lf_field_list"] + ], + [ + "intrinsic_metadata.mcast_grp", + ["standard_metadata", "mcast_grp"] + ], + [ + "intrinsic_metadata.resubmit_flag", + ["standard_metadata", "resubmit_flag"] + ], + [ + "intrinsic_metadata.egress_rid", + ["standard_metadata", "egress_rid"] + ], + [ + "intrinsic_metadata.recirculate_flag", + ["standard_metadata", "recirculate_flag"] + ], + [ + "intrinsic_metadata.priority", + ["standard_metadata", "priority"] + ] + ], + "program" : "p4src/main.p4", + "__meta__" : { + "version" : [2, 18], + "compiler" : "https://github.com/p4lang/p4c" + } +} \ No newline at end of file diff --git a/hackfest/p4/p4/main.p4 b/hackfest/p4/p4/main.p4 new file mode 100644 index 0000000000000000000000000000000000000000..fb94bdfd24722862831989bad1e173858f5a0d4d --- /dev/null +++ b/hackfest/p4/p4/main.p4 @@ -0,0 +1,162 @@ +/* + * Copyright 2019-present Open Networking Foundation + * + * 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. + */ + + +#include +#include + +typedef bit<9> port_num_t; +typedef bit<48> mac_addr_t; +typedef bit<16> mcast_group_id_t; + +//------------------------------------------------------------------------------ +// HEADER DEFINITIONS +//------------------------------------------------------------------------------ + +header ethernet_t { + mac_addr_t dst_addr; + mac_addr_t src_addr; + bit<16> ether_type; +} + +struct parsed_headers_t { + ethernet_t ethernet; +} + +struct local_metadata_t { + bool is_multicast; +} + + +//------------------------------------------------------------------------------ +// INGRESS PIPELINE +//------------------------------------------------------------------------------ + +parser ParserImpl (packet_in packet, + out parsed_headers_t hdr, + inout local_metadata_t local_metadata, + inout standard_metadata_t standard_metadata) +{ + state start { + transition parse_ethernet; + } + + state parse_ethernet { + packet.extract(hdr.ethernet); + transition accept; + } +} + + +control VerifyChecksumImpl(inout parsed_headers_t hdr, + inout local_metadata_t meta) +{ + apply { /* EMPTY */ } +} + + +control IngressPipeImpl (inout parsed_headers_t hdr, + inout local_metadata_t local_metadata, + inout standard_metadata_t standard_metadata) { + + // Drop action shared by many tables. + action drop() { + mark_to_drop(standard_metadata); + } + + action set_egress_port(port_num_t port_num) { + standard_metadata.egress_spec = port_num; + } + + action set_multicast_group(mcast_group_id_t gid) { + // gid will be used by the Packet Replication Engine (PRE) in the + // Traffic Manager--located right after the ingress pipeline, to + // replicate a packet to multiple egress ports, specified by the control + // plane by means of P4Runtime MulticastGroupEntry messages. + standard_metadata.mcast_grp = gid; + local_metadata.is_multicast = true; + } + + // --- l2_exact_table ------------------ + + table l2_exact_table { + key = { + hdr.ethernet.dst_addr: exact; + } + actions = { + set_egress_port; + set_multicast_group; + @defaultonly drop; + } + const default_action = drop; + } + + // --- l2_ternary_table ------------------ + + table l2_ternary_table { + key = { + hdr.ethernet.dst_addr: ternary; + } + actions = { + set_egress_port; + set_multicast_group; + @defaultonly drop; + } + const default_action = drop; + } + + apply { + if (!l2_exact_table.apply().hit) { + // ...if an entry is NOT found, apply the ternary one in case + // this is a multicast/broadcast NDP NS packet. + l2_ternary_table.apply(); + } + } +} + +//------------------------------------------------------------------------------ +// EGRESS PIPELINE +//------------------------------------------------------------------------------ + +control EgressPipeImpl (inout parsed_headers_t hdr, + inout local_metadata_t local_metadata, + inout standard_metadata_t standard_metadata) { + apply { /* EMPTY */ } +} + + +control ComputeChecksumImpl(inout parsed_headers_t hdr, + inout local_metadata_t local_metadata) +{ + apply { /* EMPTY */ } +} + + +control DeparserImpl(packet_out packet, in parsed_headers_t hdr) { + apply { + packet.emit(hdr.ethernet); + } +} + + +V1Switch( + ParserImpl(), + VerifyChecksumImpl(), + IngressPipeImpl(), + EgressPipeImpl(), + ComputeChecksumImpl(), + DeparserImpl() +) main; diff --git a/hackfest/p4/p4/p4info.txt b/hackfest/p4/p4/p4info.txt new file mode 100644 index 0000000000000000000000000000000000000000..4048dfcd32bdb5dfd58b89b6b83ab7e1fc0188ca --- /dev/null +++ b/hackfest/p4/p4/p4info.txt @@ -0,0 +1,88 @@ +pkg_info { + arch: "v1model" +} +tables { + preamble { + id: 33605373 + name: "IngressPipeImpl.l2_exact_table" + alias: "l2_exact_table" + } + match_fields { + id: 1 + name: "hdr.ethernet.dst_addr" + bitwidth: 48 + match_type: EXACT + } + action_refs { + id: 16812802 + } + action_refs { + id: 16841371 + } + action_refs { + id: 16796182 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 16796182 + size: 1024 +} +tables { + preamble { + id: 33573501 + name: "IngressPipeImpl.l2_ternary_table" + alias: "l2_ternary_table" + } + match_fields { + id: 1 + name: "hdr.ethernet.dst_addr" + bitwidth: 48 + match_type: TERNARY + } + action_refs { + id: 16812802 + } + action_refs { + id: 16841371 + } + action_refs { + id: 16796182 + annotations: "@defaultonly" + scope: DEFAULT_ONLY + } + const_default_action_id: 16796182 + size: 1024 +} +actions { + preamble { + id: 16796182 + name: "IngressPipeImpl.drop" + alias: "drop" + } +} +actions { + preamble { + id: 16812802 + name: "IngressPipeImpl.set_egress_port" + alias: "set_egress_port" + } + params { + id: 1 + name: "port_num" + bitwidth: 9 + } +} +actions { + preamble { + id: 16841371 + name: "IngressPipeImpl.set_multicast_group" + alias: "set_multicast_group" + } + params { + id: 1 + name: "gid" + bitwidth: 16 + } +} +type_info { +} diff --git a/hackfest/p4/run_test_01_bootstrap.sh b/hackfest/p4/run_test_01_bootstrap.sh new file mode 100755 index 0000000000000000000000000000000000000000..42e647be17b0e1731a8c69fb68c2cb414fdb542c --- /dev/null +++ b/hackfest/p4/run_test_01_bootstrap.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# make sure to source the following scripts: +# - my_deploy.sh +# - tfs_runtime_env_vars.sh + +source tfs_runtime_env_vars.sh +python -m pytest --verbose hackfest/p4/tests/test_functional_bootstrap.py + diff --git a/hackfest/p4/run_test_02_create_service.sh b/hackfest/p4/run_test_02_create_service.sh new file mode 100755 index 0000000000000000000000000000000000000000..8fb9038d8abaff5abd36b18a316af267186f7fcc --- /dev/null +++ b/hackfest/p4/run_test_02_create_service.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +source tfs_runtime_env_vars.sh +python -m pytest --verbose hackfest/p4/tests/test_functional_create_service.py diff --git a/hackfest/p4/run_test_03_delete_service.sh b/hackfest/p4/run_test_03_delete_service.sh new file mode 100755 index 0000000000000000000000000000000000000000..96f79c0714b65f7ebfd125b7d429e23d7213549d --- /dev/null +++ b/hackfest/p4/run_test_03_delete_service.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +source tfs_runtime_env_vars.sh +python -m pytest --verbose hackfest/p4/tests/test_functional_delete_service.py diff --git a/hackfest/p4/run_test_04_cleanup.sh b/hackfest/p4/run_test_04_cleanup.sh new file mode 100755 index 0000000000000000000000000000000000000000..5cb265f6f647516e0ec4da9484bff5ec7d6e488a --- /dev/null +++ b/hackfest/p4/run_test_04_cleanup.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +source tfs_runtime_env_vars.sh +python -m pytest --verbose hackfest/p4/tests/test_functional_cleanup.py diff --git a/hackfest/p4/setup.sh b/hackfest/p4/setup.sh new file mode 100755 index 0000000000000000000000000000000000000000..195327a03fedafdc64a2d0dc34577766eda72a4f --- /dev/null +++ b/hackfest/p4/setup.sh @@ -0,0 +1,8 @@ +#! /bin/bash + +export POD_NAME=$(kubectl get pods -n=tfs | grep device | awk '{print $1}') + +kubectl exec ${POD_NAME} -n=tfs -- mkdir /root/p4 + +kubectl cp hackfest/p4/p4/p4info.txt tfs/${POD_NAME}:/root/p4 +kubectl cp hackfest/p4/p4/bmv2.json tfs/${POD_NAME}:/root/p4 diff --git a/hackfest/p4/tests/.gitignore b/hackfest/p4/tests/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..76cb708d1b532c9b69166e55f36bcb912fd5e370 --- /dev/null +++ b/hackfest/p4/tests/.gitignore @@ -0,0 +1,2 @@ +# Add here your files containing confidential testbed details such as IP addresses, ports, usernames, passwords, etc. +Credentials.py diff --git a/src/tests/ofc22/tests/BuildDescriptors.py b/hackfest/p4/tests/BuildDescriptors.py similarity index 100% rename from src/tests/ofc22/tests/BuildDescriptors.py rename to hackfest/p4/tests/BuildDescriptors.py diff --git a/src/tests/ofc22/tests/LoadDescriptors.py b/hackfest/p4/tests/LoadDescriptors.py similarity index 96% rename from src/tests/ofc22/tests/LoadDescriptors.py rename to hackfest/p4/tests/LoadDescriptors.py index 4d3af78f5c9a3fd9b09d94f24bb8aaec48af6b7a..33bc699af933601e4c6d4b8dbc7b0c51206241ef 100644 --- a/src/tests/ofc22/tests/LoadDescriptors.py +++ b/hackfest/p4/tests/LoadDescriptors.py @@ -15,7 +15,7 @@ import json, logging, sys from common.Settings import get_setting from context.client.ContextClient import ContextClient -from context.proto.context_pb2 import Context, Device, Link, Topology +from common.proto.context_pb2 import Context, Device, Link, Topology from device.client.DeviceClient import DeviceClient LOGGER = logging.getLogger(__name__) diff --git a/hackfest/p4/tests/Objects.py b/hackfest/p4/tests/Objects.py new file mode 100644 index 0000000000000000000000000000000000000000..c8b172244d714cd699ccc587e54c3751485a9a2e --- /dev/null +++ b/hackfest/p4/tests/Objects.py @@ -0,0 +1,311 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import os +from typing import Dict, List, Tuple +from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID +from common.tools.object_factory.Context import json_context, json_context_id +from common.tools.object_factory.Device import ( + json_device_connect_rules, json_device_emulated_connect_rules, json_device_emulated_packet_router_disabled, + json_device_connect_rules, json_device_id, json_device_p4_disabled, + json_device_emulated_tapi_disabled, json_device_id, json_device_packetrouter_disabled, json_device_tapi_disabled) +from common.tools.object_factory.ConfigRule import ( + json_config_rule_set, json_config_rule_delete) +from common.tools.object_factory.EndPoint import json_endpoint, json_endpoint_id +from common.tools.object_factory.Link import json_link, json_link_id +from common.tools.object_factory.Topology import json_topology, json_topology_id +from common.proto.kpi_sample_types_pb2 import KpiSampleType + +# ----- Context -------------------------------------------------------------------------------------------------------- +CONTEXT_ID = json_context_id(DEFAULT_CONTEXT_UUID) +CONTEXT = json_context(DEFAULT_CONTEXT_UUID) + +# ----- Topology ------------------------------------------------------------------------------------------------------- +TOPOLOGY_ID = json_topology_id(DEFAULT_TOPOLOGY_UUID, context_id=CONTEXT_ID) +TOPOLOGY = json_topology(DEFAULT_TOPOLOGY_UUID, context_id=CONTEXT_ID) + +# ----- Monitoring Samples --------------------------------------------------------------------------------------------- +PACKET_PORT_SAMPLE_TYPES = [ + KpiSampleType.KPISAMPLETYPE_PACKETS_TRANSMITTED, + KpiSampleType.KPISAMPLETYPE_PACKETS_RECEIVED, + KpiSampleType.KPISAMPLETYPE_BYTES_TRANSMITTED, + KpiSampleType.KPISAMPLETYPE_BYTES_RECEIVED, +] + +# ----- Device Credentials and Settings -------------------------------------------------------------------------------- + + +# ----- Devices -------------------------------------------------------------------------------------------------------- + +CUR_PATH = os.path.dirname(os.path.abspath(__file__)) + +DEVICE_SW1_UUID = 'SW1' +DEVICE_SW1_TIMEOUT = 60 +DEVICE_SW1_ID = json_device_id(DEVICE_SW1_UUID) +DEVICE_SW1 = json_device_p4_disabled(DEVICE_SW1_UUID) + +DEVICE_SW1_DPID = 1 +DEVICE_SW1_NAME = DEVICE_SW1_UUID +DEVICE_SW1_IP_ADDR = 'localhost' +DEVICE_SW1_PORT = '50001' +DEVICE_SW1_VENDOR = 'Open Networking Foundation' +DEVICE_SW1_HW_VER = 'BMv2 simple_switch' +DEVICE_SW1_SW_VER = 'Stratum' + +DEVICE_SW1_BIN_PATH = '/root/p4/bmv2.json' +DEVICE_SW1_INFO_PATH = '/root/p4/p4info.txt' + +DEVICE_SW1_CONNECT_RULES = json_device_connect_rules( + DEVICE_SW1_IP_ADDR, + DEVICE_SW1_PORT, + { + 'id': DEVICE_SW1_DPID, + 'name': DEVICE_SW1_NAME, + 'vendor': DEVICE_SW1_VENDOR, + 'hw_ver': DEVICE_SW1_HW_VER, + 'sw_ver': DEVICE_SW1_SW_VER, + 'timeout': DEVICE_SW1_TIMEOUT, + 'p4bin': DEVICE_SW1_BIN_PATH, + 'p4info': DEVICE_SW1_INFO_PATH + } +) + +DEVICE_SW2_UUID = 'SW2' +DEVICE_SW2_TIMEOUT = 60 +DEVICE_SW2_ID = json_device_id(DEVICE_SW2_UUID) +DEVICE_SW2 = json_device_p4_disabled(DEVICE_SW2_UUID) + +DEVICE_SW2_DPID = 1 +DEVICE_SW2_NAME = DEVICE_SW2_UUID +DEVICE_SW2_IP_ADDR = 'localhost' +DEVICE_SW2_PORT = '50002' +DEVICE_SW2_VENDOR = 'Open Networking Foundation' +DEVICE_SW2_HW_VER = 'BMv2 simple_switch' +DEVICE_SW2_SW_VER = 'Stratum' + +DEVICE_SW2_BIN_PATH = '/root/p4/bmv2.json' +DEVICE_SW2_INFO_PATH = '/root/p4/p4info.txt' + +DEVICE_SW2_CONNECT_RULES = json_device_connect_rules( + DEVICE_SW2_IP_ADDR, + DEVICE_SW2_PORT, + { + 'id': DEVICE_SW2_DPID, + 'name': DEVICE_SW2_NAME, + 'vendor': DEVICE_SW2_VENDOR, + 'hw_ver': DEVICE_SW2_HW_VER, + 'sw_ver': DEVICE_SW2_SW_VER, + 'timeout': DEVICE_SW2_TIMEOUT, + 'p4bin': DEVICE_SW2_BIN_PATH, + 'p4info': DEVICE_SW2_INFO_PATH + } +) + +################################## TABLE ENTRIES ################################## + +DEVICE_SW1_CONFIG_TABLE_ENTRIES = [ + json_config_rule_set( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_exact_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:11' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '1' + } + ] + } + ), + json_config_rule_set( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_exact_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:22' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '2' + } + ] + } + ) +] + +DEVICE_SW2_CONFIG_TABLE_ENTRIES = DEVICE_SW1_CONFIG_TABLE_ENTRIES + + +""" +DEVICE_SW1_CONFIG_TABLE_ENTRIES = [ + json_config_rule_set( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_ternary_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:11 &&& ff:ff:ff:ff:ff:ff' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '1' + } + ], + 'priority': 1 + } + ), + json_config_rule_set( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_ternary_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:22 &&& ff:ff:ff:ff:ff:ff' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '2' + } + ], + 'priority': 1 + } + ), +] +""" + +################################## TABLE DECONF ################################## + +DEVICE_SW1_DECONF_TABLE_ENTRIES = [ + json_config_rule_delete( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_exact_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:11' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '1' + } + ] + } + ), + json_config_rule_delete( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_exact_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:22' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '2' + } + ] + } + ) +] + +DEVICE_SW2_DECONF_TABLE_ENTRIES = DEVICE_SW1_DECONF_TABLE_ENTRIES + + +""" +DEVICE_SW1_DECONF_TABLE_ENTRIES = [ + json_config_rule_delete( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_ternary_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:11 &&& ff:ff:ff:ff:ff:ff' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '1' + } + ], + 'priority': 1 + } + ), + json_config_rule_delete( + 'table', + { + 'table-name': 'IngressPipeImpl.l2_ternary_table', + 'match-fields': [ + { + 'match-field': 'hdr.ethernet.dst_addr', + 'match-value': 'aa:bb:cc:dd:ee:22 &&& ff:ff:ff:ff:ff:ff' + } + ], + 'action-name': 'IngressPipeImpl.set_egress_port', + 'action-params': [ + { + 'action-param': 'port_num', + 'action-value': '2' + } + ], + 'priority': 1 + } + ), +] +""" + +# ----- Links ---------------------------------------------------------------------------------------------------------- + +# ----- WIM Service Settings ------------------------------------------------------------------------------------------- + +# ----- Object Collections --------------------------------------------------------------------------------------------- + +CONTEXTS = [CONTEXT] +TOPOLOGIES = [TOPOLOGY] + +DEVICES = [ + (DEVICE_SW1, DEVICE_SW1_CONNECT_RULES, DEVICE_SW1_CONFIG_TABLE_ENTRIES, DEVICE_SW1_DECONF_TABLE_ENTRIES), + (DEVICE_SW2, DEVICE_SW2_CONNECT_RULES, DEVICE_SW2_CONFIG_TABLE_ENTRIES, DEVICE_SW2_DECONF_TABLE_ENTRIES), +] + +LINKS = [] diff --git a/src/compute/proto/__init__.py b/hackfest/p4/tests/__init__.py similarity index 100% rename from src/compute/proto/__init__.py rename to hackfest/p4/tests/__init__.py diff --git a/hackfest/p4/tests/test_functional_bootstrap.py b/hackfest/p4/tests/test_functional_bootstrap.py new file mode 100644 index 0000000000000000000000000000000000000000..0254ffd2602bd8dfc0766db0b9e766f7e7e79b32 --- /dev/null +++ b/hackfest/p4/tests/test_functional_bootstrap.py @@ -0,0 +1,95 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy, logging, pytest +from common.Settings import get_setting +from common.tests.EventTools import EVENT_CREATE, EVENT_UPDATE, check_events +from common.tools.object_factory.Context import json_context_id +from common.tools.object_factory.Device import json_device_id +from common.tools.object_factory.Link import json_link_id +from common.tools.object_factory.Topology import json_topology_id +from context.client.ContextClient import ContextClient +from context.client.EventsCollector import EventsCollector +from common.proto.context_pb2 import ConfigActionEnum, Context, ContextId, Device, Empty, Link, Topology, DeviceOperationalStatusEnum +from device.client.DeviceClient import DeviceClient +from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +@pytest.fixture(scope='session') +def context_client(): + _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def device_client(): + _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + +def test_prepare_scenario(context_client : ContextClient): # pylint: disable=redefined-outer-name + + # ----- Create Contexts and Topologies ----------------------------------------------------------------------------- + for context in CONTEXTS: + context_uuid = context['context_id']['context_uuid']['uuid'] + LOGGER.info('Adding Context {:s}'.format(context_uuid)) + response = context_client.SetContext(Context(**context)) + assert response.context_uuid.uuid == context_uuid + + for topology in TOPOLOGIES: + context_uuid = topology['topology_id']['context_id']['context_uuid']['uuid'] + topology_uuid = topology['topology_id']['topology_uuid']['uuid'] + LOGGER.info('Adding Topology {:s}/{:s}'.format(context_uuid, topology_uuid)) + response = context_client.SetTopology(Topology(**topology)) + assert response.context_id.context_uuid.uuid == context_uuid + assert response.topology_uuid.uuid == topology_uuid + context_id = json_context_id(context_uuid) + +def test_scenario_ready(context_client : ContextClient): # pylint: disable=redefined-outer-name + # ----- List entities - Ensure scenario is ready ------------------------------------------------------------------- + response = context_client.ListContexts(Empty()) + assert len(response.contexts) == len(CONTEXTS) + + response = context_client.ListTopologies(ContextId(**CONTEXT_ID)) + assert len(response.topologies) == len(TOPOLOGIES) + + response = context_client.ListDevices(Empty()) + assert len(response.devices) == 0 + +def test_devices_bootstraping( + context_client : ContextClient, device_client : DeviceClient): # pylint: disable=redefined-outer-name + + # ----- Create Devices --------------------------------------------------------------- + for device, connect_rules, config_rules, _ in DEVICES: + device_uuid = device['device_id']['device_uuid']['uuid'] + LOGGER.info('Adding Device {:s}'.format(device_uuid)) + + device_p4_with_connect_rules = copy.deepcopy(device) + device_p4_with_connect_rules['device_config']['config_rules'].extend(connect_rules) + response = device_client.AddDevice(Device(**device_p4_with_connect_rules)) + assert response.device_uuid.uuid == device_uuid + +def test_devices_bootstrapped(context_client : ContextClient): # pylint: disable=redefined-outer-name + # ----- List entities - Ensure bevices are created ----------------------------------------------------------------- + response = context_client.ListContexts(Empty()) + assert len(response.contexts) == len(CONTEXTS) + + response = context_client.ListTopologies(ContextId(**CONTEXT_ID)) + assert len(response.topologies) == len(TOPOLOGIES) + + response = context_client.ListDevices(Empty()) + assert len(response.devices) == len(DEVICES) diff --git a/hackfest/p4/tests/test_functional_cleanup.py b/hackfest/p4/tests/test_functional_cleanup.py new file mode 100644 index 0000000000000000000000000000000000000000..ccbcb9843a03bbf095743af0753da3fe8af3bfce --- /dev/null +++ b/hackfest/p4/tests/test_functional_cleanup.py @@ -0,0 +1,76 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy, logging, pytest +from common.Settings import get_setting +from common.tests.EventTools import EVENT_REMOVE, check_events +from common.tools.object_factory.Context import json_context_id +from common.tools.object_factory.Device import json_device_id +from common.tools.object_factory.Link import json_link_id +from common.tools.object_factory.Topology import json_topology_id +from context.client.ContextClient import ContextClient +from context.client.EventsCollector import EventsCollector +from common.proto.context_pb2 import ConfigActionEnum, ContextId, Device, DeviceId, Empty, LinkId, TopologyId, DeviceOperationalStatusEnum +from device.client.DeviceClient import DeviceClient +from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + + +@pytest.fixture(scope='session') +def context_client(): + _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def device_client(): + _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + +def test_scenario_cleanup( + context_client : ContextClient, device_client : DeviceClient): # pylint: disable=redefined-outer-name + + # ----- Delete Devices and Validate Collected Events --------------------------------------------------------------- + for device, _, _, deconf_rules in DEVICES: + + device_id = device['device_id'] + device_uuid = device_id['device_uuid']['uuid'] + LOGGER.info('Deleting Device {:s}'.format(device_uuid)) + device_client.DeleteDevice(DeviceId(**device_id)) + #expected_events.append(('DeviceEvent', EVENT_REMOVE, json_device_id(device_uuid))) + + response = context_client.ListDevices(Empty()) + assert len(response.devices) == 0 + + # ----- Delete Topologies and Validate Collected Events ------------------------------------------------------------ + for topology in TOPOLOGIES: + topology_id = topology['topology_id'] + context_uuid = topology_id['context_id']['context_uuid']['uuid'] + topology_uuid = topology_id['topology_uuid']['uuid'] + LOGGER.info('Deleting Topology {:s}/{:s}'.format(context_uuid, topology_uuid)) + context_client.RemoveTopology(TopologyId(**topology_id)) + context_id = json_context_id(context_uuid) + #expected_events.append(('TopologyEvent', EVENT_REMOVE, json_topology_id(topology_uuid, context_id=context_id))) + + # ----- Delete Contexts and Validate Collected Events -------------------------------------------------------------- + for context in CONTEXTS: + context_id = context['context_id'] + context_uuid = context_id['context_uuid']['uuid'] + LOGGER.info('Deleting Context {:s}'.format(context_uuid)) + context_client.RemoveContext(ContextId(**context_id)) + #expected_events.append(('ContextEvent', EVENT_REMOVE, json_context_id(context_uuid))) diff --git a/hackfest/p4/tests/test_functional_create_service.py b/hackfest/p4/tests/test_functional_create_service.py new file mode 100644 index 0000000000000000000000000000000000000000..501536bdb6299091cf791438f60f7e48cb0b0626 --- /dev/null +++ b/hackfest/p4/tests/test_functional_create_service.py @@ -0,0 +1,62 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy, logging, pytest +from common.Settings import get_setting +from common.tests.EventTools import EVENT_CREATE, EVENT_UPDATE, check_events +from common.tools.object_factory.Context import json_context_id +from common.tools.object_factory.Device import json_device_id +from common.tools.object_factory.Link import json_link_id +from common.tools.object_factory.Topology import json_topology_id +from context.client.ContextClient import ContextClient +from context.client.EventsCollector import EventsCollector +from common.proto.context_pb2 import Context, ContextId, Device, Empty, Link, Topology +from device.client.DeviceClient import DeviceClient +from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES +from common.proto.context_pb2 import ConfigActionEnum, Device, DeviceId,\ + DeviceOperationalStatusEnum + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +@pytest.fixture(scope='session') +def context_client(): + _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def device_client(): + _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + +def test_rules_entry( + context_client : ContextClient, device_client : DeviceClient): # pylint: disable=redefined-outer-name + + # ----- Create Devices --------------------------------------------------------------- + for device, connect_rules, config_rules, _ in DEVICES: + # Enable device + device_p4_with_operational_status = copy.deepcopy(device) + device_p4_with_operational_status['device_operational_status'] = \ + DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_ENABLED + device_client.ConfigureDevice(Device(**device_p4_with_operational_status)) + + device_data = context_client.GetDevice(DeviceId(**json_device_id('SW1'))) + + # Insert table entries + device_p4_with_config_rules = copy.deepcopy(device) + device_p4_with_config_rules['device_config']['config_rules'].extend(config_rules) + device_client.ConfigureDevice(Device(**device_p4_with_config_rules)) diff --git a/hackfest/p4/tests/test_functional_delete_service.py b/hackfest/p4/tests/test_functional_delete_service.py new file mode 100644 index 0000000000000000000000000000000000000000..1be7e324080befe8c7e4719f364201ef16772fc8 --- /dev/null +++ b/hackfest/p4/tests/test_functional_delete_service.py @@ -0,0 +1,58 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy, logging, pytest +from common.Settings import get_setting +from common.tests.EventTools import EVENT_REMOVE, check_events +from common.tools.object_factory.Context import json_context_id +from common.tools.object_factory.Device import json_device_id +from common.tools.object_factory.Link import json_link_id +from common.tools.object_factory.Topology import json_topology_id +from context.client.ContextClient import ContextClient +from context.client.EventsCollector import EventsCollector +from common.proto.context_pb2 import ConfigActionEnum, ContextId, Device, DeviceId, Empty, LinkId, TopologyId, DeviceOperationalStatusEnum +from device.client.DeviceClient import DeviceClient +from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + + +@pytest.fixture(scope='session') +def context_client(): + _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def device_client(): + _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC')) + yield _client + _client.close() + +def test_rules_delete( + context_client : ContextClient, device_client : DeviceClient): # pylint: disable=redefined-outer-name + + # ----- Delete Devices and Validate Collected Events --------------------------------------------------------------- + for device, _, _, deconf_rules in DEVICES: + + device_p4_with_deconf_rules = copy.deepcopy(device) + device_p4_with_deconf_rules['device_config']['config_rules'].extend(deconf_rules) + device_client.ConfigureDevice(Device(**device_p4_with_deconf_rules)) + + device_p4_with_operational_status = copy.deepcopy(device) + device_p4_with_operational_status['device_operational_status'] = \ + DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_DISABLED + device_client.ConfigureDevice(Device(**device_p4_with_operational_status)) diff --git a/hackfest/restconf/commands.txt b/hackfest/restconf/commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..2eac80cf60d58675981983c722bb7d2fdcbd84bf --- /dev/null +++ b/hackfest/restconf/commands.txt @@ -0,0 +1,48 @@ +== RESTCONF + +=== YANG2SWAGGER + +$ cd ~/tfs-ctrl/hackfest/restconf +(if needed) +$ wget https://github.com/bartoszm/yang2swagger/releases/download/1.1.11/swagger-generator-cli-1.1.11-executable.jar + +Generate swagger files: +$ java -jar swagger-generator-cli-1.1.11-executable.jar -yang-dir ../yang/ -output topology.yaml topology +$ java -jar swagger-generator-cli-1.1.11-executable.jar -yang-dir ../yang/ -output connection.yaml connection + + + +=== SERVER +$ cd ~/tfs-ctrl/hackfest/restconf +(if needed) +$ wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.11/swagger-codegen-cli-3.0.11.jar -O swagger-codegen-cli.jar + +Create the server: +$ mkdir ~/tfs-ctrl/hackfest/restconf/server +$ java -jar swagger-codegen-cli.jar generate -i connection.yaml -l python-flask -o server + +Run the server: +$ cd ~/tfs-ctrl/hackfest/restconf/server +$ pip3 install -r requirements.txt +(Open ~/tfs-ctrl/hackfest/restconf/server/swagger_server/swagger/swagger.yaml and modify all: "name: connection_id" for "name: connection-id") +RUN AUTOGENERATED SERVER +$ python3 -m swagger_server + +(you have the solution in ~/tfs-ctrl/hackfest/restconf/connectionserver ) + +RUN CURL AS CLIENT (In another window) +$ cd ~/tfs-ctrl/hackfest/restconf/ +$ curl -X POST -H "Content-Type: application/yang-data+json" http://127.0.0.1:8080/data/connection/ -d@conn1.json +$ curl -X GET -H "Content-Type: application/yang-data+json" http://127.0.0.1:8080/data/connection=0/ +$ curl -X DELETE -H "Content-Type: application/yang-data+json" http://127.0.0.1:8080/data/connection=0/ + + +=== Exercise: RESTCONF TOPOLOGY === +$ mkdir ~/tfs-ctrl/hackfest/restconf/topologyserver +$ java -jar swagger-codegen-cli.jar generate -i topology.yaml -l python-flask -o topologyserver +$ cd ~/tfs-ctrl/hackfest/restconf/topologyserver +(Open ~/tfs-ctrl/hackfest/restconf/topologyserver/swagger_server/swagger/swagger.yaml and modify all: "name: link_id" for "name: link-id", same for node and port) +$ python3 -m swagger_server + +RUN CURL AS CLIENT (In another window) +$curl -X GET -H "Content-Type: application/yang-data+json" http://127.0.0.1:8080/data/topology/ diff --git a/hackfest/restconf/conn1.json b/hackfest/restconf/conn1.json new file mode 100644 index 0000000000000000000000000000000000000000..e541b477c2bef70d2f02ab988e2c599e20405c67 --- /dev/null +++ b/hackfest/restconf/conn1.json @@ -0,0 +1,7 @@ +{ + "source-node" : "node1", + "target-node" : "node2", + "source-port" : "node1portA", + "target-port" : "node2portA", + "bandwidth" : 10 +} \ No newline at end of file diff --git a/hackfest/restconf/connection.yaml b/hackfest/restconf/connection.yaml new file mode 100644 index 0000000000000000000000000000000000000000..abc119f26cee8be17d91cb036f5b5dcf37a8331d --- /dev/null +++ b/hackfest/restconf/connection.yaml @@ -0,0 +1,138 @@ +--- +swagger: "2.0" +info: + description: "connection API generated from yang definitions" + version: "1.0" + title: "connection API" +host: "localhost:1234" +consumes: +- "application/yang-data+json" +produces: +- "application/yang-data+json" +paths: + /data/connection/: + post: + tags: + - "connection" + description: "creates connection.Connection" + parameters: + - in: "body" + name: "connection.Connection.body-param" + description: "connection.Connection to be added to list" + required: false + schema: + $ref: "#/definitions/connection.Connection" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/connection={connection-id}/: + get: + tags: + - "connection" + description: "returns connection.Connection" + parameters: + - name: "connection-id" + in: "path" + description: "Id of connection" + required: true + type: "string" + responses: + 200: + description: "connection.Connection" + schema: + $ref: "#/definitions/connection.Connection" + 400: + description: "Internal error" + post: + tags: + - "connection" + description: "creates connection.Connection" + parameters: + - name: "connection-id" + in: "path" + description: "Id of connection" + required: true + type: "string" + - in: "body" + name: "connection.Connection.body-param" + description: "connection.Connection to be added to list" + required: false + schema: + $ref: "#/definitions/connection.Connection" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "connection" + description: "creates or updates connection.Connection" + parameters: + - name: "connection-id" + in: "path" + description: "Id of connection" + required: true + type: "string" + - in: "body" + name: "connection.Connection.body-param" + description: "connection.Connection to be added or updated" + required: false + schema: + $ref: "#/definitions/connection.Connection" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "connection" + description: "removes connection.Connection" + parameters: + - name: "connection-id" + in: "path" + description: "Id of connection" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" +definitions: + connection.Connection: + type: "object" + properties: + target-port: + type: "string" + x-path: "/topology:topology/topology:node/topology:port/topology:port-id" + source-port: + type: "string" + x-path: "/topology:topology/topology:node/topology:port/topology:port-id" + target-node: + type: "string" + x-path: "/topology:topology/topology:node/topology:node-id" + connection-id: + type: "string" + bandwidth: + type: "integer" + format: "int64" + source-node: + type: "string" + x-path: "/topology:topology/topology:node/topology:node-id" + layer-protocol-name: + $ref: "#/definitions/topology.LayerProtocolName" + topology.LayerProtocolName: + type: "string" + enum: + - "ETH" + - "OPTICAL" diff --git a/hackfest/restconf/connectionserver/.dockerignore b/hackfest/restconf/connectionserver/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..cdd823e64e7e91ae85da84f22410ecb7eb370ae2 --- /dev/null +++ b/hackfest/restconf/connectionserver/.dockerignore @@ -0,0 +1,72 @@ +.travis.yaml +.swagger-codegen-ignore +README.md +tox.ini +git_push.sh +test-requirements.txt +setup.py + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/hackfest/restconf/connectionserver/.gitignore b/hackfest/restconf/connectionserver/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a655050c2631466828b5b8bfc59ae27f9ac02dc5 --- /dev/null +++ b/hackfest/restconf/connectionserver/.gitignore @@ -0,0 +1,64 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/hackfest/restconf/connectionserver/.swagger-codegen-ignore b/hackfest/restconf/connectionserver/.swagger-codegen-ignore new file mode 100644 index 0000000000000000000000000000000000000000..c5fa491b4c557bf997d5dd21797de782545dc9e5 --- /dev/null +++ b/hackfest/restconf/connectionserver/.swagger-codegen-ignore @@ -0,0 +1,23 @@ +# Swagger Codegen Ignore +# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/hackfest/restconf/connectionserver/.swagger-codegen/VERSION b/hackfest/restconf/connectionserver/.swagger-codegen/VERSION new file mode 100644 index 0000000000000000000000000000000000000000..e4a0720dd5141073dced1d64dddb6afd14bf26d3 --- /dev/null +++ b/hackfest/restconf/connectionserver/.swagger-codegen/VERSION @@ -0,0 +1 @@ +3.0.11 \ No newline at end of file diff --git a/hackfest/restconf/connectionserver/.travis.yml b/hackfest/restconf/connectionserver/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..dd6c4450aa902ae68479c3d76d45145e18d6052e --- /dev/null +++ b/hackfest/restconf/connectionserver/.travis.yml @@ -0,0 +1,13 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.2" + - "3.3" + - "3.4" + - "3.5" + #- "3.5-dev" # 3.5 development branch + #- "nightly" # points to the latest development branch e.g. 3.6-dev +# command to install dependencies +install: "pip install -r requirements.txt" +# command to run tests +script: nosetests diff --git a/hackfest/restconf/connectionserver/Dockerfile b/hackfest/restconf/connectionserver/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..f9243a5ad0d025c5481e5a81bac213f716242100 --- /dev/null +++ b/hackfest/restconf/connectionserver/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.6-alpine + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +COPY requirements.txt /usr/src/app/ + +RUN pip3 install --no-cache-dir -r requirements.txt + +COPY . /usr/src/app + +EXPOSE 8080 + +ENTRYPOINT ["python3"] + +CMD ["-m", "swagger_server"] \ No newline at end of file diff --git a/hackfest/restconf/connectionserver/README.md b/hackfest/restconf/connectionserver/README.md new file mode 100644 index 0000000000000000000000000000000000000000..857c30a462c3dbad326a7d0a6b7b278f36fb9bd9 --- /dev/null +++ b/hackfest/restconf/connectionserver/README.md @@ -0,0 +1,49 @@ +# Swagger generated server + +## Overview +This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the +[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This +is an example of building a swagger-enabled Flask server. + +This example uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask. + +## Requirements +Python 3.5.2+ + +## Usage +To run the server, please execute the following from the root directory: + +``` +pip3 install -r requirements.txt +python3 -m swagger_server +``` + +and open your browser to here: + +``` +http://localhost:8080/ui/ +``` + +Your Swagger definition lives here: + +``` +http://localhost:8080/swagger.json +``` + +To launch the integration tests, use tox: +``` +sudo pip install tox +tox +``` + +## Running with Docker + +To run the server on a Docker container, please execute the following from the root directory: + +```bash +# building the image +docker build -t swagger_server . + +# starting up a container +docker run -p 8080:8080 swagger_server +``` \ No newline at end of file diff --git a/hackfest/restconf/connectionserver/git_push.sh b/hackfest/restconf/connectionserver/git_push.sh new file mode 100644 index 0000000000000000000000000000000000000000..160f6f213999c7ae67839fbd6fc2ba0b72675832 --- /dev/null +++ b/hackfest/restconf/connectionserver/git_push.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=`git remote` +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' + diff --git a/hackfest/restconf/connectionserver/requirements.txt b/hackfest/restconf/connectionserver/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..b5bc506572753f5a29d2c1115a6ac15f34f09be8 --- /dev/null +++ b/hackfest/restconf/connectionserver/requirements.txt @@ -0,0 +1,3 @@ +connexion == 2.2.0 +python_dateutil == 2.6.0 +setuptools >= 21.0.0 diff --git a/hackfest/restconf/connectionserver/setup.py b/hackfest/restconf/connectionserver/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..ba555c8a10b6e535508e81429887aa00e30d3c1a --- /dev/null +++ b/hackfest/restconf/connectionserver/setup.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +import sys +from setuptools import setup, find_packages + +NAME = "swagger_server" +VERSION = "1.0.0" +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["connexion"] + +setup( + name=NAME, + version=VERSION, + description="connection API", + author_email="", + url="", + keywords=["Swagger", "connection API"], + install_requires=REQUIRES, + packages=find_packages(), + package_data={'': ['swagger/swagger.yaml']}, + include_package_data=True, + entry_points={ + 'console_scripts': ['swagger_server=swagger_server.__main__:main']}, + long_description="""\ + connection API generated from yang definitions + """ +) diff --git a/hackfest/restconf/connectionserver/swagger_server/__init__.py b/hackfest/restconf/connectionserver/swagger_server/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/restconf/connectionserver/swagger_server/__main__.py b/hackfest/restconf/connectionserver/swagger_server/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..db49e4dcca3214b032f8dbd2a64f064dd685b389 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/__main__.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 + +import connexion + +from swagger_server import encoder + + +def main(): + app = connexion.App(__name__, specification_dir='./swagger/') + app.app.json_encoder = encoder.JSONEncoder + app.app.config['JSON_SORT_KEYS']=False + app.add_api('swagger.yaml', arguments={'title': 'connection API'}, pythonic_params=True) + app.run(port=8080) + + +if __name__ == '__main__': + main() diff --git a/hackfest/restconf/connectionserver/swagger_server/controllers/__init__.py b/hackfest/restconf/connectionserver/swagger_server/controllers/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/restconf/connectionserver/swagger_server/controllers/authorization_controller.py b/hackfest/restconf/connectionserver/swagger_server/controllers/authorization_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..2f7b0bb3e281b3fb9efb588dfc8ba4c8cc3a59ed --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/controllers/authorization_controller.py @@ -0,0 +1,6 @@ +from typing import List +""" +controller generated to handled auth operation described at: +https://connexion.readthedocs.io/en/latest/security.html +""" + diff --git a/hackfest/restconf/connectionserver/swagger_server/controllers/connection_controller.py b/hackfest/restconf/connectionserver/swagger_server/controllers/connection_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..8caa1e2ebe210c03791c13511cd555f333c5cf61 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/controllers/connection_controller.py @@ -0,0 +1,89 @@ +import connexion +import six +import swagger_server.database as database + +from swagger_server.models.connection_connection import ConnectionConnection # noqa: E501 +from swagger_server import util + + +def data_connection_post(body=None): # noqa: E501 + """data_connection_post + + creates connection.Connection # noqa: E501 + + :param body: connection.Connection to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = ConnectionConnection.from_dict(connexion.request.get_json()) + body.connection_id=str(database.last_connection_id) + database.connection[str(database.last_connection_id)] = body + database.last_connection_id+=1 + return body + + +def data_connectionconnection_id_delete(connection_id): # noqa: E501 + """data_connectionconnection_id_delete + + removes connection.Connection # noqa: E501 + + :param connection_id: Id of connection + :type connection_id: str + + :rtype: None + """ + del database.connection[connection_id] + return 'ok' + + + +def data_connectionconnection_id_get(connection_id): # noqa: E501 + """data_connectionconnection_id_get + + returns connection.Connection # noqa: E501 + + :param connection_id: Id of connection + :type connection_id: str + + :rtype: ConnectionConnection + """ + print(database.connection) + if connection_id in database.connection: + return database.connection[connection_id] + return "Error", 400 + + +def data_connectionconnection_id_post(connection_id, body=None): # noqa: E501 + """data_connectionconnection_id_post + + creates connection.Connection # noqa: E501 + + :param connection_id: Id of connection + :type connection_id: str + :param body: connection.Connection to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = ConnectionConnection.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_connectionconnection_id_put(connection_id, body=None): # noqa: E501 + """data_connectionconnection_id_put + + creates or updates connection.Connection # noqa: E501 + + :param connection_id: Id of connection + :type connection_id: str + :param body: connection.Connection to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = ConnectionConnection.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/hackfest/restconf/connectionserver/swagger_server/database.py b/hackfest/restconf/connectionserver/swagger_server/database.py new file mode 100644 index 0000000000000000000000000000000000000000..9a5ea9fb27287e734eb72af4e9c8958b854801c7 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/database.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +from swagger_server.models.connection_connection import ConnectionConnection + +connection = {} +last_connection_id = 0 + diff --git a/hackfest/restconf/connectionserver/swagger_server/encoder.py b/hackfest/restconf/connectionserver/swagger_server/encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..61ba4721961a65d38af5d5ce2948b0abe9c7aa58 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/encoder.py @@ -0,0 +1,20 @@ +from connexion.apps.flask_app import FlaskJSONEncoder +import six + +from swagger_server.models.base_model_ import Model + + +class JSONEncoder(FlaskJSONEncoder): + include_nulls = False + + def default(self, o): + if isinstance(o, Model): + dikt = {} + for attr, _ in six.iteritems(o.swagger_types): + value = getattr(o, attr) + if value is None and not self.include_nulls: + continue + attr = o.attribute_map[attr] + dikt[attr] = value + return dikt + return FlaskJSONEncoder.default(self, o) diff --git a/hackfest/restconf/connectionserver/swagger_server/models/__init__.py b/hackfest/restconf/connectionserver/swagger_server/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..4df84643893fc3e509f355a8d47e4e1c653f8109 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/models/__init__.py @@ -0,0 +1,7 @@ +# coding: utf-8 + +# flake8: noqa +from __future__ import absolute_import +# import models into model package +from swagger_server.models.connection_connection import ConnectionConnection +from swagger_server.models.topology_layer_protocol_name import TopologyLayerProtocolName diff --git a/hackfest/restconf/connectionserver/swagger_server/models/base_model_.py b/hackfest/restconf/connectionserver/swagger_server/models/base_model_.py new file mode 100644 index 0000000000000000000000000000000000000000..97999c3d3237c287013b2139acb9858a52b454e8 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/models/base_model_.py @@ -0,0 +1,69 @@ +import pprint + +import six +import typing + +from swagger_server import util + +T = typing.TypeVar('T') + + +class Model(object): + # swaggerTypes: The key is attribute name and the + # value is attribute type. + swagger_types = {} + + # attributeMap: The key is attribute name and the + # value is json key in definition. + attribute_map = {} + + @classmethod + def from_dict(cls: typing.Type[T], dikt) -> T: + """Returns the dict as a model""" + return util.deserialize_model(dikt, cls) + + def to_dict(self): + """Returns the model properties as a dict + + :rtype: dict + """ + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + + return result + + def to_str(self): + """Returns the string representation of the model + + :rtype: str + """ + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/hackfest/restconf/connectionserver/swagger_server/models/connection_connection.py b/hackfest/restconf/connectionserver/swagger_server/models/connection_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..6d6ab83afa2600cd4f42b12dee80a572f9bf8024 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/models/connection_connection.py @@ -0,0 +1,219 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server.models.topology_layer_protocol_name import TopologyLayerProtocolName # noqa: F401,E501 +from swagger_server import util + + +class ConnectionConnection(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, target_port: str=None, source_port: str=None, target_node: str=None, connection_id: str=None, bandwidth: int=None, source_node: str=None, layer_protocol_name: TopologyLayerProtocolName=None): # noqa: E501 + """ConnectionConnection - a model defined in Swagger + + :param target_port: The target_port of this ConnectionConnection. # noqa: E501 + :type target_port: str + :param source_port: The source_port of this ConnectionConnection. # noqa: E501 + :type source_port: str + :param target_node: The target_node of this ConnectionConnection. # noqa: E501 + :type target_node: str + :param connection_id: The connection_id of this ConnectionConnection. # noqa: E501 + :type connection_id: str + :param bandwidth: The bandwidth of this ConnectionConnection. # noqa: E501 + :type bandwidth: int + :param source_node: The source_node of this ConnectionConnection. # noqa: E501 + :type source_node: str + :param layer_protocol_name: The layer_protocol_name of this ConnectionConnection. # noqa: E501 + :type layer_protocol_name: TopologyLayerProtocolName + """ + self.swagger_types = { + 'target_port': str, + 'source_port': str, + 'target_node': str, + 'connection_id': str, + 'bandwidth': int, + 'source_node': str, + 'layer_protocol_name': TopologyLayerProtocolName + } + + self.attribute_map = { + 'target_port': 'target-port', + 'source_port': 'source-port', + 'target_node': 'target-node', + 'connection_id': 'connection-id', + 'bandwidth': 'bandwidth', + 'source_node': 'source-node', + 'layer_protocol_name': 'layer-protocol-name' + } + self._target_port = target_port + self._source_port = source_port + self._target_node = target_node + self._connection_id = connection_id + self._bandwidth = bandwidth + self._source_node = source_node + self._layer_protocol_name = layer_protocol_name + + @classmethod + def from_dict(cls, dikt) -> 'ConnectionConnection': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The connection.Connection of this ConnectionConnection. # noqa: E501 + :rtype: ConnectionConnection + """ + return util.deserialize_model(dikt, cls) + + @property + def target_port(self) -> str: + """Gets the target_port of this ConnectionConnection. + + + :return: The target_port of this ConnectionConnection. + :rtype: str + """ + return self._target_port + + @target_port.setter + def target_port(self, target_port: str): + """Sets the target_port of this ConnectionConnection. + + + :param target_port: The target_port of this ConnectionConnection. + :type target_port: str + """ + + self._target_port = target_port + + @property + def source_port(self) -> str: + """Gets the source_port of this ConnectionConnection. + + + :return: The source_port of this ConnectionConnection. + :rtype: str + """ + return self._source_port + + @source_port.setter + def source_port(self, source_port: str): + """Sets the source_port of this ConnectionConnection. + + + :param source_port: The source_port of this ConnectionConnection. + :type source_port: str + """ + + self._source_port = source_port + + @property + def target_node(self) -> str: + """Gets the target_node of this ConnectionConnection. + + + :return: The target_node of this ConnectionConnection. + :rtype: str + """ + return self._target_node + + @target_node.setter + def target_node(self, target_node: str): + """Sets the target_node of this ConnectionConnection. + + + :param target_node: The target_node of this ConnectionConnection. + :type target_node: str + """ + + self._target_node = target_node + + @property + def connection_id(self) -> str: + """Gets the connection_id of this ConnectionConnection. + + + :return: The connection_id of this ConnectionConnection. + :rtype: str + """ + return self._connection_id + + @connection_id.setter + def connection_id(self, connection_id: str): + """Sets the connection_id of this ConnectionConnection. + + + :param connection_id: The connection_id of this ConnectionConnection. + :type connection_id: str + """ + + self._connection_id = connection_id + + @property + def bandwidth(self) -> int: + """Gets the bandwidth of this ConnectionConnection. + + + :return: The bandwidth of this ConnectionConnection. + :rtype: int + """ + return self._bandwidth + + @bandwidth.setter + def bandwidth(self, bandwidth: int): + """Sets the bandwidth of this ConnectionConnection. + + + :param bandwidth: The bandwidth of this ConnectionConnection. + :type bandwidth: int + """ + + self._bandwidth = bandwidth + + @property + def source_node(self) -> str: + """Gets the source_node of this ConnectionConnection. + + + :return: The source_node of this ConnectionConnection. + :rtype: str + """ + return self._source_node + + @source_node.setter + def source_node(self, source_node: str): + """Sets the source_node of this ConnectionConnection. + + + :param source_node: The source_node of this ConnectionConnection. + :type source_node: str + """ + + self._source_node = source_node + + @property + def layer_protocol_name(self) -> TopologyLayerProtocolName: + """Gets the layer_protocol_name of this ConnectionConnection. + + + :return: The layer_protocol_name of this ConnectionConnection. + :rtype: TopologyLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TopologyLayerProtocolName): + """Sets the layer_protocol_name of this ConnectionConnection. + + + :param layer_protocol_name: The layer_protocol_name of this ConnectionConnection. + :type layer_protocol_name: TopologyLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name diff --git a/hackfest/restconf/connectionserver/swagger_server/models/topology_layer_protocol_name.py b/hackfest/restconf/connectionserver/swagger_server/models/topology_layer_protocol_name.py new file mode 100644 index 0000000000000000000000000000000000000000..2ea9beed2bf84b9288fb5829ebcabd2440d5a81b --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/models/topology_layer_protocol_name.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server import util + + +class TopologyLayerProtocolName(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + ETH = "ETH" + OPTICAL = "OPTICAL" + def __init__(self): # noqa: E501 + """TopologyLayerProtocolName - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TopologyLayerProtocolName': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The topology.LayerProtocolName of this TopologyLayerProtocolName. # noqa: E501 + :rtype: TopologyLayerProtocolName + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/restconf/connectionserver/swagger_server/swagger/swagger.yaml b/hackfest/restconf/connectionserver/swagger_server/swagger/swagger.yaml new file mode 100644 index 0000000000000000000000000000000000000000..85af552040a86c147fdc96fc0f602f33046686a0 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/swagger/swagger.yaml @@ -0,0 +1,174 @@ +openapi: 3.0.1 +info: + title: connection API + description: connection API generated from yang definitions + version: "1.0" +servers: +- url: //localhost:1234/ +paths: + /data/connection/: + post: + tags: + - connection + description: creates connection.Connection + operationId: data_connection_post + requestBody: + description: connection.Connection to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/connection.Connection' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.connection_controller + /data/connection={connection-id}/: + get: + tags: + - connection + description: returns connection.Connection + operationId: data_connectionconnection_id_get + parameters: + - name: connection-id + in: path + description: Id of connection + required: true + schema: + type: string + responses: + 200: + description: connection.Connection + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/connection.Connection' + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.connection_controller + put: + tags: + - connection + description: creates or updates connection.Connection + operationId: data_connectionconnection_id_put + parameters: + - name: connection-id + in: path + description: Id of connection + required: true + schema: + type: string + requestBody: + description: connection.Connection to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/connection.Connection' + required: false + responses: + 201: + description: Object created + content: {} + 204: + description: Object modified + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.connection_controller + post: + tags: + - connection + description: creates connection.Connection + operationId: data_connectionconnection_id_post + parameters: + - name: connection-id + in: path + description: Id of connection + required: true + schema: + type: string + requestBody: + description: connection.Connection to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/connection.Connection' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.connection_controller + delete: + tags: + - connection + description: removes connection.Connection + operationId: data_connectionconnection_id_delete + parameters: + - name: connection-id + in: path + description: Id of connection + required: true + schema: + type: string + responses: + 204: + description: Object deleted + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.connection_controller +components: + schemas: + connection.Connection: + type: object + properties: + target-port: + type: string + x-path: /topology:topology/topology:node/topology:port/topology:port-id + source-port: + type: string + x-path: /topology:topology/topology:node/topology:port/topology:port-id + target-node: + type: string + x-path: /topology:topology/topology:node/topology:node-id + connection-id: + type: string + bandwidth: + type: integer + format: int64 + source-node: + type: string + x-path: /topology:topology/topology:node/topology:node-id + layer-protocol-name: + $ref: '#/components/schemas/topology.LayerProtocolName' + example: + target-port: target-port + source-port: source-port + target-node: target-node + connection-id: connection-id + bandwidth: 0 + source-node: source-node + layer-protocol-name: ETH + topology.LayerProtocolName: + type: string + enum: + - ETH + - OPTICAL + diff --git a/hackfest/restconf/connectionserver/swagger_server/test/__init__.py b/hackfest/restconf/connectionserver/swagger_server/test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..644506301ce077f2e881fcda3454b6cba362ab5e --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from swagger_server.encoder import JSONEncoder + + +class BaseTestCase(TestCase): + + def create_app(self): + logging.getLogger('connexion.operation').setLevel('ERROR') + app = connexion.App(__name__, specification_dir='../swagger/') + app.app.json_encoder = JSONEncoder + app.add_api('swagger.yaml') + return app.app diff --git a/hackfest/restconf/connectionserver/swagger_server/test/test_connection_controller.py b/hackfest/restconf/connectionserver/swagger_server/test/test_connection_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..325dad4852c3583f0067499c177b56b1d7c569b7 --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/test/test_connection_controller.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from swagger_server.models.connection_connection import ConnectionConnection # noqa: E501 +from swagger_server.test import BaseTestCase + + +class TestConnectionController(BaseTestCase): + """ConnectionController integration test stubs""" + + def test_data_connection_post(self): + """Test case for data_connection_post + + + """ + body = ConnectionConnection() + response = self.client.open( + '/data/connection/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_connectionconnection_id_delete(self): + """Test case for data_connectionconnection_id_delete + + + """ + response = self.client.open( + '/data/connection={connection-id}/'.format(connection_id='connection_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_connectionconnection_id_get(self): + """Test case for data_connectionconnection_id_get + + + """ + response = self.client.open( + '/data/connection={connection-id}/'.format(connection_id='connection_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_connectionconnection_id_post(self): + """Test case for data_connectionconnection_id_post + + + """ + body = ConnectionConnection() + response = self.client.open( + '/data/connection={connection-id}/'.format(connection_id='connection_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_connectionconnection_id_put(self): + """Test case for data_connectionconnection_id_put + + + """ + body = ConnectionConnection() + response = self.client.open( + '/data/connection={connection-id}/'.format(connection_id='connection_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/restconf/connectionserver/swagger_server/util.py b/hackfest/restconf/connectionserver/swagger_server/util.py new file mode 100644 index 0000000000000000000000000000000000000000..527d1424c3d5563073b18b4da1a9904b2cb6b62b --- /dev/null +++ b/hackfest/restconf/connectionserver/swagger_server/util.py @@ -0,0 +1,141 @@ +import datetime + +import six +import typing + + +def _deserialize(data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if klass in six.integer_types or klass in (float, str, bool): + return _deserialize_primitive(data, klass) + elif klass == object: + return _deserialize_object(data) + elif klass == datetime.date: + return deserialize_date(data) + elif klass == datetime.datetime: + return deserialize_datetime(data) + elif type(klass) == typing.GenericMeta: + if klass.__extra__ == list: + return _deserialize_list(data, klass.__args__[0]) + if klass.__extra__ == dict: + return _deserialize_dict(data, klass.__args__[1]) + else: + return deserialize_model(data, klass) + + +def _deserialize_primitive(data, klass): + """Deserializes to primitive type. + + :param data: data to deserialize. + :param klass: class literal. + + :return: int, long, float, str, bool. + :rtype: int | long | float | str | bool + """ + try: + value = klass(data) + except UnicodeEncodeError: + value = six.u(data) + except TypeError: + value = data + return value + + +def _deserialize_object(value): + """Return a original value. + + :return: object. + """ + return value + + +def deserialize_date(string): + """Deserializes string to date. + + :param string: str. + :type string: str + :return: date. + :rtype: date + """ + try: + from dateutil.parser import parse + return parse(string).date() + except ImportError: + return string + + +def deserialize_datetime(string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :type string: str + :return: datetime. + :rtype: datetime + """ + try: + from dateutil.parser import parse + return parse(string) + except ImportError: + return string + + +def deserialize_model(data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :type data: dict | list + :param klass: class literal. + :return: model object. + """ + instance = klass() + + if not instance.swagger_types: + return data + + for attr, attr_type in six.iteritems(instance.swagger_types): + if data is not None \ + and instance.attribute_map[attr] in data \ + and isinstance(data, (list, dict)): + value = data[instance.attribute_map[attr]] + setattr(instance, attr, _deserialize(value, attr_type)) + + return instance + + +def _deserialize_list(data, boxed_type): + """Deserializes a list and its elements. + + :param data: list to deserialize. + :type data: list + :param boxed_type: class literal. + + :return: deserialized list. + :rtype: list + """ + return [_deserialize(sub_data, boxed_type) + for sub_data in data] + + +def _deserialize_dict(data, boxed_type): + """Deserializes a dict and its elements. + + :param data: dict to deserialize. + :type data: dict + :param boxed_type: class literal. + + :return: deserialized dict. + :rtype: dict + """ + return {k: _deserialize(v, boxed_type) + for k, v in six.iteritems(data)} diff --git a/hackfest/restconf/connectionserver/test-requirements.txt b/hackfest/restconf/connectionserver/test-requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f8d96e6b40e853d658f88fa745ddcf37ff7644c --- /dev/null +++ b/hackfest/restconf/connectionserver/test-requirements.txt @@ -0,0 +1,6 @@ +flask_testing==0.6.1 +coverage>=4.0.3 +nose>=1.3.7 +pluggy>=0.3.1 +py>=1.4.31 +randomize>=0.13 diff --git a/hackfest/restconf/connectionserver/tox.ini b/hackfest/restconf/connectionserver/tox.ini new file mode 100644 index 0000000000000000000000000000000000000000..3e0b644eec48f0d6d63f028c28315ca0eda5896f --- /dev/null +++ b/hackfest/restconf/connectionserver/tox.ini @@ -0,0 +1,10 @@ +[tox] +envlist = py35 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + nosetests \ + [] \ No newline at end of file diff --git a/hackfest/restconf/swagger-codegen-cli.jar b/hackfest/restconf/swagger-codegen-cli.jar new file mode 100644 index 0000000000000000000000000000000000000000..25f1f6f6f77e43fc78812bd60428b859a48433f9 Binary files /dev/null and b/hackfest/restconf/swagger-codegen-cli.jar differ diff --git a/hackfest/restconf/swagger-generator-cli-1.1.11-executable.jar b/hackfest/restconf/swagger-generator-cli-1.1.11-executable.jar new file mode 100644 index 0000000000000000000000000000000000000000..d5aebe2734e7488f597418e724ed1abb611ad2d8 Binary files /dev/null and b/hackfest/restconf/swagger-generator-cli-1.1.11-executable.jar differ diff --git a/hackfest/restconf/topology.yaml b/hackfest/restconf/topology.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ebb0b7e3ca91597809aabddf0baea422d843db71 --- /dev/null +++ b/hackfest/restconf/topology.yaml @@ -0,0 +1,440 @@ +--- +swagger: "2.0" +info: + description: "topology API generated from yang definitions" + version: "1.0" + title: "topology API" +host: "localhost:1234" +consumes: +- "application/yang-data+json" +produces: +- "application/yang-data+json" +paths: + /data/topology/: + get: + tags: + - "topology" + description: "returns topology.Topology" + parameters: [] + responses: + 200: + description: "topology.Topology" + schema: + $ref: "#/definitions/topology.Topology" + 400: + description: "Internal error" + post: + tags: + - "topology" + description: "creates topology.Topology" + parameters: + - in: "body" + name: "topology.Topology.body-param" + description: "topology.Topology to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Topology" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "topology" + description: "creates or updates topology.Topology" + parameters: + - in: "body" + name: "topology.Topology.body-param" + description: "topology.Topology to be added or updated" + required: false + schema: + $ref: "#/definitions/topology.Topology" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "topology" + description: "removes topology.Topology" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/topology/link/: + post: + tags: + - "topology" + description: "creates topology.Link" + parameters: + - in: "body" + name: "topology.Link.body-param" + description: "topology.Link to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Link" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/topology/link={link-id}/: + get: + tags: + - "topology" + description: "returns topology.Link" + parameters: + - name: "link-id" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "topology.Link" + schema: + $ref: "#/definitions/topology.Link" + 400: + description: "Internal error" + post: + tags: + - "topology" + description: "creates topology.Link" + parameters: + - name: "link-id" + in: "path" + description: "Id of link" + required: true + type: "string" + - in: "body" + name: "topology.Link.body-param" + description: "topology.Link to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Link" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "topology" + description: "creates or updates topology.Link" + parameters: + - name: "link-id" + in: "path" + description: "Id of link" + required: true + type: "string" + - in: "body" + name: "topology.Link.body-param" + description: "topology.Link to be added or updated" + required: false + schema: + $ref: "#/definitions/topology.Link" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "topology" + description: "removes topology.Link" + parameters: + - name: "link-id" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/topology/node/: + post: + tags: + - "topology" + description: "creates topology.Node" + parameters: + - in: "body" + name: "topology.Node.body-param" + description: "topology.Node to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Node" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/topology/node={node-id}/: + get: + tags: + - "topology" + description: "returns topology.Node" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "topology.Node" + schema: + $ref: "#/definitions/topology.Node" + 400: + description: "Internal error" + post: + tags: + - "topology" + description: "creates topology.Node" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - in: "body" + name: "topology.Node.body-param" + description: "topology.Node to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Node" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "topology" + description: "creates or updates topology.Node" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - in: "body" + name: "topology.Node.body-param" + description: "topology.Node to be added or updated" + required: false + schema: + $ref: "#/definitions/topology.Node" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "topology" + description: "removes topology.Node" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/topology/node={node-id}/port/: + post: + tags: + - "topology" + description: "creates topology.Port" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - in: "body" + name: "topology.Port.body-param" + description: "topology.Port to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Port" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/topology/node={node-id}/port={port-id}/: + get: + tags: + - "topology" + description: "returns topology.Port" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "port-id" + in: "path" + description: "Id of port" + required: true + type: "string" + responses: + 200: + description: "topology.Port" + schema: + $ref: "#/definitions/topology.Port" + 400: + description: "Internal error" + post: + tags: + - "topology" + description: "creates topology.Port" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "port-id" + in: "path" + description: "Id of port" + required: true + type: "string" + - in: "body" + name: "topology.Port.body-param" + description: "topology.Port to be added to list" + required: false + schema: + $ref: "#/definitions/topology.Port" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "topology" + description: "creates or updates topology.Port" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "port-id" + in: "path" + description: "Id of port" + required: true + type: "string" + - in: "body" + name: "topology.Port.body-param" + description: "topology.Port to be added or updated" + required: false + schema: + $ref: "#/definitions/topology.Port" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "topology" + description: "removes topology.Port" + parameters: + - name: "node-id" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "port-id" + in: "path" + description: "Id of port" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" +definitions: + topology.LayerProtocolName: + type: "string" + enum: + - "ETH" + - "OPTICAL" + topology.Link: + type: "object" + properties: + target-port: + type: "string" + x-path: "/topology/node/port/port-id" + source-port: + type: "string" + x-path: "/topology/node/port/port-id" + target-node: + type: "string" + x-path: "/topology/node/node-id" + link-id: + type: "string" + source-node: + type: "string" + x-path: "/topology/node/node-id" + topology.Node: + type: "object" + properties: + node-id: + type: "string" + port: + type: "array" + items: + $ref: "#/definitions/topology.Port" + topology.Port: + type: "object" + properties: + layer-protocol-name: + $ref: "#/definitions/topology.LayerProtocolName" + port-id: + type: "string" + topology.Topology: + type: "object" + properties: + link: + type: "array" + items: + $ref: "#/definitions/topology.Link" + node: + type: "array" + items: + $ref: "#/definitions/topology.Node" diff --git a/hackfest/restconf/topologyserver/.dockerignore b/hackfest/restconf/topologyserver/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..cdd823e64e7e91ae85da84f22410ecb7eb370ae2 --- /dev/null +++ b/hackfest/restconf/topologyserver/.dockerignore @@ -0,0 +1,72 @@ +.travis.yaml +.swagger-codegen-ignore +README.md +tox.ini +git_push.sh +test-requirements.txt +setup.py + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/hackfest/restconf/topologyserver/.gitignore b/hackfest/restconf/topologyserver/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a655050c2631466828b5b8bfc59ae27f9ac02dc5 --- /dev/null +++ b/hackfest/restconf/topologyserver/.gitignore @@ -0,0 +1,64 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/hackfest/restconf/topologyserver/.swagger-codegen-ignore b/hackfest/restconf/topologyserver/.swagger-codegen-ignore new file mode 100644 index 0000000000000000000000000000000000000000..c5fa491b4c557bf997d5dd21797de782545dc9e5 --- /dev/null +++ b/hackfest/restconf/topologyserver/.swagger-codegen-ignore @@ -0,0 +1,23 @@ +# Swagger Codegen Ignore +# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/hackfest/restconf/topologyserver/.swagger-codegen/VERSION b/hackfest/restconf/topologyserver/.swagger-codegen/VERSION new file mode 100644 index 0000000000000000000000000000000000000000..e4a0720dd5141073dced1d64dddb6afd14bf26d3 --- /dev/null +++ b/hackfest/restconf/topologyserver/.swagger-codegen/VERSION @@ -0,0 +1 @@ +3.0.11 \ No newline at end of file diff --git a/hackfest/restconf/topologyserver/.travis.yml b/hackfest/restconf/topologyserver/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..dd6c4450aa902ae68479c3d76d45145e18d6052e --- /dev/null +++ b/hackfest/restconf/topologyserver/.travis.yml @@ -0,0 +1,13 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.2" + - "3.3" + - "3.4" + - "3.5" + #- "3.5-dev" # 3.5 development branch + #- "nightly" # points to the latest development branch e.g. 3.6-dev +# command to install dependencies +install: "pip install -r requirements.txt" +# command to run tests +script: nosetests diff --git a/hackfest/restconf/topologyserver/Dockerfile b/hackfest/restconf/topologyserver/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..f9243a5ad0d025c5481e5a81bac213f716242100 --- /dev/null +++ b/hackfest/restconf/topologyserver/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.6-alpine + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +COPY requirements.txt /usr/src/app/ + +RUN pip3 install --no-cache-dir -r requirements.txt + +COPY . /usr/src/app + +EXPOSE 8080 + +ENTRYPOINT ["python3"] + +CMD ["-m", "swagger_server"] \ No newline at end of file diff --git a/hackfest/restconf/topologyserver/README.md b/hackfest/restconf/topologyserver/README.md new file mode 100644 index 0000000000000000000000000000000000000000..857c30a462c3dbad326a7d0a6b7b278f36fb9bd9 --- /dev/null +++ b/hackfest/restconf/topologyserver/README.md @@ -0,0 +1,49 @@ +# Swagger generated server + +## Overview +This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the +[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This +is an example of building a swagger-enabled Flask server. + +This example uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask. + +## Requirements +Python 3.5.2+ + +## Usage +To run the server, please execute the following from the root directory: + +``` +pip3 install -r requirements.txt +python3 -m swagger_server +``` + +and open your browser to here: + +``` +http://localhost:8080/ui/ +``` + +Your Swagger definition lives here: + +``` +http://localhost:8080/swagger.json +``` + +To launch the integration tests, use tox: +``` +sudo pip install tox +tox +``` + +## Running with Docker + +To run the server on a Docker container, please execute the following from the root directory: + +```bash +# building the image +docker build -t swagger_server . + +# starting up a container +docker run -p 8080:8080 swagger_server +``` \ No newline at end of file diff --git a/hackfest/restconf/topologyserver/git_push.sh b/hackfest/restconf/topologyserver/git_push.sh new file mode 100644 index 0000000000000000000000000000000000000000..160f6f213999c7ae67839fbd6fc2ba0b72675832 --- /dev/null +++ b/hackfest/restconf/topologyserver/git_push.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=`git remote` +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' + diff --git a/hackfest/restconf/topologyserver/requirements.txt b/hackfest/restconf/topologyserver/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..b5bc506572753f5a29d2c1115a6ac15f34f09be8 --- /dev/null +++ b/hackfest/restconf/topologyserver/requirements.txt @@ -0,0 +1,3 @@ +connexion == 2.2.0 +python_dateutil == 2.6.0 +setuptools >= 21.0.0 diff --git a/hackfest/restconf/topologyserver/setup.py b/hackfest/restconf/topologyserver/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..69a77b68664be2b9e6d2375fbcedbf88c3c1da06 --- /dev/null +++ b/hackfest/restconf/topologyserver/setup.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +import sys +from setuptools import setup, find_packages + +NAME = "swagger_server" +VERSION = "1.0.0" +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["connexion"] + +setup( + name=NAME, + version=VERSION, + description="topology API", + author_email="", + url="", + keywords=["Swagger", "topology API"], + install_requires=REQUIRES, + packages=find_packages(), + package_data={'': ['swagger/swagger.yaml']}, + include_package_data=True, + entry_points={ + 'console_scripts': ['swagger_server=swagger_server.__main__:main']}, + long_description="""\ + topology API generated from yang definitions + """ +) diff --git a/hackfest/restconf/topologyserver/swagger_server/__init__.py b/hackfest/restconf/topologyserver/swagger_server/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/restconf/topologyserver/swagger_server/__main__.py b/hackfest/restconf/topologyserver/swagger_server/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..752351aee00ec887d121457a3bba84206c731374 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/__main__.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 + +import connexion + +from swagger_server import encoder + + +def main(): + app = connexion.App(__name__, specification_dir='./swagger/') + app.app.json_encoder = encoder.JSONEncoder + app.add_api('swagger.yaml', arguments={'title': 'topology API'}, pythonic_params=True) + app.run(port=8080) + + +if __name__ == '__main__': + main() diff --git a/hackfest/restconf/topologyserver/swagger_server/controllers/__init__.py b/hackfest/restconf/topologyserver/swagger_server/controllers/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/restconf/topologyserver/swagger_server/controllers/authorization_controller.py b/hackfest/restconf/topologyserver/swagger_server/controllers/authorization_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..2f7b0bb3e281b3fb9efb588dfc8ba4c8cc3a59ed --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/controllers/authorization_controller.py @@ -0,0 +1,6 @@ +from typing import List +""" +controller generated to handled auth operation described at: +https://connexion.readthedocs.io/en/latest/security.html +""" + diff --git a/hackfest/restconf/topologyserver/swagger_server/controllers/topology_controller.py b/hackfest/restconf/topologyserver/swagger_server/controllers/topology_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..068c9385d00c4a3191a7729dffde45735474c0ef --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/controllers/topology_controller.py @@ -0,0 +1,295 @@ +import connexion +import six + +from swagger_server.models.topology_link import TopologyLink # noqa: E501 +from swagger_server.models.topology_node import TopologyNode # noqa: E501 +from swagger_server.models.topology_port import TopologyPort # noqa: E501 +from swagger_server.models.topology_topology import TopologyTopology # noqa: E501 +from swagger_server import util + + +def data_topology_delete(): # noqa: E501 + """data_topology_delete + + removes topology.Topology # noqa: E501 + + + :rtype: None + """ + return 'do some magic!' + + +def data_topology_get(): # noqa: E501 + """data_topology_get + + returns topology.Topology # noqa: E501 + + + :rtype: TopologyTopology + """ + return 'do some magic!' + + +def data_topology_link_post(body=None): # noqa: E501 + """data_topology_link_post + + creates topology.Link # noqa: E501 + + :param body: topology.Link to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyLink.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_linklink_id_delete(link_id): # noqa: E501 + """data_topology_linklink_id_delete + + removes topology.Link # noqa: E501 + + :param link_id: Id of link + :type link_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_topology_linklink_id_get(link_id): # noqa: E501 + """data_topology_linklink_id_get + + returns topology.Link # noqa: E501 + + :param link_id: Id of link + :type link_id: str + + :rtype: TopologyLink + """ + return 'do some magic!' + + +def data_topology_linklink_id_post(link_id, body=None): # noqa: E501 + """data_topology_linklink_id_post + + creates topology.Link # noqa: E501 + + :param link_id: Id of link + :type link_id: str + :param body: topology.Link to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyLink.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_linklink_id_put(link_id, body=None): # noqa: E501 + """data_topology_linklink_id_put + + creates or updates topology.Link # noqa: E501 + + :param link_id: Id of link + :type link_id: str + :param body: topology.Link to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyLink.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_node_post(body=None): # noqa: E501 + """data_topology_node_post + + creates topology.Node # noqa: E501 + + :param body: topology.Node to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyNode.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_nodenode_id_delete(node_id): # noqa: E501 + """data_topology_nodenode_id_delete + + removes topology.Node # noqa: E501 + + :param node_id: Id of node + :type node_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_topology_nodenode_id_get(node_id): # noqa: E501 + """data_topology_nodenode_id_get + + returns topology.Node # noqa: E501 + + :param node_id: Id of node + :type node_id: str + + :rtype: TopologyNode + """ + return 'do some magic!' + + +def data_topology_nodenode_id_port_post(node_id, body=None): # noqa: E501 + """data_topology_nodenode_id_port_post + + creates topology.Port # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param body: topology.Port to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyPort.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_nodenode_id_portport_id_delete(node_id, port_id): # noqa: E501 + """data_topology_nodenode_id_portport_id_delete + + removes topology.Port # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param port_id: Id of port + :type port_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_topology_nodenode_id_portport_id_get(node_id, port_id): # noqa: E501 + """data_topology_nodenode_id_portport_id_get + + returns topology.Port # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param port_id: Id of port + :type port_id: str + + :rtype: TopologyPort + """ + return 'do some magic!' + + +def data_topology_nodenode_id_portport_id_post(node_id, port_id, body=None): # noqa: E501 + """data_topology_nodenode_id_portport_id_post + + creates topology.Port # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param port_id: Id of port + :type port_id: str + :param body: topology.Port to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyPort.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_nodenode_id_portport_id_put(node_id, port_id, body=None): # noqa: E501 + """data_topology_nodenode_id_portport_id_put + + creates or updates topology.Port # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param port_id: Id of port + :type port_id: str + :param body: topology.Port to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyPort.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_nodenode_id_post(node_id, body=None): # noqa: E501 + """data_topology_nodenode_id_post + + creates topology.Node # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param body: topology.Node to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyNode.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_nodenode_id_put(node_id, body=None): # noqa: E501 + """data_topology_nodenode_id_put + + creates or updates topology.Node # noqa: E501 + + :param node_id: Id of node + :type node_id: str + :param body: topology.Node to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyNode.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_post(body=None): # noqa: E501 + """data_topology_post + + creates topology.Topology # noqa: E501 + + :param body: topology.Topology to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyTopology.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_topology_put(body=None): # noqa: E501 + """data_topology_put + + creates or updates topology.Topology # noqa: E501 + + :param body: topology.Topology to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TopologyTopology.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/hackfest/restconf/topologyserver/swagger_server/encoder.py b/hackfest/restconf/topologyserver/swagger_server/encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..61ba4721961a65d38af5d5ce2948b0abe9c7aa58 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/encoder.py @@ -0,0 +1,20 @@ +from connexion.apps.flask_app import FlaskJSONEncoder +import six + +from swagger_server.models.base_model_ import Model + + +class JSONEncoder(FlaskJSONEncoder): + include_nulls = False + + def default(self, o): + if isinstance(o, Model): + dikt = {} + for attr, _ in six.iteritems(o.swagger_types): + value = getattr(o, attr) + if value is None and not self.include_nulls: + continue + attr = o.attribute_map[attr] + dikt[attr] = value + return dikt + return FlaskJSONEncoder.default(self, o) diff --git a/hackfest/restconf/topologyserver/swagger_server/models/__init__.py b/hackfest/restconf/topologyserver/swagger_server/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a2b223948a5b83c2ad25221d89643579e1e75f2a --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/__init__.py @@ -0,0 +1,10 @@ +# coding: utf-8 + +# flake8: noqa +from __future__ import absolute_import +# import models into model package +from swagger_server.models.topology_layer_protocol_name import TopologyLayerProtocolName +from swagger_server.models.topology_link import TopologyLink +from swagger_server.models.topology_node import TopologyNode +from swagger_server.models.topology_port import TopologyPort +from swagger_server.models.topology_topology import TopologyTopology diff --git a/hackfest/restconf/topologyserver/swagger_server/models/base_model_.py b/hackfest/restconf/topologyserver/swagger_server/models/base_model_.py new file mode 100644 index 0000000000000000000000000000000000000000..97999c3d3237c287013b2139acb9858a52b454e8 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/base_model_.py @@ -0,0 +1,69 @@ +import pprint + +import six +import typing + +from swagger_server import util + +T = typing.TypeVar('T') + + +class Model(object): + # swaggerTypes: The key is attribute name and the + # value is attribute type. + swagger_types = {} + + # attributeMap: The key is attribute name and the + # value is json key in definition. + attribute_map = {} + + @classmethod + def from_dict(cls: typing.Type[T], dikt) -> T: + """Returns the dict as a model""" + return util.deserialize_model(dikt, cls) + + def to_dict(self): + """Returns the model properties as a dict + + :rtype: dict + """ + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + + return result + + def to_str(self): + """Returns the string representation of the model + + :rtype: str + """ + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/hackfest/restconf/topologyserver/swagger_server/models/topology_layer_protocol_name.py b/hackfest/restconf/topologyserver/swagger_server/models/topology_layer_protocol_name.py new file mode 100644 index 0000000000000000000000000000000000000000..2ea9beed2bf84b9288fb5829ebcabd2440d5a81b --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/topology_layer_protocol_name.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server import util + + +class TopologyLayerProtocolName(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + ETH = "ETH" + OPTICAL = "OPTICAL" + def __init__(self): # noqa: E501 + """TopologyLayerProtocolName - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TopologyLayerProtocolName': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The topology.LayerProtocolName of this TopologyLayerProtocolName. # noqa: E501 + :rtype: TopologyLayerProtocolName + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/restconf/topologyserver/swagger_server/models/topology_link.py b/hackfest/restconf/topologyserver/swagger_server/models/topology_link.py new file mode 100644 index 0000000000000000000000000000000000000000..536e45c4201db476de7792d94711cd600803f17d --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/topology_link.py @@ -0,0 +1,166 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server import util + + +class TopologyLink(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, target_port: str=None, source_port: str=None, target_node: str=None, link_id: str=None, source_node: str=None): # noqa: E501 + """TopologyLink - a model defined in Swagger + + :param target_port: The target_port of this TopologyLink. # noqa: E501 + :type target_port: str + :param source_port: The source_port of this TopologyLink. # noqa: E501 + :type source_port: str + :param target_node: The target_node of this TopologyLink. # noqa: E501 + :type target_node: str + :param link_id: The link_id of this TopologyLink. # noqa: E501 + :type link_id: str + :param source_node: The source_node of this TopologyLink. # noqa: E501 + :type source_node: str + """ + self.swagger_types = { + 'target_port': str, + 'source_port': str, + 'target_node': str, + 'link_id': str, + 'source_node': str + } + + self.attribute_map = { + 'target_port': 'target-port', + 'source_port': 'source-port', + 'target_node': 'target-node', + 'link_id': 'link-id', + 'source_node': 'source-node' + } + self._target_port = target_port + self._source_port = source_port + self._target_node = target_node + self._link_id = link_id + self._source_node = source_node + + @classmethod + def from_dict(cls, dikt) -> 'TopologyLink': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The topology.Link of this TopologyLink. # noqa: E501 + :rtype: TopologyLink + """ + return util.deserialize_model(dikt, cls) + + @property + def target_port(self) -> str: + """Gets the target_port of this TopologyLink. + + + :return: The target_port of this TopologyLink. + :rtype: str + """ + return self._target_port + + @target_port.setter + def target_port(self, target_port: str): + """Sets the target_port of this TopologyLink. + + + :param target_port: The target_port of this TopologyLink. + :type target_port: str + """ + + self._target_port = target_port + + @property + def source_port(self) -> str: + """Gets the source_port of this TopologyLink. + + + :return: The source_port of this TopologyLink. + :rtype: str + """ + return self._source_port + + @source_port.setter + def source_port(self, source_port: str): + """Sets the source_port of this TopologyLink. + + + :param source_port: The source_port of this TopologyLink. + :type source_port: str + """ + + self._source_port = source_port + + @property + def target_node(self) -> str: + """Gets the target_node of this TopologyLink. + + + :return: The target_node of this TopologyLink. + :rtype: str + """ + return self._target_node + + @target_node.setter + def target_node(self, target_node: str): + """Sets the target_node of this TopologyLink. + + + :param target_node: The target_node of this TopologyLink. + :type target_node: str + """ + + self._target_node = target_node + + @property + def link_id(self) -> str: + """Gets the link_id of this TopologyLink. + + + :return: The link_id of this TopologyLink. + :rtype: str + """ + return self._link_id + + @link_id.setter + def link_id(self, link_id: str): + """Sets the link_id of this TopologyLink. + + + :param link_id: The link_id of this TopologyLink. + :type link_id: str + """ + + self._link_id = link_id + + @property + def source_node(self) -> str: + """Gets the source_node of this TopologyLink. + + + :return: The source_node of this TopologyLink. + :rtype: str + """ + return self._source_node + + @source_node.setter + def source_node(self, source_node: str): + """Sets the source_node of this TopologyLink. + + + :param source_node: The source_node of this TopologyLink. + :type source_node: str + """ + + self._source_node = source_node diff --git a/hackfest/restconf/topologyserver/swagger_server/models/topology_node.py b/hackfest/restconf/topologyserver/swagger_server/models/topology_node.py new file mode 100644 index 0000000000000000000000000000000000000000..811038a0c5876b6e46f0555866bf46af71930f75 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/topology_node.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server.models.topology_port import TopologyPort # noqa: F401,E501 +from swagger_server import util + + +class TopologyNode(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_id: str=None, port: List[TopologyPort]=None): # noqa: E501 + """TopologyNode - a model defined in Swagger + + :param node_id: The node_id of this TopologyNode. # noqa: E501 + :type node_id: str + :param port: The port of this TopologyNode. # noqa: E501 + :type port: List[TopologyPort] + """ + self.swagger_types = { + 'node_id': str, + 'port': List[TopologyPort] + } + + self.attribute_map = { + 'node_id': 'node-id', + 'port': 'port' + } + self._node_id = node_id + self._port = port + + @classmethod + def from_dict(cls, dikt) -> 'TopologyNode': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The topology.Node of this TopologyNode. # noqa: E501 + :rtype: TopologyNode + """ + return util.deserialize_model(dikt, cls) + + @property + def node_id(self) -> str: + """Gets the node_id of this TopologyNode. + + + :return: The node_id of this TopologyNode. + :rtype: str + """ + return self._node_id + + @node_id.setter + def node_id(self, node_id: str): + """Sets the node_id of this TopologyNode. + + + :param node_id: The node_id of this TopologyNode. + :type node_id: str + """ + + self._node_id = node_id + + @property + def port(self) -> List[TopologyPort]: + """Gets the port of this TopologyNode. + + + :return: The port of this TopologyNode. + :rtype: List[TopologyPort] + """ + return self._port + + @port.setter + def port(self, port: List[TopologyPort]): + """Sets the port of this TopologyNode. + + + :param port: The port of this TopologyNode. + :type port: List[TopologyPort] + """ + + self._port = port diff --git a/hackfest/restconf/topologyserver/swagger_server/models/topology_port.py b/hackfest/restconf/topologyserver/swagger_server/models/topology_port.py new file mode 100644 index 0000000000000000000000000000000000000000..7f6431baa9db534a2775171702db1c34cefcad15 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/topology_port.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server.models.topology_layer_protocol_name import TopologyLayerProtocolName # noqa: F401,E501 +from swagger_server import util + + +class TopologyPort(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, layer_protocol_name: TopologyLayerProtocolName=None, port_id: str=None): # noqa: E501 + """TopologyPort - a model defined in Swagger + + :param layer_protocol_name: The layer_protocol_name of this TopologyPort. # noqa: E501 + :type layer_protocol_name: TopologyLayerProtocolName + :param port_id: The port_id of this TopologyPort. # noqa: E501 + :type port_id: str + """ + self.swagger_types = { + 'layer_protocol_name': TopologyLayerProtocolName, + 'port_id': str + } + + self.attribute_map = { + 'layer_protocol_name': 'layer-protocol-name', + 'port_id': 'port-id' + } + self._layer_protocol_name = layer_protocol_name + self._port_id = port_id + + @classmethod + def from_dict(cls, dikt) -> 'TopologyPort': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The topology.Port of this TopologyPort. # noqa: E501 + :rtype: TopologyPort + """ + return util.deserialize_model(dikt, cls) + + @property + def layer_protocol_name(self) -> TopologyLayerProtocolName: + """Gets the layer_protocol_name of this TopologyPort. + + + :return: The layer_protocol_name of this TopologyPort. + :rtype: TopologyLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TopologyLayerProtocolName): + """Sets the layer_protocol_name of this TopologyPort. + + + :param layer_protocol_name: The layer_protocol_name of this TopologyPort. + :type layer_protocol_name: TopologyLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def port_id(self) -> str: + """Gets the port_id of this TopologyPort. + + + :return: The port_id of this TopologyPort. + :rtype: str + """ + return self._port_id + + @port_id.setter + def port_id(self, port_id: str): + """Sets the port_id of this TopologyPort. + + + :param port_id: The port_id of this TopologyPort. + :type port_id: str + """ + + self._port_id = port_id diff --git a/hackfest/restconf/topologyserver/swagger_server/models/topology_topology.py b/hackfest/restconf/topologyserver/swagger_server/models/topology_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..5f90f6fa52aade6732fdf9c0949b31e1550a6541 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/models/topology_topology.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from swagger_server.models.base_model_ import Model +from swagger_server.models.topology_link import TopologyLink # noqa: F401,E501 +from swagger_server.models.topology_node import TopologyNode # noqa: F401,E501 +from swagger_server import util + + +class TopologyTopology(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, link: List[TopologyLink]=None, node: List[TopologyNode]=None): # noqa: E501 + """TopologyTopology - a model defined in Swagger + + :param link: The link of this TopologyTopology. # noqa: E501 + :type link: List[TopologyLink] + :param node: The node of this TopologyTopology. # noqa: E501 + :type node: List[TopologyNode] + """ + self.swagger_types = { + 'link': List[TopologyLink], + 'node': List[TopologyNode] + } + + self.attribute_map = { + 'link': 'link', + 'node': 'node' + } + self._link = link + self._node = node + + @classmethod + def from_dict(cls, dikt) -> 'TopologyTopology': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The topology.Topology of this TopologyTopology. # noqa: E501 + :rtype: TopologyTopology + """ + return util.deserialize_model(dikt, cls) + + @property + def link(self) -> List[TopologyLink]: + """Gets the link of this TopologyTopology. + + + :return: The link of this TopologyTopology. + :rtype: List[TopologyLink] + """ + return self._link + + @link.setter + def link(self, link: List[TopologyLink]): + """Sets the link of this TopologyTopology. + + + :param link: The link of this TopologyTopology. + :type link: List[TopologyLink] + """ + + self._link = link + + @property + def node(self) -> List[TopologyNode]: + """Gets the node of this TopologyTopology. + + + :return: The node of this TopologyTopology. + :rtype: List[TopologyNode] + """ + return self._node + + @node.setter + def node(self, node: List[TopologyNode]): + """Sets the node of this TopologyTopology. + + + :param node: The node of this TopologyTopology. + :type node: List[TopologyNode] + """ + + self._node = node diff --git a/hackfest/restconf/topologyserver/swagger_server/swagger/swagger.yaml b/hackfest/restconf/topologyserver/swagger_server/swagger/swagger.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c359192088f24b3ec2fbde3a433519b7fbf1cfa7 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/swagger/swagger.yaml @@ -0,0 +1,592 @@ +openapi: 3.0.1 +info: + title: topology API + description: topology API generated from yang definitions + version: "1.0" +servers: +- url: //localhost:1234/ +paths: + /data/topology/: + get: + tags: + - topology + description: returns topology.Topology + operationId: data_topology_get + responses: + 200: + description: topology.Topology + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Topology' + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + put: + tags: + - topology + description: creates or updates topology.Topology + operationId: data_topology_put + requestBody: + description: topology.Topology to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Topology' + required: false + responses: + 201: + description: Object created + content: {} + 204: + description: Object modified + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + post: + tags: + - topology + description: creates topology.Topology + operationId: data_topology_post + requestBody: + description: topology.Topology to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Topology' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + delete: + tags: + - topology + description: removes topology.Topology + operationId: data_topology_delete + responses: + 204: + description: Object deleted + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + /data/topology/link/: + post: + tags: + - topology + description: creates topology.Link + operationId: data_topology_link_post + requestBody: + description: topology.Link to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Link' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + /data/topology/link={link-id}/: + get: + tags: + - topology + description: returns topology.Link + operationId: data_topology_linklink_id_get + parameters: + - name: link-id + in: path + description: Id of link + required: true + schema: + type: string + responses: + 200: + description: topology.Link + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Link' + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + put: + tags: + - topology + description: creates or updates topology.Link + operationId: data_topology_linklink_id_put + parameters: + - name: link-id + in: path + description: Id of link + required: true + schema: + type: string + requestBody: + description: topology.Link to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Link' + required: false + responses: + 201: + description: Object created + content: {} + 204: + description: Object modified + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + post: + tags: + - topology + description: creates topology.Link + operationId: data_topology_linklink_id_post + parameters: + - name: link-id + in: path + description: Id of link + required: true + schema: + type: string + requestBody: + description: topology.Link to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Link' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + delete: + tags: + - topology + description: removes topology.Link + operationId: data_topology_linklink_id_delete + parameters: + - name: link-id + in: path + description: Id of link + required: true + schema: + type: string + responses: + 204: + description: Object deleted + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + /data/topology/node/: + post: + tags: + - topology + description: creates topology.Node + operationId: data_topology_node_post + requestBody: + description: topology.Node to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Node' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + /data/topology/node={node-id}/: + get: + tags: + - topology + description: returns topology.Node + operationId: data_topology_nodenode_id_get + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + responses: + 200: + description: topology.Node + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Node' + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + put: + tags: + - topology + description: creates or updates topology.Node + operationId: data_topology_nodenode_id_put + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + requestBody: + description: topology.Node to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Node' + required: false + responses: + 201: + description: Object created + content: {} + 204: + description: Object modified + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + post: + tags: + - topology + description: creates topology.Node + operationId: data_topology_nodenode_id_post + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + requestBody: + description: topology.Node to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Node' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + delete: + tags: + - topology + description: removes topology.Node + operationId: data_topology_nodenode_id_delete + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + responses: + 204: + description: Object deleted + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + /data/topology/node={node-id}/port/: + post: + tags: + - topology + description: creates topology.Port + operationId: data_topology_nodenode_id_port_post + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + requestBody: + description: topology.Port to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Port' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + /data/topology/node={node-id}/port={port-id}/: + get: + tags: + - topology + description: returns topology.Port + operationId: data_topology_nodenode_id_portport_id_get + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + - name: port-id + in: path + description: Id of port + required: true + schema: + type: string + responses: + 200: + description: topology.Port + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Port' + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + put: + tags: + - topology + description: creates or updates topology.Port + operationId: data_topology_nodenode_id_portport_id_put + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + - name: port-id + in: path + description: Id of port + required: true + schema: + type: string + requestBody: + description: topology.Port to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Port' + required: false + responses: + 201: + description: Object created + content: {} + 204: + description: Object modified + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + post: + tags: + - topology + description: creates topology.Port + operationId: data_topology_nodenode_id_portport_id_post + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + - name: port-id + in: path + description: Id of port + required: true + schema: + type: string + requestBody: + description: topology.Port to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/topology.Port' + required: false + responses: + 201: + description: Object created + content: {} + 400: + description: Internal error + content: {} + 409: + description: Object already exists + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller + delete: + tags: + - topology + description: removes topology.Port + operationId: data_topology_nodenode_id_portport_id_delete + parameters: + - name: node-id + in: path + description: Id of node + required: true + schema: + type: string + - name: port-id + in: path + description: Id of port + required: true + schema: + type: string + responses: + 204: + description: Object deleted + content: {} + 400: + description: Internal error + content: {} + x-openapi-router-controller: swagger_server.controllers.topology_controller +components: + schemas: + topology.LayerProtocolName: + type: string + enum: + - ETH + - OPTICAL + topology.Link: + type: object + properties: + target-port: + type: string + x-path: /topology/node/port/port-id + source-port: + type: string + x-path: /topology/node/port/port-id + target-node: + type: string + x-path: /topology/node/node-id + link-id: + type: string + source-node: + type: string + x-path: /topology/node/node-id + example: + target-port: target-port + source-port: source-port + target-node: target-node + link-id: link-id + source-node: source-node + topology.Node: + type: object + properties: + node-id: + type: string + port: + type: array + items: + $ref: '#/components/schemas/topology.Port' + example: + node-id: node-id + port: + - layer-protocol-name: ETH + port-id: port-id + - layer-protocol-name: ETH + port-id: port-id + topology.Port: + type: object + properties: + layer-protocol-name: + $ref: '#/components/schemas/topology.LayerProtocolName' + port-id: + type: string + example: + layer-protocol-name: ETH + port-id: port-id + topology.Topology: + type: object + properties: + link: + type: array + items: + $ref: '#/components/schemas/topology.Link' + node: + type: array + items: + $ref: '#/components/schemas/topology.Node' + example: + node: + - node-id: node-id + port: + - layer-protocol-name: ETH + port-id: port-id + - layer-protocol-name: ETH + port-id: port-id + - node-id: node-id + port: + - layer-protocol-name: ETH + port-id: port-id + - layer-protocol-name: ETH + port-id: port-id + link: + - target-port: target-port + source-port: source-port + target-node: target-node + link-id: link-id + source-node: source-node + - target-port: target-port + source-port: source-port + target-node: target-node + link-id: link-id + source-node: source-node + diff --git a/hackfest/restconf/topologyserver/swagger_server/test/__init__.py b/hackfest/restconf/topologyserver/swagger_server/test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..644506301ce077f2e881fcda3454b6cba362ab5e --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from swagger_server.encoder import JSONEncoder + + +class BaseTestCase(TestCase): + + def create_app(self): + logging.getLogger('connexion.operation').setLevel('ERROR') + app = connexion.App(__name__, specification_dir='../swagger/') + app.app.json_encoder = JSONEncoder + app.add_api('swagger.yaml') + return app.app diff --git a/hackfest/restconf/topologyserver/swagger_server/test/test_topology_controller.py b/hackfest/restconf/topologyserver/swagger_server/test/test_topology_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..69c6a2fa734c174df514d09a58c6db25be4b63c3 --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/test/test_topology_controller.py @@ -0,0 +1,263 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from swagger_server.models.topology_link import TopologyLink # noqa: E501 +from swagger_server.models.topology_node import TopologyNode # noqa: E501 +from swagger_server.models.topology_port import TopologyPort # noqa: E501 +from swagger_server.models.topology_topology import TopologyTopology # noqa: E501 +from swagger_server.test import BaseTestCase + + +class TestTopologyController(BaseTestCase): + """TopologyController integration test stubs""" + + def test_data_topology_delete(self): + """Test case for data_topology_delete + + + """ + response = self.client.open( + '/data/topology/', + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_get(self): + """Test case for data_topology_get + + + """ + response = self.client.open( + '/data/topology/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_link_post(self): + """Test case for data_topology_link_post + + + """ + body = TopologyLink() + response = self.client.open( + '/data/topology/link/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_linklink_id_delete(self): + """Test case for data_topology_linklink_id_delete + + + """ + response = self.client.open( + '/data/topology/link={link-id}/'.format(link_id='link_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_linklink_id_get(self): + """Test case for data_topology_linklink_id_get + + + """ + response = self.client.open( + '/data/topology/link={link-id}/'.format(link_id='link_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_linklink_id_post(self): + """Test case for data_topology_linklink_id_post + + + """ + body = TopologyLink() + response = self.client.open( + '/data/topology/link={link-id}/'.format(link_id='link_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_linklink_id_put(self): + """Test case for data_topology_linklink_id_put + + + """ + body = TopologyLink() + response = self.client.open( + '/data/topology/link={link-id}/'.format(link_id='link_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_node_post(self): + """Test case for data_topology_node_post + + + """ + body = TopologyNode() + response = self.client.open( + '/data/topology/node/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_delete(self): + """Test case for data_topology_nodenode_id_delete + + + """ + response = self.client.open( + '/data/topology/node={node-id}/'.format(node_id='node_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_get(self): + """Test case for data_topology_nodenode_id_get + + + """ + response = self.client.open( + '/data/topology/node={node-id}/'.format(node_id='node_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_port_post(self): + """Test case for data_topology_nodenode_id_port_post + + + """ + body = TopologyPort() + response = self.client.open( + '/data/topology/node={node-id}/port/'.format(node_id='node_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_portport_id_delete(self): + """Test case for data_topology_nodenode_id_portport_id_delete + + + """ + response = self.client.open( + '/data/topology/node={node-id}/port={port-id}/'.format(node_id='node_id_example', port_id='port_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_portport_id_get(self): + """Test case for data_topology_nodenode_id_portport_id_get + + + """ + response = self.client.open( + '/data/topology/node={node-id}/port={port-id}/'.format(node_id='node_id_example', port_id='port_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_portport_id_post(self): + """Test case for data_topology_nodenode_id_portport_id_post + + + """ + body = TopologyPort() + response = self.client.open( + '/data/topology/node={node-id}/port={port-id}/'.format(node_id='node_id_example', port_id='port_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_portport_id_put(self): + """Test case for data_topology_nodenode_id_portport_id_put + + + """ + body = TopologyPort() + response = self.client.open( + '/data/topology/node={node-id}/port={port-id}/'.format(node_id='node_id_example', port_id='port_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_post(self): + """Test case for data_topology_nodenode_id_post + + + """ + body = TopologyNode() + response = self.client.open( + '/data/topology/node={node-id}/'.format(node_id='node_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_nodenode_id_put(self): + """Test case for data_topology_nodenode_id_put + + + """ + body = TopologyNode() + response = self.client.open( + '/data/topology/node={node-id}/'.format(node_id='node_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_post(self): + """Test case for data_topology_post + + + """ + body = TopologyTopology() + response = self.client.open( + '/data/topology/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_topology_put(self): + """Test case for data_topology_put + + + """ + body = TopologyTopology() + response = self.client.open( + '/data/topology/', + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/restconf/topologyserver/swagger_server/util.py b/hackfest/restconf/topologyserver/swagger_server/util.py new file mode 100644 index 0000000000000000000000000000000000000000..527d1424c3d5563073b18b4da1a9904b2cb6b62b --- /dev/null +++ b/hackfest/restconf/topologyserver/swagger_server/util.py @@ -0,0 +1,141 @@ +import datetime + +import six +import typing + + +def _deserialize(data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if klass in six.integer_types or klass in (float, str, bool): + return _deserialize_primitive(data, klass) + elif klass == object: + return _deserialize_object(data) + elif klass == datetime.date: + return deserialize_date(data) + elif klass == datetime.datetime: + return deserialize_datetime(data) + elif type(klass) == typing.GenericMeta: + if klass.__extra__ == list: + return _deserialize_list(data, klass.__args__[0]) + if klass.__extra__ == dict: + return _deserialize_dict(data, klass.__args__[1]) + else: + return deserialize_model(data, klass) + + +def _deserialize_primitive(data, klass): + """Deserializes to primitive type. + + :param data: data to deserialize. + :param klass: class literal. + + :return: int, long, float, str, bool. + :rtype: int | long | float | str | bool + """ + try: + value = klass(data) + except UnicodeEncodeError: + value = six.u(data) + except TypeError: + value = data + return value + + +def _deserialize_object(value): + """Return a original value. + + :return: object. + """ + return value + + +def deserialize_date(string): + """Deserializes string to date. + + :param string: str. + :type string: str + :return: date. + :rtype: date + """ + try: + from dateutil.parser import parse + return parse(string).date() + except ImportError: + return string + + +def deserialize_datetime(string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :type string: str + :return: datetime. + :rtype: datetime + """ + try: + from dateutil.parser import parse + return parse(string) + except ImportError: + return string + + +def deserialize_model(data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :type data: dict | list + :param klass: class literal. + :return: model object. + """ + instance = klass() + + if not instance.swagger_types: + return data + + for attr, attr_type in six.iteritems(instance.swagger_types): + if data is not None \ + and instance.attribute_map[attr] in data \ + and isinstance(data, (list, dict)): + value = data[instance.attribute_map[attr]] + setattr(instance, attr, _deserialize(value, attr_type)) + + return instance + + +def _deserialize_list(data, boxed_type): + """Deserializes a list and its elements. + + :param data: list to deserialize. + :type data: list + :param boxed_type: class literal. + + :return: deserialized list. + :rtype: list + """ + return [_deserialize(sub_data, boxed_type) + for sub_data in data] + + +def _deserialize_dict(data, boxed_type): + """Deserializes a dict and its elements. + + :param data: dict to deserialize. + :type data: dict + :param boxed_type: class literal. + + :return: deserialized dict. + :rtype: dict + """ + return {k: _deserialize(v, boxed_type) + for k, v in six.iteritems(data)} diff --git a/hackfest/restconf/topologyserver/test-requirements.txt b/hackfest/restconf/topologyserver/test-requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f8d96e6b40e853d658f88fa745ddcf37ff7644c --- /dev/null +++ b/hackfest/restconf/topologyserver/test-requirements.txt @@ -0,0 +1,6 @@ +flask_testing==0.6.1 +coverage>=4.0.3 +nose>=1.3.7 +pluggy>=0.3.1 +py>=1.4.31 +randomize>=0.13 diff --git a/hackfest/restconf/topologyserver/tox.ini b/hackfest/restconf/topologyserver/tox.ini new file mode 100644 index 0000000000000000000000000000000000000000..3e0b644eec48f0d6d63f028c28315ca0eda5896f --- /dev/null +++ b/hackfest/restconf/topologyserver/tox.ini @@ -0,0 +1,10 @@ +[tox] +envlist = py35 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + nosetests \ + [] \ No newline at end of file diff --git a/hackfest/tapi/client/cs1.json b/hackfest/tapi/client/cs1.json new file mode 100644 index 0000000000000000000000000000000000000000..06290e137a280bb01b9de5adf98c4aaa9b73c122 --- /dev/null +++ b/hackfest/tapi/client/cs1.json @@ -0,0 +1,28 @@ +{ + "tapi-connectivity:connectivity-service": [ + { + "uuid" : "cs1", + "service-type":"POINT_TO_POINT_CONNECTIVITY", + "connectivity-constraint": { + "requested-capacity": {"total-size": { "value": "50", "unit": "GHz" }}, + "connectivity-direction": "UNIDIRECTIONAL" + }, + "end-point": [ + { + "local-id": "csep-1", + "layer-protocol-name": "PHOTONIC_MEDIA", + "service-interface-point": { + "service-interface-point-uuid": "node-1-port-13-input" + } + }, + { + "local-id":"csep-2", + "layer-protocol-name":"PHOTONIC_MEDIA", + "service-interface-point": { + "service-interface-point-uuid": "node-2-port-14-output" + } + } + ] + } + ] +} diff --git a/hackfest/tapi/client/tapi-client.sh b/hackfest/tapi/client/tapi-client.sh new file mode 100755 index 0000000000000000000000000000000000000000..a591a2006b06e9dcc6f13b85d9ff870bdca0c359 --- /dev/null +++ b/hackfest/tapi/client/tapi-client.sh @@ -0,0 +1,51 @@ +#Example CURL for TAPI 2.0 + +#Get Context +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/ + +#Get Service Interface Points +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/service-interface-point/ + +#Get SIP sip-pe1-uni1 +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/service-interface-point/sip-pe1-uni1/ + +#Get topologies +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/ + +#Get topology topo-nwk +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/ + +#Get nodes +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/node/ + +#Get node 1 +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/node/node-pe-1/ + +#Get NEP list +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/node/node-pe-1/owned-node-edge-point/ + +#Get NEP NEP_PE_01_UNI1 +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/node/node-pe-1/owned-node-edge-point/NEP_PE_01_UNI1/ + +#Get links +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/link/ + +#Get link 1-3 +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/topology/topo-nwk/link/PE1_NNI3_PI3_NNI1/ + +#Create Connectivity Service +curl -X POST -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/connectivity-service/cs1/ -d @cs1.json + +#Get Connectivity Services +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/connectivity-service/ + +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/connectivity-service/cs1/ + +#Get connection +curl -X GET -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/connection/cs1/ + +#Delete Connectivity Services +curl -X DELETE -H "Content-Type: application/json" http://127.0.0.1:8080/restconf/config/context/connectivity-service/cs1/ + + + diff --git a/hackfest/tapi/codegen-config.json b/hackfest/tapi/codegen-config.json new file mode 100644 index 0000000000000000000000000000000000000000..be1ca6ac0958b42ec611cf9ff1a5cc228e4e7273 --- /dev/null +++ b/hackfest/tapi/codegen-config.json @@ -0,0 +1,4 @@ +{ + "packageName": "tapi_server", + "packageVersion": "2.1.3" +} diff --git a/hackfest/tapi/server/.dockerignore b/hackfest/tapi/server/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..cdd823e64e7e91ae85da84f22410ecb7eb370ae2 --- /dev/null +++ b/hackfest/tapi/server/.dockerignore @@ -0,0 +1,72 @@ +.travis.yaml +.swagger-codegen-ignore +README.md +tox.ini +git_push.sh +test-requirements.txt +setup.py + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/hackfest/tapi/server/.gitignore b/hackfest/tapi/server/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a655050c2631466828b5b8bfc59ae27f9ac02dc5 --- /dev/null +++ b/hackfest/tapi/server/.gitignore @@ -0,0 +1,64 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/hackfest/tapi/server/.swagger-codegen-ignore b/hackfest/tapi/server/.swagger-codegen-ignore new file mode 100644 index 0000000000000000000000000000000000000000..c5fa491b4c557bf997d5dd21797de782545dc9e5 --- /dev/null +++ b/hackfest/tapi/server/.swagger-codegen-ignore @@ -0,0 +1,23 @@ +# Swagger Codegen Ignore +# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/hackfest/tapi/server/.swagger-codegen/VERSION b/hackfest/tapi/server/.swagger-codegen/VERSION new file mode 100644 index 0000000000000000000000000000000000000000..053a355ae8764725498657904f6aa8f694204d4a --- /dev/null +++ b/hackfest/tapi/server/.swagger-codegen/VERSION @@ -0,0 +1 @@ +3.0.35 \ No newline at end of file diff --git a/hackfest/tapi/server/.travis.yml b/hackfest/tapi/server/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..dd6c4450aa902ae68479c3d76d45145e18d6052e --- /dev/null +++ b/hackfest/tapi/server/.travis.yml @@ -0,0 +1,13 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.2" + - "3.3" + - "3.4" + - "3.5" + #- "3.5-dev" # 3.5 development branch + #- "nightly" # points to the latest development branch e.g. 3.6-dev +# command to install dependencies +install: "pip install -r requirements.txt" +# command to run tests +script: nosetests diff --git a/hackfest/tapi/server/Acknowledgements.txt b/hackfest/tapi/server/Acknowledgements.txt new file mode 100644 index 0000000000000000000000000000000000000000..288a31e12df8aef0f2c8098c64a2f48b9fc11faf --- /dev/null +++ b/hackfest/tapi/server/Acknowledgements.txt @@ -0,0 +1,3 @@ +# [Ref-1]: https://github.com/OpenNetworkingFoundation/TAPI +# [Ref-2]: https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.3/YANG +# [Ref-3]: https://github.com/OpenNetworkingFoundation/TAPI/tree/develop/RI diff --git a/hackfest/tapi/server/Dockerfile b/hackfest/tapi/server/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..c9fdfe31e488e27eb023f38f521d65dc0896b11f --- /dev/null +++ b/hackfest/tapi/server/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.6-alpine + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +COPY requirements.txt /usr/src/app/ + +RUN pip3 install --no-cache-dir -r requirements.txt + +COPY . /usr/src/app + +EXPOSE 8080 + +ENTRYPOINT ["python3"] + +CMD ["-m", "tapi_server"] \ No newline at end of file diff --git a/hackfest/tapi/server/README.md b/hackfest/tapi/server/README.md new file mode 100644 index 0000000000000000000000000000000000000000..3ddda50fb38fe89c346c95bc08914665da155a19 --- /dev/null +++ b/hackfest/tapi/server/README.md @@ -0,0 +1,49 @@ +# Swagger generated server + +## Overview +This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the +[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This +is an example of building a swagger-enabled Flask server. + +This example uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask. + +## Requirements +Python 3.5.2+ + +## Usage +To run the server, please execute the following from the root directory: + +``` +pip3 install -r requirements.txt +python3 -m tapi_server +``` + +and open your browser to here: + +``` +http://localhost:8080/ui/ +``` + +Your Swagger definition lives here: + +``` +http://localhost:8080/swagger.json +``` + +To launch the integration tests, use tox: +``` +sudo pip install tox +tox +``` + +## Running with Docker + +To run the server on a Docker container, please execute the following from the root directory: + +```bash +# building the image +docker build -t tapi_server . + +# starting up a container +docker run -p 8080:8080 tapi_server +``` \ No newline at end of file diff --git a/hackfest/tapi/server/git_push.sh b/hackfest/tapi/server/git_push.sh new file mode 100644 index 0000000000000000000000000000000000000000..160f6f213999c7ae67839fbd6fc2ba0b72675832 --- /dev/null +++ b/hackfest/tapi/server/git_push.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=`git remote` +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' + diff --git a/hackfest/tapi/server/requirements.txt b/hackfest/tapi/server/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..62c7fffac8b5bc20011c481e6ae3601eca6d4a08 --- /dev/null +++ b/hackfest/tapi/server/requirements.txt @@ -0,0 +1,5 @@ +connexion >= 2.6.0 +connexion[swagger-ui] >= 2.6.0 +python_dateutil == 2.6.0 +setuptools >= 21.0.0 +swagger-ui-bundle >= 0.0.2 diff --git a/hackfest/tapi/server/run.sh b/hackfest/tapi/server/run.sh new file mode 100755 index 0000000000000000000000000000000000000000..6b69692172b14f2fec299f88fa914be2eb811c01 --- /dev/null +++ b/hackfest/tapi/server/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +python3 -m tapi_server 8080 database/mini-ols-context.json diff --git a/hackfest/tapi/server/setup.py b/hackfest/tapi/server/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..eaf66f499a8e6311a6b5ea1946b6448b1144388b --- /dev/null +++ b/hackfest/tapi/server/setup.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +import sys +from setuptools import setup, find_packages + +NAME = "tapi_server" +VERSION = "2.1.3" +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = [ + "connexion", + "swagger-ui-bundle>=0.0.2" +] + +setup( + name=NAME, + version=VERSION, + description="tapi-notification,tapi-connectivity,tapi-topology,tapi-common,tapi-path-computation API", + author_email="", + url="", + keywords=["Swagger", "tapi-notification,tapi-connectivity,tapi-topology,tapi-common,tapi-path-computation API"], + install_requires=REQUIRES, + packages=find_packages(), + package_data={'': ['swagger/swagger.yaml']}, + include_package_data=True, + entry_points={ + 'console_scripts': ['tapi_server=tapi_server.__main__:main']}, + long_description="""\ + This module contains TAPI Notification Model definitions. Source: TapiNotification.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G4QHf0bG$ > and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8IIivez$ > - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of <https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7950__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G3bKxRf2$ >. YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0, This module contains TAPI Connectivity Model definitions. Source: TapiConnectivity.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!bx-l35NqfQHpJ8R_DmXfi2NX2ll5dMl9VbK5aS_m3ZShiVoz74Ur_6pxiNxl$ > and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!bx-l35NqfQHpJ8R_DmXfi2NX2ll5dMl9VbK5aS_m3ZShiVoz74Ur_wxKUbJ_$ > - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of <https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7950__;!!OSsGDw!bx-l35NqfQHpJ8R_DmXfi2NX2ll5dMl9VbK5aS_m3ZShiVoz74Ur_zcAY1P4$ >. YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0., This module contains TAPI Topology Model definitions. Source: TapiTopology.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!bx-l35NqfQHpJ8R_DmXfi2NX2ll5dMl9VbK5aS_m3ZShiVoz74Ur_6pxiNxl$ > and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!bx-l35NqfQHpJ8R_DmXfi2NX2ll5dMl9VbK5aS_m3ZShiVoz74Ur_wxKUbJ_$ > - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of <https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7950__;!!OSsGDw!bx-l35NqfQHpJ8R_DmXfi2NX2ll5dMl9VbK5aS_m3ZShiVoz74Ur_zcAY1P4$ >. YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0., This module contains TAPI Common Model definitions. Source: TapiCommon.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] <https://github.com/OpenNetworkingFoundation/EagleUmlYang> and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines> - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>. YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0., This module contains TAPI Path Computation Model definitions. Source: TapiPathComputation.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] <https://github.com/OpenNetworkingFoundation/EagleUmlYang> and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines> - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>. YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0. + """ +) diff --git a/hackfest/tapi/server/tapi_server/__init__.py b/hackfest/tapi/server/tapi_server/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/tapi/server/tapi_server/__main__.py b/hackfest/tapi/server/tapi_server/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..580c6f80f08d0d9d08d64c14ab8296165bfdb0bb --- /dev/null +++ b/hackfest/tapi/server/tapi_server/__main__.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import connexion +import json +import sys + +from flask import current_app +from tapi_server import encoder +from tapi_server.models.tapi_common_context import TapiCommonContext +from tapi_server import database + + +def main(): + app = connexion.App(__name__, specification_dir='./swagger/') + app.app.json_encoder = encoder.JSONEncoder + app.add_api('swagger.yaml', + arguments={'title': 'tapi-notification,tapi-connectivity,tapi-topology,tapi-common,tapi-path-computation API'}, + base_path='/restconf', + pythonic_params=True) + with app.app.app_context(): + with current_app.open_resource(sys.argv[2], 'r') as f: + data = json.load(f) + database.context = TapiCommonContext.from_dict(data) + app.run(port=sys.argv[1]) + +if __name__ == '__main__': + main() diff --git a/hackfest/tapi/server/tapi_server/controllers/__init__.py b/hackfest/tapi/server/tapi_server/controllers/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/tapi/server/tapi_server/controllers/authorization_controller.py b/hackfest/tapi/server/tapi_server/controllers/authorization_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..2f7b0bb3e281b3fb9efb588dfc8ba4c8cc3a59ed --- /dev/null +++ b/hackfest/tapi/server/tapi_server/controllers/authorization_controller.py @@ -0,0 +1,6 @@ +from typing import List +""" +controller generated to handled auth operation described at: +https://connexion.readthedocs.io/en/latest/security.html +""" + diff --git a/hackfest/tapi/server/tapi_server/controllers/tapi_common_controller.py b/hackfest/tapi/server/tapi_server/controllers/tapi_common_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..e6ad1e658b5a8300613882ca23e8bb5a0c4f4980 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/controllers/tapi_common_controller.py @@ -0,0 +1,477 @@ +import connexion +import six + +from tapi_server.models.operations_tapicommongetserviceinterfacepointdetails_body import OperationsTapicommongetserviceinterfacepointdetailsBody # noqa: E501 +from tapi_server.models.operations_tapicommonupdateserviceinterfacepoint_body import OperationsTapicommonupdateserviceinterfacepointBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_context_wrapper import TapiCommonContextWrapper # noqa: E501 +from tapi_server.models.tapi_common_get_service_interface_point_details import TapiCommonGetServiceInterfacePointDetails # noqa: E501 +from tapi_server.models.tapi_common_get_service_interface_point_list import TapiCommonGetServiceInterfacePointList # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_wrapper import TapiCommonServiceInterfacePointWrapper # noqa: E501 +from tapi_server import util + +from tapi_server.models.tapi_common_getserviceinterfacepointdetails_output import TapiCommonGetserviceinterfacepointdetailsOutput +from tapi_server.models.tapi_common_getserviceinterfacepointlist_output import TapiCommonGetserviceinterfacepointlistOutput +from tapi_server import database + + +def data_tapi_commoncontext_delete(): # noqa: E501 + """removes tapi.common.Context + + none # noqa: E501 + + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_get(): # noqa: E501 + """returns tapi.common.Context + + none # noqa: E501 + + + :rtype: TapiCommonContextWrapper + """ + return database.context + + +def data_tapi_commoncontext_name_post(body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_namevalue_name_delete(value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_namevalue_name_get(value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_namevalue_name_put(value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_post(body=None): # noqa: E501 + """creates tapi.common.Context + + none # noqa: E501 + + :param body: tapi.common.Context to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_put(body=None): # noqa: E501 + """creates or updates tapi.common.Context + + none # noqa: E501 + + :param body: tapi.common.Context to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_point_post(body=None): # noqa: E501 + """creates tapi.common.ServiceInterfacePoint + + none # noqa: E501 + + :param body: tapi.common.ServiceInterfacePoint to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonServiceInterfacePointWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_burst_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_information_rate_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_get(uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_burst_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_information_rate_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_get(uuid): # noqa: E501 + """returns tapi.common.Capacity + + Capacity available to be assigned. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_available_capacity_total_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_delete(uuid): # noqa: E501 + """removes tapi.common.ServiceInterfacePoint + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_get(uuid): # noqa: E501 + """returns tapi.common.ServiceInterfacePoint + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonServiceInterfacePointWrapper + """ + return database.service_interface_point(uuid) + + +def data_tapi_commoncontext_service_interface_pointuuid_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.ServiceInterfacePoint + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + :param body: tapi.common.ServiceInterfacePoint to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonServiceInterfacePointWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_get(uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_get(uuid): # noqa: E501 + """returns tapi.common.Capacity + + An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_total_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of service-interface-point + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def operations_tapi_commonget_service_interface_point_details_post(body=None): # noqa: E501 + """operates on tapi.common.GetServiceInterfacePointDetails + + operates on tapi.common.GetServiceInterfacePointDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiCommonGetServiceInterfacePointDetails + """ + if connexion.request.is_json: + body = OperationsTapicommongetserviceinterfacepointdetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + return TapiCommonGetServiceInterfacePointDetails(TapiCommonGetserviceinterfacepointdetailsOutput( + database.service_interface_point(body.input.sip_id_or_name))) + + +def operations_tapi_commonget_service_interface_point_list_post(): # noqa: E501 + """operations_tapi_commonget_service_interface_point_list_post + + # noqa: E501 + + + :rtype: TapiCommonGetServiceInterfacePointList + """ + return TapiCommonGetServiceInterfacePointList(TapiCommonGetserviceinterfacepointlistOutput( + database.service_interface_point_list())) + + +def operations_tapi_commonupdate_service_interface_point_post(body=None): # noqa: E501 + """operates on tapi.common.UpdateServiceInterfacePoint + + operates on tapi.common.UpdateServiceInterfacePoint # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = OperationsTapicommonupdateserviceinterfacepointBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/hackfest/tapi/server/tapi_server/controllers/tapi_connectivity_controller.py b/hackfest/tapi/server/tapi_server/controllers/tapi_connectivity_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..640f5a72dacea883d145bca664810812e1d37f58 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/controllers/tapi_connectivity_controller.py @@ -0,0 +1,2852 @@ +import connexion +import six + +from tapi_server.models.operations_tapiconnectivitycreateconnectivityservice_body import OperationsTapiconnectivitycreateconnectivityserviceBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitydeleteconnectivityservice_body import OperationsTapiconnectivitydeleteconnectivityserviceBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitygetconnectiondetails_body import OperationsTapiconnectivitygetconnectiondetailsBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitygetconnectionendpointdetails_body import OperationsTapiconnectivitygetconnectionendpointdetailsBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitygetconnectivityservicedetails_body import OperationsTapiconnectivitygetconnectivityservicedetailsBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivityupdateconnectivityservice_body import OperationsTapiconnectivityupdateconnectivityserviceBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_common_time_range_wrapper import TapiCommonTimeRangeWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_cep_list_wrapper import TapiConnectivityCepListWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_cep_role_wrapper import TapiConnectivityCepRoleWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref_wrapper import TapiConnectivityConnectionEndPointRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_end_point_wrapper import TapiConnectivityConnectionEndPointWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_ref_wrapper import TapiConnectivityConnectionRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_spec_reference_wrapper import TapiConnectivityConnectionSpecReferenceWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_wrapper import TapiConnectivityConnectionWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_context_wrapper import TapiConnectivityConnectivityContextWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_ref_wrapper import TapiConnectivityConnectivityServiceEndPointRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_wrapper import TapiConnectivityConnectivityServiceEndPointWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_ref_wrapper import TapiConnectivityConnectivityServiceRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_wrapper import TapiConnectivityConnectivityServiceWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_create_connectivity_service import TapiConnectivityCreateConnectivityService # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connection_details import TapiConnectivityGetConnectionDetails # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connection_end_point_details import TapiConnectivityGetConnectionEndPointDetails # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connectivity_service_details import TapiConnectivityGetConnectivityServiceDetails # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connectivity_service_list import TapiConnectivityGetConnectivityServiceList # noqa: E501 +from tapi_server.models.tapi_connectivity_resilience_route_wrapper import TapiConnectivityResilienceRouteWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_route_ref_wrapper import TapiConnectivityRouteRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_route_wrapper import TapiConnectivityRouteWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_switch_control_ref_wrapper import TapiConnectivitySwitchControlRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_switch_control_wrapper import TapiConnectivitySwitchControlWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_switch_wrapper import TapiConnectivitySwitchWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_update_connectivity_service import TapiConnectivityUpdateConnectivityService # noqa: E501 +from tapi_server.models.tapi_path_computation_value_or_priority_wrapper import TapiPathComputationValueOrPriorityWrapper # noqa: E501 +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_link_ref_wrapper import TapiTopologyLinkRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_edge_point_ref_wrapper import TapiTopologyNodeEdgePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_resilience_type_wrapper import TapiTopologyResilienceTypeWrapper # noqa: E501 +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper # noqa: E501 +from tapi_server import util + +from tapi_server.models.tapi_connectivity_connection import TapiConnectivityConnection +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef +from tapi_server.models.tapi_connectivity_connectivity_context import TapiConnectivityConnectivityContext +from tapi_server.models.tapi_connectivity_getconnectiondetails_output import TapiConnectivityGetconnectiondetailsOutput +from tapi_server.models.tapi_connectivity_getconnectionendpointdetails_output import TapiConnectivityGetconnectionendpointdetailsOutput +from tapi_server.models.tapi_connectivity_getconnectivityservicedetails_output import TapiConnectivityGetconnectivityservicedetailsOutput +from tapi_server.models.tapi_connectivity_getconnectivityservicelist_output import TapiConnectivityGetconnectivityservicelistOutput +from tapi_server import database + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(uuid, topology_uuid, node_uuid, node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionEndPointRef + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param topology_uuid: Id of connection-end-point + :type topology_uuid: str + :param node_uuid: Id of connection-end-point + :type node_uuid: str + :param node_edge_point_uuid: Id of connection-end-point + :type node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_spec_reference_get(uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionSpecReference + + Provides the reference to the spec that defines the connection type and cepRoles. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + + :rtype: TapiConnectivityConnectionSpecReferenceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_get(uuid): # noqa: E501 + """returns tapi.connectivity.Connection + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + + :rtype: TapiConnectivityConnectionWrapper + """ + return database.connection(uuid) + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_lower_connectionconnection_uuid_get(uuid, connection_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionRef + + An Connection object supports a recursive aggregation relationship such that the internal construction of an Connection can be exposed as multiple lower level Connection objects (partitioning). Aggregation is used as for the Node/Topology to allow changes in hierarchy. Connection aggregation reflects Node/Topology aggregation. The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param connection_uuid: Id of lower-connection + :type connection_uuid: str + + :rtype: TapiConnectivityConnectionRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(uuid, local_id, topology_uuid, node_uuid, node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionEndPointRef + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param local_id: Id of route + :type local_id: str + :param topology_uuid: Id of connection-end-point + :type topology_uuid: str + :param node_uuid: Id of connection-end-point + :type node_uuid: str + :param node_edge_point_uuid: Id of connection-end-point + :type node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_get(uuid, local_id): # noqa: E501 + """returns tapi.connectivity.Route + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param local_id: Id of route + :type local_id: str + + :rtype: TapiConnectivityRouteWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_namevalue_name_get(uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param local_id: Id of route + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_get(uuid, local_id): # noqa: E501 + """returns tapi.connectivity.ResilienceRoute + + Provides optional resilience and state attributes to the Route. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param local_id: Id of route + :type local_id: str + + :rtype: TapiConnectivityResilienceRouteWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_namevalue_name_get(uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param local_id: Id of route + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_supported_client_linktopology_uuidlink_uuid_get(uuid, topology_uuid, link_uuid): # noqa: E501 + """returns tapi.topology.LinkRef + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param topology_uuid: Id of supported-client-link + :type topology_uuid: str + :param link_uuid: Id of supported-client-link + :type link_uuid: str + + :rtype: TapiTopologyLinkRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_get(uuid, switch_control_uuid): # noqa: E501 + """returns tapi.connectivity.SwitchControl + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + + :rtype: TapiConnectivitySwitchControlWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_namevalue_name_get(uuid, switch_control_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_resilience_type_get(uuid, switch_control_uuid): # noqa: E501 + """returns tapi.topology.ResilienceType + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + + :rtype: TapiTopologyResilienceTypeWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_sub_switch_controlconnection_uuidsub_switch_control_switch_control_uuid_get(uuid, switch_control_uuid, connection_uuid, sub_switch_control_switch_control_uuid): # noqa: E501 + """returns tapi.connectivity.SwitchControlRef + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + :param connection_uuid: Id of sub-switch-control + :type connection_uuid: str + :param sub_switch_control_switch_control_uuid: Id of sub-switch-control + :type sub_switch_control_switch_control_uuid: str + + :rtype: TapiConnectivitySwitchControlRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_get(uuid, switch_control_uuid, local_id): # noqa: E501 + """returns tapi.connectivity.Switch + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + :param local_id: Id of switch + :type local_id: str + + :rtype: TapiConnectivitySwitchWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_namevalue_name_get(uuid, switch_control_uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + :param local_id: Id of switch + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(uuid, switch_control_uuid, local_id, topology_uuid, node_uuid, node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionEndPointRef + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + :param local_id: Id of switch + :type local_id: str + :param topology_uuid: Id of selected-connection-end-point + :type topology_uuid: str + :param node_uuid: Id of selected-connection-end-point + :type node_uuid: str + :param node_edge_point_uuid: Id of selected-connection-end-point + :type node_edge_point_uuid: str + :param connection_end_point_uuid: Id of selected-connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_routeconnection_uuidroute_local_id_get(uuid, switch_control_uuid, local_id, connection_uuid, route_local_id): # noqa: E501 + """returns tapi.connectivity.RouteRef + + none # noqa: E501 + + :param uuid: Id of connection + :type uuid: str + :param switch_control_uuid: Id of switch-control + :type switch_control_uuid: str + :param local_id: Id of switch + :type local_id: str + :param connection_uuid: Id of selected-route + :type connection_uuid: str + :param route_local_id: Id of selected-route + :type route_local_id: str + + :rtype: TapiConnectivityRouteRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_service_post(body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityService + + none # noqa: E501 + + :param body: tapi.connectivity.ConnectivityService to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + raw_body = connexion.request.get_json() + if "tapi-connectivity:connectivity-service" in raw_body: + raw_body["connectivity-service"] = raw_body.pop("tapi-connectivity:connectivity-service") + if isinstance(raw_body["connectivity-service"], list) and len(raw_body["connectivity-service"]) > 0: + raw_body["connectivity-service"] = raw_body["connectivity-service"][0] + body = TapiConnectivityConnectivityServiceWrapper.from_dict(raw_body) # noqa: E501 + + connection = TapiConnectivityConnection( + uuid=body.connectivity_service.uuid, + connection_end_point=[ + TapiConnectivityConnectionEndPointRef( + node_edge_point_uuid="node-1-port-3", connection_end_point_uuid="cep13"), + TapiConnectivityConnectionEndPointRef( + node_edge_point_uuid="node-3-port-2", connection_end_point_uuid="cep32"), + ] + ) + connection_ref = TapiConnectivityConnectionRef(connection.uuid) + body.connectivity_service.connection = [ connection_ref ] + + if database.context.connectivity_context is None: + database.context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + + database.context.connectivity_context.connection.append(connection) + database.context.connectivity_context.connectivity_service.append(body.connectivity_service) + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_connectionconnection_uuid_get(uuid, connection_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param connection_uuid: Id of connection + :type connection_uuid: str + + :rtype: TapiConnectivityConnectionRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_delete(uuid): # noqa: E501 + """removes tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_get(uuid): # noqa: E501 + """returns tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiConnectivityConnectivityServiceRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_post(uuid, body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.connectivity.ConnectivityServiceRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.connectivity.ConnectivityServiceRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristic_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.topology.CostCharacteristic to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyCostCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_delete(uuid, cost_name): # noqa: E501 + """removes tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_get(uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_put(uuid, cost_name, body=None): # noqa: E501 + """creates or updates tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + :param body: tapi.topology.CostCharacteristic to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyCostCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_delete(uuid): # noqa: E501 + """removes tapi.connectivity.ConnectivityService + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + if database.context.connectivity_context is None: + database.context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + + database.context.connectivity_context.connectivity_service = [ + connectivity_service + for connectivity_service in database.context.connectivity_context.connectivity_service + if connectivity_service.uuid != uuid # keep items with different uuid + ] + database.context.connectivity_context.connection = [ + connection + for connection in database.context.connectivity_context.connection + if connection.uuid != uuid # keep items with different uuid + ] + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusion_post(uuid, body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.connectivity.ConnectivityServiceRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_delete(uuid, connectivity_service_uuid): # noqa: E501 + """removes tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param connectivity_service_uuid: Id of diversity-exclusion + :type connectivity_service_uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_get(uuid, connectivity_service_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param connectivity_service_uuid: Id of diversity-exclusion + :type connectivity_service_uuid: str + + :rtype: TapiConnectivityConnectivityServiceRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_put(uuid, connectivity_service_uuid, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityServiceRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param connectivity_service_uuid: Id of diversity-exclusion + :type connectivity_service_uuid: str + :param body: tapi.connectivity.ConnectivityServiceRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_point_post(uuid, body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.connectivity.ConnectivityServiceEndPoint to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get(uuid, local_id): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.BandwidthProfile to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonBandwidthProfileWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.BandwidthProfile to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonBandwidthProfileWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_get(uuid, local_id): # noqa: E501 + """returns tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.Capacity to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.Capacity to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(uuid, local_id, topology_uuid, node_uuid, node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param topology_uuid: Id of connection-end-point + :type topology_uuid: str + :param node_uuid: Id of connection-end-point + :type node_uuid: str + :param node_edge_point_uuid: Id of connection-end-point + :type node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_delete(uuid, local_id): # noqa: E501 + """removes tapi.connectivity.ConnectivityServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_get(uuid, local_id): # noqa: E501 + """returns tapi.connectivity.ConnectivityServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiConnectivityConnectivityServiceEndPointWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_name_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_delete(uuid, local_id, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_get(uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_put(uuid, local_id, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_delete(uuid, local_id): # noqa: E501 + """removes tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_get(uuid, local_id): # noqa: E501 + """returns tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiConnectivityConnectivityServiceEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPointRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPointRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_delete(uuid, local_id): # noqa: E501 + """removes tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_get(uuid, local_id): # noqa: E501 + """returns tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiConnectivityConnectivityServiceEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPointRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPointRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPoint to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_delete(uuid, local_id): # noqa: E501 + """removes tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_get(uuid, local_id): # noqa: E501 + """returns tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiConnectivityConnectivityServiceEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPointRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.connectivity.ConnectivityServiceEndPointRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceEndPointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_get(uuid, local_id): # noqa: E501 + """returns tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonServiceInterfacePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.ServiceInterfacePointRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonServiceInterfacePointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.ServiceInterfacePointRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonServiceInterfacePointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_get(uuid): # noqa: E501 + """returns tapi.connectivity.ConnectivityService + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiConnectivityConnectivityServiceWrapper + """ + if database.context.connectivity_context is None: + database.context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + return database.connectivity_service(uuid) + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristic_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.topology.LatencyCharacteristic to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyLatencyCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_delete(uuid, traffic_property_name): # noqa: E501 + """removes tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_get(uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_put(uuid, traffic_property_name, body=None): # noqa: E501 + """creates or updates tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + :param body: tapi.topology.LatencyCharacteristic to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyLatencyCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_delete(uuid): # noqa: E501 + """removes tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_delete(uuid): # noqa: E501 + """removes tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_delete(uuid): # noqa: E501 + """removes tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityService + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.connectivity.ConnectivityService to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityServiceWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_delete(uuid): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_post(uuid, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_delete(uuid): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_post(uuid, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_delete(uuid): # noqa: E501 + """removes tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_get(uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_delete(uuid): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_post(uuid, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_delete(uuid): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_post(uuid, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_post(uuid, body=None): # noqa: E501 + """creates tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.BandwidthProfile to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonBandwidthProfileWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.BandwidthProfile to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonBandwidthProfileWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_delete(uuid): # noqa: E501 + """removes tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_get(uuid): # noqa: E501 + """returns tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_post(uuid, body=None): # noqa: E501 + """creates tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.Capacity to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.Capacity to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_delete(uuid): # noqa: E501 + """removes tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_get(uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_post(uuid, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_delete(uuid): # noqa: E501 + """removes tapi.topology.ResilienceType + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_get(uuid): # noqa: E501 + """returns tapi.topology.ResilienceType + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiTopologyResilienceTypeWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.ResilienceType + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.topology.ResilienceType to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyResilienceTypeWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.topology.ResilienceType + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.topology.ResilienceType to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyResilienceTypeWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristic_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.topology.RiskCharacteristic to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyRiskCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_delete(uuid, risk_characteristic_name): # noqa: E501 + """removes tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_get(uuid, risk_characteristic_name): # noqa: E501 + """returns tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_put(uuid, risk_characteristic_name, body=None): # noqa: E501 + """creates or updates tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + :param body: tapi.topology.RiskCharacteristic to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyRiskCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_delete(uuid): # noqa: E501 + """removes tapi.common.TimeRange + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_get(uuid): # noqa: E501 + """returns tapi.common.TimeRange + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + + :rtype: TapiCommonTimeRangeWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_post(uuid, body=None): # noqa: E501 + """creates tapi.common.TimeRange + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.TimeRange to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonTimeRangeWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.common.TimeRange + + none # noqa: E501 + + :param uuid: Id of connectivity-service + :type uuid: str + :param body: tapi.common.TimeRange to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonTimeRangeWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_delete(): # noqa: E501 + """removes tapi.connectivity.ConnectivityContext + + Augments the base TAPI Context with ConnectivityService information # noqa: E501 + + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_get(): # noqa: E501 + """returns tapi.connectivity.ConnectivityContext + + Augments the base TAPI Context with ConnectivityService information # noqa: E501 + + + :rtype: TapiConnectivityConnectivityContextWrapper + """ + if database.context.connectivity_context is None: + database.context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + return database.connectivity_context() + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_post(body=None): # noqa: E501 + """creates tapi.connectivity.ConnectivityContext + + Augments the base TAPI Context with ConnectivityService information # noqa: E501 + + :param body: tapi.connectivity.ConnectivityContext to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_connectivityconnectivity_context_put(body=None): # noqa: E501 + """creates or updates tapi.connectivity.ConnectivityContext + + Augments the base TAPI Context with ConnectivityService information # noqa: E501 + + :param body: tapi.connectivity.ConnectivityContext to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiConnectivityConnectivityContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_aggregated_connection_end_pointtopology_uuidaggregated_connection_end_point_node_uuidnode_edge_point_uuidaggregated_connection_end_point_connection_end_point_uuid_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid, topology_uuid, aggregated_connection_end_point_node_uuid, node_edge_point_uuid, aggregated_connection_end_point_connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionEndPointRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + :param topology_uuid: Id of aggregated-connection-end-point + :type topology_uuid: str + :param aggregated_connection_end_point_node_uuid: Id of aggregated-connection-end-point + :type aggregated_connection_end_point_node_uuid: str + :param node_edge_point_uuid: Id of aggregated-connection-end-point + :type node_edge_point_uuid: str + :param aggregated_connection_end_point_connection_end_point_uuid: Id of aggregated-connection-end-point + :type aggregated_connection_end_point_connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionEndPointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_connection_spec_reference_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionSpecReference + + The reference to the spec that defines the cep role. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionSpecReferenceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.CepRole + + Defines the role of the CEP in the context of the connection spec. There may be many cep role - connection spec combinations for a particular CEP where each corresponds to a specific connection associated with the CEP. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityCepRoleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_client_node_edge_pointtopology_uuidclient_node_edge_point_node_uuidnode_edge_point_uuid_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid, topology_uuid, client_node_edge_point_node_uuid, node_edge_point_uuid): # noqa: E501 + """returns tapi.topology.NodeEdgePointRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + :param topology_uuid: Id of client-node-edge-point + :type topology_uuid: str + :param client_node_edge_point_node_uuid: Id of client-node-edge-point + :type client_node_edge_point_node_uuid: str + :param node_edge_point_uuid: Id of client-node-edge-point + :type node_edge_point_uuid: str + + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.connectivity.ConnectionEndPoint + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiConnectivityConnectionEndPointWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_namevalue_name_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_parent_node_edge_point_get(uuid, node_uuid, owned_node_edge_point_uuid, connection_end_point_uuid): # noqa: E501 + """returns tapi.topology.NodeEdgePointRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param connection_end_point_uuid: Id of connection-end-point + :type connection_end_point_uuid: str + + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.connectivity.CepList + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiConnectivityCepListWrapper + """ + return database.connection_end_point_list(uuid, node_uuid, owned_node_edge_point_uuid) + + +def operations_tapi_connectivitycreate_connectivity_service_post(body=None): # noqa: E501 + """operates on tapi.connectivity.CreateConnectivityService + + operates on tapi.connectivity.CreateConnectivityService # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiConnectivityCreateConnectivityService + """ + if connexion.request.is_json: + body = OperationsTapiconnectivitycreateconnectivityserviceBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_connectivitydelete_connectivity_service_post(body=None): # noqa: E501 + """operates on tapi.connectivity.DeleteConnectivityService + + operates on tapi.connectivity.DeleteConnectivityService # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = OperationsTapiconnectivitydeleteconnectivityserviceBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_connectivityget_connection_details_post(body=None): # noqa: E501 + """operates on tapi.connectivity.GetConnectionDetails + + operates on tapi.connectivity.GetConnectionDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiConnectivityGetConnectionDetails + """ + if connexion.request.is_json: + body = OperationsTapiconnectivitygetconnectiondetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + return TapiConnectivityGetConnectionDetails(TapiConnectivityGetconnectiondetailsOutput( + database.connection(body.input.connection_id_or_name))) + + +def operations_tapi_connectivityget_connection_end_point_details_post(body=None): # noqa: E501 + """operates on tapi.connectivity.GetConnectionEndPointDetails + + operates on tapi.connectivity.GetConnectionEndPointDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiConnectivityGetConnectionEndPointDetails + """ + if connexion.request.is_json: + body = OperationsTapiconnectivitygetconnectionendpointdetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + return TapiConnectivityGetConnectionEndPointDetails(TapiConnectivityGetconnectionendpointdetailsOutput( + database.connection_end_point(body.input.topology_id_or_name, + body.input.node_id_or_name, + body.input.nep_id_or_name, + body.input.cep_id_or_name))) + + +def operations_tapi_connectivityget_connectivity_service_details_post(body=None): # noqa: E501 + """operates on tapi.connectivity.GetConnectivityServiceDetails + + operates on tapi.connectivity.GetConnectivityServiceDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiConnectivityGetConnectivityServiceDetails + """ + if connexion.request.is_json: + body = OperationsTapiconnectivitygetconnectivityservicedetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + return TapiConnectivityGetConnectivityServiceDetails(TapiConnectivityGetconnectivityservicedetailsOutput( + database.connectivity_service(body.input.service_id_or_name))) + + +def operations_tapi_connectivityget_connectivity_service_list_post(): # noqa: E501 + """operations_tapi_connectivityget_connectivity_service_list_post + + # noqa: E501 + + + :rtype: TapiConnectivityGetConnectivityServiceList + """ + return TapiConnectivityGetConnectivityServiceList(TapiConnectivityGetconnectivityservicelistOutput( + database.connectivity_service_list())) + + +def operations_tapi_connectivityupdate_connectivity_service_post(body=None): # noqa: E501 + """operates on tapi.connectivity.UpdateConnectivityService + + operates on tapi.connectivity.UpdateConnectivityService # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiConnectivityUpdateConnectivityService + """ + if connexion.request.is_json: + body = OperationsTapiconnectivityupdateconnectivityserviceBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/hackfest/tapi/server/tapi_server/controllers/tapi_notification_controller.py b/hackfest/tapi/server/tapi_server/controllers/tapi_notification_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..efb0dfd3ed866bec279be72b8e4774b78b332081 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/controllers/tapi_notification_controller.py @@ -0,0 +1,664 @@ +import connexion +import six + +from tapi_server.models.operations_tapinotificationcreatenotificationsubscriptionservice_body import OperationsTapinotificationcreatenotificationsubscriptionserviceBody # noqa: E501 +from tapi_server.models.operations_tapinotificationdeletenotificationsubscriptionservice_body import OperationsTapinotificationdeletenotificationsubscriptionserviceBody # noqa: E501 +from tapi_server.models.operations_tapinotificationgetnotificationlist_body import OperationsTapinotificationgetnotificationlistBody # noqa: E501 +from tapi_server.models.operations_tapinotificationgetnotificationsubscriptionservicedetails_body import OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody # noqa: E501 +from tapi_server.models.operations_tapinotificationupdatenotificationsubscriptionservice_body import OperationsTapinotificationupdatenotificationsubscriptionserviceBody # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_notification_alarm_info_wrapper import TapiNotificationAlarmInfoWrapper # noqa: E501 +from tapi_server.models.tapi_notification_create_notification_subscription_service import TapiNotificationCreateNotificationSubscriptionService # noqa: E501 +from tapi_server.models.tapi_notification_delete_notification_subscription_service import TapiNotificationDeleteNotificationSubscriptionService # noqa: E501 +from tapi_server.models.tapi_notification_get_notification_list import TapiNotificationGetNotificationList # noqa: E501 +from tapi_server.models.tapi_notification_get_notification_subscription_service_details import TapiNotificationGetNotificationSubscriptionServiceDetails # noqa: E501 +from tapi_server.models.tapi_notification_get_notification_subscription_service_list import TapiNotificationGetNotificationSubscriptionServiceList # noqa: E501 +from tapi_server.models.tapi_notification_get_supported_notification_types import TapiNotificationGetSupportedNotificationTypes # noqa: E501 +from tapi_server.models.tapi_notification_name_and_value_change_wrapper import TapiNotificationNameAndValueChangeWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_channel_wrapper import TapiNotificationNotificationChannelWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_context_wrapper import TapiNotificationNotificationContextWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_subscription_service_wrapper import TapiNotificationNotificationSubscriptionServiceWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_wrapper import TapiNotificationNotificationWrapper # noqa: E501 +from tapi_server.models.tapi_notification_subscription_filter_wrapper import TapiNotificationSubscriptionFilterWrapper # noqa: E501 +from tapi_server.models.tapi_notification_tca_info_wrapper import TapiNotificationTcaInfoWrapper # noqa: E501 +from tapi_server.models.tapi_notification_update_notification_subscription_service import TapiNotificationUpdateNotificationSubscriptionService # noqa: E501 +from tapi_server import util + + +def data_tapi_commoncontext_tapi_notificationnotification_context_delete(): # noqa: E501 + """removes tapi.notification.NotificationContext + + Augments the base TAPI Context with NotificationService information # noqa: E501 + + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_get(): # noqa: E501 + """returns tapi.notification.NotificationContext + + Augments the base TAPI Context with NotificationService information # noqa: E501 + + + :rtype: TapiNotificationNotificationContextWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscription_post(body=None): # noqa: E501 + """creates tapi.notification.NotificationSubscriptionService + + none # noqa: E501 + + :param body: tapi.notification.NotificationSubscriptionService to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiNotificationNotificationSubscriptionServiceWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_delete(uuid): # noqa: E501 + """removes tapi.notification.NotificationSubscriptionService + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_get(uuid): # noqa: E501 + """returns tapi.notification.NotificationSubscriptionService + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + + :rtype: TapiNotificationNotificationSubscriptionServiceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_get(uuid): # noqa: E501 + """returns tapi.notification.NotificationChannel + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + + :rtype: TapiNotificationNotificationChannelWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_additional_infovalue_name_get(uuid, notification_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + :param value_name: Id of additional-info + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_alarm_info_get(uuid, notification_uuid): # noqa: E501 + """returns tapi.notification.AlarmInfo + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + + :rtype: TapiNotificationAlarmInfoWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_changed_attributesvalue_name_get(uuid, notification_uuid, value_name): # noqa: E501 + """returns tapi.notification.NameAndValueChange + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + :param value_name: Id of changed-attributes + :type value_name: str + + :rtype: TapiNotificationNameAndValueChangeWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_get(uuid, notification_uuid): # noqa: E501 + """returns tapi.notification.Notification + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + + :rtype: TapiNotificationNotificationWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_namevalue_name_get(uuid, notification_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_target_object_namevalue_name_get(uuid, notification_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + :param value_name: Id of target-object-name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_tca_info_get(uuid, notification_uuid): # noqa: E501 + """returns tapi.notification.TcaInfo + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param notification_uuid: Id of notification + :type notification_uuid: str + + :rtype: TapiNotificationTcaInfoWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.notification.NotificationSubscriptionService + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param body: tapi.notification.NotificationSubscriptionService to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiNotificationNotificationSubscriptionServiceWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_delete(uuid): # noqa: E501 + """removes tapi.notification.SubscriptionFilter + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_get(uuid): # noqa: E501 + """returns tapi.notification.SubscriptionFilter + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + + :rtype: TapiNotificationSubscriptionFilterWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_post(uuid, body=None): # noqa: E501 + """creates tapi.notification.SubscriptionFilter + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param body: tapi.notification.SubscriptionFilter to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiNotificationSubscriptionFilterWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.notification.SubscriptionFilter + + none # noqa: E501 + + :param uuid: Id of notif-subscription + :type uuid: str + :param body: tapi.notification.SubscriptionFilter to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiNotificationSubscriptionFilterWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_additional_infovalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + none # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + :param value_name: Id of additional-info + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_alarm_info_get(uuid): # noqa: E501 + """returns tapi.notification.AlarmInfo + + none # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + + :rtype: TapiNotificationAlarmInfoWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_changed_attributesvalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.notification.NameAndValueChange + + none # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + :param value_name: Id of changed-attributes + :type value_name: str + + :rtype: TapiNotificationNameAndValueChangeWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_get(uuid): # noqa: E501 + """returns tapi.notification.Notification + + none # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + + :rtype: TapiNotificationNotificationWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_target_object_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + none # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + :param value_name: Id of target-object-name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_tca_info_get(uuid): # noqa: E501 + """returns tapi.notification.TcaInfo + + none # noqa: E501 + + :param uuid: Id of notification + :type uuid: str + + :rtype: TapiNotificationTcaInfoWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_post(body=None): # noqa: E501 + """creates tapi.notification.NotificationContext + + Augments the base TAPI Context with NotificationService information # noqa: E501 + + :param body: tapi.notification.NotificationContext to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiNotificationNotificationContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_notificationnotification_context_put(body=None): # noqa: E501 + """creates or updates tapi.notification.NotificationContext + + Augments the base TAPI Context with NotificationService information # noqa: E501 + + :param body: tapi.notification.NotificationContext to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiNotificationNotificationContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_notificationcreate_notification_subscription_service_post(body=None): # noqa: E501 + """operates on tapi.notification.CreateNotificationSubscriptionService + + operates on tapi.notification.CreateNotificationSubscriptionService # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiNotificationCreateNotificationSubscriptionService + """ + if connexion.request.is_json: + body = OperationsTapinotificationcreatenotificationsubscriptionserviceBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_notificationdelete_notification_subscription_service_post(body=None): # noqa: E501 + """operates on tapi.notification.DeleteNotificationSubscriptionService + + operates on tapi.notification.DeleteNotificationSubscriptionService # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiNotificationDeleteNotificationSubscriptionService + """ + if connexion.request.is_json: + body = OperationsTapinotificationdeletenotificationsubscriptionserviceBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_notificationget_notification_list_post(body=None): # noqa: E501 + """operates on tapi.notification.GetNotificationList + + operates on tapi.notification.GetNotificationList # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiNotificationGetNotificationList + """ + if connexion.request.is_json: + body = OperationsTapinotificationgetnotificationlistBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_notificationget_notification_subscription_service_details_post(body=None): # noqa: E501 + """operates on tapi.notification.GetNotificationSubscriptionServiceDetails + + operates on tapi.notification.GetNotificationSubscriptionServiceDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiNotificationGetNotificationSubscriptionServiceDetails + """ + if connexion.request.is_json: + body = OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_notificationget_notification_subscription_service_list_post(): # noqa: E501 + """operations_tapi_notificationget_notification_subscription_service_list_post + + # noqa: E501 + + + :rtype: TapiNotificationGetNotificationSubscriptionServiceList + """ + return 'do some magic!' + + +def operations_tapi_notificationget_supported_notification_types_post(): # noqa: E501 + """operations_tapi_notificationget_supported_notification_types_post + + # noqa: E501 + + + :rtype: TapiNotificationGetSupportedNotificationTypes + """ + return 'do some magic!' + + +def operations_tapi_notificationupdate_notification_subscription_service_post(body=None): # noqa: E501 + """operates on tapi.notification.UpdateNotificationSubscriptionService + + operates on tapi.notification.UpdateNotificationSubscriptionService # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiNotificationUpdateNotificationSubscriptionService + """ + if connexion.request.is_json: + body = OperationsTapinotificationupdatenotificationsubscriptionserviceBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/hackfest/tapi/server/tapi_server/controllers/tapi_path_computation_controller.py b/hackfest/tapi/server/tapi_server/controllers/tapi_path_computation_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..012d1f915c0da0334e589c15023a27a37854754f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/controllers/tapi_path_computation_controller.py @@ -0,0 +1,1841 @@ +import connexion +import six + +from tapi_server.models.operations_tapipathcomputationcomputep2ppath_body import OperationsTapipathcomputationcomputep2ppathBody # noqa: E501 +from tapi_server.models.operations_tapipathcomputationdeletep2ppath_body import OperationsTapipathcomputationdeletep2ppathBody # noqa: E501 +from tapi_server.models.operations_tapipathcomputationoptimizep2ppath_body import OperationsTapipathcomputationoptimizep2ppathBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_compute_p2_p_path import TapiPathComputationComputeP2PPath # noqa: E501 +from tapi_server.models.tapi_path_computation_delete_p2_p_path import TapiPathComputationDeleteP2PPath # noqa: E501 +from tapi_server.models.tapi_path_computation_optimize_p2_ppath import TapiPathComputationOptimizeP2Ppath # noqa: E501 +from tapi_server.models.tapi_path_computation_path_computation_context_wrapper import TapiPathComputationPathComputationContextWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_computation_service_wrapper import TapiPathComputationPathComputationServiceWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_objective_function_wrapper import TapiPathComputationPathObjectiveFunctionWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_optimization_constraint_wrapper import TapiPathComputationPathOptimizationConstraintWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_ref_wrapper import TapiPathComputationPathRefWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_service_end_point_wrapper import TapiPathComputationPathServiceEndPointWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_wrapper import TapiPathComputationPathWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_routing_constraint_wrapper import TapiPathComputationRoutingConstraintWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_topology_constraint_wrapper import TapiPathComputationTopologyConstraintWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_value_or_priority_wrapper import TapiPathComputationValueOrPriorityWrapper # noqa: E501 +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_link_ref_wrapper import TapiTopologyLinkRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper # noqa: E501 +from tapi_server import util + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_delete(): # noqa: E501 + """removes tapi.path.computation.PathComputationContext + + Augments the base TAPI Context with PathComputationService information # noqa: E501 + + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_get(): # noqa: E501 + """returns tapi.path.computation.PathComputationContext + + Augments the base TAPI Context with PathComputationService information # noqa: E501 + + + :rtype: TapiPathComputationPathComputationContextWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_service_post(body=None): # noqa: E501 + """creates tapi.path.computation.PathComputationService + + none # noqa: E501 + + :param body: tapi.path.computation.PathComputationService to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathComputationServiceWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_delete(uuid): # noqa: E501 + """removes tapi.path.computation.PathComputationService + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_point_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.PathServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.PathServiceEndPoint to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathServiceEndPointWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get(uuid, local_id): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.BandwidthProfile to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonBandwidthProfileWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.BandwidthProfile to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonBandwidthProfileWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_get(uuid, local_id): # noqa: E501 + """returns tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.Capacity to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.Capacity + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.Capacity to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_get(uuid, local_id): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.CapacityValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonCapacityValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_delete(uuid, local_id): # noqa: E501 + """removes tapi.path.computation.PathServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_get(uuid, local_id): # noqa: E501 + """returns tapi.path.computation.PathServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiPathComputationPathServiceEndPointWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_name_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_delete(uuid, local_id, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_get(uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_put(uuid, local_id, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.path.computation.PathServiceEndPoint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.path.computation.PathServiceEndPoint to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathServiceEndPointWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_delete(uuid, local_id): # noqa: E501 + """removes tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_get(uuid, local_id): # noqa: E501 + """returns tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + + :rtype: TapiCommonServiceInterfacePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_post(uuid, local_id, body=None): # noqa: E501 + """creates tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.ServiceInterfacePointRef to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonServiceInterfacePointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_put(uuid, local_id, body=None): # noqa: E501 + """creates or updates tapi.common.ServiceInterfacePointRef + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param local_id: Id of end-point + :type local_id: str + :param body: tapi.common.ServiceInterfacePointRef to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonServiceInterfacePointRefWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_get(uuid): # noqa: E501 + """returns tapi.path.computation.PathComputationService + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationPathComputationServiceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_delete(uuid): # noqa: E501 + """removes tapi.path.computation.PathObjectiveFunction + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_get(uuid): # noqa: E501 + """returns tapi.path.computation.PathObjectiveFunction + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationPathObjectiveFunctionWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.PathObjectiveFunction + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.PathObjectiveFunction to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathObjectiveFunctionWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.PathObjectiveFunction + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.PathObjectiveFunction to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathObjectiveFunctionWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_delete(uuid): # noqa: E501 + """removes tapi.path.computation.PathOptimizationConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_get(uuid): # noqa: E501 + """returns tapi.path.computation.PathOptimizationConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationPathOptimizationConstraintWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_name_post(uuid, body=None): # noqa: E501 + """creates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.common.NameAndValue to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_delete(uuid, value_name): # noqa: E501 + """removes tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_put(uuid, value_name, body=None): # noqa: E501 + """creates or updates tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param value_name: Id of name + :type value_name: str + :param body: tapi.common.NameAndValue to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiCommonNameAndValueWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.PathOptimizationConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.PathOptimizationConstraint to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathOptimizationConstraintWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.PathOptimizationConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.PathOptimizationConstraint to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathOptimizationConstraintWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_pathpath_uuid_get(uuid, path_uuid): # noqa: E501 + """returns tapi.path.computation.PathRef + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param path_uuid: Id of path + :type path_uuid: str + + :rtype: TapiPathComputationPathRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.PathComputationService + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.PathComputationService to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathComputationServiceWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristic_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.topology.CostCharacteristic to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyCostCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_delete(uuid, cost_name): # noqa: E501 + """removes tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_get(uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_put(uuid, cost_name, body=None): # noqa: E501 + """creates or updates tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + :param body: tapi.topology.CostCharacteristic to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyCostCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_delete(uuid): # noqa: E501 + """removes tapi.path.computation.RoutingConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_get(uuid): # noqa: E501 + """returns tapi.path.computation.RoutingConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationRoutingConstraintWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristic_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.topology.LatencyCharacteristic to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyLatencyCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_delete(uuid, traffic_property_name): # noqa: E501 + """removes tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_get(uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_put(uuid, traffic_property_name, body=None): # noqa: E501 + """creates or updates tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + :param body: tapi.topology.LatencyCharacteristic to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyLatencyCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_delete(uuid): # noqa: E501 + """removes tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_delete(uuid): # noqa: E501 + """removes tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_delete(uuid): # noqa: E501 + """removes tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.ValueOrPriority to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationValueOrPriorityWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.RoutingConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.RoutingConstraint to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationRoutingConstraintWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.RoutingConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.RoutingConstraint to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationRoutingConstraintWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristic_post(uuid, body=None): # noqa: E501 + """creates tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.topology.RiskCharacteristic to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyRiskCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_delete(uuid, risk_characteristic_name): # noqa: E501 + """removes tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get(uuid, risk_characteristic_name): # noqa: E501 + """returns tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_put(uuid, risk_characteristic_name, body=None): # noqa: E501 + """creates or updates tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + :param body: tapi.topology.RiskCharacteristic to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyRiskCharacteristicWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_delete(uuid): # noqa: E501 + """removes tapi.path.computation.TopologyConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_get(uuid): # noqa: E501 + """returns tapi.path.computation.TopologyConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + + :rtype: TapiPathComputationTopologyConstraintWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_post(uuid, body=None): # noqa: E501 + """creates tapi.path.computation.TopologyConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.TopologyConstraint to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationTopologyConstraintWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_put(uuid, body=None): # noqa: E501 + """creates or updates tapi.path.computation.TopologyConstraint + + none # noqa: E501 + + :param uuid: Id of path-comp-service + :type uuid: str + :param body: tapi.path.computation.TopologyConstraint to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationTopologyConstraintWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_get(uuid): # noqa: E501 + """returns tapi.path.computation.Path + + none # noqa: E501 + + :param uuid: Id of path + :type uuid: str + + :rtype: TapiPathComputationPathWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_linktopology_uuidlink_uuid_get(uuid, topology_uuid, link_uuid): # noqa: E501 + """returns tapi.topology.LinkRef + + none # noqa: E501 + + :param uuid: Id of path + :type uuid: str + :param topology_uuid: Id of link + :type topology_uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiTopologyLinkRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of path + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_cost_characteristiccost_name_get(uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of path + :type uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_get(uuid): # noqa: E501 + """returns tapi.path.computation.RoutingConstraint + + none # noqa: E501 + + :param uuid: Id of path + :type uuid: str + + :rtype: TapiPathComputationRoutingConstraintWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_latency_characteristictraffic_property_name_get(uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of path + :type uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_cost_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_delay_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + Delay unit is microseconds. # noqa: E501 + + :param uuid: Id of path + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_hops_get(uuid): # noqa: E501 + """returns tapi.path.computation.ValueOrPriority + + none # noqa: E501 + + :param uuid: Id of path + :type uuid: str + + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get(uuid, risk_characteristic_name): # noqa: E501 + """returns tapi.topology.RiskCharacteristic + + none # noqa: E501 + + :param uuid: Id of path + :type uuid: str + :param risk_characteristic_name: Id of risk-diversity-characteristic + :type risk_characteristic_name: str + + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_post(body=None): # noqa: E501 + """creates tapi.path.computation.PathComputationContext + + Augments the base TAPI Context with PathComputationService information # noqa: E501 + + :param body: tapi.path.computation.PathComputationContext to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathComputationContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_path_computationpath_computation_context_put(body=None): # noqa: E501 + """creates or updates tapi.path.computation.PathComputationContext + + Augments the base TAPI Context with PathComputationService information # noqa: E501 + + :param body: tapi.path.computation.PathComputationContext to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiPathComputationPathComputationContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_path_computationcompute_p_2_p_path_post(body=None): # noqa: E501 + """operates on tapi.path.computation.ComputeP2PPath + + operates on tapi.path.computation.ComputeP2PPath # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiPathComputationComputeP2PPath + """ + if connexion.request.is_json: + body = OperationsTapipathcomputationcomputep2ppathBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_path_computationdelete_p_2_p_path_post(body=None): # noqa: E501 + """operates on tapi.path.computation.DeleteP2PPath + + operates on tapi.path.computation.DeleteP2PPath # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiPathComputationDeleteP2PPath + """ + if connexion.request.is_json: + body = OperationsTapipathcomputationdeletep2ppathBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def operations_tapi_path_computationoptimize_p_2_ppath_post(body=None): # noqa: E501 + """operates on tapi.path.computation.OptimizeP2Ppath + + operates on tapi.path.computation.OptimizeP2Ppath # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiPathComputationOptimizeP2Ppath + """ + if connexion.request.is_json: + body = OperationsTapipathcomputationoptimizep2ppathBody.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' diff --git a/hackfest/tapi/server/tapi_server/controllers/tapi_topology_controller.py b/hackfest/tapi/server/tapi_server/controllers/tapi_topology_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..536be48d38978f220df04f7d4cd2f479ef7fa14d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/controllers/tapi_topology_controller.py @@ -0,0 +1,2193 @@ +import connexion +import six + +from tapi_server.models.operations_tapitopologygetlinkdetails_body import OperationsTapitopologygetlinkdetailsBody # noqa: E501 +from tapi_server.models.operations_tapitopologygetnodedetails_body import OperationsTapitopologygetnodedetailsBody # noqa: E501 +from tapi_server.models.operations_tapitopologygetnodeedgepointdetails_body import OperationsTapitopologygetnodeedgepointdetailsBody # noqa: E501 +from tapi_server.models.operations_tapitopologygettopologydetails_body import OperationsTapitopologygettopologydetailsBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_connection_spec_reference_wrapper import TapiTopologyConnectionSpecReferenceWrapper # noqa: E501 +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_get_link_details import TapiTopologyGetLinkDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_node_details import TapiTopologyGetNodeDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_node_edge_point_details import TapiTopologyGetNodeEdgePointDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_topology_details import TapiTopologyGetTopologyDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_topology_list import TapiTopologyGetTopologyList # noqa: E501 +from tapi_server.models.tapi_topology_inter_rule_group_wrapper import TapiTopologyInterRuleGroupWrapper # noqa: E501 +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_link_wrapper import TapiTopologyLinkWrapper # noqa: E501 +from tapi_server.models.tapi_topology_network_topology_service_wrapper import TapiTopologyNetworkTopologyServiceWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_edge_point_ref_wrapper import TapiTopologyNodeEdgePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_owned_node_edge_point_wrapper import TapiTopologyNodeOwnedNodeEdgePointWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_rule_group_ref_wrapper import TapiTopologyNodeRuleGroupRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_rule_group_wrapper import TapiTopologyNodeRuleGroupWrapper # noqa: E501 +from tapi_server.models.tapi_topology_port_role_rule_wrapper import TapiTopologyPortRoleRuleWrapper # noqa: E501 +from tapi_server.models.tapi_topology_resilience_type_wrapper import TapiTopologyResilienceTypeWrapper # noqa: E501 +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_rule_wrapper import TapiTopologyRuleWrapper # noqa: E501 +from tapi_server.models.tapi_topology_signal_property_rule_wrapper import TapiTopologySignalPropertyRuleWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_context_wrapper import TapiTopologyTopologyContextWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_node_wrapper import TapiTopologyTopologyNodeWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_ref_wrapper import TapiTopologyTopologyRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_wrapper import TapiTopologyTopologyWrapper # noqa: E501 +from tapi_server.models.tapi_topology_validation_mechanism_wrapper import TapiTopologyValidationMechanismWrapper # noqa: E501 +from tapi_server import util + +from tapi_server.models.tapi_topology_getlinkdetails_output import TapiTopologyGetlinkdetailsOutput +from tapi_server.models.tapi_topology_getnodeedgepointdetails_output import TapiTopologyGetnodeedgepointdetailsOutput +from tapi_server.models.tapi_topology_getnodedetails_output import TapiTopologyGetnodedetailsOutput +from tapi_server.models.tapi_topology_gettopologylist_output import TapiTopologyGettopologylistOutput +from tapi_server.models.tapi_topology_gettopologydetails_output import TapiTopologyGettopologydetailsOutput +from tapi_server import database + + +def data_tapi_commoncontext_tapi_topologytopology_context_delete(): # noqa: E501 + """removes tapi.topology.context.TopologyContext + + Augments the base TAPI Context with TopologyService information # noqa: E501 + + + :rtype: None + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_get(): # noqa: E501 + """returns tapi.topology.context.TopologyContext + + Augments the base TAPI Context with TopologyService information # noqa: E501 + + + :rtype: TapiTopologyTopologyContextWrapper + """ + return database.context.topology_context + + +def data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_get(): # noqa: E501 + """returns tapi.topology.NetworkTopologyService + + none # noqa: E501 + + + :rtype: TapiTopologyNetworkTopologyServiceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_namevalue_name_get(value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_topologytopology_uuid_get(topology_uuid): # noqa: E501 + """returns tapi.topology.TopologyRef + + none # noqa: E501 + + :param topology_uuid: Id of topology + :type topology_uuid: str + + :rtype: TapiTopologyTopologyRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_post(body=None): # noqa: E501 + """creates tapi.topology.context.TopologyContext + + Augments the base TAPI Context with TopologyService information # noqa: E501 + + :param body: tapi.topology.TopologyContext to be added to list + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyTopologyContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_put(body=None): # noqa: E501 + """creates or updates tapi.topology.context.TopologyContext + + Augments the base TAPI Context with TopologyService information # noqa: E501 + + :param body: tapi.topology.TopologyContext to be added or updated + :type body: dict | bytes + + :rtype: None + """ + if connexion.request.is_json: + body = TapiTopologyTopologyContextWrapper.from_dict(connexion.request.get_json()) # noqa: E501 + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_get(uuid): # noqa: E501 + """returns tapi.topology.topologycontext.Topology + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + + :rtype: TapiTopologyTopologyWrapper + """ + return database.topology(uuid) + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.Capacity + + Capacity available to be assigned. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_total_size_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_cost_characteristiccost_name_get(uuid, link_uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_get(uuid, link_uuid): # noqa: E501 + """returns tapi.topology.Link + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiTopologyLinkWrapper + """ + return database.link(uuid, link_uuid) + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_latency_characteristictraffic_property_name_get(uuid, link_uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_namevalue_name_get(uuid, link_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_node_edge_pointtopology_uuidnode_uuidnode_edge_point_uuid_get(uuid, link_uuid, topology_uuid, node_uuid, node_edge_point_uuid): # noqa: E501 + """returns tapi.topology.NodeEdgePointRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + :param topology_uuid: Id of node-edge-point + :type topology_uuid: str + :param node_uuid: Id of node-edge-point + :type node_uuid: str + :param node_edge_point_uuid: Id of node-edge-point + :type node_edge_point_uuid: str + + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_resilience_type_get(uuid, link_uuid): # noqa: E501 + """returns tapi.topology.ResilienceType + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiTopologyResilienceTypeWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_risk_characteristicrisk_characteristic_name_get(uuid, link_uuid, risk_characteristic_name): # noqa: E501 + """returns tapi.topology.RiskCharacteristic + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + :param risk_characteristic_name: Id of risk-characteristic + :type risk_characteristic_name: str + + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.Capacity + + An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_total_size_get(uuid, link_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_validation_mechanismvalidation_mechanism_get(uuid, link_uuid, validation_mechanism): # noqa: E501 + """returns tapi.topology.ValidationMechanism + + Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param link_uuid: Id of link + :type link_uuid: str + :param validation_mechanism: Id of validation-mechanism + :type validation_mechanism: str + + :rtype: TapiTopologyValidationMechanismWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_namevalue_name_get(uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get(uuid, node_uuid, topology_uuid, aggregated_node_edge_point_node_uuid, node_edge_point_uuid): # noqa: E501 + """returns tapi.topology.NodeEdgePointRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param topology_uuid: Id of aggregated-node-edge-point + :type topology_uuid: str + :param aggregated_node_edge_point_node_uuid: Id of aggregated-node-edge-point + :type aggregated_node_edge_point_node_uuid: str + :param node_edge_point_uuid: Id of aggregated-node-edge-point + :type node_edge_point_uuid: str + + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.Capacity + + Capacity available to be assigned. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_total_size_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_cost_characteristiccost_name_get(uuid, node_uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_encap_topology_get(uuid, node_uuid): # noqa: E501 + """returns tapi.topology.TopologyRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiTopologyTopologyRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_get(uuid, node_uuid): # noqa: E501 + """returns tapi.topology.topology.Node + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiTopologyTopologyNodeWrapper + """ + return database.node(uuid, node_uuid) + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_latency_characteristictraffic_property_name_get(uuid, node_uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_namevalue_name_get(uuid, node_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.Capacity + + Capacity available to be assigned. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_total_size_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_cost_characteristiccost_name_get(uuid, node_uuid, node_rule_group_uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.topology.NodeRuleGroup + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiTopologyNodeRuleGroupWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_associated_node_rule_grouptopology_uuidassociated_node_rule_group_node_uuidassociated_node_rule_group_node_rule_group_uuid_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, topology_uuid, associated_node_rule_group_node_uuid, associated_node_rule_group_node_rule_group_uuid): # noqa: E501 + """returns tapi.topology.NodeRuleGroupRef + + The NodeRuleGroups that the InterRuleGroup constrains interconnection between. The CEPs of the NEPs of a referenced NodeRuleGroup can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup constrained by the rules of the InterRuleGroup. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param topology_uuid: Id of associated-node-rule-group + :type topology_uuid: str + :param associated_node_rule_group_node_uuid: Id of associated-node-rule-group + :type associated_node_rule_group_node_uuid: str + :param associated_node_rule_group_node_rule_group_uuid: Id of associated-node-rule-group + :type associated_node_rule_group_node_rule_group_uuid: str + + :rtype: TapiTopologyNodeRuleGroupRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.Capacity + + Capacity available to be assigned. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_total_size_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_cost_characteristiccost_name_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, cost_name): # noqa: E501 + """returns tapi.topology.CostCharacteristic + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param cost_name: Id of cost-characteristic + :type cost_name: str + + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.topology.InterRuleGroup + + Nested NodeRuleGroups may have InterRuleGroups. The Superior NodeRuleGroup contains the nested NodeRuleGroups and their associated InterRuleGroups. This is equivalent to the Node-Topology hierarchy. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiTopologyInterRuleGroupWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_latency_characteristictraffic_property_name_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_namevalue_name_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_risk_characteristicrisk_characteristic_name_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, risk_characteristic_name): # noqa: E501 + """returns tapi.topology.RiskCharacteristic + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param risk_characteristic_name: Id of risk-characteristic + :type risk_characteristic_name: str + + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_cep_port_role_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.PortRoleRule + + Indicates the port role to which the rule applies. The port role is interpreted in the context of the connection type which is identified by the connection spec. The port role is not meaningful in the absence of a connection spec reference. If a node rule group carries a port role, that role applies also to the associated inter rule where the combination of the roles in the node rule groups at the ends of the inter group rule define the connection orientation. For example a root-and-leaf connection may be used in a node where a node rule group collects one set of NEPs has the port role 'root' and another node rule group collects another set of NEPs has the port role 'leaf' where these are joined by an inter rule group. This combination specifies an allowed orientation of the root-and-leaf connection. No port role statement means all port roles are allowed. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologyPortRoleRuleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_connection_spec_reference_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.ConnectionSpecReference + + Identifies the type of connection that the rule applies to. If the attribute is not present then the rule applies to all types of connection supported by the device. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologyConnectionSpecReferenceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.Rule + + The list of rules of the InterRuleGroup. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologyRuleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_namevalue_name_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_signal_property_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.SignalPropertyRule + + The rule only applies to signals with the properties listed. If the attribute is not present then the rule applies to all signals. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologySignalPropertyRuleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.Capacity + + An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_total_size_get(uuid, node_uuid, node_rule_group_uuid, inter_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param inter_rule_group_uuid: Id of inter-rule-group + :type inter_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_latency_characteristictraffic_property_name_get(uuid, node_uuid, node_rule_group_uuid, traffic_property_name): # noqa: E501 + """returns tapi.topology.LatencyCharacteristic + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param traffic_property_name: Id of latency-characteristic + :type traffic_property_name: str + + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_namevalue_name_get(uuid, node_uuid, node_rule_group_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_edge_pointtopology_uuidnode_edge_point_node_uuidnode_edge_point_uuid_get(uuid, node_uuid, node_rule_group_uuid, topology_uuid, node_edge_point_node_uuid, node_edge_point_uuid): # noqa: E501 + """returns tapi.topology.NodeEdgePointRef + + NEPs and their client CEPs that the rules apply to. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param topology_uuid: Id of node-edge-point + :type topology_uuid: str + :param node_edge_point_node_uuid: Id of node-edge-point + :type node_edge_point_node_uuid: str + :param node_edge_point_uuid: Id of node-edge-point + :type node_edge_point_uuid: str + + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_rule_grouptopology_uuidnode_rule_group_node_uuidnode_rule_group_node_rule_group_uuid_get(uuid, node_uuid, node_rule_group_uuid, topology_uuid, node_rule_group_node_uuid, node_rule_group_node_rule_group_uuid): # noqa: E501 + """returns tapi.topology.NodeRuleGroupRef + + NodeRuleGroups may be nested such that finer grained rules may be applied. A nested rule group should have a subset of the NEPs of the superior rule group. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param topology_uuid: Id of node-rule-group + :type topology_uuid: str + :param node_rule_group_node_uuid: Id of node-rule-group + :type node_rule_group_node_uuid: str + :param node_rule_group_node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_node_rule_group_uuid: str + + :rtype: TapiTopologyNodeRuleGroupRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_risk_characteristicrisk_characteristic_name_get(uuid, node_uuid, node_rule_group_uuid, risk_characteristic_name): # noqa: E501 + """returns tapi.topology.RiskCharacteristic + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param risk_characteristic_name: Id of risk-characteristic + :type risk_characteristic_name: str + + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_cep_port_role_get(uuid, node_uuid, node_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.PortRoleRule + + Indicates the port role to which the rule applies. The port role is interpreted in the context of the connection type which is identified by the connection spec. The port role is not meaningful in the absence of a connection spec reference. If a node rule group carries a port role, that role applies also to the associated inter rule where the combination of the roles in the node rule groups at the ends of the inter group rule define the connection orientation. For example a root-and-leaf connection may be used in a node where a node rule group collects one set of NEPs has the port role 'root' and another node rule group collects another set of NEPs has the port role 'leaf' where these are joined by an inter rule group. This combination specifies an allowed orientation of the root-and-leaf connection. No port role statement means all port roles are allowed. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologyPortRoleRuleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_connection_spec_reference_get(uuid, node_uuid, node_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.ConnectionSpecReference + + Identifies the type of connection that the rule applies to. If the attribute is not present then the rule applies to all types of connection supported by the device. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologyConnectionSpecReferenceWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_get(uuid, node_uuid, node_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.Rule + + The list of rules of the NodeRuleGroup. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologyRuleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_namevalue_name_get(uuid, node_uuid, node_rule_group_uuid, local_id, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_signal_property_get(uuid, node_uuid, node_rule_group_uuid, local_id): # noqa: E501 + """returns tapi.topology.SignalPropertyRule + + The rule only applies to signals with the properties listed. If the attribute is not present then the rule applies to all signals. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + :param local_id: Id of rule + :type local_id: str + + :rtype: TapiTopologySignalPropertyRuleWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.Capacity + + An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_total_size_get(uuid, node_uuid, node_rule_group_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param node_rule_group_uuid: Id of node-rule-group + :type node_rule_group_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get(uuid, node_uuid, owned_node_edge_point_uuid, topology_uuid, aggregated_node_edge_point_node_uuid, node_edge_point_uuid): # noqa: E501 + """returns tapi.topology.NodeEdgePointRef + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param topology_uuid: Id of aggregated-node-edge-point + :type topology_uuid: str + :param aggregated_node_edge_point_node_uuid: Id of aggregated-node-edge-point + :type aggregated_node_edge_point_node_uuid: str + :param node_edge_point_uuid: Id of aggregated-node-edge-point + :type node_edge_point_uuid: str + + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.Capacity + + Capacity available to be assigned. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_total_size_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.topology.node.OwnedNodeEdgePoint + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiTopologyNodeOwnedNodeEdgePointWrapper + """ + return database.node_edge_point(uuid, node_uuid, owned_node_edge_point_uuid) + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_mapped_service_interface_pointservice_interface_point_uuid_get(uuid, node_uuid, owned_node_edge_point_uuid, service_interface_point_uuid): # noqa: E501 + """returns tapi.common.ServiceInterfacePointRef + + NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param service_interface_point_uuid: Id of mapped-service-interface-point + :type service_interface_point_uuid: str + + :rtype: TapiCommonServiceInterfacePointRefWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_namevalue_name_get(uuid, node_uuid, owned_node_edge_point_uuid, value_name): # noqa: E501 + """returns tapi.common.NameAndValue + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + :param value_name: Id of name + :type value_name: str + + :rtype: TapiCommonNameAndValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.Capacity + + An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_total_size_get(uuid, node_uuid, owned_node_edge_point_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + :param owned_node_edge_point_uuid: Id of owned-node-edge-point + :type owned_node_edge_point_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.BandwidthProfile + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonBandwidthProfileWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + none # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.Capacity + + An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityWrapper + """ + return 'do some magic!' + + +def data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_total_size_get(uuid, node_uuid): # noqa: E501 + """returns tapi.common.CapacityValue + + Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate. # noqa: E501 + + :param uuid: Id of topology + :type uuid: str + :param node_uuid: Id of node + :type node_uuid: str + + :rtype: TapiCommonCapacityValueWrapper + """ + return 'do some magic!' + + +def operations_tapi_topologyget_link_details_post(body=None): # noqa: E501 + """operates on tapi.topology.GetLinkDetails + + operates on tapi.topology.GetLinkDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiTopologyGetLinkDetails + """ + if connexion.request.is_json: + body = OperationsTapitopologygetlinkdetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + + return TapiTopologyGetLinkDetails(TapiTopologyGetlinkdetailsOutput( + database.link(body.input.topology_id_or_name, body.input.link_id_or_name))) + + +def operations_tapi_topologyget_node_details_post(body=None): # noqa: E501 + """operates on tapi.topology.GetNodeDetails + + operates on tapi.topology.GetNodeDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiTopologyGetNodeDetails + """ + if connexion.request.is_json: + body = OperationsTapitopologygetnodedetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + return TapiTopologyGetNodeDetails(TapiTopologyGetnodedetailsOutput( + database.node(body.input.topology_id_or_name, + body.input.node_id_or_name))) + + +def operations_tapi_topologyget_node_edge_point_details_post(body=None): # noqa: E501 + """operates on tapi.topology.GetNodeEdgePointDetails + + operates on tapi.topology.GetNodeEdgePointDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiTopologyGetNodeEdgePointDetails + """ + if connexion.request.is_json: + body = OperationsTapitopologygetnodeedgepointdetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + + return TapiTopologyGetNodeEdgePointDetails(TapiTopologyGetnodeedgepointdetailsOutput( + database.node_edge_point(body.input.topology_id_or_name, + body.input.node_id_or_name, + body.input.nep_id_or_name))) + + +def operations_tapi_topologyget_topology_details_post(body=None): # noqa: E501 + """operates on tapi.topology.GetTopologyDetails + + operates on tapi.topology.GetTopologyDetails # noqa: E501 + + :param body: + :type body: dict | bytes + + :rtype: TapiTopologyGetTopologyDetails + """ + if connexion.request.is_json: + body = OperationsTapitopologygettopologydetailsBody.from_dict(connexion.request.get_json()) # noqa: E501 + + return TapiTopologyGetTopologyDetails(TapiTopologyGettopologydetailsOutput( + database.topology(body.input.topology_id_or_name))) + + +def operations_tapi_topologyget_topology_list_post(): # noqa: E501 + """operations_tapi_topologyget_topology_list_post + + # noqa: E501 + + + :rtype: TapiTopologyGetTopologyList + """ + return TapiTopologyGetTopologyList(TapiTopologyGettopologylistOutput( + database.topology_list())) diff --git a/hackfest/tapi/server/tapi_server/database.py b/hackfest/tapi/server/tapi_server/database.py new file mode 100644 index 0000000000000000000000000000000000000000..1e3e3da6a6398f1f4114fcdaaf144bb493e6486b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/database.py @@ -0,0 +1,206 @@ +#!/usr/bin/env python3 + +from tapi_server.models.tapi_common_context import TapiCommonContext +from tapi_server.models.tapi_connectivity_cep_list import TapiConnectivityCepList +from tapi_server.models.tapi_connectivity_connectivity_context import TapiConnectivityConnectivityContext + +context = TapiCommonContext() + +def service_interface_point_list (): + """Retrieve all ServiceInterfacePoints + + :rtype: List(ServiceInterfacePoint) + """ + return context.service_interface_point + + +def service_interface_point (sip_uuid): + """Retrieve ServiceInterfacePoint by ID + + :param sip_uuid: ID of ServiceInterfacePoint + :type sip_uuid: str + + :rtype: ServiceInterfacePoint + """ + for sip in context.service_interface_point: + if sip.uuid == sip_uuid: + return sip + + +def topology_list (): + """Retrieve all Topology + + :rtype: List(Topology) + """ + return context.topology_context.topology + + +def topology (topo_uuid): + """Retrieve Topology by ID + + :param topo_uuid: ID of Topology + :type topo_uuid: str + + :rtype: Topology + """ + for topo in context.topology_context.topology: + if topo.uuid == topo_uuid: + return topo + + +def node (topo_uuid, node_uuid): + """Retrieve Node by ID + + :param topo_uuid: ID of Topology + :type topo_uuid: str + :param node_uuid: ID of Node + :type node_uuid: str + + :rtype: Node + """ + for topo in context.topology_context.topology: + if topo.uuid == topo_uuid: + for node in topo.node: + if node.uuid == node_uuid: + return node + + +def link (topo_uuid, link_uuid): + """Retrieve Link by ID + + :param topo_uuid: ID of Topology + :type topo_uuid: str + :param link_uuid: ID of Link + :type link_uuid: str + + :rtype: Link + """ + for topo in context.topology_context.topology: + if topo.uuid == topo_uuid: + for link in topo.link: + if link.uuid == link_uuid: + return link + + +def node_edge_point (topo_uuid, node_uuid, nep_uuid): + """Retrieve NodeEdgePoint by ID + + :param topo_uuid: ID of Topology + :type uuid: str + :param node_uuid: ID of Node + :type node_uuid: str + :param nep_uuid: ID of NodeEdgePoint + :type nep_uuid: str + + :rtype: NodeEdgePoint + """ + for topo in context.topology_context.topology: + if topo.uuid == topo_uuid: + for node in topo.node: + if node.uuid == node_uuid: + for nep in node.owned_node_edge_point: + if nep.uuid == nep_uuid: + return nep + +def connection_end_point_list (topo_uuid, node_uuid, nep_uuid): + """Retrieve NodeEdgePoint by ID + + :param topo_uuid: ID of Topology + :type uuid: str + :param node_uuid: ID of Node + :type node_uuid: str + :param nep_uuid: ID of NodeEdgePoint + :type nep_uuid: str + + :rtype: List[ConnectionEndPoint] + """ + for topo in context.topology_context.topology: + if topo.uuid == topo_uuid: + for node in topo.node: + if node.uuid == node_uuid: + for nep in node.owned_node_edge_point: + if nep.uuid == nep_uuid: + if not hasattr(nep, "cep_list"): + nep.cep_list = TapiConnectivityCepList(connection_end_point=[]) + return nep.cep_list.connection_end_point + +def connection_end_point (topo_uuid, node_uuid, nep_uuid, cep_uuid): + """Retrieve NodeEdgePoint by ID + + :param topo_uuid: ID of Topology + :type uuid: str + :param node_uuid: ID of Node + :type node_uuid: str + :param nep_uuid: ID of NodeEdgePoint + :type nep_uuid: str + :param cep_uuid: ID of ConnectionEndPoint + :type cep_uuid: str + + :rtype: ConnectionEndPoint + """ + for topo in context.topology_context.topology: + if topo.uuid == topo_uuid: + for node in topo.node: + if node.uuid == node_uuid: + for nep in node.owned_node_edge_point: + if nep.uuid == nep_uuid: + if not hasattr(nep, "cep_list"): + nep.cep_list = TapiConnectivityCepList(connection_end_point=[]) + for cep in nep.cep_list.connection_end_point: + if cep.uuid == cep_uuid: + return cep + +def connectivity_context (): + """Retrieve ConnectivityContext + + :rtype: TapiConnectivityConnectivityContext + """ + if context.connectivity_context is None: + context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + return context.connectivity_context + +def connectivity_service_list (): + """Retrieve all ConnectivityService + + :rtype: List(ConnectivityService) + """ + if context.connectivity_context is None: + context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + return context.connectivity_context.connectivity_service + + +def connectivity_service (cs_uuid): + """Retrieve ConnectivityService by ID + + :param cs_uuid: ID of ConnectivityService + :type cs_uuid: str + + :rtype: Topology + """ + if context.connectivity_context is None: + context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + for cs in context.connectivity_context.connectivity_service: + if cs.uuid == cs_uuid: + return cs + +def connection (conn_uuid): + """Retrieve Connection by ID + + :param conn_uuid: ID of Connection + :type conn_uuid: str + + :rtype: Connection + """ + if context.connectivity_context is None: + context.connectivity_context = TapiConnectivityConnectivityContext( + connectivity_service=[], connection=[] + ) + for conn in context.connectivity_context.connection: + if conn.uuid == conn_uuid: + return conn diff --git a/hackfest/tapi/server/tapi_server/database/mini-ols-context.json b/hackfest/tapi/server/tapi_server/database/mini-ols-context.json new file mode 100644 index 0000000000000000000000000000000000000000..59a4fb7cfb54df9a101ac5eda848f36553791704 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/database/mini-ols-context.json @@ -0,0 +1,728 @@ +{ + "uuid": "ols-ctx", + "service-interface-point": [ + { + "uuid": "node-4-port-16-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-3-port-16-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-1-port-14-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-14-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-13-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-18-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-2-port-15-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-2-port-17-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-1-port-15-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-2-port-13-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-13-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-13-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-1-port-17-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-13-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-3-port-17-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-1-port-13-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-15-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-14-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-17-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-2-port-14-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-14-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-17-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-1-port-17-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-4-port-16-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-14-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-1-port-14-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-1-port-13-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-2-port-14-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-3-port-15-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-3-port-16-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-18-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-4-port-17-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-3-port-15-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-2-port-15-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + }, + { + "uuid": "node-2-port-17-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-2-port-13-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-4-port-15-input", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "INPUT" + }, + { + "uuid": "node-1-port-15-output", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "direction": "OUTPUT" + } + ], + "topology-context": { + "nw-topology-service": { + "uuid": "ols-ctx", + "topology": [{"topology-uuid": "ols-topo"}] + }, + "topology": [ + { + "uuid": "ols-topo", + "layer-protocol-name": ["PHOTONIC_MEDIA", "DSR"], + "node": [ + { + "uuid": "node-1", + "owned-node-edge-point": [ + { + "uuid": "node-1-port-13", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-1-port-13-output"}, + {"service-interface-point-uuid": "node-1-port-13-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-1-port-14", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-1-port-14-output"}, + {"service-interface-point-uuid": "node-1-port-14-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-1-port-15", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-1-port-15-input"}, + {"service-interface-point-uuid": "node-1-port-15-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-1-port-17", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-1-port-17-input"}, + {"service-interface-point-uuid": "node-1-port-17-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-1-port-3", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + { + "uuid": "node-1-port-4", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + }, + { + "uuid": "node-2", + "owned-node-edge-point": [ + { + "uuid": "node-2-port-13", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-2-port-13-output"}, + {"service-interface-point-uuid": "node-2-port-13-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-2-port-14", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-2-port-14-input"}, + {"service-interface-point-uuid": "node-2-port-14-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-2-port-15", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-2-port-15-input"}, + {"service-interface-point-uuid": "node-2-port-15-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-2-port-17", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-2-port-17-output"}, + {"service-interface-point-uuid": "node-2-port-17-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-2-port-3", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + { + "uuid": "node-2-port-4", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + }, + { + "uuid": "node-3", + "owned-node-edge-point": [ + { + "uuid": "node-3-port-13", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-3-port-13-input"}, + {"service-interface-point-uuid": "node-3-port-13-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-3-port-14", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-3-port-14-input"}, + {"service-interface-point-uuid": "node-3-port-14-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-3-port-15", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-3-port-15-output"}, + {"service-interface-point-uuid": "node-3-port-15-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-3-port-16", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-3-port-16-output"}, + {"service-interface-point-uuid": "node-3-port-16-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-3-port-17", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-3-port-17-output"}, + {"service-interface-point-uuid": "node-3-port-17-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-3-port-18", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-3-port-18-output"}, + {"service-interface-point-uuid": "node-3-port-18-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-3-port-1", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + { + "uuid": "node-3-port-2", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + { + "uuid": "node-3-port-4", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + }, + { + "uuid": "node-4", + "owned-node-edge-point": [ + { + "uuid": "node-4-port-13", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-4-port-13-output"}, + {"service-interface-point-uuid": "node-4-port-13-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-4-port-14", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-4-port-14-input"}, + {"service-interface-point-uuid": "node-4-port-14-output"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-4-port-15", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-4-port-15-output"}, + {"service-interface-point-uuid": "node-4-port-15-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-4-port-16", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-4-port-16-output"}, + {"service-interface-point-uuid": "node-4-port-16-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-4-port-17", + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": [ + {"service-interface-point-uuid": "node-4-port-17-output"}, + {"service-interface-point-uuid": "node-4-port-17-input"} + ], + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"] + }, + { + "uuid": "node-4-port-1", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + { + "uuid": "node-4-port-2", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + { + "uuid": "node-4-port-3", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": ["tapi-photonic-media:PHOTONIC_LAYER_QUALIFIER_NMC"], + "link-port-direction": "UNIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + } + ], + "link": [ + { + "uuid": "link-1:3-3:1", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-1", "node-edge-point-uuid": "node-1-port-3"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-3", "node-edge-point-uuid": "node-3-port-1"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-1:4-4:1", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-1", "node-edge-point-uuid": "node-1-port-4"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-4", "node-edge-point-uuid": "node-4-port-1"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-2:3-3:2", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-2", "node-edge-point-uuid": "node-2-port-3"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-3", "node-edge-point-uuid": "node-3-port-2"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-2:4-4:2", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-2", "node-edge-point-uuid": "node-2-port-4"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-4", "node-edge-point-uuid": "node-4-port-2"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-3:1-1:3", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-3", "node-edge-point-uuid": "node-3-port-1"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-1", "node-edge-point-uuid": "node-1-port-3"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-3:2-2:3", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-3", "node-edge-point-uuid": "node-3-port-2"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-2", "node-edge-point-uuid": "node-2-port-3"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-3:4-4:3", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-3", "node-edge-point-uuid": "node-3-port-4"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-4", "node-edge-point-uuid": "node-4-port-3"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-4:1-1:4", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-4", "node-edge-point-uuid": "node-4-port-1"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-1", "node-edge-point-uuid": "node-1-port-4"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-4:2-2:4", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-4", "node-edge-point-uuid": "node-4-port-2"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-2", "node-edge-point-uuid": "node-2-port-4"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + }, + { + "uuid": "link-4:3-3:4", + "direction": "UNIDIRECTIONAL", + "cost-characteristic": [{"cost-name": "te-metric", "cost-value": 1}], + "node-edge-point": [ + {"topology-uuid": "ols-topo", "node-uuid": "node-4", "node-edge-point-uuid": "node-4-port-3"}, + {"topology-uuid": "ols-topo", "node-uuid": "node-3", "node-edge-point-uuid": "node-3-port-4"} + ], + "layer-protocol-name": ["PHOTONIC_MEDIA"] + } + ] + } + ] + }, + "connectivity-context": { + "connectivity-service": [], + "connection": [] + } +} diff --git a/hackfest/tapi/server/tapi_server/database/odu_context.json b/hackfest/tapi/server/tapi_server/database/odu_context.json new file mode 100644 index 0000000000000000000000000000000000000000..20f4c96a5e0a2a7be15d96fee188a5bf3a2d9652 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/database/odu_context.json @@ -0,0 +1,1817 @@ +{ + "uuid": "ctx-ref", + "name": + [ + { + "value-name": "name", + "value": "REFERENCE_CONTEXT" + } + ], + + "service-interface-point": + [ + { + "uuid": "sip-pe1-uni1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_UNI_01" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + } + }, + + { + "uuid": "sip-pe1-uni2", + "name": + [ + { + "value-name": "name", + "value": "PE_01_UNI_02" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + } + }, + + { + "uuid": "sip-pe2-uni1", + "name": + [ + { + "value-name": "name", + "value": "PE_02_UNI_01" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + } + }, + + { + "uuid": "sip-pe2-uni2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_UNI_02" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + } + }, + + { + "uuid": "sip-pe3-uni1", + "name": + [ + { + "value-name": "name", + "value": "PE_03_UNI_01" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + } + }, + + { + "uuid": "sip-pe3-uni2", + "name": + [ + { + "value-name": "name", + "value": "PE_03_UNI_02" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + } + } + ], + + "topology-context": { + "topology": + [ + { + "uuid": "topo-nwk", + "name": + [ + { + "value-name": "name", + "value": "NETWORK_TOPOLOGY" + } + ], + + "node": + [ + { + "uuid": "node-mul-pe-1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_MULTILAYER_NODE" + } + ], + + "layer-protocol-name": + [ + "ETH", + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "encap-topology": "/restconf/config/context/topology/topo-pe1", + "owned-node-edge-point": + [ + + ], + + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-eth-uni1", + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-eth-uni2", + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu4-nni1", + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu4-nni2" + ] + }, + + { + "uuid": "node-mul-pe-2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_MULTILAYER_NODE" + } + ], + + "layer-protocol-name": + [ + "ETH", + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "encap-topology": "/restconf/config/context/topology/topo-pe2", + "owned-node-edge-point": + [ + + ], + + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-eth-uni1", + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-eth-uni2", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu4-nni1", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu4-nni2" + ] + }, + + { + "uuid": "node-mul-pe-3", + "name": + [ + { + "value-name": "name", + "value": "PE_03_MULTILAYER_NODE" + } + ], + + "layer-protocol-name": + [ + "ETH", + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "encap-topology": "/restconf/config/context/topology/topo-pe3", + "owned-node-edge-point": + [ + + ], + + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe3/node/node-eth-pe-3/owned-node-edge-point/nep-pe3-eth-uni1", + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-3/owned-node-edge-point/nep-pe3-eth-uni2", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni1", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni2", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni3" + ] + }, + + { + "uuid": "node-odu-pi-4", + "name": + [ + { + "value-name": "name", + "value": "PI_04_ODU_NODE" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-nwk/node/node-odu-pi-4/owned-node-edge-point/nep-pi4-odu4-nni1", + "/restconf/config/context/topology/topo-nwk/node/node-odu-pi-4/owned-node-edge-point/nep-pi4-odu4-nni2", + "/restconf/config/context/topology/topo-nwk/node/node-odu-pi-4/owned-node-edge-point/nep-pi4-odu4-nni3" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pi4-odu4-nni1", + "name": + [ + { + "value-name": "name", + "value": "PI_04_ODU4_NNI_01" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pi4-odu4-nni2", + "name": + [ + { + "value-name": "name", + "value": "PI_04_ODU4_NNI_02" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pi4-odu4-nni3", + "name": + [ + { + "value-name": "name", + "value": "PI_04_ODU4_NNI_03" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + } + ], + + "link": + [ + { + "uuid": "link-pe1-odu4-nni1-pi4-odu4-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU4_NNI_01-PI_04_ODU4_NNI_02" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "90", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu4-nni1", + "/restconf/config/context/topology/topo-nwk/node/node-odu-pi-4/owned-node-edge-point/nep-pi4-odu4-nni2" + ] + }, + + { + "uuid": "link-pe2-odu4-nni2-pi4-odu4-nni1", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU4_NNI_02-PI_04_ODU4_NNI_01" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "90", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu4-nni2", + "/restconf/config/context/topology/topo-nwk/node/node-odu-pi-4/owned-node-edge-point/nep-pi4-odu4-nni1" + ] + }, + + { + "uuid": "link-pe3-odu4-nni3-pi4-odu4-nni3", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ODU4_NNI_03-PI_04_ODU4_NNI_03" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni3", + "/restconf/config/context/topology/topo-nwk/node/node-odu-pi-4/owned-node-edge-point/nep-pi4-odu4-nni3" + ] + }, + + { + "uuid": "link-pe1-odu4-nni2-pe3-odu4-nni1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU4_NNI_02-PE_03_ODU4_NNI_01" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu4-nni2", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni1" + ] + }, + + { + "uuid": "link-pe2-odu4-nni1-pe3-odu4-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU4_NNI_01-PE_03_ODU4_NNI_02" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "100", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu4-nni1", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni2" + ] + }, + + { + "uuid": "link-pe1-odu2-nni1-pe2-odu2-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU2_NNI_01-PE_02_ODU2_NNI_02" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "3" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "3" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu2-nni1", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu2-nni2" + ] + }, + + { + "uuid": "link-pe1-odu2-clt1-pe2-odu2-clt1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU2_CLT_01-PE_02_ODU2_CLT_01" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "10", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "0", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "5" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "7" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-odu2-clt1", + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-odu2-clt1" + ] + } + ] + }, + + { + "uuid": "topo-pe1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_INTERNAL_TOPOLOGY" + } + ], + + "node": + [ + { + "uuid": "node-eth-pe-1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ETH_NODE" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-eth-uni1", + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-eth-uni2", + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-eth-pool", + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-odu2-clt1" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pe1-eth-uni1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ETH_UNI_01" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": + [ + "/restconf/config/context/service-interface-point/sip-pe1-uni1" + ] + }, + + { + "uuid": "nep-pe1-eth-uni2", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ETH_UNI_02" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": + [ + "/restconf/config/context/service-interface-point/sip-pe1-uni2" + ] + }, + + { + "uuid": "nep-pe1-eth-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ETH_NEP_POOL" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-odu2-clt1" + ] + }, + + { + "uuid": "nep-pe1-odu2-clt1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU2_CLT_01" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + }, + + { + "uuid": "node-odu-pe-1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU_NODE" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu4-nni1", + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu4-nni2", + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu2-nni1", + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu2-pool" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pe1-odu4-nni1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU4_NNI_01" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe1-odu4-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU4_NNI_02" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe1-odu2-nni1", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU2_NNI_01" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe1-odu2-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ODU2_TTP_POOL" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + } + ], + + "link": + [ + { + "uuid": "link-pe1-eth-pool-pe1-odu2-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_01_ETH_POOL-PE_01_ODU2_POOL" + } + ], + + "layer-protocol-name": + [ + "ETH", + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "200", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "190", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "2" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe1/node/node-eth-pe-1/owned-node-edge-point/nep-pe1-eth-pool", + "/restconf/config/context/topology/topo-pe1/node/node-odu-pe-1/owned-node-edge-point/nep-pe1-odu2-pool" + ] + } + ] + }, + + { + "uuid": "topo-pe2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_INTERNAL_TOPOLOGY" + } + ], + + "node": + [ + { + "uuid": "node-eth-pe-2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ETH_NODE" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-eth-uni1", + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-eth-uni2", + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-eth-pool", + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-odu2-clt1" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pe2-eth-uni1", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ETH_UNI_01" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": + [ + "/restconf/config/context/service-interface-point/sip-pe2-uni1" + ] + }, + + { + "uuid": "nep-pe2-eth-uni2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ETH_UNI_02" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": + [ + "/restconf/config/context/service-interface-point/sip-pe2-uni2" + ] + }, + + { + "uuid": "nep-pe2-eth-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ETH_NEP_POOL" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-odu2-clt1" + ] + }, + + { + "uuid": "nep-pe2-odu2-clt1", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU2_CLT_01" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + }, + + { + "uuid": "node-odu-pe-2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU_NODE" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu4-nni1", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu4-nni2", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu2-nni1", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu2-pool" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pe2-odu4-nni1", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU4_NNI_01" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe2-odu4-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU4_NNI_02" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe2-odu2-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU2_NNI_02" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe2-odu2-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ODU2_TTP_POOL" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + } + ], + + "link": + [ + { + "uuid": "link-pe2-eth-pool-pe2-odu2-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_02_ETH_POOL-PE_02_ODU2_POOL" + } + ], + + "layer-protocol-name": + [ + "ETH", + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "200", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "190", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "2" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe2/node/node-eth-pe-2/owned-node-edge-point/nep-pe2-eth-pool", + "/restconf/config/context/topology/topo-pe2/node/node-odu-pe-2/owned-node-edge-point/nep-pe2-odu2-pool" + ] + } + ] + }, + + { + "uuid": "topo-pe3", + "name": + [ + { + "value-name": "name", + "value": "PE_03_INTERNAL_TOPOLOGY" + } + ], + + "node": + [ + { + "uuid": "node-eth-pe-3", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ETH_NODE" + } + ], + + "layer-protocol-name": + [ + "ETH" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe3/node/node-eth-pe-3/owned-node-edge-point/nep-pe3-eth-uni1", + "/restconf/config/context/topology/topo-pe3/node/node-eth-pe-3/owned-node-edge-point/nep-pe3-eth-uni2", + "/restconf/config/context/topology/topo-pe3/node/node-eth-pe-3/owned-node-edge-point/nep-pe3-eth-pool" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pe3-eth-uni1", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ETH_UNI_01" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": + [ + "/restconf/config/context/service-interface-point/sip-pe3-uni1" + ] + }, + + { + "uuid": "nep-pe3-eth-uni2", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ETH_UNI_02" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "mapped-service-interface-point": + [ + "/restconf/config/context/service-interface-point/sip-pe3-uni2" + ] + }, + + { + "uuid": "nep-pe3-eth-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ETH_NEP_POOL" + } + ], + + "layer-protocol-name": "ETH", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC", + "aggregated-node-edge-point": + [ + + ] + } + ] + }, + + { + "uuid": "node-odu-pe-3", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ODU_NODE" + } + ], + + "layer-protocol-name": + [ + "ODU" + ], + + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "aggregated-node-edge-point": + [ + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni1", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu4-nni2", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu2-pool" + ], + + "owned-node-edge-point": + [ + { + "uuid": "nep-pe3-odu4-nni1", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ODU4_NNI_01" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe3-odu4-nni2", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ODU4_NNI_02" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + }, + + { + "uuid": "nep-pe3-odu2-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ODU2_TTP_POOL" + } + ], + + "layer-protocol-name": "ODU", + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "BIDIRECTIONAL", + "link-port-role": "SYMMETRIC" + } + ] + } + ], + + "link": + [ + { + "uuid": "link-pe3-eth-pool-pe3-odu2-pool", + "name": + [ + { + "value-name": "name", + "value": "PE_03_ETH_POOL-PE_03_ODU2_POOL" + } + ], + + "layer-protocol-name": + [ + "ETH", + "ODU" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": + { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + + "total-potential-capacity": + { + "total-size": + { + "value": "200", + "unit": "GBPS" + } + }, + + "available-capacity": + { + "total-size": + { + "value": "200", + "unit": "GBPS" + } + }, + + "cost-characteristic": + [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + + "latency-characteristic": + [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "2" + } + ], + + "node-edge-point": + [ + "/restconf/config/context/topology/topo-pe3/node/node-eth-pe-3/owned-node-edge-point/nep-pe3-eth-pool", + "/restconf/config/context/topology/topo-pe3/node/node-odu-pe-3/owned-node-edge-point/nep-pe3-odu2-pool" + ] + } + ] + } + ] + }, + + "connection": + [ + + ], + + "connectivity-service": + [ + + ] +} \ No newline at end of file diff --git a/hackfest/tapi/server/tapi_server/database/ols_context.json b/hackfest/tapi/server/tapi_server/database/ols_context.json new file mode 100644 index 0000000000000000000000000000000000000000..a85e6da73cb61564952cdd6855b62f0078c5a992 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/database/ols_context.json @@ -0,0 +1,720 @@ +{ + "uuid": "ctx-ols", + "name": [ + { + "value-name": "name", + "value": "OLS_DOMAIN" + } + ], + "service-interface-point": [ + { + "uuid": "sip-nni-1", + "name": [ + { + "value-name": "name", + "value": "RDM_1_ADD_DROP_INTERFACES" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "supported-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_NMCA" + ], + "total-potential-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + } + }, + { + "uuid": "sip-nni-2", + "name": [ + { + "value-name": "name", + "value": "ROADM_2_ADD_DROP_INTERFACES" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "supported-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_NMCA" + ], + "total-potential-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + } + }, + { + "uuid": "sip-nni-3", + "name": [ + { + "value-name": "name", + "value": "ROADM_3_ADD_DROP_INTERFACES" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "supported-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_NMCA" + ], + "total-potential-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + } + } + ], + "topology-context": { + "topology": [ + { + "uuid": "top-ols", + "name": [ + { + "value-name": "name", + "value": "OLS_TOPOLOGY" + } + ], + "node": [ + { + "uuid": "node-rdm-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_1" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "owned-node-edge-point": [ + { + "uuid": "nep-rdm-1-adddrp-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_1_ADD_DROP_PORT_1" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OMS" + ], + "total-potential-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [ + { + "service-interface-point-uuid": "sip-nni-1" + } + ] + }, + { + "uuid": "nep-rdm-1-deg-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_1_DEGREE_PORT" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OTS" + ], + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [] + } + ], + "aggregated-node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-1", + "node-edge-point-uuid": "nep-rdm-1-adddrp-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-1", + "node-edge-point-uuid": "nep-rdm-1-deg-1" + } + ] + }, + { + "uuid": "node-rdm-2", + "name": [ + { + "value-name": "name", + "value": "ROADM_2" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "owned-node-edge-point": [ + { + "uuid": "nep-rdm-2-adddrp-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_2_ADD_DROP_PORT_1" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OMS" + ], + "total-potential-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [ + { + "service-interface-point-uuid": "sip-nni-2" + } + ] + }, + { + "uuid": "nep-rdm-2-deg-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_2_DEGREE_PORT" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OTS" + ], + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [] + } + ], + "aggregated-node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-2", + "node-edge-point-uuid": "nep-rdm-2-adddrp-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-2", + "node-edge-point-uuid": "nep-rdm-2-deg-1" + } + ] + }, + { + "uuid": "node-rdm-3", + "name": [ + { + "value-name": "name", + "value": "ROADM_3" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "owned-node-edge-point": [ + { + "uuid": "nep-rdm-3-adddrp-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_3_ADD_DROP_PORT_1" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OMS" + ], + "total-potential-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "100", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [ + { + "service-interface-point-uuid": "sip-nni-3" + } + ] + }, + { + "uuid": "nep-rdm-3-deg-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_3_DEGREE_PORT" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OTS" + ], + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [] + } + ], + "aggregated-node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-3", + "node-edge-point-uuid": "nep-rdm-3-adddrp-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-3", + "node-edge-point-uuid": "nep-rdm-3-deg-1" + } + ] + }, + { + "uuid": "node-rdm-4", + "name": [ + { + "value-name": "name", + "value": "ROADM_4" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "owned-node-edge-point": [ + { + "uuid": "nep-rdm-4-deg-1", + "name": [ + { + "value-name": "name", + "value": "ROADM_4_DEGREE_PORT_1" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OTS" + ], + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [] + }, + { + "uuid": "nep-rdm-4-deg-2", + "name": [ + { + "value-name": "name", + "value": "ROADM_4_DEGREE_PORT_2" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OTS" + ], + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [] + }, + { + "uuid": "nep-rdm-4-deg-3", + "name": [ + { + "value-name": "name", + "value": "ROADM_4_DEGREE_PORT_3" + } + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "termination-state": "LP_CAN_NEVER_TERMINATE", + "termination-direction": "BIDIRECTIONAL", + "link-port-direction": "UNIDENTIFIED_OR_UNKNOWN", + "link-port-role": "UNKNOWN", + "layer-protocol-name": "PHOTONIC_MEDIA", + "supported-cep-layer-protocol-qualifier": [ + "PHOTONIC_LAYER_QUALIFIER_OTS" + ], + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "mapped-service-interface-point": [] + } + ], + "aggregated-node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-4", + "node-edge-point-uuid": "nep-rdm-4-deg-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-4", + "node-edge-point-uuid": "nep-rdm-4-deg-2" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-4", + "node-edge-point-uuid": "nep-rdm-4-deg-3" + } + ] + } + ], + "link": [ + { + "uuid": "link-rdm-1-deg-1-rdm-4-deg-1", + "name": [ + { + "value-name": "name", + "value": "RDM_1_DEG_1_RDM_4_DEG_1" + } + ], + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "cost-characteristic": [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + "latency-characteristic": [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + "node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-1", + "node-edge-point-uuid": "nep-rdm-1-deg-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-4", + "node-edge-point-uuid": "nep-rdm-4-deg-1" + } + ] + }, + { + "uuid": "link-rdm-2-deg-1-rdm-4-deg-2", + "name": [ + { + "value-name": "name", + "value": "RDM_2_DEG_1_RDM_4_DEG_2" + } + ], + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "cost-characteristic": [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + "latency-characteristic": [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + "node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-2", + "node-edge-point-uuid": "nep-rdm-2-deg-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-4", + "node-edge-point-uuid": "nep-rdm-4-deg-2" + } + ] + }, + { + "uuid": "link-rdm-3-deg-1-rdm-4-deg-3", + "name": [ + { + "value-name": "name", + "value": "RDM_3_DEG_1_RDM_4_DEG_3" + } + ], + "layer-protocol-name": [ + "PHOTONIC_MEDIA" + ], + "administrative-state": "UNLOCKED", + "operational-state": "ENABLED", + "lifecycle-state": "INSTALLED", + "direction": "BIDIRECTIONAL", + "resilience-type": { + "protection-type": "NO_PROTECTON", + "restoration-policy": "NA" + }, + "total-potential-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "available-capacity": { + "total-size": { + "value": "8000", + "unit": "GHz" + } + }, + "cost-characteristic": [ + { + "cost-name": "hop_count", + "cost-value": "1" + } + ], + "latency-characteristic": [ + { + "traffic-property-name": "FixedLatency", + "fixed-latency-characteristic": "1" + } + ], + "node-edge-point": [ + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-3", + "node-edge-point-uuid": "nep-rdm-3-deg-1" + }, + { + "topology-uuid": "top-ols", + "node-uuid": "node-rdm-4", + "node-edge-point-uuid": "nep-rdm-4-deg-3" + } + ] + } + ] + } + ] + }, + "connectivity-context": { + "connection": [], + "connectivity-service": [] + } +} \ No newline at end of file diff --git a/hackfest/tapi/server/tapi_server/encoder.py b/hackfest/tapi/server/tapi_server/encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..482f44a6747204933187eaa533144f5927128611 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/encoder.py @@ -0,0 +1,20 @@ +from connexion.apps.flask_app import FlaskJSONEncoder +import six + +from tapi_server.models.base_model_ import Model + + +class JSONEncoder(FlaskJSONEncoder): + include_nulls = False + + def default(self, o): + if isinstance(o, Model): + dikt = {} + for attr, _ in six.iteritems(o.swagger_types): + value = getattr(o, attr) + if value is None and not self.include_nulls: + continue + attr = o.attribute_map[attr] + dikt[attr] = value + return dikt + return FlaskJSONEncoder.default(self, o) diff --git a/hackfest/tapi/server/tapi_server/models/__init__.py b/hackfest/tapi/server/tapi_server/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..6dddec801015b0180a55e0f7f96d222a2be8e961 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/__init__.py @@ -0,0 +1,276 @@ +# coding: utf-8 + +# flake8: noqa +from __future__ import absolute_import +# import models into model package +from tapi_server.models.operations_tapicommongetserviceinterfacepointdetails_body import OperationsTapicommongetserviceinterfacepointdetailsBody +from tapi_server.models.operations_tapicommonupdateserviceinterfacepoint_body import OperationsTapicommonupdateserviceinterfacepointBody +from tapi_server.models.operations_tapiconnectivitycreateconnectivityservice_body import OperationsTapiconnectivitycreateconnectivityserviceBody +from tapi_server.models.operations_tapiconnectivitydeleteconnectivityservice_body import OperationsTapiconnectivitydeleteconnectivityserviceBody +from tapi_server.models.operations_tapiconnectivitygetconnectiondetails_body import OperationsTapiconnectivitygetconnectiondetailsBody +from tapi_server.models.operations_tapiconnectivitygetconnectionendpointdetails_body import OperationsTapiconnectivitygetconnectionendpointdetailsBody +from tapi_server.models.operations_tapiconnectivitygetconnectivityservicedetails_body import OperationsTapiconnectivitygetconnectivityservicedetailsBody +from tapi_server.models.operations_tapiconnectivityupdateconnectivityservice_body import OperationsTapiconnectivityupdateconnectivityserviceBody +from tapi_server.models.operations_tapinotificationcreatenotificationsubscriptionservice_body import OperationsTapinotificationcreatenotificationsubscriptionserviceBody +from tapi_server.models.operations_tapinotificationdeletenotificationsubscriptionservice_body import OperationsTapinotificationdeletenotificationsubscriptionserviceBody +from tapi_server.models.operations_tapinotificationgetnotificationlist_body import OperationsTapinotificationgetnotificationlistBody +from tapi_server.models.operations_tapinotificationgetnotificationsubscriptionservicedetails_body import OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody +from tapi_server.models.operations_tapinotificationupdatenotificationsubscriptionservice_body import OperationsTapinotificationupdatenotificationsubscriptionserviceBody +from tapi_server.models.operations_tapipathcomputationcomputep2ppath_body import OperationsTapipathcomputationcomputep2ppathBody +from tapi_server.models.operations_tapipathcomputationdeletep2ppath_body import OperationsTapipathcomputationdeletep2ppathBody +from tapi_server.models.operations_tapipathcomputationoptimizep2ppath_body import OperationsTapipathcomputationoptimizep2ppathBody +from tapi_server.models.operations_tapitopologygetlinkdetails_body import OperationsTapitopologygetlinkdetailsBody +from tapi_server.models.operations_tapitopologygetnodedetails_body import OperationsTapitopologygetnodedetailsBody +from tapi_server.models.operations_tapitopologygetnodeedgepointdetails_body import OperationsTapitopologygetnodeedgepointdetailsBody +from tapi_server.models.operations_tapitopologygettopologydetails_body import OperationsTapitopologygettopologydetailsBody +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState +from tapi_server.models.tapi_common_bandwidth_profile import TapiCommonBandwidthProfile +from tapi_server.models.tapi_common_bandwidth_profile_type import TapiCommonBandwidthProfileType +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac +from tapi_server.models.tapi_common_capacity_unit import TapiCommonCapacityUnit +from tapi_server.models.tapi_common_capacity_value import TapiCommonCapacityValue +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper +from tapi_server.models.tapi_common_context import TapiCommonContext +from tapi_server.models.tapi_common_context_wrapper import TapiCommonContextWrapper +from tapi_server.models.tapi_common_directive_value import TapiCommonDirectiveValue +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection +from tapi_server.models.tapi_common_get_service_interface_point_details import TapiCommonGetServiceInterfacePointDetails +from tapi_server.models.tapi_common_get_service_interface_point_list import TapiCommonGetServiceInterfacePointList +from tapi_server.models.tapi_common_getserviceinterfacepointdetails_input import TapiCommonGetserviceinterfacepointdetailsInput +from tapi_server.models.tapi_common_getserviceinterfacepointdetails_output import TapiCommonGetserviceinterfacepointdetailsOutput +from tapi_server.models.tapi_common_getserviceinterfacepointlist_output import TapiCommonGetserviceinterfacepointlistOutput +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState +from tapi_server.models.tapi_common_operational_state_pac import TapiCommonOperationalStatePac +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection +from tapi_server.models.tapi_common_port_role import TapiCommonPortRole +from tapi_server.models.tapi_common_service_interface_point import TapiCommonServiceInterfacePoint +from tapi_server.models.tapi_common_service_interface_point_ref import TapiCommonServiceInterfacePointRef +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper +from tapi_server.models.tapi_common_service_interface_point_wrapper import TapiCommonServiceInterfacePointWrapper +from tapi_server.models.tapi_common_tapi_context import TapiCommonTapiContext +from tapi_server.models.tapi_common_termination_direction import TapiCommonTerminationDirection +from tapi_server.models.tapi_common_termination_pac import TapiCommonTerminationPac +from tapi_server.models.tapi_common_termination_state import TapiCommonTerminationState +from tapi_server.models.tapi_common_time_range import TapiCommonTimeRange +from tapi_server.models.tapi_common_time_range_wrapper import TapiCommonTimeRangeWrapper +from tapi_server.models.tapi_common_updateserviceinterfacepoint_input import TapiCommonUpdateserviceinterfacepointInput +from tapi_server.models.tapi_connectivity_cep_list import TapiConnectivityCepList +from tapi_server.models.tapi_connectivity_cep_list_wrapper import TapiConnectivityCepListWrapper +from tapi_server.models.tapi_connectivity_cep_role import TapiConnectivityCepRole +from tapi_server.models.tapi_connectivity_cep_role_wrapper import TapiConnectivityCepRoleWrapper +from tapi_server.models.tapi_connectivity_connection import TapiConnectivityConnection +from tapi_server.models.tapi_connectivity_connection_end_point import TapiConnectivityConnectionEndPoint +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef +from tapi_server.models.tapi_connectivity_connection_end_point_ref_wrapper import TapiConnectivityConnectionEndPointRefWrapper +from tapi_server.models.tapi_connectivity_connection_end_point_wrapper import TapiConnectivityConnectionEndPointWrapper +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef +from tapi_server.models.tapi_connectivity_connection_ref_wrapper import TapiConnectivityConnectionRefWrapper +from tapi_server.models.tapi_connectivity_connection_spec_reference import TapiConnectivityConnectionSpecReference +from tapi_server.models.tapi_connectivity_connection_spec_reference_wrapper import TapiConnectivityConnectionSpecReferenceWrapper +from tapi_server.models.tapi_connectivity_connection_wrapper import TapiConnectivityConnectionWrapper +from tapi_server.models.tapi_connectivity_connectivity_constraint import TapiConnectivityConnectivityConstraint +from tapi_server.models.tapi_connectivity_connectivity_context import TapiConnectivityConnectivityContext +from tapi_server.models.tapi_connectivity_connectivity_context_wrapper import TapiConnectivityConnectivityContextWrapper +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService +from tapi_server.models.tapi_connectivity_connectivity_service_end_point import TapiConnectivityConnectivityServiceEndPoint +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_ref import TapiConnectivityConnectivityServiceEndPointRef +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_ref_wrapper import TapiConnectivityConnectivityServiceEndPointRefWrapper +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_wrapper import TapiConnectivityConnectivityServiceEndPointWrapper +from tapi_server.models.tapi_connectivity_connectivity_service_ref import TapiConnectivityConnectivityServiceRef +from tapi_server.models.tapi_connectivity_connectivity_service_ref_wrapper import TapiConnectivityConnectivityServiceRefWrapper +from tapi_server.models.tapi_connectivity_connectivity_service_wrapper import TapiConnectivityConnectivityServiceWrapper +from tapi_server.models.tapi_connectivity_context_augmentation3 import TapiConnectivityContextAugmentation3 +from tapi_server.models.tapi_connectivity_coordinate_type import TapiConnectivityCoordinateType +from tapi_server.models.tapi_connectivity_create_connectivity_service import TapiConnectivityCreateConnectivityService +from tapi_server.models.tapi_connectivity_createconnectivityservice_input import TapiConnectivityCreateconnectivityserviceInput +from tapi_server.models.tapi_connectivity_createconnectivityservice_output import TapiConnectivityCreateconnectivityserviceOutput +from tapi_server.models.tapi_connectivity_deleteconnectivityservice_input import TapiConnectivityDeleteconnectivityserviceInput +from tapi_server.models.tapi_connectivity_get_connection_details import TapiConnectivityGetConnectionDetails +from tapi_server.models.tapi_connectivity_get_connection_end_point_details import TapiConnectivityGetConnectionEndPointDetails +from tapi_server.models.tapi_connectivity_get_connectivity_service_details import TapiConnectivityGetConnectivityServiceDetails +from tapi_server.models.tapi_connectivity_get_connectivity_service_list import TapiConnectivityGetConnectivityServiceList +from tapi_server.models.tapi_connectivity_getconnectiondetails_input import TapiConnectivityGetconnectiondetailsInput +from tapi_server.models.tapi_connectivity_getconnectiondetails_output import TapiConnectivityGetconnectiondetailsOutput +from tapi_server.models.tapi_connectivity_getconnectionendpointdetails_input import TapiConnectivityGetconnectionendpointdetailsInput +from tapi_server.models.tapi_connectivity_getconnectionendpointdetails_output import TapiConnectivityGetconnectionendpointdetailsOutput +from tapi_server.models.tapi_connectivity_getconnectivityservicedetails_input import TapiConnectivityGetconnectivityservicedetailsInput +from tapi_server.models.tapi_connectivity_getconnectivityservicedetails_output import TapiConnectivityGetconnectivityservicedetailsOutput +from tapi_server.models.tapi_connectivity_getconnectivityservicelist_output import TapiConnectivityGetconnectivityservicelistOutput +from tapi_server.models.tapi_connectivity_owned_node_edge_point_augmentation1 import TapiConnectivityOwnedNodeEdgePointAugmentation1 +from tapi_server.models.tapi_connectivity_protection_role import TapiConnectivityProtectionRole +from tapi_server.models.tapi_connectivity_resilience_constraint import TapiConnectivityResilienceConstraint +from tapi_server.models.tapi_connectivity_resilience_route import TapiConnectivityResilienceRoute +from tapi_server.models.tapi_connectivity_resilience_route_wrapper import TapiConnectivityResilienceRouteWrapper +from tapi_server.models.tapi_connectivity_reversion_mode import TapiConnectivityReversionMode +from tapi_server.models.tapi_connectivity_route import TapiConnectivityRoute +from tapi_server.models.tapi_connectivity_route_ref import TapiConnectivityRouteRef +from tapi_server.models.tapi_connectivity_route_ref_wrapper import TapiConnectivityRouteRefWrapper +from tapi_server.models.tapi_connectivity_route_wrapper import TapiConnectivityRouteWrapper +from tapi_server.models.tapi_connectivity_selection_control import TapiConnectivitySelectionControl +from tapi_server.models.tapi_connectivity_selection_reason import TapiConnectivitySelectionReason +from tapi_server.models.tapi_connectivity_service_type import TapiConnectivityServiceType +from tapi_server.models.tapi_connectivity_switch import TapiConnectivitySwitch +from tapi_server.models.tapi_connectivity_switch_control import TapiConnectivitySwitchControl +from tapi_server.models.tapi_connectivity_switch_control_ref import TapiConnectivitySwitchControlRef +from tapi_server.models.tapi_connectivity_switch_control_ref_wrapper import TapiConnectivitySwitchControlRefWrapper +from tapi_server.models.tapi_connectivity_switch_control_wrapper import TapiConnectivitySwitchControlWrapper +from tapi_server.models.tapi_connectivity_switch_wrapper import TapiConnectivitySwitchWrapper +from tapi_server.models.tapi_connectivity_update_connectivity_service import TapiConnectivityUpdateConnectivityService +from tapi_server.models.tapi_connectivity_updateconnectivityservice_input import TapiConnectivityUpdateconnectivityserviceInput +from tapi_server.models.tapi_connectivity_updateconnectivityservice_output import TapiConnectivityUpdateconnectivityserviceOutput +from tapi_server.models.tapi_notification_alarm_info import TapiNotificationAlarmInfo +from tapi_server.models.tapi_notification_alarm_info_wrapper import TapiNotificationAlarmInfoWrapper +from tapi_server.models.tapi_notification_context_augmentation1 import TapiNotificationContextAugmentation1 +from tapi_server.models.tapi_notification_create_notification_subscription_service import TapiNotificationCreateNotificationSubscriptionService +from tapi_server.models.tapi_notification_createnotificationsubscriptionservice_input import TapiNotificationCreatenotificationsubscriptionserviceInput +from tapi_server.models.tapi_notification_createnotificationsubscriptionservice_output import TapiNotificationCreatenotificationsubscriptionserviceOutput +from tapi_server.models.tapi_notification_delete_notification_subscription_service import TapiNotificationDeleteNotificationSubscriptionService +from tapi_server.models.tapi_notification_deletenotificationsubscriptionservice_input import TapiNotificationDeletenotificationsubscriptionserviceInput +from tapi_server.models.tapi_notification_deletenotificationsubscriptionservice_output import TapiNotificationDeletenotificationsubscriptionserviceOutput +from tapi_server.models.tapi_notification_get_notification_list import TapiNotificationGetNotificationList +from tapi_server.models.tapi_notification_get_notification_subscription_service_details import TapiNotificationGetNotificationSubscriptionServiceDetails +from tapi_server.models.tapi_notification_get_notification_subscription_service_list import TapiNotificationGetNotificationSubscriptionServiceList +from tapi_server.models.tapi_notification_get_supported_notification_types import TapiNotificationGetSupportedNotificationTypes +from tapi_server.models.tapi_notification_getnotificationlist_input import TapiNotificationGetnotificationlistInput +from tapi_server.models.tapi_notification_getnotificationlist_output import TapiNotificationGetnotificationlistOutput +from tapi_server.models.tapi_notification_getnotificationsubscriptionservicedetails_input import TapiNotificationGetnotificationsubscriptionservicedetailsInput +from tapi_server.models.tapi_notification_getnotificationsubscriptionservicedetails_output import TapiNotificationGetnotificationsubscriptionservicedetailsOutput +from tapi_server.models.tapi_notification_getnotificationsubscriptionservicelist_output import TapiNotificationGetnotificationsubscriptionservicelistOutput +from tapi_server.models.tapi_notification_getsupportednotificationtypes_output import TapiNotificationGetsupportednotificationtypesOutput +from tapi_server.models.tapi_notification_name_and_value_change import TapiNotificationNameAndValueChange +from tapi_server.models.tapi_notification_name_and_value_change_wrapper import TapiNotificationNameAndValueChangeWrapper +from tapi_server.models.tapi_notification_notification import TapiNotificationNotification +from tapi_server.models.tapi_notification_notification_channel import TapiNotificationNotificationChannel +from tapi_server.models.tapi_notification_notification_channel_wrapper import TapiNotificationNotificationChannelWrapper +from tapi_server.models.tapi_notification_notification_context import TapiNotificationNotificationContext +from tapi_server.models.tapi_notification_notification_context_wrapper import TapiNotificationNotificationContextWrapper +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService +from tapi_server.models.tapi_notification_notification_subscription_service_wrapper import TapiNotificationNotificationSubscriptionServiceWrapper +from tapi_server.models.tapi_notification_notification_type import TapiNotificationNotificationType +from tapi_server.models.tapi_notification_notification_wrapper import TapiNotificationNotificationWrapper +from tapi_server.models.tapi_notification_object_type import TapiNotificationObjectType +from tapi_server.models.tapi_notification_perceived_severity_type import TapiNotificationPerceivedSeverityType +from tapi_server.models.tapi_notification_perceived_tca_severity import TapiNotificationPerceivedTcaSeverity +from tapi_server.models.tapi_notification_service_affecting import TapiNotificationServiceAffecting +from tapi_server.models.tapi_notification_source_indicator import TapiNotificationSourceIndicator +from tapi_server.models.tapi_notification_subscription_filter import TapiNotificationSubscriptionFilter +from tapi_server.models.tapi_notification_subscription_filter_wrapper import TapiNotificationSubscriptionFilterWrapper +from tapi_server.models.tapi_notification_subscription_state import TapiNotificationSubscriptionState +from tapi_server.models.tapi_notification_tca_info import TapiNotificationTcaInfo +from tapi_server.models.tapi_notification_tca_info_wrapper import TapiNotificationTcaInfoWrapper +from tapi_server.models.tapi_notification_threshold_crossing_type import TapiNotificationThresholdCrossingType +from tapi_server.models.tapi_notification_update_notification_subscription_service import TapiNotificationUpdateNotificationSubscriptionService +from tapi_server.models.tapi_notification_updatenotificationsubscriptionservice_input import TapiNotificationUpdatenotificationsubscriptionserviceInput +from tapi_server.models.tapi_notification_updatenotificationsubscriptionservice_output import TapiNotificationUpdatenotificationsubscriptionserviceOutput +from tapi_server.models.tapi_path_computation_compute_p2_p_path import TapiPathComputationComputeP2PPath +from tapi_server.models.tapi_path_computation_computep2ppath_input import TapiPathComputationComputep2ppathInput +from tapi_server.models.tapi_path_computation_computep2ppath_output import TapiPathComputationComputep2ppathOutput +from tapi_server.models.tapi_path_computation_context_augmentation2 import TapiPathComputationContextAugmentation2 +from tapi_server.models.tapi_path_computation_delete_p2_p_path import TapiPathComputationDeleteP2PPath +from tapi_server.models.tapi_path_computation_deletep2ppath_input import TapiPathComputationDeletep2ppathInput +from tapi_server.models.tapi_path_computation_deletep2ppath_output import TapiPathComputationDeletep2ppathOutput +from tapi_server.models.tapi_path_computation_diversity_policy import TapiPathComputationDiversityPolicy +from tapi_server.models.tapi_path_computation_optimize_p2_ppath import TapiPathComputationOptimizeP2Ppath +from tapi_server.models.tapi_path_computation_optimizep2ppath_input import TapiPathComputationOptimizep2ppathInput +from tapi_server.models.tapi_path_computation_optimizep2ppath_output import TapiPathComputationOptimizep2ppathOutput +from tapi_server.models.tapi_path_computation_path import TapiPathComputationPath +from tapi_server.models.tapi_path_computation_path_computation_context import TapiPathComputationPathComputationContext +from tapi_server.models.tapi_path_computation_path_computation_context_wrapper import TapiPathComputationPathComputationContextWrapper +from tapi_server.models.tapi_path_computation_path_computation_service import TapiPathComputationPathComputationService +from tapi_server.models.tapi_path_computation_path_computation_service_wrapper import TapiPathComputationPathComputationServiceWrapper +from tapi_server.models.tapi_path_computation_path_objective_function import TapiPathComputationPathObjectiveFunction +from tapi_server.models.tapi_path_computation_path_objective_function_wrapper import TapiPathComputationPathObjectiveFunctionWrapper +from tapi_server.models.tapi_path_computation_path_optimization_constraint import TapiPathComputationPathOptimizationConstraint +from tapi_server.models.tapi_path_computation_path_optimization_constraint_wrapper import TapiPathComputationPathOptimizationConstraintWrapper +from tapi_server.models.tapi_path_computation_path_ref import TapiPathComputationPathRef +from tapi_server.models.tapi_path_computation_path_ref_wrapper import TapiPathComputationPathRefWrapper +from tapi_server.models.tapi_path_computation_path_service_end_point import TapiPathComputationPathServiceEndPoint +from tapi_server.models.tapi_path_computation_path_service_end_point_wrapper import TapiPathComputationPathServiceEndPointWrapper +from tapi_server.models.tapi_path_computation_path_wrapper import TapiPathComputationPathWrapper +from tapi_server.models.tapi_path_computation_route_objective_function import TapiPathComputationRouteObjectiveFunction +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint +from tapi_server.models.tapi_path_computation_routing_constraint_wrapper import TapiPathComputationRoutingConstraintWrapper +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint +from tapi_server.models.tapi_path_computation_topology_constraint_wrapper import TapiPathComputationTopologyConstraintWrapper +from tapi_server.models.tapi_path_computation_value_or_priority import TapiPathComputationValueOrPriority +from tapi_server.models.tapi_path_computation_value_or_priority_wrapper import TapiPathComputationValueOrPriorityWrapper +from tapi_server.models.tapi_topology_connection_spec_reference import TapiTopologyConnectionSpecReference +from tapi_server.models.tapi_topology_connection_spec_reference_wrapper import TapiTopologyConnectionSpecReferenceWrapper +from tapi_server.models.tapi_topology_context_augmentation4 import TapiTopologyContextAugmentation4 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper +from tapi_server.models.tapi_topology_forwarding_rule import TapiTopologyForwardingRule +from tapi_server.models.tapi_topology_get_link_details import TapiTopologyGetLinkDetails +from tapi_server.models.tapi_topology_get_node_details import TapiTopologyGetNodeDetails +from tapi_server.models.tapi_topology_get_node_edge_point_details import TapiTopologyGetNodeEdgePointDetails +from tapi_server.models.tapi_topology_get_topology_details import TapiTopologyGetTopologyDetails +from tapi_server.models.tapi_topology_get_topology_list import TapiTopologyGetTopologyList +from tapi_server.models.tapi_topology_getlinkdetails_input import TapiTopologyGetlinkdetailsInput +from tapi_server.models.tapi_topology_getlinkdetails_output import TapiTopologyGetlinkdetailsOutput +from tapi_server.models.tapi_topology_getnodedetails_input import TapiTopologyGetnodedetailsInput +from tapi_server.models.tapi_topology_getnodedetails_output import TapiTopologyGetnodedetailsOutput +from tapi_server.models.tapi_topology_getnodeedgepointdetails_input import TapiTopologyGetnodeedgepointdetailsInput +from tapi_server.models.tapi_topology_getnodeedgepointdetails_output import TapiTopologyGetnodeedgepointdetailsOutput +from tapi_server.models.tapi_topology_gettopologydetails_input import TapiTopologyGettopologydetailsInput +from tapi_server.models.tapi_topology_gettopologydetails_output import TapiTopologyGettopologydetailsOutput +from tapi_server.models.tapi_topology_gettopologylist_output import TapiTopologyGettopologylistOutput +from tapi_server.models.tapi_topology_inter_rule_group import TapiTopologyInterRuleGroup +from tapi_server.models.tapi_topology_inter_rule_group_wrapper import TapiTopologyInterRuleGroupWrapper +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper +from tapi_server.models.tapi_topology_layer_protocol_transition_pac import TapiTopologyLayerProtocolTransitionPac +from tapi_server.models.tapi_topology_link import TapiTopologyLink +from tapi_server.models.tapi_topology_link_ref import TapiTopologyLinkRef +from tapi_server.models.tapi_topology_link_ref_wrapper import TapiTopologyLinkRefWrapper +from tapi_server.models.tapi_topology_link_wrapper import TapiTopologyLinkWrapper +from tapi_server.models.tapi_topology_network_topology_service import TapiTopologyNetworkTopologyService +from tapi_server.models.tapi_topology_network_topology_service_wrapper import TapiTopologyNetworkTopologyServiceWrapper +from tapi_server.models.tapi_topology_node import TapiTopologyNode +from tapi_server.models.tapi_topology_node_edge_point import TapiTopologyNodeEdgePoint +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef +from tapi_server.models.tapi_topology_node_edge_point_ref_wrapper import TapiTopologyNodeEdgePointRefWrapper +from tapi_server.models.tapi_topology_node_owned_node_edge_point import TapiTopologyNodeOwnedNodeEdgePoint +from tapi_server.models.tapi_topology_node_owned_node_edge_point_wrapper import TapiTopologyNodeOwnedNodeEdgePointWrapper +from tapi_server.models.tapi_topology_node_ref import TapiTopologyNodeRef +from tapi_server.models.tapi_topology_node_rule_group import TapiTopologyNodeRuleGroup +from tapi_server.models.tapi_topology_node_rule_group_ref import TapiTopologyNodeRuleGroupRef +from tapi_server.models.tapi_topology_node_rule_group_ref_wrapper import TapiTopologyNodeRuleGroupRefWrapper +from tapi_server.models.tapi_topology_node_rule_group_wrapper import TapiTopologyNodeRuleGroupWrapper +from tapi_server.models.tapi_topology_port_role_rule import TapiTopologyPortRoleRule +from tapi_server.models.tapi_topology_port_role_rule_wrapper import TapiTopologyPortRoleRuleWrapper +from tapi_server.models.tapi_topology_protection_type import TapiTopologyProtectionType +from tapi_server.models.tapi_topology_resilience_type import TapiTopologyResilienceType +from tapi_server.models.tapi_topology_resilience_type_wrapper import TapiTopologyResilienceTypeWrapper +from tapi_server.models.tapi_topology_restoration_policy import TapiTopologyRestorationPolicy +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper +from tapi_server.models.tapi_topology_risk_parameter_pac import TapiTopologyRiskParameterPac +from tapi_server.models.tapi_topology_rule import TapiTopologyRule +from tapi_server.models.tapi_topology_rule_type import TapiTopologyRuleType +from tapi_server.models.tapi_topology_rule_wrapper import TapiTopologyRuleWrapper +from tapi_server.models.tapi_topology_signal_property_rule import TapiTopologySignalPropertyRule +from tapi_server.models.tapi_topology_signal_property_rule_wrapper import TapiTopologySignalPropertyRuleWrapper +from tapi_server.models.tapi_topology_topology import TapiTopologyTopology +from tapi_server.models.tapi_topology_topology_context import TapiTopologyTopologyContext +from tapi_server.models.tapi_topology_topology_context_wrapper import TapiTopologyTopologyContextWrapper +from tapi_server.models.tapi_topology_topology_node import TapiTopologyTopologyNode +from tapi_server.models.tapi_topology_topology_node_wrapper import TapiTopologyTopologyNodeWrapper +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef +from tapi_server.models.tapi_topology_topology_ref_wrapper import TapiTopologyTopologyRefWrapper +from tapi_server.models.tapi_topology_topology_wrapper import TapiTopologyTopologyWrapper +from tapi_server.models.tapi_topology_transfer_cost_pac import TapiTopologyTransferCostPac +from tapi_server.models.tapi_topology_transfer_integrity_pac import TapiTopologyTransferIntegrityPac +from tapi_server.models.tapi_topology_transfer_timing_pac import TapiTopologyTransferTimingPac +from tapi_server.models.tapi_topology_validation_mechanism import TapiTopologyValidationMechanism +from tapi_server.models.tapi_topology_validation_mechanism_wrapper import TapiTopologyValidationMechanismWrapper +from tapi_server.models.tapi_topology_validation_pac import TapiTopologyValidationPac diff --git a/hackfest/tapi/server/tapi_server/models/base_model_.py b/hackfest/tapi/server/tapi_server/models/base_model_.py new file mode 100644 index 0000000000000000000000000000000000000000..8274e46d4ed03120aad7c3a501cc1aa63caf784a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/base_model_.py @@ -0,0 +1,69 @@ +import pprint + +import six +import typing + +from tapi_server import util + +T = typing.TypeVar('T') + + +class Model(object): + # swaggerTypes: The key is attribute name and the + # value is attribute type. + swagger_types = {} + + # attributeMap: The key is attribute name and the + # value is json key in definition. + attribute_map = {} + + @classmethod + def from_dict(cls: typing.Type[T], dikt) -> T: + """Returns the dict as a model""" + return util.deserialize_model(dikt, cls) + + def to_dict(self): + """Returns the model properties as a dict + + :rtype: dict + """ + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + + return result + + def to_str(self): + """Returns the string representation of the model + + :rtype: str + """ + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapicommongetserviceinterfacepointdetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapicommongetserviceinterfacepointdetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..7aedb617cd747956699e865fcd36b36760df40f4 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapicommongetserviceinterfacepointdetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_getserviceinterfacepointdetails_input import TapiCommonGetserviceinterfacepointdetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapicommongetserviceinterfacepointdetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiCommonGetserviceinterfacepointdetailsInput=None): # noqa: E501 + """OperationsTapicommongetserviceinterfacepointdetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapicommongetserviceinterfacepointdetailsBody. # noqa: E501 + :type input: TapiCommonGetserviceinterfacepointdetailsInput + """ + self.swagger_types = { + 'input': TapiCommonGetserviceinterfacepointdetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapicommongetserviceinterfacepointdetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapicommongetserviceinterfacepointdetails_body of this OperationsTapicommongetserviceinterfacepointdetailsBody. # noqa: E501 + :rtype: OperationsTapicommongetserviceinterfacepointdetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiCommonGetserviceinterfacepointdetailsInput: + """Gets the input of this OperationsTapicommongetserviceinterfacepointdetailsBody. + + + :return: The input of this OperationsTapicommongetserviceinterfacepointdetailsBody. + :rtype: TapiCommonGetserviceinterfacepointdetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiCommonGetserviceinterfacepointdetailsInput): + """Sets the input of this OperationsTapicommongetserviceinterfacepointdetailsBody. + + + :param input: The input of this OperationsTapicommongetserviceinterfacepointdetailsBody. + :type input: TapiCommonGetserviceinterfacepointdetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapicommonupdateserviceinterfacepoint_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapicommonupdateserviceinterfacepoint_body.py new file mode 100644 index 0000000000000000000000000000000000000000..2e5574299100758bd6ffb18bec9e4ddcbf5abf35 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapicommonupdateserviceinterfacepoint_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_updateserviceinterfacepoint_input import TapiCommonUpdateserviceinterfacepointInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapicommonupdateserviceinterfacepointBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiCommonUpdateserviceinterfacepointInput=None): # noqa: E501 + """OperationsTapicommonupdateserviceinterfacepointBody - a model defined in Swagger + + :param input: The input of this OperationsTapicommonupdateserviceinterfacepointBody. # noqa: E501 + :type input: TapiCommonUpdateserviceinterfacepointInput + """ + self.swagger_types = { + 'input': TapiCommonUpdateserviceinterfacepointInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapicommonupdateserviceinterfacepointBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapicommonupdateserviceinterfacepoint_body of this OperationsTapicommonupdateserviceinterfacepointBody. # noqa: E501 + :rtype: OperationsTapicommonupdateserviceinterfacepointBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiCommonUpdateserviceinterfacepointInput: + """Gets the input of this OperationsTapicommonupdateserviceinterfacepointBody. + + + :return: The input of this OperationsTapicommonupdateserviceinterfacepointBody. + :rtype: TapiCommonUpdateserviceinterfacepointInput + """ + return self._input + + @input.setter + def input(self, input: TapiCommonUpdateserviceinterfacepointInput): + """Sets the input of this OperationsTapicommonupdateserviceinterfacepointBody. + + + :param input: The input of this OperationsTapicommonupdateserviceinterfacepointBody. + :type input: TapiCommonUpdateserviceinterfacepointInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitycreateconnectivityservice_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitycreateconnectivityservice_body.py new file mode 100644 index 0000000000000000000000000000000000000000..f48baa1e698c0d26ff6a61f54ab47756eea29ba9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitycreateconnectivityservice_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_createconnectivityservice_input import TapiConnectivityCreateconnectivityserviceInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapiconnectivitycreateconnectivityserviceBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiConnectivityCreateconnectivityserviceInput=None): # noqa: E501 + """OperationsTapiconnectivitycreateconnectivityserviceBody - a model defined in Swagger + + :param input: The input of this OperationsTapiconnectivitycreateconnectivityserviceBody. # noqa: E501 + :type input: TapiConnectivityCreateconnectivityserviceInput + """ + self.swagger_types = { + 'input': TapiConnectivityCreateconnectivityserviceInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapiconnectivitycreateconnectivityserviceBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapiconnectivitycreateconnectivityservice_body of this OperationsTapiconnectivitycreateconnectivityserviceBody. # noqa: E501 + :rtype: OperationsTapiconnectivitycreateconnectivityserviceBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiConnectivityCreateconnectivityserviceInput: + """Gets the input of this OperationsTapiconnectivitycreateconnectivityserviceBody. + + + :return: The input of this OperationsTapiconnectivitycreateconnectivityserviceBody. + :rtype: TapiConnectivityCreateconnectivityserviceInput + """ + return self._input + + @input.setter + def input(self, input: TapiConnectivityCreateconnectivityserviceInput): + """Sets the input of this OperationsTapiconnectivitycreateconnectivityserviceBody. + + + :param input: The input of this OperationsTapiconnectivitycreateconnectivityserviceBody. + :type input: TapiConnectivityCreateconnectivityserviceInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitydeleteconnectivityservice_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitydeleteconnectivityservice_body.py new file mode 100644 index 0000000000000000000000000000000000000000..43ada2c16556ccbfe6582783ad2c79d25e794af0 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitydeleteconnectivityservice_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_deleteconnectivityservice_input import TapiConnectivityDeleteconnectivityserviceInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapiconnectivitydeleteconnectivityserviceBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiConnectivityDeleteconnectivityserviceInput=None): # noqa: E501 + """OperationsTapiconnectivitydeleteconnectivityserviceBody - a model defined in Swagger + + :param input: The input of this OperationsTapiconnectivitydeleteconnectivityserviceBody. # noqa: E501 + :type input: TapiConnectivityDeleteconnectivityserviceInput + """ + self.swagger_types = { + 'input': TapiConnectivityDeleteconnectivityserviceInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapiconnectivitydeleteconnectivityserviceBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapiconnectivitydeleteconnectivityservice_body of this OperationsTapiconnectivitydeleteconnectivityserviceBody. # noqa: E501 + :rtype: OperationsTapiconnectivitydeleteconnectivityserviceBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiConnectivityDeleteconnectivityserviceInput: + """Gets the input of this OperationsTapiconnectivitydeleteconnectivityserviceBody. + + + :return: The input of this OperationsTapiconnectivitydeleteconnectivityserviceBody. + :rtype: TapiConnectivityDeleteconnectivityserviceInput + """ + return self._input + + @input.setter + def input(self, input: TapiConnectivityDeleteconnectivityserviceInput): + """Sets the input of this OperationsTapiconnectivitydeleteconnectivityserviceBody. + + + :param input: The input of this OperationsTapiconnectivitydeleteconnectivityserviceBody. + :type input: TapiConnectivityDeleteconnectivityserviceInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectiondetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectiondetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..07d1b21df5bfcc276c8390d94abbe9134cdd3a3b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectiondetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectiondetails_input import TapiConnectivityGetconnectiondetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapiconnectivitygetconnectiondetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiConnectivityGetconnectiondetailsInput=None): # noqa: E501 + """OperationsTapiconnectivitygetconnectiondetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapiconnectivitygetconnectiondetailsBody. # noqa: E501 + :type input: TapiConnectivityGetconnectiondetailsInput + """ + self.swagger_types = { + 'input': TapiConnectivityGetconnectiondetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapiconnectivitygetconnectiondetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapiconnectivitygetconnectiondetails_body of this OperationsTapiconnectivitygetconnectiondetailsBody. # noqa: E501 + :rtype: OperationsTapiconnectivitygetconnectiondetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiConnectivityGetconnectiondetailsInput: + """Gets the input of this OperationsTapiconnectivitygetconnectiondetailsBody. + + + :return: The input of this OperationsTapiconnectivitygetconnectiondetailsBody. + :rtype: TapiConnectivityGetconnectiondetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiConnectivityGetconnectiondetailsInput): + """Sets the input of this OperationsTapiconnectivitygetconnectiondetailsBody. + + + :param input: The input of this OperationsTapiconnectivitygetconnectiondetailsBody. + :type input: TapiConnectivityGetconnectiondetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectionendpointdetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectionendpointdetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..6543435bb6ce69f876c1c43c8d3bf574112bbfdc --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectionendpointdetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectionendpointdetails_input import TapiConnectivityGetconnectionendpointdetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapiconnectivitygetconnectionendpointdetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiConnectivityGetconnectionendpointdetailsInput=None): # noqa: E501 + """OperationsTapiconnectivitygetconnectionendpointdetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapiconnectivitygetconnectionendpointdetailsBody. # noqa: E501 + :type input: TapiConnectivityGetconnectionendpointdetailsInput + """ + self.swagger_types = { + 'input': TapiConnectivityGetconnectionendpointdetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapiconnectivitygetconnectionendpointdetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapiconnectivitygetconnectionendpointdetails_body of this OperationsTapiconnectivitygetconnectionendpointdetailsBody. # noqa: E501 + :rtype: OperationsTapiconnectivitygetconnectionendpointdetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiConnectivityGetconnectionendpointdetailsInput: + """Gets the input of this OperationsTapiconnectivitygetconnectionendpointdetailsBody. + + + :return: The input of this OperationsTapiconnectivitygetconnectionendpointdetailsBody. + :rtype: TapiConnectivityGetconnectionendpointdetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiConnectivityGetconnectionendpointdetailsInput): + """Sets the input of this OperationsTapiconnectivitygetconnectionendpointdetailsBody. + + + :param input: The input of this OperationsTapiconnectivitygetconnectionendpointdetailsBody. + :type input: TapiConnectivityGetconnectionendpointdetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectivityservicedetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectivityservicedetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..ee223091c715cf1905b62a9d3dba8ed778138088 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivitygetconnectivityservicedetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectivityservicedetails_input import TapiConnectivityGetconnectivityservicedetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapiconnectivitygetconnectivityservicedetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiConnectivityGetconnectivityservicedetailsInput=None): # noqa: E501 + """OperationsTapiconnectivitygetconnectivityservicedetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapiconnectivitygetconnectivityservicedetailsBody. # noqa: E501 + :type input: TapiConnectivityGetconnectivityservicedetailsInput + """ + self.swagger_types = { + 'input': TapiConnectivityGetconnectivityservicedetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapiconnectivitygetconnectivityservicedetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapiconnectivitygetconnectivityservicedetails_body of this OperationsTapiconnectivitygetconnectivityservicedetailsBody. # noqa: E501 + :rtype: OperationsTapiconnectivitygetconnectivityservicedetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiConnectivityGetconnectivityservicedetailsInput: + """Gets the input of this OperationsTapiconnectivitygetconnectivityservicedetailsBody. + + + :return: The input of this OperationsTapiconnectivitygetconnectivityservicedetailsBody. + :rtype: TapiConnectivityGetconnectivityservicedetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiConnectivityGetconnectivityservicedetailsInput): + """Sets the input of this OperationsTapiconnectivitygetconnectivityservicedetailsBody. + + + :param input: The input of this OperationsTapiconnectivitygetconnectivityservicedetailsBody. + :type input: TapiConnectivityGetconnectivityservicedetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivityupdateconnectivityservice_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivityupdateconnectivityservice_body.py new file mode 100644 index 0000000000000000000000000000000000000000..fb22c93f630536f7f22d9f586cf09adb23432e8e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapiconnectivityupdateconnectivityservice_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_updateconnectivityservice_input import TapiConnectivityUpdateconnectivityserviceInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapiconnectivityupdateconnectivityserviceBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiConnectivityUpdateconnectivityserviceInput=None): # noqa: E501 + """OperationsTapiconnectivityupdateconnectivityserviceBody - a model defined in Swagger + + :param input: The input of this OperationsTapiconnectivityupdateconnectivityserviceBody. # noqa: E501 + :type input: TapiConnectivityUpdateconnectivityserviceInput + """ + self.swagger_types = { + 'input': TapiConnectivityUpdateconnectivityserviceInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapiconnectivityupdateconnectivityserviceBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapiconnectivityupdateconnectivityservice_body of this OperationsTapiconnectivityupdateconnectivityserviceBody. # noqa: E501 + :rtype: OperationsTapiconnectivityupdateconnectivityserviceBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiConnectivityUpdateconnectivityserviceInput: + """Gets the input of this OperationsTapiconnectivityupdateconnectivityserviceBody. + + + :return: The input of this OperationsTapiconnectivityupdateconnectivityserviceBody. + :rtype: TapiConnectivityUpdateconnectivityserviceInput + """ + return self._input + + @input.setter + def input(self, input: TapiConnectivityUpdateconnectivityserviceInput): + """Sets the input of this OperationsTapiconnectivityupdateconnectivityserviceBody. + + + :param input: The input of this OperationsTapiconnectivityupdateconnectivityserviceBody. + :type input: TapiConnectivityUpdateconnectivityserviceInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapinotificationcreatenotificationsubscriptionservice_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationcreatenotificationsubscriptionservice_body.py new file mode 100644 index 0000000000000000000000000000000000000000..43a6f7b5a6d58a9f33c6b47b24c5cbcbc20bebda --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationcreatenotificationsubscriptionservice_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_createnotificationsubscriptionservice_input import TapiNotificationCreatenotificationsubscriptionserviceInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapinotificationcreatenotificationsubscriptionserviceBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiNotificationCreatenotificationsubscriptionserviceInput=None): # noqa: E501 + """OperationsTapinotificationcreatenotificationsubscriptionserviceBody - a model defined in Swagger + + :param input: The input of this OperationsTapinotificationcreatenotificationsubscriptionserviceBody. # noqa: E501 + :type input: TapiNotificationCreatenotificationsubscriptionserviceInput + """ + self.swagger_types = { + 'input': TapiNotificationCreatenotificationsubscriptionserviceInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapinotificationcreatenotificationsubscriptionserviceBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapinotificationcreatenotificationsubscriptionservice_body of this OperationsTapinotificationcreatenotificationsubscriptionserviceBody. # noqa: E501 + :rtype: OperationsTapinotificationcreatenotificationsubscriptionserviceBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiNotificationCreatenotificationsubscriptionserviceInput: + """Gets the input of this OperationsTapinotificationcreatenotificationsubscriptionserviceBody. + + + :return: The input of this OperationsTapinotificationcreatenotificationsubscriptionserviceBody. + :rtype: TapiNotificationCreatenotificationsubscriptionserviceInput + """ + return self._input + + @input.setter + def input(self, input: TapiNotificationCreatenotificationsubscriptionserviceInput): + """Sets the input of this OperationsTapinotificationcreatenotificationsubscriptionserviceBody. + + + :param input: The input of this OperationsTapinotificationcreatenotificationsubscriptionserviceBody. + :type input: TapiNotificationCreatenotificationsubscriptionserviceInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapinotificationdeletenotificationsubscriptionservice_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationdeletenotificationsubscriptionservice_body.py new file mode 100644 index 0000000000000000000000000000000000000000..ec9af03045ce0dbd64334a3bfba074fa7c7a2faa --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationdeletenotificationsubscriptionservice_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_deletenotificationsubscriptionservice_input import TapiNotificationDeletenotificationsubscriptionserviceInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapinotificationdeletenotificationsubscriptionserviceBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiNotificationDeletenotificationsubscriptionserviceInput=None): # noqa: E501 + """OperationsTapinotificationdeletenotificationsubscriptionserviceBody - a model defined in Swagger + + :param input: The input of this OperationsTapinotificationdeletenotificationsubscriptionserviceBody. # noqa: E501 + :type input: TapiNotificationDeletenotificationsubscriptionserviceInput + """ + self.swagger_types = { + 'input': TapiNotificationDeletenotificationsubscriptionserviceInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapinotificationdeletenotificationsubscriptionserviceBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapinotificationdeletenotificationsubscriptionservice_body of this OperationsTapinotificationdeletenotificationsubscriptionserviceBody. # noqa: E501 + :rtype: OperationsTapinotificationdeletenotificationsubscriptionserviceBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiNotificationDeletenotificationsubscriptionserviceInput: + """Gets the input of this OperationsTapinotificationdeletenotificationsubscriptionserviceBody. + + + :return: The input of this OperationsTapinotificationdeletenotificationsubscriptionserviceBody. + :rtype: TapiNotificationDeletenotificationsubscriptionserviceInput + """ + return self._input + + @input.setter + def input(self, input: TapiNotificationDeletenotificationsubscriptionserviceInput): + """Sets the input of this OperationsTapinotificationdeletenotificationsubscriptionserviceBody. + + + :param input: The input of this OperationsTapinotificationdeletenotificationsubscriptionserviceBody. + :type input: TapiNotificationDeletenotificationsubscriptionserviceInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapinotificationgetnotificationlist_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationgetnotificationlist_body.py new file mode 100644 index 0000000000000000000000000000000000000000..257a824eebcdbb57d74af2b04244986f7997282a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationgetnotificationlist_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_getnotificationlist_input import TapiNotificationGetnotificationlistInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapinotificationgetnotificationlistBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiNotificationGetnotificationlistInput=None): # noqa: E501 + """OperationsTapinotificationgetnotificationlistBody - a model defined in Swagger + + :param input: The input of this OperationsTapinotificationgetnotificationlistBody. # noqa: E501 + :type input: TapiNotificationGetnotificationlistInput + """ + self.swagger_types = { + 'input': TapiNotificationGetnotificationlistInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapinotificationgetnotificationlistBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapinotificationgetnotificationlist_body of this OperationsTapinotificationgetnotificationlistBody. # noqa: E501 + :rtype: OperationsTapinotificationgetnotificationlistBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiNotificationGetnotificationlistInput: + """Gets the input of this OperationsTapinotificationgetnotificationlistBody. + + + :return: The input of this OperationsTapinotificationgetnotificationlistBody. + :rtype: TapiNotificationGetnotificationlistInput + """ + return self._input + + @input.setter + def input(self, input: TapiNotificationGetnotificationlistInput): + """Sets the input of this OperationsTapinotificationgetnotificationlistBody. + + + :param input: The input of this OperationsTapinotificationgetnotificationlistBody. + :type input: TapiNotificationGetnotificationlistInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapinotificationgetnotificationsubscriptionservicedetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationgetnotificationsubscriptionservicedetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..6fefb3a1038b67ae936cee91360afd425c99969b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationgetnotificationsubscriptionservicedetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_getnotificationsubscriptionservicedetails_input import TapiNotificationGetnotificationsubscriptionservicedetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiNotificationGetnotificationsubscriptionservicedetailsInput=None): # noqa: E501 + """OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody. # noqa: E501 + :type input: TapiNotificationGetnotificationsubscriptionservicedetailsInput + """ + self.swagger_types = { + 'input': TapiNotificationGetnotificationsubscriptionservicedetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapinotificationgetnotificationsubscriptionservicedetails_body of this OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody. # noqa: E501 + :rtype: OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiNotificationGetnotificationsubscriptionservicedetailsInput: + """Gets the input of this OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody. + + + :return: The input of this OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody. + :rtype: TapiNotificationGetnotificationsubscriptionservicedetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiNotificationGetnotificationsubscriptionservicedetailsInput): + """Sets the input of this OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody. + + + :param input: The input of this OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody. + :type input: TapiNotificationGetnotificationsubscriptionservicedetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapinotificationupdatenotificationsubscriptionservice_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationupdatenotificationsubscriptionservice_body.py new file mode 100644 index 0000000000000000000000000000000000000000..68baf4d2b0f86444cd8dd651c38e5460d9dd095e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapinotificationupdatenotificationsubscriptionservice_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_updatenotificationsubscriptionservice_input import TapiNotificationUpdatenotificationsubscriptionserviceInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapinotificationupdatenotificationsubscriptionserviceBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiNotificationUpdatenotificationsubscriptionserviceInput=None): # noqa: E501 + """OperationsTapinotificationupdatenotificationsubscriptionserviceBody - a model defined in Swagger + + :param input: The input of this OperationsTapinotificationupdatenotificationsubscriptionserviceBody. # noqa: E501 + :type input: TapiNotificationUpdatenotificationsubscriptionserviceInput + """ + self.swagger_types = { + 'input': TapiNotificationUpdatenotificationsubscriptionserviceInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapinotificationupdatenotificationsubscriptionserviceBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapinotificationupdatenotificationsubscriptionservice_body of this OperationsTapinotificationupdatenotificationsubscriptionserviceBody. # noqa: E501 + :rtype: OperationsTapinotificationupdatenotificationsubscriptionserviceBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiNotificationUpdatenotificationsubscriptionserviceInput: + """Gets the input of this OperationsTapinotificationupdatenotificationsubscriptionserviceBody. + + + :return: The input of this OperationsTapinotificationupdatenotificationsubscriptionserviceBody. + :rtype: TapiNotificationUpdatenotificationsubscriptionserviceInput + """ + return self._input + + @input.setter + def input(self, input: TapiNotificationUpdatenotificationsubscriptionserviceInput): + """Sets the input of this OperationsTapinotificationupdatenotificationsubscriptionserviceBody. + + + :param input: The input of this OperationsTapinotificationupdatenotificationsubscriptionserviceBody. + :type input: TapiNotificationUpdatenotificationsubscriptionserviceInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationcomputep2ppath_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationcomputep2ppath_body.py new file mode 100644 index 0000000000000000000000000000000000000000..c18dcc4a67b22ca066d39099a5fab21f7881ea47 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationcomputep2ppath_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_computep2ppath_input import TapiPathComputationComputep2ppathInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapipathcomputationcomputep2ppathBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiPathComputationComputep2ppathInput=None): # noqa: E501 + """OperationsTapipathcomputationcomputep2ppathBody - a model defined in Swagger + + :param input: The input of this OperationsTapipathcomputationcomputep2ppathBody. # noqa: E501 + :type input: TapiPathComputationComputep2ppathInput + """ + self.swagger_types = { + 'input': TapiPathComputationComputep2ppathInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapipathcomputationcomputep2ppathBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapipathcomputationcomputep2ppath_body of this OperationsTapipathcomputationcomputep2ppathBody. # noqa: E501 + :rtype: OperationsTapipathcomputationcomputep2ppathBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiPathComputationComputep2ppathInput: + """Gets the input of this OperationsTapipathcomputationcomputep2ppathBody. + + + :return: The input of this OperationsTapipathcomputationcomputep2ppathBody. + :rtype: TapiPathComputationComputep2ppathInput + """ + return self._input + + @input.setter + def input(self, input: TapiPathComputationComputep2ppathInput): + """Sets the input of this OperationsTapipathcomputationcomputep2ppathBody. + + + :param input: The input of this OperationsTapipathcomputationcomputep2ppathBody. + :type input: TapiPathComputationComputep2ppathInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationdeletep2ppath_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationdeletep2ppath_body.py new file mode 100644 index 0000000000000000000000000000000000000000..a7ac8ce61783786629120bec45ceacfb26b03eb0 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationdeletep2ppath_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_deletep2ppath_input import TapiPathComputationDeletep2ppathInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapipathcomputationdeletep2ppathBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiPathComputationDeletep2ppathInput=None): # noqa: E501 + """OperationsTapipathcomputationdeletep2ppathBody - a model defined in Swagger + + :param input: The input of this OperationsTapipathcomputationdeletep2ppathBody. # noqa: E501 + :type input: TapiPathComputationDeletep2ppathInput + """ + self.swagger_types = { + 'input': TapiPathComputationDeletep2ppathInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapipathcomputationdeletep2ppathBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapipathcomputationdeletep2ppath_body of this OperationsTapipathcomputationdeletep2ppathBody. # noqa: E501 + :rtype: OperationsTapipathcomputationdeletep2ppathBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiPathComputationDeletep2ppathInput: + """Gets the input of this OperationsTapipathcomputationdeletep2ppathBody. + + + :return: The input of this OperationsTapipathcomputationdeletep2ppathBody. + :rtype: TapiPathComputationDeletep2ppathInput + """ + return self._input + + @input.setter + def input(self, input: TapiPathComputationDeletep2ppathInput): + """Sets the input of this OperationsTapipathcomputationdeletep2ppathBody. + + + :param input: The input of this OperationsTapipathcomputationdeletep2ppathBody. + :type input: TapiPathComputationDeletep2ppathInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationoptimizep2ppath_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationoptimizep2ppath_body.py new file mode 100644 index 0000000000000000000000000000000000000000..33e7f86648abc07991b13f04567b6d7c4e717ced --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapipathcomputationoptimizep2ppath_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_optimizep2ppath_input import TapiPathComputationOptimizep2ppathInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapipathcomputationoptimizep2ppathBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiPathComputationOptimizep2ppathInput=None): # noqa: E501 + """OperationsTapipathcomputationoptimizep2ppathBody - a model defined in Swagger + + :param input: The input of this OperationsTapipathcomputationoptimizep2ppathBody. # noqa: E501 + :type input: TapiPathComputationOptimizep2ppathInput + """ + self.swagger_types = { + 'input': TapiPathComputationOptimizep2ppathInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapipathcomputationoptimizep2ppathBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapipathcomputationoptimizep2ppath_body of this OperationsTapipathcomputationoptimizep2ppathBody. # noqa: E501 + :rtype: OperationsTapipathcomputationoptimizep2ppathBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiPathComputationOptimizep2ppathInput: + """Gets the input of this OperationsTapipathcomputationoptimizep2ppathBody. + + + :return: The input of this OperationsTapipathcomputationoptimizep2ppathBody. + :rtype: TapiPathComputationOptimizep2ppathInput + """ + return self._input + + @input.setter + def input(self, input: TapiPathComputationOptimizep2ppathInput): + """Sets the input of this OperationsTapipathcomputationoptimizep2ppathBody. + + + :param input: The input of this OperationsTapipathcomputationoptimizep2ppathBody. + :type input: TapiPathComputationOptimizep2ppathInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetlinkdetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetlinkdetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..389a4d7f51dce713d94ee4273026cf7da5b8a900 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetlinkdetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_getlinkdetails_input import TapiTopologyGetlinkdetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapitopologygetlinkdetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiTopologyGetlinkdetailsInput=None): # noqa: E501 + """OperationsTapitopologygetlinkdetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapitopologygetlinkdetailsBody. # noqa: E501 + :type input: TapiTopologyGetlinkdetailsInput + """ + self.swagger_types = { + 'input': TapiTopologyGetlinkdetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapitopologygetlinkdetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapitopologygetlinkdetails_body of this OperationsTapitopologygetlinkdetailsBody. # noqa: E501 + :rtype: OperationsTapitopologygetlinkdetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiTopologyGetlinkdetailsInput: + """Gets the input of this OperationsTapitopologygetlinkdetailsBody. + + + :return: The input of this OperationsTapitopologygetlinkdetailsBody. + :rtype: TapiTopologyGetlinkdetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiTopologyGetlinkdetailsInput): + """Sets the input of this OperationsTapitopologygetlinkdetailsBody. + + + :param input: The input of this OperationsTapitopologygetlinkdetailsBody. + :type input: TapiTopologyGetlinkdetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetnodedetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetnodedetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..cd83d5b34aed1bb7564bfcaffb98c7351fbcaeab --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetnodedetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_getnodedetails_input import TapiTopologyGetnodedetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapitopologygetnodedetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiTopologyGetnodedetailsInput=None): # noqa: E501 + """OperationsTapitopologygetnodedetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapitopologygetnodedetailsBody. # noqa: E501 + :type input: TapiTopologyGetnodedetailsInput + """ + self.swagger_types = { + 'input': TapiTopologyGetnodedetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapitopologygetnodedetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapitopologygetnodedetails_body of this OperationsTapitopologygetnodedetailsBody. # noqa: E501 + :rtype: OperationsTapitopologygetnodedetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiTopologyGetnodedetailsInput: + """Gets the input of this OperationsTapitopologygetnodedetailsBody. + + + :return: The input of this OperationsTapitopologygetnodedetailsBody. + :rtype: TapiTopologyGetnodedetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiTopologyGetnodedetailsInput): + """Sets the input of this OperationsTapitopologygetnodedetailsBody. + + + :param input: The input of this OperationsTapitopologygetnodedetailsBody. + :type input: TapiTopologyGetnodedetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetnodeedgepointdetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetnodeedgepointdetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..dd43956fae60bed31beed4b0a49ccba555a0a732 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygetnodeedgepointdetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_getnodeedgepointdetails_input import TapiTopologyGetnodeedgepointdetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapitopologygetnodeedgepointdetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiTopologyGetnodeedgepointdetailsInput=None): # noqa: E501 + """OperationsTapitopologygetnodeedgepointdetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapitopologygetnodeedgepointdetailsBody. # noqa: E501 + :type input: TapiTopologyGetnodeedgepointdetailsInput + """ + self.swagger_types = { + 'input': TapiTopologyGetnodeedgepointdetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapitopologygetnodeedgepointdetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapitopologygetnodeedgepointdetails_body of this OperationsTapitopologygetnodeedgepointdetailsBody. # noqa: E501 + :rtype: OperationsTapitopologygetnodeedgepointdetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiTopologyGetnodeedgepointdetailsInput: + """Gets the input of this OperationsTapitopologygetnodeedgepointdetailsBody. + + + :return: The input of this OperationsTapitopologygetnodeedgepointdetailsBody. + :rtype: TapiTopologyGetnodeedgepointdetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiTopologyGetnodeedgepointdetailsInput): + """Sets the input of this OperationsTapitopologygetnodeedgepointdetailsBody. + + + :param input: The input of this OperationsTapitopologygetnodeedgepointdetailsBody. + :type input: TapiTopologyGetnodeedgepointdetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/operations_tapitopologygettopologydetails_body.py b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygettopologydetails_body.py new file mode 100644 index 0000000000000000000000000000000000000000..f5a0f2d932ddb6b3f082b5a61269bfd3d2fc8508 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/operations_tapitopologygettopologydetails_body.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_gettopologydetails_input import TapiTopologyGettopologydetailsInput # noqa: F401,E501 +from tapi_server import util + + +class OperationsTapitopologygettopologydetailsBody(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, input: TapiTopologyGettopologydetailsInput=None): # noqa: E501 + """OperationsTapitopologygettopologydetailsBody - a model defined in Swagger + + :param input: The input of this OperationsTapitopologygettopologydetailsBody. # noqa: E501 + :type input: TapiTopologyGettopologydetailsInput + """ + self.swagger_types = { + 'input': TapiTopologyGettopologydetailsInput + } + + self.attribute_map = { + 'input': 'input' + } + self._input = input + + @classmethod + def from_dict(cls, dikt) -> 'OperationsTapitopologygettopologydetailsBody': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The operations_tapitopologygettopologydetails_body of this OperationsTapitopologygettopologydetailsBody. # noqa: E501 + :rtype: OperationsTapitopologygettopologydetailsBody + """ + return util.deserialize_model(dikt, cls) + + @property + def input(self) -> TapiTopologyGettopologydetailsInput: + """Gets the input of this OperationsTapitopologygettopologydetailsBody. + + + :return: The input of this OperationsTapitopologygettopologydetailsBody. + :rtype: TapiTopologyGettopologydetailsInput + """ + return self._input + + @input.setter + def input(self, input: TapiTopologyGettopologydetailsInput): + """Sets the input of this OperationsTapitopologygettopologydetailsBody. + + + :param input: The input of this OperationsTapitopologygettopologydetailsBody. + :type input: TapiTopologyGettopologydetailsInput + """ + + self._input = input diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_admin_state_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_common_admin_state_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..1db830d31415b70a9a19bb0a3ba740153e886594 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_admin_state_pac.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonAdminStatePac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None): # noqa: E501 + """TapiCommonAdminStatePac - a model defined in Swagger + + :param operational_state: The operational_state of this TapiCommonAdminStatePac. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiCommonAdminStatePac. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiCommonAdminStatePac. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + """ + self.swagger_types = { + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState + } + + self.attribute_map = { + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state' + } + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonAdminStatePac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.AdminStatePac of this TapiCommonAdminStatePac. # noqa: E501 + :rtype: TapiCommonAdminStatePac + """ + return util.deserialize_model(dikt, cls) + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiCommonAdminStatePac. + + + :return: The operational_state of this TapiCommonAdminStatePac. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiCommonAdminStatePac. + + + :param operational_state: The operational_state of this TapiCommonAdminStatePac. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiCommonAdminStatePac. + + + :return: The lifecycle_state of this TapiCommonAdminStatePac. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiCommonAdminStatePac. + + + :param lifecycle_state: The lifecycle_state of this TapiCommonAdminStatePac. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiCommonAdminStatePac. + + + :return: The administrative_state of this TapiCommonAdminStatePac. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiCommonAdminStatePac. + + + :param administrative_state: The administrative_state of this TapiCommonAdminStatePac. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_administrative_state.py b/hackfest/tapi/server/tapi_server/models/tapi_common_administrative_state.py new file mode 100644 index 0000000000000000000000000000000000000000..f49d7d8e1d886866b0d336f58f2ea96d534d68ed --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_administrative_state.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonAdministrativeState(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + LOCKED = "LOCKED" + UNLOCKED = "UNLOCKED" + def __init__(self): # noqa: E501 + """TapiCommonAdministrativeState - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonAdministrativeState': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.AdministrativeState of this TapiCommonAdministrativeState. # noqa: E501 + :rtype: TapiCommonAdministrativeState + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile.py b/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile.py new file mode 100644 index 0000000000000000000000000000000000000000..7be05a67dc09ec117179de6a66cc3cbec315c20b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile.py @@ -0,0 +1,224 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_bandwidth_profile_type import TapiCommonBandwidthProfileType # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_value import TapiCommonCapacityValue # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonBandwidthProfile(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, committed_information_rate: TapiCommonCapacityValue=None, coupling_flag: bool=False, bw_profile_type: TapiCommonBandwidthProfileType=None, peak_information_rate: TapiCommonCapacityValue=None, committed_burst_size: TapiCommonCapacityValue=None, peak_burst_size: TapiCommonCapacityValue=None, color_aware: bool=False): # noqa: E501 + """TapiCommonBandwidthProfile - a model defined in Swagger + + :param committed_information_rate: The committed_information_rate of this TapiCommonBandwidthProfile. # noqa: E501 + :type committed_information_rate: TapiCommonCapacityValue + :param coupling_flag: The coupling_flag of this TapiCommonBandwidthProfile. # noqa: E501 + :type coupling_flag: bool + :param bw_profile_type: The bw_profile_type of this TapiCommonBandwidthProfile. # noqa: E501 + :type bw_profile_type: TapiCommonBandwidthProfileType + :param peak_information_rate: The peak_information_rate of this TapiCommonBandwidthProfile. # noqa: E501 + :type peak_information_rate: TapiCommonCapacityValue + :param committed_burst_size: The committed_burst_size of this TapiCommonBandwidthProfile. # noqa: E501 + :type committed_burst_size: TapiCommonCapacityValue + :param peak_burst_size: The peak_burst_size of this TapiCommonBandwidthProfile. # noqa: E501 + :type peak_burst_size: TapiCommonCapacityValue + :param color_aware: The color_aware of this TapiCommonBandwidthProfile. # noqa: E501 + :type color_aware: bool + """ + self.swagger_types = { + 'committed_information_rate': TapiCommonCapacityValue, + 'coupling_flag': bool, + 'bw_profile_type': TapiCommonBandwidthProfileType, + 'peak_information_rate': TapiCommonCapacityValue, + 'committed_burst_size': TapiCommonCapacityValue, + 'peak_burst_size': TapiCommonCapacityValue, + 'color_aware': bool + } + + self.attribute_map = { + 'committed_information_rate': 'committed-information-rate', + 'coupling_flag': 'coupling-flag', + 'bw_profile_type': 'bw-profile-type', + 'peak_information_rate': 'peak-information-rate', + 'committed_burst_size': 'committed-burst-size', + 'peak_burst_size': 'peak-burst-size', + 'color_aware': 'color-aware' + } + self._committed_information_rate = committed_information_rate + self._coupling_flag = coupling_flag + self._bw_profile_type = bw_profile_type + self._peak_information_rate = peak_information_rate + self._committed_burst_size = committed_burst_size + self._peak_burst_size = peak_burst_size + self._color_aware = color_aware + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonBandwidthProfile': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.BandwidthProfile of this TapiCommonBandwidthProfile. # noqa: E501 + :rtype: TapiCommonBandwidthProfile + """ + return util.deserialize_model(dikt, cls) + + @property + def committed_information_rate(self) -> TapiCommonCapacityValue: + """Gets the committed_information_rate of this TapiCommonBandwidthProfile. + + + :return: The committed_information_rate of this TapiCommonBandwidthProfile. + :rtype: TapiCommonCapacityValue + """ + return self._committed_information_rate + + @committed_information_rate.setter + def committed_information_rate(self, committed_information_rate: TapiCommonCapacityValue): + """Sets the committed_information_rate of this TapiCommonBandwidthProfile. + + + :param committed_information_rate: The committed_information_rate of this TapiCommonBandwidthProfile. + :type committed_information_rate: TapiCommonCapacityValue + """ + + self._committed_information_rate = committed_information_rate + + @property + def coupling_flag(self) -> bool: + """Gets the coupling_flag of this TapiCommonBandwidthProfile. + + none # noqa: E501 + + :return: The coupling_flag of this TapiCommonBandwidthProfile. + :rtype: bool + """ + return self._coupling_flag + + @coupling_flag.setter + def coupling_flag(self, coupling_flag: bool): + """Sets the coupling_flag of this TapiCommonBandwidthProfile. + + none # noqa: E501 + + :param coupling_flag: The coupling_flag of this TapiCommonBandwidthProfile. + :type coupling_flag: bool + """ + + self._coupling_flag = coupling_flag + + @property + def bw_profile_type(self) -> TapiCommonBandwidthProfileType: + """Gets the bw_profile_type of this TapiCommonBandwidthProfile. + + + :return: The bw_profile_type of this TapiCommonBandwidthProfile. + :rtype: TapiCommonBandwidthProfileType + """ + return self._bw_profile_type + + @bw_profile_type.setter + def bw_profile_type(self, bw_profile_type: TapiCommonBandwidthProfileType): + """Sets the bw_profile_type of this TapiCommonBandwidthProfile. + + + :param bw_profile_type: The bw_profile_type of this TapiCommonBandwidthProfile. + :type bw_profile_type: TapiCommonBandwidthProfileType + """ + + self._bw_profile_type = bw_profile_type + + @property + def peak_information_rate(self) -> TapiCommonCapacityValue: + """Gets the peak_information_rate of this TapiCommonBandwidthProfile. + + + :return: The peak_information_rate of this TapiCommonBandwidthProfile. + :rtype: TapiCommonCapacityValue + """ + return self._peak_information_rate + + @peak_information_rate.setter + def peak_information_rate(self, peak_information_rate: TapiCommonCapacityValue): + """Sets the peak_information_rate of this TapiCommonBandwidthProfile. + + + :param peak_information_rate: The peak_information_rate of this TapiCommonBandwidthProfile. + :type peak_information_rate: TapiCommonCapacityValue + """ + + self._peak_information_rate = peak_information_rate + + @property + def committed_burst_size(self) -> TapiCommonCapacityValue: + """Gets the committed_burst_size of this TapiCommonBandwidthProfile. + + + :return: The committed_burst_size of this TapiCommonBandwidthProfile. + :rtype: TapiCommonCapacityValue + """ + return self._committed_burst_size + + @committed_burst_size.setter + def committed_burst_size(self, committed_burst_size: TapiCommonCapacityValue): + """Sets the committed_burst_size of this TapiCommonBandwidthProfile. + + + :param committed_burst_size: The committed_burst_size of this TapiCommonBandwidthProfile. + :type committed_burst_size: TapiCommonCapacityValue + """ + + self._committed_burst_size = committed_burst_size + + @property + def peak_burst_size(self) -> TapiCommonCapacityValue: + """Gets the peak_burst_size of this TapiCommonBandwidthProfile. + + + :return: The peak_burst_size of this TapiCommonBandwidthProfile. + :rtype: TapiCommonCapacityValue + """ + return self._peak_burst_size + + @peak_burst_size.setter + def peak_burst_size(self, peak_burst_size: TapiCommonCapacityValue): + """Sets the peak_burst_size of this TapiCommonBandwidthProfile. + + + :param peak_burst_size: The peak_burst_size of this TapiCommonBandwidthProfile. + :type peak_burst_size: TapiCommonCapacityValue + """ + + self._peak_burst_size = peak_burst_size + + @property + def color_aware(self) -> bool: + """Gets the color_aware of this TapiCommonBandwidthProfile. + + none # noqa: E501 + + :return: The color_aware of this TapiCommonBandwidthProfile. + :rtype: bool + """ + return self._color_aware + + @color_aware.setter + def color_aware(self, color_aware: bool): + """Sets the color_aware of this TapiCommonBandwidthProfile. + + none # noqa: E501 + + :param color_aware: The color_aware of this TapiCommonBandwidthProfile. + :type color_aware: bool + """ + + self._color_aware = color_aware diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile_type.py b/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile_type.py new file mode 100644 index 0000000000000000000000000000000000000000..fb1de346e30a4217e99f442b8c56c35b752e406d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile_type.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonBandwidthProfileType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + MEF_10_X = "MEF_10.x" + RFC_2697 = "RFC_2697" + RFC_2698 = "RFC_2698" + RFC_4115 = "RFC_4115" + def __init__(self): # noqa: E501 + """TapiCommonBandwidthProfileType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonBandwidthProfileType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.BandwidthProfileType of this TapiCommonBandwidthProfileType. # noqa: E501 + :rtype: TapiCommonBandwidthProfileType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..7404280b0aaaa97f8276a41d4015c54e54f3dde8 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_bandwidth_profile_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_bandwidth_profile import TapiCommonBandwidthProfile # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonBandwidthProfileWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, bandwidth_profile: TapiCommonBandwidthProfile=None): # noqa: E501 + """TapiCommonBandwidthProfileWrapper - a model defined in Swagger + + :param bandwidth_profile: The bandwidth_profile of this TapiCommonBandwidthProfileWrapper. # noqa: E501 + :type bandwidth_profile: TapiCommonBandwidthProfile + """ + self.swagger_types = { + 'bandwidth_profile': TapiCommonBandwidthProfile + } + + self.attribute_map = { + 'bandwidth_profile': 'bandwidth-profile' + } + self._bandwidth_profile = bandwidth_profile + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonBandwidthProfileWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.BandwidthProfileWrapper of this TapiCommonBandwidthProfileWrapper. # noqa: E501 + :rtype: TapiCommonBandwidthProfileWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def bandwidth_profile(self) -> TapiCommonBandwidthProfile: + """Gets the bandwidth_profile of this TapiCommonBandwidthProfileWrapper. + + + :return: The bandwidth_profile of this TapiCommonBandwidthProfileWrapper. + :rtype: TapiCommonBandwidthProfile + """ + return self._bandwidth_profile + + @bandwidth_profile.setter + def bandwidth_profile(self, bandwidth_profile: TapiCommonBandwidthProfile): + """Sets the bandwidth_profile of this TapiCommonBandwidthProfileWrapper. + + + :param bandwidth_profile: The bandwidth_profile of this TapiCommonBandwidthProfileWrapper. + :type bandwidth_profile: TapiCommonBandwidthProfile + """ + + self._bandwidth_profile = bandwidth_profile diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_capacity.py b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity.py new file mode 100644 index 0000000000000000000000000000000000000000..9738d256fda1a0c4b69fbae71dd6e541f9d27df7 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_bandwidth_profile import TapiCommonBandwidthProfile # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_value import TapiCommonCapacityValue # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonCapacity(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, bandwidth_profile: TapiCommonBandwidthProfile=None, total_size: TapiCommonCapacityValue=None): # noqa: E501 + """TapiCommonCapacity - a model defined in Swagger + + :param bandwidth_profile: The bandwidth_profile of this TapiCommonCapacity. # noqa: E501 + :type bandwidth_profile: TapiCommonBandwidthProfile + :param total_size: The total_size of this TapiCommonCapacity. # noqa: E501 + :type total_size: TapiCommonCapacityValue + """ + self.swagger_types = { + 'bandwidth_profile': TapiCommonBandwidthProfile, + 'total_size': TapiCommonCapacityValue + } + + self.attribute_map = { + 'bandwidth_profile': 'bandwidth-profile', + 'total_size': 'total-size' + } + self._bandwidth_profile = bandwidth_profile + self._total_size = total_size + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonCapacity': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.Capacity of this TapiCommonCapacity. # noqa: E501 + :rtype: TapiCommonCapacity + """ + return util.deserialize_model(dikt, cls) + + @property + def bandwidth_profile(self) -> TapiCommonBandwidthProfile: + """Gets the bandwidth_profile of this TapiCommonCapacity. + + + :return: The bandwidth_profile of this TapiCommonCapacity. + :rtype: TapiCommonBandwidthProfile + """ + return self._bandwidth_profile + + @bandwidth_profile.setter + def bandwidth_profile(self, bandwidth_profile: TapiCommonBandwidthProfile): + """Sets the bandwidth_profile of this TapiCommonCapacity. + + + :param bandwidth_profile: The bandwidth_profile of this TapiCommonCapacity. + :type bandwidth_profile: TapiCommonBandwidthProfile + """ + + self._bandwidth_profile = bandwidth_profile + + @property + def total_size(self) -> TapiCommonCapacityValue: + """Gets the total_size of this TapiCommonCapacity. + + + :return: The total_size of this TapiCommonCapacity. + :rtype: TapiCommonCapacityValue + """ + return self._total_size + + @total_size.setter + def total_size(self, total_size: TapiCommonCapacityValue): + """Sets the total_size of this TapiCommonCapacity. + + + :param total_size: The total_size of this TapiCommonCapacity. + :type total_size: TapiCommonCapacityValue + """ + + self._total_size = total_size diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..148735e381b2904cb7b2c462e879359db9b98695 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_pac.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonCapacityPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None): # noqa: E501 + """TapiCommonCapacityPac - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiCommonCapacityPac. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiCommonCapacityPac. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonCapacityPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.CapacityPac of this TapiCommonCapacityPac. # noqa: E501 + :rtype: TapiCommonCapacityPac + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiCommonCapacityPac. + + + :return: The available_capacity of this TapiCommonCapacityPac. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiCommonCapacityPac. + + + :param available_capacity: The available_capacity of this TapiCommonCapacityPac. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiCommonCapacityPac. + + + :return: The total_potential_capacity of this TapiCommonCapacityPac. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiCommonCapacityPac. + + + :param total_potential_capacity: The total_potential_capacity of this TapiCommonCapacityPac. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_unit.py b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_unit.py new file mode 100644 index 0000000000000000000000000000000000000000..9a2a33f1b961839473928153c108b384465eaf0a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_unit.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonCapacityUnit(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + TB = "TB" + TBPS = "TBPS" + GB = "GB" + GBPS = "GBPS" + MB = "MB" + MBPS = "MBPS" + KB = "KB" + KBPS = "KBPS" + GHZ = "GHz" + MHZ = "MHz" + def __init__(self): # noqa: E501 + """TapiCommonCapacityUnit - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonCapacityUnit': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.CapacityUnit of this TapiCommonCapacityUnit. # noqa: E501 + :rtype: TapiCommonCapacityUnit + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_value.py b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_value.py new file mode 100644 index 0000000000000000000000000000000000000000..adc65eff8d91b4af6947842612de6c418ee07098 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_value.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity_unit import TapiCommonCapacityUnit # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonCapacityValue(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, value: int=None, unit: TapiCommonCapacityUnit=None): # noqa: E501 + """TapiCommonCapacityValue - a model defined in Swagger + + :param value: The value of this TapiCommonCapacityValue. # noqa: E501 + :type value: int + :param unit: The unit of this TapiCommonCapacityValue. # noqa: E501 + :type unit: TapiCommonCapacityUnit + """ + self.swagger_types = { + 'value': int, + 'unit': TapiCommonCapacityUnit + } + + self.attribute_map = { + 'value': 'value', + 'unit': 'unit' + } + self._value = value + self._unit = unit + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonCapacityValue': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.CapacityValue of this TapiCommonCapacityValue. # noqa: E501 + :rtype: TapiCommonCapacityValue + """ + return util.deserialize_model(dikt, cls) + + @property + def value(self) -> int: + """Gets the value of this TapiCommonCapacityValue. + + none # noqa: E501 + + :return: The value of this TapiCommonCapacityValue. + :rtype: int + """ + return self._value + + @value.setter + def value(self, value: int): + """Sets the value of this TapiCommonCapacityValue. + + none # noqa: E501 + + :param value: The value of this TapiCommonCapacityValue. + :type value: int + """ + + self._value = value + + @property + def unit(self) -> TapiCommonCapacityUnit: + """Gets the unit of this TapiCommonCapacityValue. + + + :return: The unit of this TapiCommonCapacityValue. + :rtype: TapiCommonCapacityUnit + """ + return self._unit + + @unit.setter + def unit(self, unit: TapiCommonCapacityUnit): + """Sets the unit of this TapiCommonCapacityValue. + + + :param unit: The unit of this TapiCommonCapacityValue. + :type unit: TapiCommonCapacityUnit + """ + + self._unit = unit diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_value_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_value_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..fc7007f031a6c4714a406f5ce058e91ea529bdd1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_value_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity_value import TapiCommonCapacityValue # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonCapacityValueWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, committed_burst_size: TapiCommonCapacityValue=None): # noqa: E501 + """TapiCommonCapacityValueWrapper - a model defined in Swagger + + :param committed_burst_size: The committed_burst_size of this TapiCommonCapacityValueWrapper. # noqa: E501 + :type committed_burst_size: TapiCommonCapacityValue + """ + self.swagger_types = { + 'committed_burst_size': TapiCommonCapacityValue + } + + self.attribute_map = { + 'committed_burst_size': 'committed-burst-size' + } + self._committed_burst_size = committed_burst_size + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonCapacityValueWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.CapacityValueWrapper of this TapiCommonCapacityValueWrapper. # noqa: E501 + :rtype: TapiCommonCapacityValueWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def committed_burst_size(self) -> TapiCommonCapacityValue: + """Gets the committed_burst_size of this TapiCommonCapacityValueWrapper. + + + :return: The committed_burst_size of this TapiCommonCapacityValueWrapper. + :rtype: TapiCommonCapacityValue + """ + return self._committed_burst_size + + @committed_burst_size.setter + def committed_burst_size(self, committed_burst_size: TapiCommonCapacityValue): + """Sets the committed_burst_size of this TapiCommonCapacityValueWrapper. + + + :param committed_burst_size: The committed_burst_size of this TapiCommonCapacityValueWrapper. + :type committed_burst_size: TapiCommonCapacityValue + """ + + self._committed_burst_size = committed_burst_size diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..dcb62680e3845e494d7e8ca5b0bdd84cdd478554 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_capacity_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonCapacityWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None): # noqa: E501 + """TapiCommonCapacityWrapper - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiCommonCapacityWrapper. # noqa: E501 + :type available_capacity: TapiCommonCapacity + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity + } + + self.attribute_map = { + 'available_capacity': 'available-capacity' + } + self._available_capacity = available_capacity + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonCapacityWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.CapacityWrapper of this TapiCommonCapacityWrapper. # noqa: E501 + :rtype: TapiCommonCapacityWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiCommonCapacityWrapper. + + + :return: The available_capacity of this TapiCommonCapacityWrapper. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiCommonCapacityWrapper. + + + :param available_capacity: The available_capacity of this TapiCommonCapacityWrapper. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_context.py b/hackfest/tapi/server/tapi_server/models/tapi_common_context.py new file mode 100644 index 0000000000000000000000000000000000000000..8d3c849c56762693d7d0691b2a877e549cea695c --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_context.py @@ -0,0 +1,178 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_service_interface_point import TapiCommonServiceInterfacePoint # noqa: F401,E501 +from tapi_server.models.tapi_common_tapi_context import TapiCommonTapiContext # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_context import TapiConnectivityConnectivityContext # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_context_augmentation3 import TapiConnectivityContextAugmentation3 # noqa: F401,E501 +from tapi_server.models.tapi_notification_context_augmentation1 import TapiNotificationContextAugmentation1 # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification_context import TapiNotificationNotificationContext # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_context_augmentation2 import TapiPathComputationContextAugmentation2 # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_computation_context import TapiPathComputationPathComputationContext # noqa: F401,E501 +from tapi_server.models.tapi_topology_context_augmentation4 import TapiTopologyContextAugmentation4 # noqa: F401,E501 +from tapi_server.models.tapi_topology_topology_context import TapiTopologyTopologyContext # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonContext(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connectivity_context: TapiConnectivityConnectivityContext=None, notification_context: TapiNotificationNotificationContext=None, path_computation_context: TapiPathComputationPathComputationContext=None, topology_context: TapiTopologyTopologyContext=None, service_interface_point: List[TapiCommonServiceInterfacePoint]=None): # noqa: E501 + """TapiCommonContext - a model defined in Swagger + + :param connectivity_context: The connectivity_context of this TapiCommonContext. # noqa: E501 + :type connectivity_context: TapiConnectivityConnectivityContext + :param notification_context: The notification_context of this TapiCommonContext. # noqa: E501 + :type notification_context: TapiNotificationNotificationContext + :param path_computation_context: The path_computation_context of this TapiCommonContext. # noqa: E501 + :type path_computation_context: TapiPathComputationPathComputationContext + :param topology_context: The topology_context of this TapiCommonContext. # noqa: E501 + :type topology_context: TapiTopologyTopologyContext + :param service_interface_point: The service_interface_point of this TapiCommonContext. # noqa: E501 + :type service_interface_point: List[TapiCommonServiceInterfacePoint] + """ + self.swagger_types = { + 'connectivity_context': TapiConnectivityConnectivityContext, + 'notification_context': TapiNotificationNotificationContext, + 'path_computation_context': TapiPathComputationPathComputationContext, + 'topology_context': TapiTopologyTopologyContext, + 'service_interface_point': List[TapiCommonServiceInterfacePoint] + } + + self.attribute_map = { + 'connectivity_context': 'connectivity-context', + 'notification_context': 'notification-context', + 'path_computation_context': 'path-computation-context', + 'topology_context': 'topology-context', + 'service_interface_point': 'service-interface-point' + } + self._connectivity_context = connectivity_context + self._notification_context = notification_context + self._path_computation_context = path_computation_context + self._topology_context = topology_context + self._service_interface_point = service_interface_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonContext': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.Context of this TapiCommonContext. # noqa: E501 + :rtype: TapiCommonContext + """ + return util.deserialize_model(dikt, cls) + + @property + def connectivity_context(self) -> TapiConnectivityConnectivityContext: + """Gets the connectivity_context of this TapiCommonContext. + + + :return: The connectivity_context of this TapiCommonContext. + :rtype: TapiConnectivityConnectivityContext + """ + return self._connectivity_context + + @connectivity_context.setter + def connectivity_context(self, connectivity_context: TapiConnectivityConnectivityContext): + """Sets the connectivity_context of this TapiCommonContext. + + + :param connectivity_context: The connectivity_context of this TapiCommonContext. + :type connectivity_context: TapiConnectivityConnectivityContext + """ + + self._connectivity_context = connectivity_context + + @property + def notification_context(self) -> TapiNotificationNotificationContext: + """Gets the notification_context of this TapiCommonContext. + + + :return: The notification_context of this TapiCommonContext. + :rtype: TapiNotificationNotificationContext + """ + return self._notification_context + + @notification_context.setter + def notification_context(self, notification_context: TapiNotificationNotificationContext): + """Sets the notification_context of this TapiCommonContext. + + + :param notification_context: The notification_context of this TapiCommonContext. + :type notification_context: TapiNotificationNotificationContext + """ + + self._notification_context = notification_context + + @property + def path_computation_context(self) -> TapiPathComputationPathComputationContext: + """Gets the path_computation_context of this TapiCommonContext. + + + :return: The path_computation_context of this TapiCommonContext. + :rtype: TapiPathComputationPathComputationContext + """ + return self._path_computation_context + + @path_computation_context.setter + def path_computation_context(self, path_computation_context: TapiPathComputationPathComputationContext): + """Sets the path_computation_context of this TapiCommonContext. + + + :param path_computation_context: The path_computation_context of this TapiCommonContext. + :type path_computation_context: TapiPathComputationPathComputationContext + """ + + self._path_computation_context = path_computation_context + + @property + def topology_context(self) -> TapiTopologyTopologyContext: + """Gets the topology_context of this TapiCommonContext. + + + :return: The topology_context of this TapiCommonContext. + :rtype: TapiTopologyTopologyContext + """ + return self._topology_context + + @topology_context.setter + def topology_context(self, topology_context: TapiTopologyTopologyContext): + """Sets the topology_context of this TapiCommonContext. + + + :param topology_context: The topology_context of this TapiCommonContext. + :type topology_context: TapiTopologyTopologyContext + """ + + self._topology_context = topology_context + + @property + def service_interface_point(self) -> List[TapiCommonServiceInterfacePoint]: + """Gets the service_interface_point of this TapiCommonContext. + + none # noqa: E501 + + :return: The service_interface_point of this TapiCommonContext. + :rtype: List[TapiCommonServiceInterfacePoint] + """ + return self._service_interface_point + + @service_interface_point.setter + def service_interface_point(self, service_interface_point: List[TapiCommonServiceInterfacePoint]): + """Sets the service_interface_point of this TapiCommonContext. + + none # noqa: E501 + + :param service_interface_point: The service_interface_point of this TapiCommonContext. + :type service_interface_point: List[TapiCommonServiceInterfacePoint] + """ + + self._service_interface_point = service_interface_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_context_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_context_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..d8b98d3e92693c5febe3055cd721441ab2fc6502 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_context_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_context import TapiCommonContext # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonContextWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tapi_commoncontext: TapiCommonContext=None): # noqa: E501 + """TapiCommonContextWrapper - a model defined in Swagger + + :param tapi_commoncontext: The tapi_commoncontext of this TapiCommonContextWrapper. # noqa: E501 + :type tapi_commoncontext: TapiCommonContext + """ + self.swagger_types = { + 'tapi_commoncontext': TapiCommonContext + } + + self.attribute_map = { + 'tapi_commoncontext': 'tapi-common:context' + } + self._tapi_commoncontext = tapi_commoncontext + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonContextWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.ContextWrapper of this TapiCommonContextWrapper. # noqa: E501 + :rtype: TapiCommonContextWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tapi_commoncontext(self) -> TapiCommonContext: + """Gets the tapi_commoncontext of this TapiCommonContextWrapper. + + + :return: The tapi_commoncontext of this TapiCommonContextWrapper. + :rtype: TapiCommonContext + """ + return self._tapi_commoncontext + + @tapi_commoncontext.setter + def tapi_commoncontext(self, tapi_commoncontext: TapiCommonContext): + """Sets the tapi_commoncontext of this TapiCommonContextWrapper. + + + :param tapi_commoncontext: The tapi_commoncontext of this TapiCommonContextWrapper. + :type tapi_commoncontext: TapiCommonContext + """ + + self._tapi_commoncontext = tapi_commoncontext diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_directive_value.py b/hackfest/tapi/server/tapi_server/models/tapi_common_directive_value.py new file mode 100644 index 0000000000000000000000000000000000000000..66d4360cb64df3b8c3deb28b6ddb9a15a47df20c --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_directive_value.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonDirectiveValue(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + MINIMIZE = "MINIMIZE" + MAXIMIZE = "MAXIMIZE" + ALLOW = "ALLOW" + DISALLOW = "DISALLOW" + DONT_CARE = "DONT_CARE" + def __init__(self): # noqa: E501 + """TapiCommonDirectiveValue - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonDirectiveValue': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.DirectiveValue of this TapiCommonDirectiveValue. # noqa: E501 + :rtype: TapiCommonDirectiveValue + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_forwarding_direction.py b/hackfest/tapi/server/tapi_server/models/tapi_common_forwarding_direction.py new file mode 100644 index 0000000000000000000000000000000000000000..732f5c8cb1f33aa259f0f27807fd67655067a9fa --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_forwarding_direction.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonForwardingDirection(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + BIDIRECTIONAL = "BIDIRECTIONAL" + UNIDIRECTIONAL = "UNIDIRECTIONAL" + UNDEFINED_OR_UNKNOWN = "UNDEFINED_OR_UNKNOWN" + def __init__(self): # noqa: E501 + """TapiCommonForwardingDirection - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonForwardingDirection': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.ForwardingDirection of this TapiCommonForwardingDirection. # noqa: E501 + :rtype: TapiCommonForwardingDirection + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_get_service_interface_point_details.py b/hackfest/tapi/server/tapi_server/models/tapi_common_get_service_interface_point_details.py new file mode 100644 index 0000000000000000000000000000000000000000..7ea77a174df105083f8f49a9651616177b140802 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_get_service_interface_point_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_getserviceinterfacepointdetails_output import TapiCommonGetserviceinterfacepointdetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonGetServiceInterfacePointDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiCommonGetserviceinterfacepointdetailsOutput=None): # noqa: E501 + """TapiCommonGetServiceInterfacePointDetails - a model defined in Swagger + + :param output: The output of this TapiCommonGetServiceInterfacePointDetails. # noqa: E501 + :type output: TapiCommonGetserviceinterfacepointdetailsOutput + """ + self.swagger_types = { + 'output': TapiCommonGetserviceinterfacepointdetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonGetServiceInterfacePointDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.GetServiceInterfacePointDetails of this TapiCommonGetServiceInterfacePointDetails. # noqa: E501 + :rtype: TapiCommonGetServiceInterfacePointDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiCommonGetserviceinterfacepointdetailsOutput: + """Gets the output of this TapiCommonGetServiceInterfacePointDetails. + + + :return: The output of this TapiCommonGetServiceInterfacePointDetails. + :rtype: TapiCommonGetserviceinterfacepointdetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiCommonGetserviceinterfacepointdetailsOutput): + """Sets the output of this TapiCommonGetServiceInterfacePointDetails. + + + :param output: The output of this TapiCommonGetServiceInterfacePointDetails. + :type output: TapiCommonGetserviceinterfacepointdetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_get_service_interface_point_list.py b/hackfest/tapi/server/tapi_server/models/tapi_common_get_service_interface_point_list.py new file mode 100644 index 0000000000000000000000000000000000000000..932a146708384e6bc217dbafdb98e935c23f2985 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_get_service_interface_point_list.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_getserviceinterfacepointlist_output import TapiCommonGetserviceinterfacepointlistOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonGetServiceInterfacePointList(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiCommonGetserviceinterfacepointlistOutput=None): # noqa: E501 + """TapiCommonGetServiceInterfacePointList - a model defined in Swagger + + :param output: The output of this TapiCommonGetServiceInterfacePointList. # noqa: E501 + :type output: TapiCommonGetserviceinterfacepointlistOutput + """ + self.swagger_types = { + 'output': TapiCommonGetserviceinterfacepointlistOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonGetServiceInterfacePointList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.GetServiceInterfacePointList of this TapiCommonGetServiceInterfacePointList. # noqa: E501 + :rtype: TapiCommonGetServiceInterfacePointList + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiCommonGetserviceinterfacepointlistOutput: + """Gets the output of this TapiCommonGetServiceInterfacePointList. + + + :return: The output of this TapiCommonGetServiceInterfacePointList. + :rtype: TapiCommonGetserviceinterfacepointlistOutput + """ + return self._output + + @output.setter + def output(self, output: TapiCommonGetserviceinterfacepointlistOutput): + """Sets the output of this TapiCommonGetServiceInterfacePointList. + + + :param output: The output of this TapiCommonGetServiceInterfacePointList. + :type output: TapiCommonGetserviceinterfacepointlistOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointdetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointdetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..771db02acfbe711ef8bc7a325009c076e9e16e6f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointdetails_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonGetserviceinterfacepointdetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, sip_id_or_name: str=None): # noqa: E501 + """TapiCommonGetserviceinterfacepointdetailsInput - a model defined in Swagger + + :param sip_id_or_name: The sip_id_or_name of this TapiCommonGetserviceinterfacepointdetailsInput. # noqa: E501 + :type sip_id_or_name: str + """ + self.swagger_types = { + 'sip_id_or_name': str + } + + self.attribute_map = { + 'sip_id_or_name': 'sip-id-or-name' + } + self._sip_id_or_name = sip_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonGetserviceinterfacepointdetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.getserviceinterfacepointdetails.Input of this TapiCommonGetserviceinterfacepointdetailsInput. # noqa: E501 + :rtype: TapiCommonGetserviceinterfacepointdetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def sip_id_or_name(self) -> str: + """Gets the sip_id_or_name of this TapiCommonGetserviceinterfacepointdetailsInput. + + none # noqa: E501 + + :return: The sip_id_or_name of this TapiCommonGetserviceinterfacepointdetailsInput. + :rtype: str + """ + return self._sip_id_or_name + + @sip_id_or_name.setter + def sip_id_or_name(self, sip_id_or_name: str): + """Sets the sip_id_or_name of this TapiCommonGetserviceinterfacepointdetailsInput. + + none # noqa: E501 + + :param sip_id_or_name: The sip_id_or_name of this TapiCommonGetserviceinterfacepointdetailsInput. + :type sip_id_or_name: str + """ + + self._sip_id_or_name = sip_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointdetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointdetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..6e3ac4e946aec8b75685d27a7710228cbdd57801 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointdetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_service_interface_point import TapiCommonServiceInterfacePoint # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonGetserviceinterfacepointdetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, sip: TapiCommonServiceInterfacePoint=None): # noqa: E501 + """TapiCommonGetserviceinterfacepointdetailsOutput - a model defined in Swagger + + :param sip: The sip of this TapiCommonGetserviceinterfacepointdetailsOutput. # noqa: E501 + :type sip: TapiCommonServiceInterfacePoint + """ + self.swagger_types = { + 'sip': TapiCommonServiceInterfacePoint + } + + self.attribute_map = { + 'sip': 'sip' + } + self._sip = sip + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonGetserviceinterfacepointdetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.getserviceinterfacepointdetails.Output of this TapiCommonGetserviceinterfacepointdetailsOutput. # noqa: E501 + :rtype: TapiCommonGetserviceinterfacepointdetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def sip(self) -> TapiCommonServiceInterfacePoint: + """Gets the sip of this TapiCommonGetserviceinterfacepointdetailsOutput. + + + :return: The sip of this TapiCommonGetserviceinterfacepointdetailsOutput. + :rtype: TapiCommonServiceInterfacePoint + """ + return self._sip + + @sip.setter + def sip(self, sip: TapiCommonServiceInterfacePoint): + """Sets the sip of this TapiCommonGetserviceinterfacepointdetailsOutput. + + + :param sip: The sip of this TapiCommonGetserviceinterfacepointdetailsOutput. + :type sip: TapiCommonServiceInterfacePoint + """ + + self._sip = sip diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointlist_output.py b/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointlist_output.py new file mode 100644 index 0000000000000000000000000000000000000000..4ecf4ee651eb7c04108a98eb36240bbcfab591f0 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_getserviceinterfacepointlist_output.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_service_interface_point import TapiCommonServiceInterfacePoint # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonGetserviceinterfacepointlistOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, sip: List[TapiCommonServiceInterfacePoint]=None): # noqa: E501 + """TapiCommonGetserviceinterfacepointlistOutput - a model defined in Swagger + + :param sip: The sip of this TapiCommonGetserviceinterfacepointlistOutput. # noqa: E501 + :type sip: List[TapiCommonServiceInterfacePoint] + """ + self.swagger_types = { + 'sip': List[TapiCommonServiceInterfacePoint] + } + + self.attribute_map = { + 'sip': 'sip' + } + self._sip = sip + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonGetserviceinterfacepointlistOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.getserviceinterfacepointlist.Output of this TapiCommonGetserviceinterfacepointlistOutput. # noqa: E501 + :rtype: TapiCommonGetserviceinterfacepointlistOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def sip(self) -> List[TapiCommonServiceInterfacePoint]: + """Gets the sip of this TapiCommonGetserviceinterfacepointlistOutput. + + none # noqa: E501 + + :return: The sip of this TapiCommonGetserviceinterfacepointlistOutput. + :rtype: List[TapiCommonServiceInterfacePoint] + """ + return self._sip + + @sip.setter + def sip(self, sip: List[TapiCommonServiceInterfacePoint]): + """Sets the sip of this TapiCommonGetserviceinterfacepointlistOutput. + + none # noqa: E501 + + :param sip: The sip of this TapiCommonGetserviceinterfacepointlistOutput. + :type sip: List[TapiCommonServiceInterfacePoint] + """ + + self._sip = sip diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_global_class.py b/hackfest/tapi/server/tapi_server/models/tapi_common_global_class.py new file mode 100644 index 0000000000000000000000000000000000000000..001206c56f55eadcf3793f895f1c3ff47b32a0a0 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_global_class.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonGlobalClass(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None): # noqa: E501 + """TapiCommonGlobalClass - a model defined in Swagger + + :param name: The name of this TapiCommonGlobalClass. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiCommonGlobalClass. # noqa: E501 + :type uuid: str + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid' + } + self._name = name + self._uuid = uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonGlobalClass': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.GlobalClass of this TapiCommonGlobalClass. # noqa: E501 + :rtype: TapiCommonGlobalClass + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiCommonGlobalClass. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiCommonGlobalClass. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiCommonGlobalClass. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiCommonGlobalClass. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiCommonGlobalClass. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiCommonGlobalClass. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiCommonGlobalClass. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiCommonGlobalClass. + :type uuid: str + """ + + self._uuid = uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_layer_protocol_name.py b/hackfest/tapi/server/tapi_server/models/tapi_common_layer_protocol_name.py new file mode 100644 index 0000000000000000000000000000000000000000..81b6030c92f5d0552d8627e56a46c1c8eb0351c2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_layer_protocol_name.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonLayerProtocolName(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + ODU = "ODU" + ETH = "ETH" + DSR = "DSR" + PHOTONIC_MEDIA = "PHOTONIC_MEDIA" + def __init__(self): # noqa: E501 + """TapiCommonLayerProtocolName - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonLayerProtocolName': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.LayerProtocolName of this TapiCommonLayerProtocolName. # noqa: E501 + :rtype: TapiCommonLayerProtocolName + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_lifecycle_state.py b/hackfest/tapi/server/tapi_server/models/tapi_common_lifecycle_state.py new file mode 100644 index 0000000000000000000000000000000000000000..10943fcb1ce0f07b472d7c7098259099e5651c4e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_lifecycle_state.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonLifecycleState(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + PLANNED = "PLANNED" + POTENTIAL_AVAILABLE = "POTENTIAL_AVAILABLE" + POTENTIAL_BUSY = "POTENTIAL_BUSY" + INSTALLED = "INSTALLED" + PENDING_REMOVAL = "PENDING_REMOVAL" + def __init__(self): # noqa: E501 + """TapiCommonLifecycleState - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonLifecycleState': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.LifecycleState of this TapiCommonLifecycleState. # noqa: E501 + :rtype: TapiCommonLifecycleState + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_local_class.py b/hackfest/tapi/server/tapi_server/models/tapi_common_local_class.py new file mode 100644 index 0000000000000000000000000000000000000000..19b3124eb6de3220d1c6c4e586891fe760537bd3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_local_class.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonLocalClass(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None): # noqa: E501 + """TapiCommonLocalClass - a model defined in Swagger + + :param name: The name of this TapiCommonLocalClass. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiCommonLocalClass. # noqa: E501 + :type local_id: str + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id' + } + self._name = name + self._local_id = local_id + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonLocalClass': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.LocalClass of this TapiCommonLocalClass. # noqa: E501 + :rtype: TapiCommonLocalClass + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiCommonLocalClass. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiCommonLocalClass. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiCommonLocalClass. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiCommonLocalClass. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiCommonLocalClass. + + none # noqa: E501 + + :return: The local_id of this TapiCommonLocalClass. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiCommonLocalClass. + + none # noqa: E501 + + :param local_id: The local_id of this TapiCommonLocalClass. + :type local_id: str + """ + + self._local_id = local_id diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_name_and_value.py b/hackfest/tapi/server/tapi_server/models/tapi_common_name_and_value.py new file mode 100644 index 0000000000000000000000000000000000000000..2afdd42e15f201f9345b2bfe74c3a9dd851abeb9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_name_and_value.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonNameAndValue(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, value_name: str=None, value: str=None): # noqa: E501 + """TapiCommonNameAndValue - a model defined in Swagger + + :param value_name: The value_name of this TapiCommonNameAndValue. # noqa: E501 + :type value_name: str + :param value: The value of this TapiCommonNameAndValue. # noqa: E501 + :type value: str + """ + self.swagger_types = { + 'value_name': str, + 'value': str + } + + self.attribute_map = { + 'value_name': 'value-name', + 'value': 'value' + } + self._value_name = value_name + self._value = value + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonNameAndValue': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.NameAndValue of this TapiCommonNameAndValue. # noqa: E501 + :rtype: TapiCommonNameAndValue + """ + return util.deserialize_model(dikt, cls) + + @property + def value_name(self) -> str: + """Gets the value_name of this TapiCommonNameAndValue. + + The name of the value. The value need not have a name. # noqa: E501 + + :return: The value_name of this TapiCommonNameAndValue. + :rtype: str + """ + return self._value_name + + @value_name.setter + def value_name(self, value_name: str): + """Sets the value_name of this TapiCommonNameAndValue. + + The name of the value. The value need not have a name. # noqa: E501 + + :param value_name: The value_name of this TapiCommonNameAndValue. + :type value_name: str + """ + + self._value_name = value_name + + @property + def value(self) -> str: + """Gets the value of this TapiCommonNameAndValue. + + The value # noqa: E501 + + :return: The value of this TapiCommonNameAndValue. + :rtype: str + """ + return self._value + + @value.setter + def value(self, value: str): + """Sets the value of this TapiCommonNameAndValue. + + The value # noqa: E501 + + :param value: The value of this TapiCommonNameAndValue. + :type value: str + """ + + self._value = value diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_name_and_value_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_name_and_value_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..7499e4beb479776717395f648961e4601a8df38f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_name_and_value_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonNameAndValueWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: TapiCommonNameAndValue=None): # noqa: E501 + """TapiCommonNameAndValueWrapper - a model defined in Swagger + + :param name: The name of this TapiCommonNameAndValueWrapper. # noqa: E501 + :type name: TapiCommonNameAndValue + """ + self.swagger_types = { + 'name': TapiCommonNameAndValue + } + + self.attribute_map = { + 'name': 'name' + } + self._name = name + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonNameAndValueWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.NameAndValueWrapper of this TapiCommonNameAndValueWrapper. # noqa: E501 + :rtype: TapiCommonNameAndValueWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> TapiCommonNameAndValue: + """Gets the name of this TapiCommonNameAndValueWrapper. + + + :return: The name of this TapiCommonNameAndValueWrapper. + :rtype: TapiCommonNameAndValue + """ + return self._name + + @name.setter + def name(self, name: TapiCommonNameAndValue): + """Sets the name of this TapiCommonNameAndValueWrapper. + + + :param name: The name of this TapiCommonNameAndValueWrapper. + :type name: TapiCommonNameAndValue + """ + + self._name = name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_operational_state.py b/hackfest/tapi/server/tapi_server/models/tapi_common_operational_state.py new file mode 100644 index 0000000000000000000000000000000000000000..5553d96409131e764ccde232fcca50c686609eef --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_operational_state.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonOperationalState(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + DISABLED = "DISABLED" + ENABLED = "ENABLED" + def __init__(self): # noqa: E501 + """TapiCommonOperationalState - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonOperationalState': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.OperationalState of this TapiCommonOperationalState. # noqa: E501 + :rtype: TapiCommonOperationalState + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_operational_state_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_common_operational_state_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..1eb91f23c7d9f59b10f79c7781ccf3a57419c44e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_operational_state_pac.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonOperationalStatePac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None): # noqa: E501 + """TapiCommonOperationalStatePac - a model defined in Swagger + + :param operational_state: The operational_state of this TapiCommonOperationalStatePac. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiCommonOperationalStatePac. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + """ + self.swagger_types = { + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState + } + + self.attribute_map = { + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state' + } + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonOperationalStatePac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.OperationalStatePac of this TapiCommonOperationalStatePac. # noqa: E501 + :rtype: TapiCommonOperationalStatePac + """ + return util.deserialize_model(dikt, cls) + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiCommonOperationalStatePac. + + + :return: The operational_state of this TapiCommonOperationalStatePac. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiCommonOperationalStatePac. + + + :param operational_state: The operational_state of this TapiCommonOperationalStatePac. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiCommonOperationalStatePac. + + + :return: The lifecycle_state of this TapiCommonOperationalStatePac. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiCommonOperationalStatePac. + + + :param lifecycle_state: The lifecycle_state of this TapiCommonOperationalStatePac. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_port_direction.py b/hackfest/tapi/server/tapi_server/models/tapi_common_port_direction.py new file mode 100644 index 0000000000000000000000000000000000000000..7cd3a818343084e62c7dd16a098fe6dd5f499130 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_port_direction.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonPortDirection(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + BIDIRECTIONAL = "BIDIRECTIONAL" + INPUT = "INPUT" + OUTPUT = "OUTPUT" + UNIDENTIFIED_OR_UNKNOWN = "UNIDENTIFIED_OR_UNKNOWN" + def __init__(self): # noqa: E501 + """TapiCommonPortDirection - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonPortDirection': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.PortDirection of this TapiCommonPortDirection. # noqa: E501 + :rtype: TapiCommonPortDirection + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_port_role.py b/hackfest/tapi/server/tapi_server/models/tapi_common_port_role.py new file mode 100644 index 0000000000000000000000000000000000000000..87de03b783e314711c665bc03612a3b17e61f4cf --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_port_role.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonPortRole(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + SYMMETRIC = "SYMMETRIC" + ROOT = "ROOT" + LEAF = "LEAF" + TRUNK = "TRUNK" + UNKNOWN = "UNKNOWN" + def __init__(self): # noqa: E501 + """TapiCommonPortRole - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonPortRole': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.PortRole of this TapiCommonPortRole. # noqa: E501 + :rtype: TapiCommonPortRole + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point.py b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point.py new file mode 100644 index 0000000000000000000000000000000000000000..cbc788a2cc03cb5a16048cfbb8f8f42c11a786bd --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point.py @@ -0,0 +1,312 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonServiceInterfacePoint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, supported_layer_protocol_qualifier: List[str]=None, layer_protocol_name: TapiCommonLayerProtocolName=None, direction: TapiCommonPortDirection=None): # noqa: E501 + """TapiCommonServiceInterfacePoint - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param name: The name of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type uuid: str + :param operational_state: The operational_state of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param supported_layer_protocol_qualifier: The supported_layer_protocol_qualifier of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type supported_layer_protocol_qualifier: List[str] + :param layer_protocol_name: The layer_protocol_name of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param direction: The direction of this TapiCommonServiceInterfacePoint. # noqa: E501 + :type direction: TapiCommonPortDirection + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'supported_layer_protocol_qualifier': List[str], + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'direction': TapiCommonPortDirection + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'name': 'name', + 'uuid': 'uuid', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'supported_layer_protocol_qualifier': 'supported-layer-protocol-qualifier', + 'layer_protocol_name': 'layer-protocol-name', + 'direction': 'direction' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._name = name + self._uuid = uuid + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._supported_layer_protocol_qualifier = supported_layer_protocol_qualifier + self._layer_protocol_name = layer_protocol_name + self._direction = direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonServiceInterfacePoint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.ServiceInterfacePoint of this TapiCommonServiceInterfacePoint. # noqa: E501 + :rtype: TapiCommonServiceInterfacePoint + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiCommonServiceInterfacePoint. + + + :return: The available_capacity of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiCommonServiceInterfacePoint. + + + :param available_capacity: The available_capacity of this TapiCommonServiceInterfacePoint. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiCommonServiceInterfacePoint. + + + :return: The total_potential_capacity of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiCommonServiceInterfacePoint. + + + :param total_potential_capacity: The total_potential_capacity of this TapiCommonServiceInterfacePoint. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiCommonServiceInterfacePoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiCommonServiceInterfacePoint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiCommonServiceInterfacePoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiCommonServiceInterfacePoint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiCommonServiceInterfacePoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiCommonServiceInterfacePoint. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiCommonServiceInterfacePoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiCommonServiceInterfacePoint. + :type uuid: str + """ + + self._uuid = uuid + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiCommonServiceInterfacePoint. + + + :return: The operational_state of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiCommonServiceInterfacePoint. + + + :param operational_state: The operational_state of this TapiCommonServiceInterfacePoint. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiCommonServiceInterfacePoint. + + + :return: The lifecycle_state of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiCommonServiceInterfacePoint. + + + :param lifecycle_state: The lifecycle_state of this TapiCommonServiceInterfacePoint. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiCommonServiceInterfacePoint. + + + :return: The administrative_state of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiCommonServiceInterfacePoint. + + + :param administrative_state: The administrative_state of this TapiCommonServiceInterfacePoint. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def supported_layer_protocol_qualifier(self) -> List[str]: + """Gets the supported_layer_protocol_qualifier of this TapiCommonServiceInterfacePoint. + + none # noqa: E501 + + :return: The supported_layer_protocol_qualifier of this TapiCommonServiceInterfacePoint. + :rtype: List[str] + """ + return self._supported_layer_protocol_qualifier + + @supported_layer_protocol_qualifier.setter + def supported_layer_protocol_qualifier(self, supported_layer_protocol_qualifier: List[str]): + """Sets the supported_layer_protocol_qualifier of this TapiCommonServiceInterfacePoint. + + none # noqa: E501 + + :param supported_layer_protocol_qualifier: The supported_layer_protocol_qualifier of this TapiCommonServiceInterfacePoint. + :type supported_layer_protocol_qualifier: List[str] + """ + + self._supported_layer_protocol_qualifier = supported_layer_protocol_qualifier + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiCommonServiceInterfacePoint. + + + :return: The layer_protocol_name of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiCommonServiceInterfacePoint. + + + :param layer_protocol_name: The layer_protocol_name of this TapiCommonServiceInterfacePoint. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def direction(self) -> TapiCommonPortDirection: + """Gets the direction of this TapiCommonServiceInterfacePoint. + + + :return: The direction of this TapiCommonServiceInterfacePoint. + :rtype: TapiCommonPortDirection + """ + return self._direction + + @direction.setter + def direction(self, direction: TapiCommonPortDirection): + """Sets the direction of this TapiCommonServiceInterfacePoint. + + + :param direction: The direction of this TapiCommonServiceInterfacePoint. + :type direction: TapiCommonPortDirection + """ + + self._direction = direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..8d94e5e01080e69a4a555fc607c19870e2ff0d52 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_ref.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonServiceInterfacePointRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_interface_point_uuid: str=None): # noqa: E501 + """TapiCommonServiceInterfacePointRef - a model defined in Swagger + + :param service_interface_point_uuid: The service_interface_point_uuid of this TapiCommonServiceInterfacePointRef. # noqa: E501 + :type service_interface_point_uuid: str + """ + self.swagger_types = { + 'service_interface_point_uuid': str + } + + self.attribute_map = { + 'service_interface_point_uuid': 'service-interface-point-uuid' + } + self._service_interface_point_uuid = service_interface_point_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonServiceInterfacePointRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.ServiceInterfacePointRef of this TapiCommonServiceInterfacePointRef. # noqa: E501 + :rtype: TapiCommonServiceInterfacePointRef + """ + return util.deserialize_model(dikt, cls) + + @property + def service_interface_point_uuid(self) -> str: + """Gets the service_interface_point_uuid of this TapiCommonServiceInterfacePointRef. + + none # noqa: E501 + + :return: The service_interface_point_uuid of this TapiCommonServiceInterfacePointRef. + :rtype: str + """ + return self._service_interface_point_uuid + + @service_interface_point_uuid.setter + def service_interface_point_uuid(self, service_interface_point_uuid: str): + """Sets the service_interface_point_uuid of this TapiCommonServiceInterfacePointRef. + + none # noqa: E501 + + :param service_interface_point_uuid: The service_interface_point_uuid of this TapiCommonServiceInterfacePointRef. + :type service_interface_point_uuid: str + """ + + self._service_interface_point_uuid = service_interface_point_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..3375982f20136bb6e6407abe59e031dd5e9414e8 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_service_interface_point_ref import TapiCommonServiceInterfacePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonServiceInterfacePointRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_interface_point: TapiCommonServiceInterfacePointRef=None): # noqa: E501 + """TapiCommonServiceInterfacePointRefWrapper - a model defined in Swagger + + :param service_interface_point: The service_interface_point of this TapiCommonServiceInterfacePointRefWrapper. # noqa: E501 + :type service_interface_point: TapiCommonServiceInterfacePointRef + """ + self.swagger_types = { + 'service_interface_point': TapiCommonServiceInterfacePointRef + } + + self.attribute_map = { + 'service_interface_point': 'service-interface-point' + } + self._service_interface_point = service_interface_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonServiceInterfacePointRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.ServiceInterfacePointRefWrapper of this TapiCommonServiceInterfacePointRefWrapper. # noqa: E501 + :rtype: TapiCommonServiceInterfacePointRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def service_interface_point(self) -> TapiCommonServiceInterfacePointRef: + """Gets the service_interface_point of this TapiCommonServiceInterfacePointRefWrapper. + + + :return: The service_interface_point of this TapiCommonServiceInterfacePointRefWrapper. + :rtype: TapiCommonServiceInterfacePointRef + """ + return self._service_interface_point + + @service_interface_point.setter + def service_interface_point(self, service_interface_point: TapiCommonServiceInterfacePointRef): + """Sets the service_interface_point of this TapiCommonServiceInterfacePointRefWrapper. + + + :param service_interface_point: The service_interface_point of this TapiCommonServiceInterfacePointRefWrapper. + :type service_interface_point: TapiCommonServiceInterfacePointRef + """ + + self._service_interface_point = service_interface_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..b4596f121cf6263fb35c7e1fb578cb6b755b28b1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_service_interface_point_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_service_interface_point import TapiCommonServiceInterfacePoint # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonServiceInterfacePointWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_interface_point: TapiCommonServiceInterfacePoint=None): # noqa: E501 + """TapiCommonServiceInterfacePointWrapper - a model defined in Swagger + + :param service_interface_point: The service_interface_point of this TapiCommonServiceInterfacePointWrapper. # noqa: E501 + :type service_interface_point: TapiCommonServiceInterfacePoint + """ + self.swagger_types = { + 'service_interface_point': TapiCommonServiceInterfacePoint + } + + self.attribute_map = { + 'service_interface_point': 'service-interface-point' + } + self._service_interface_point = service_interface_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonServiceInterfacePointWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.ServiceInterfacePointWrapper of this TapiCommonServiceInterfacePointWrapper. # noqa: E501 + :rtype: TapiCommonServiceInterfacePointWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def service_interface_point(self) -> TapiCommonServiceInterfacePoint: + """Gets the service_interface_point of this TapiCommonServiceInterfacePointWrapper. + + + :return: The service_interface_point of this TapiCommonServiceInterfacePointWrapper. + :rtype: TapiCommonServiceInterfacePoint + """ + return self._service_interface_point + + @service_interface_point.setter + def service_interface_point(self, service_interface_point: TapiCommonServiceInterfacePoint): + """Sets the service_interface_point of this TapiCommonServiceInterfacePointWrapper. + + + :param service_interface_point: The service_interface_point of this TapiCommonServiceInterfacePointWrapper. + :type service_interface_point: TapiCommonServiceInterfacePoint + """ + + self._service_interface_point = service_interface_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_tapi_context.py b/hackfest/tapi/server/tapi_server/models/tapi_common_tapi_context.py new file mode 100644 index 0000000000000000000000000000000000000000..72fda0fe64f24648c3442ede0a0c87394299a549 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_tapi_context.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_service_interface_point import TapiCommonServiceInterfacePoint # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonTapiContext(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, service_interface_point: List[TapiCommonServiceInterfacePoint]=None): # noqa: E501 + """TapiCommonTapiContext - a model defined in Swagger + + :param name: The name of this TapiCommonTapiContext. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiCommonTapiContext. # noqa: E501 + :type uuid: str + :param service_interface_point: The service_interface_point of this TapiCommonTapiContext. # noqa: E501 + :type service_interface_point: List[TapiCommonServiceInterfacePoint] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'service_interface_point': List[TapiCommonServiceInterfacePoint] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'service_interface_point': 'service-interface-point' + } + self._name = name + self._uuid = uuid + self._service_interface_point = service_interface_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonTapiContext': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.TapiContext of this TapiCommonTapiContext. # noqa: E501 + :rtype: TapiCommonTapiContext + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiCommonTapiContext. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiCommonTapiContext. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiCommonTapiContext. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiCommonTapiContext. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiCommonTapiContext. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiCommonTapiContext. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiCommonTapiContext. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiCommonTapiContext. + :type uuid: str + """ + + self._uuid = uuid + + @property + def service_interface_point(self) -> List[TapiCommonServiceInterfacePoint]: + """Gets the service_interface_point of this TapiCommonTapiContext. + + none # noqa: E501 + + :return: The service_interface_point of this TapiCommonTapiContext. + :rtype: List[TapiCommonServiceInterfacePoint] + """ + return self._service_interface_point + + @service_interface_point.setter + def service_interface_point(self, service_interface_point: List[TapiCommonServiceInterfacePoint]): + """Sets the service_interface_point of this TapiCommonTapiContext. + + none # noqa: E501 + + :param service_interface_point: The service_interface_point of this TapiCommonTapiContext. + :type service_interface_point: List[TapiCommonServiceInterfacePoint] + """ + + self._service_interface_point = service_interface_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_termination_direction.py b/hackfest/tapi/server/tapi_server/models/tapi_common_termination_direction.py new file mode 100644 index 0000000000000000000000000000000000000000..8b14272c0922c987e114fc6a26efdf8e16b70a3e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_termination_direction.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonTerminationDirection(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + BIDIRECTIONAL = "BIDIRECTIONAL" + SINK = "SINK" + SOURCE = "SOURCE" + UNDEFINED_OR_UNKNOWN = "UNDEFINED_OR_UNKNOWN" + def __init__(self): # noqa: E501 + """TapiCommonTerminationDirection - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonTerminationDirection': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.TerminationDirection of this TapiCommonTerminationDirection. # noqa: E501 + :rtype: TapiCommonTerminationDirection + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_termination_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_common_termination_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..75d0812216efe9e9e81a575b0b9af217cd8b7710 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_termination_pac.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_termination_direction import TapiCommonTerminationDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_state import TapiCommonTerminationState # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonTerminationPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, termination_direction: TapiCommonTerminationDirection=None, termination_state: TapiCommonTerminationState=None): # noqa: E501 + """TapiCommonTerminationPac - a model defined in Swagger + + :param termination_direction: The termination_direction of this TapiCommonTerminationPac. # noqa: E501 + :type termination_direction: TapiCommonTerminationDirection + :param termination_state: The termination_state of this TapiCommonTerminationPac. # noqa: E501 + :type termination_state: TapiCommonTerminationState + """ + self.swagger_types = { + 'termination_direction': TapiCommonTerminationDirection, + 'termination_state': TapiCommonTerminationState + } + + self.attribute_map = { + 'termination_direction': 'termination-direction', + 'termination_state': 'termination-state' + } + self._termination_direction = termination_direction + self._termination_state = termination_state + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonTerminationPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.TerminationPac of this TapiCommonTerminationPac. # noqa: E501 + :rtype: TapiCommonTerminationPac + """ + return util.deserialize_model(dikt, cls) + + @property + def termination_direction(self) -> TapiCommonTerminationDirection: + """Gets the termination_direction of this TapiCommonTerminationPac. + + + :return: The termination_direction of this TapiCommonTerminationPac. + :rtype: TapiCommonTerminationDirection + """ + return self._termination_direction + + @termination_direction.setter + def termination_direction(self, termination_direction: TapiCommonTerminationDirection): + """Sets the termination_direction of this TapiCommonTerminationPac. + + + :param termination_direction: The termination_direction of this TapiCommonTerminationPac. + :type termination_direction: TapiCommonTerminationDirection + """ + + self._termination_direction = termination_direction + + @property + def termination_state(self) -> TapiCommonTerminationState: + """Gets the termination_state of this TapiCommonTerminationPac. + + + :return: The termination_state of this TapiCommonTerminationPac. + :rtype: TapiCommonTerminationState + """ + return self._termination_state + + @termination_state.setter + def termination_state(self, termination_state: TapiCommonTerminationState): + """Sets the termination_state of this TapiCommonTerminationPac. + + + :param termination_state: The termination_state of this TapiCommonTerminationPac. + :type termination_state: TapiCommonTerminationState + """ + + self._termination_state = termination_state diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_termination_state.py b/hackfest/tapi/server/tapi_server/models/tapi_common_termination_state.py new file mode 100644 index 0000000000000000000000000000000000000000..8b90b76ac8713d9d3f1bc14d52be6a8c9566b938 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_termination_state.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonTerminationState(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + LP_CAN_NEVER_TERMINATE = "LP_CAN_NEVER_TERMINATE" + LT_NOT_TERMINATED = "LT_NOT_TERMINATED" + TERMINATED_SERVER_TO_CLIENT_FLOW = "TERMINATED_SERVER_TO_CLIENT_FLOW" + TERMINATED_CLIENT_TO_SERVER_FLOW = "TERMINATED_CLIENT_TO_SERVER_FLOW" + TERMINATED_BIDIRECTIONAL = "TERMINATED_BIDIRECTIONAL" + LT_PERMENANTLY_TERMINATED = "LT_PERMENANTLY_TERMINATED" + TERMINATION_STATE_UNKNOWN = "TERMINATION_STATE_UNKNOWN" + def __init__(self): # noqa: E501 + """TapiCommonTerminationState - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonTerminationState': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.TerminationState of this TapiCommonTerminationState. # noqa: E501 + :rtype: TapiCommonTerminationState + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_time_range.py b/hackfest/tapi/server/tapi_server/models/tapi_common_time_range.py new file mode 100644 index 0000000000000000000000000000000000000000..d4b33cea32c7caeb998485e60ac612e2c6d52267 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_time_range.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiCommonTimeRange(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, end_time: str=None, start_time: str=None): # noqa: E501 + """TapiCommonTimeRange - a model defined in Swagger + + :param end_time: The end_time of this TapiCommonTimeRange. # noqa: E501 + :type end_time: str + :param start_time: The start_time of this TapiCommonTimeRange. # noqa: E501 + :type start_time: str + """ + self.swagger_types = { + 'end_time': str, + 'start_time': str + } + + self.attribute_map = { + 'end_time': 'end-time', + 'start_time': 'start-time' + } + self._end_time = end_time + self._start_time = start_time + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonTimeRange': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.TimeRange of this TapiCommonTimeRange. # noqa: E501 + :rtype: TapiCommonTimeRange + """ + return util.deserialize_model(dikt, cls) + + @property + def end_time(self) -> str: + """Gets the end_time of this TapiCommonTimeRange. + + none # noqa: E501 + + :return: The end_time of this TapiCommonTimeRange. + :rtype: str + """ + return self._end_time + + @end_time.setter + def end_time(self, end_time: str): + """Sets the end_time of this TapiCommonTimeRange. + + none # noqa: E501 + + :param end_time: The end_time of this TapiCommonTimeRange. + :type end_time: str + """ + + self._end_time = end_time + + @property + def start_time(self) -> str: + """Gets the start_time of this TapiCommonTimeRange. + + none # noqa: E501 + + :return: The start_time of this TapiCommonTimeRange. + :rtype: str + """ + return self._start_time + + @start_time.setter + def start_time(self, start_time: str): + """Sets the start_time of this TapiCommonTimeRange. + + none # noqa: E501 + + :param start_time: The start_time of this TapiCommonTimeRange. + :type start_time: str + """ + + self._start_time = start_time diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_time_range_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_common_time_range_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..839c40f06015d24bfd6b0a5a74f025cc09633b6d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_time_range_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_time_range import TapiCommonTimeRange # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonTimeRangeWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, schedule: TapiCommonTimeRange=None): # noqa: E501 + """TapiCommonTimeRangeWrapper - a model defined in Swagger + + :param schedule: The schedule of this TapiCommonTimeRangeWrapper. # noqa: E501 + :type schedule: TapiCommonTimeRange + """ + self.swagger_types = { + 'schedule': TapiCommonTimeRange + } + + self.attribute_map = { + 'schedule': 'schedule' + } + self._schedule = schedule + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonTimeRangeWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.TimeRangeWrapper of this TapiCommonTimeRangeWrapper. # noqa: E501 + :rtype: TapiCommonTimeRangeWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def schedule(self) -> TapiCommonTimeRange: + """Gets the schedule of this TapiCommonTimeRangeWrapper. + + + :return: The schedule of this TapiCommonTimeRangeWrapper. + :rtype: TapiCommonTimeRange + """ + return self._schedule + + @schedule.setter + def schedule(self, schedule: TapiCommonTimeRange): + """Sets the schedule of this TapiCommonTimeRangeWrapper. + + + :param schedule: The schedule of this TapiCommonTimeRangeWrapper. + :type schedule: TapiCommonTimeRange + """ + + self._schedule = schedule diff --git a/hackfest/tapi/server/tapi_server/models/tapi_common_updateserviceinterfacepoint_input.py b/hackfest/tapi/server/tapi_server/models/tapi_common_updateserviceinterfacepoint_input.py new file mode 100644 index 0000000000000000000000000000000000000000..d2013ae157886c02b4c5d3614a7ddf35c941558a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_common_updateserviceinterfacepoint_input.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server import util + + +class TapiCommonUpdateserviceinterfacepointInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, sip_id_or_name: str=None, state: TapiCommonAdministrativeState=None): # noqa: E501 + """TapiCommonUpdateserviceinterfacepointInput - a model defined in Swagger + + :param sip_id_or_name: The sip_id_or_name of this TapiCommonUpdateserviceinterfacepointInput. # noqa: E501 + :type sip_id_or_name: str + :param state: The state of this TapiCommonUpdateserviceinterfacepointInput. # noqa: E501 + :type state: TapiCommonAdministrativeState + """ + self.swagger_types = { + 'sip_id_or_name': str, + 'state': TapiCommonAdministrativeState + } + + self.attribute_map = { + 'sip_id_or_name': 'sip-id-or-name', + 'state': 'state' + } + self._sip_id_or_name = sip_id_or_name + self._state = state + + @classmethod + def from_dict(cls, dikt) -> 'TapiCommonUpdateserviceinterfacepointInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.common.updateserviceinterfacepoint.Input of this TapiCommonUpdateserviceinterfacepointInput. # noqa: E501 + :rtype: TapiCommonUpdateserviceinterfacepointInput + """ + return util.deserialize_model(dikt, cls) + + @property + def sip_id_or_name(self) -> str: + """Gets the sip_id_or_name of this TapiCommonUpdateserviceinterfacepointInput. + + none # noqa: E501 + + :return: The sip_id_or_name of this TapiCommonUpdateserviceinterfacepointInput. + :rtype: str + """ + return self._sip_id_or_name + + @sip_id_or_name.setter + def sip_id_or_name(self, sip_id_or_name: str): + """Sets the sip_id_or_name of this TapiCommonUpdateserviceinterfacepointInput. + + none # noqa: E501 + + :param sip_id_or_name: The sip_id_or_name of this TapiCommonUpdateserviceinterfacepointInput. + :type sip_id_or_name: str + """ + + self._sip_id_or_name = sip_id_or_name + + @property + def state(self) -> TapiCommonAdministrativeState: + """Gets the state of this TapiCommonUpdateserviceinterfacepointInput. + + + :return: The state of this TapiCommonUpdateserviceinterfacepointInput. + :rtype: TapiCommonAdministrativeState + """ + return self._state + + @state.setter + def state(self, state: TapiCommonAdministrativeState): + """Sets the state of this TapiCommonUpdateserviceinterfacepointInput. + + + :param state: The state of this TapiCommonUpdateserviceinterfacepointInput. + :type state: TapiCommonAdministrativeState + """ + + self._state = state diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_list.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_list.py new file mode 100644 index 0000000000000000000000000000000000000000..62c3fd0448704abca16a24f5b5ad7d6fa5056604 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_list.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_end_point import TapiConnectivityConnectionEndPoint # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCepList(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_end_point: List[TapiConnectivityConnectionEndPoint]=None): # noqa: E501 + """TapiConnectivityCepList - a model defined in Swagger + + :param connection_end_point: The connection_end_point of this TapiConnectivityCepList. # noqa: E501 + :type connection_end_point: List[TapiConnectivityConnectionEndPoint] + """ + self.swagger_types = { + 'connection_end_point': List[TapiConnectivityConnectionEndPoint] + } + + self.attribute_map = { + 'connection_end_point': 'connection-end-point' + } + self._connection_end_point = connection_end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCepList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.CepList of this TapiConnectivityCepList. # noqa: E501 + :rtype: TapiConnectivityCepList + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_end_point(self) -> List[TapiConnectivityConnectionEndPoint]: + """Gets the connection_end_point of this TapiConnectivityCepList. + + none # noqa: E501 + + :return: The connection_end_point of this TapiConnectivityCepList. + :rtype: List[TapiConnectivityConnectionEndPoint] + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: List[TapiConnectivityConnectionEndPoint]): + """Sets the connection_end_point of this TapiConnectivityCepList. + + none # noqa: E501 + + :param connection_end_point: The connection_end_point of this TapiConnectivityCepList. + :type connection_end_point: List[TapiConnectivityConnectionEndPoint] + """ + + self._connection_end_point = connection_end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_list_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_list_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..1a8af9dcc89795d30e1f0547062dc327e1092715 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_list_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_cep_list import TapiConnectivityCepList # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCepListWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tapi_connectivitycep_list: TapiConnectivityCepList=None): # noqa: E501 + """TapiConnectivityCepListWrapper - a model defined in Swagger + + :param tapi_connectivitycep_list: The tapi_connectivitycep_list of this TapiConnectivityCepListWrapper. # noqa: E501 + :type tapi_connectivitycep_list: TapiConnectivityCepList + """ + self.swagger_types = { + 'tapi_connectivitycep_list': TapiConnectivityCepList + } + + self.attribute_map = { + 'tapi_connectivitycep_list': 'tapi-connectivity:cep-list' + } + self._tapi_connectivitycep_list = tapi_connectivitycep_list + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCepListWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.CepListWrapper of this TapiConnectivityCepListWrapper. # noqa: E501 + :rtype: TapiConnectivityCepListWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tapi_connectivitycep_list(self) -> TapiConnectivityCepList: + """Gets the tapi_connectivitycep_list of this TapiConnectivityCepListWrapper. + + + :return: The tapi_connectivitycep_list of this TapiConnectivityCepListWrapper. + :rtype: TapiConnectivityCepList + """ + return self._tapi_connectivitycep_list + + @tapi_connectivitycep_list.setter + def tapi_connectivitycep_list(self, tapi_connectivitycep_list: TapiConnectivityCepList): + """Sets the tapi_connectivitycep_list of this TapiConnectivityCepListWrapper. + + + :param tapi_connectivitycep_list: The tapi_connectivitycep_list of this TapiConnectivityCepListWrapper. + :type tapi_connectivitycep_list: TapiConnectivityCepList + """ + + self._tapi_connectivitycep_list = tapi_connectivitycep_list diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_role.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_role.py new file mode 100644 index 0000000000000000000000000000000000000000..a6fb10194c7bef2338bf5e250d75df55595de399 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_role.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_spec_reference import TapiConnectivityConnectionSpecReference # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCepRole(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, role_name: str=None, connection_spec_reference: TapiConnectivityConnectionSpecReference=None): # noqa: E501 + """TapiConnectivityCepRole - a model defined in Swagger + + :param role_name: The role_name of this TapiConnectivityCepRole. # noqa: E501 + :type role_name: str + :param connection_spec_reference: The connection_spec_reference of this TapiConnectivityCepRole. # noqa: E501 + :type connection_spec_reference: TapiConnectivityConnectionSpecReference + """ + self.swagger_types = { + 'role_name': str, + 'connection_spec_reference': TapiConnectivityConnectionSpecReference + } + + self.attribute_map = { + 'role_name': 'role-name', + 'connection_spec_reference': 'connection-spec-reference' + } + self._role_name = role_name + self._connection_spec_reference = connection_spec_reference + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCepRole': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.CepRole of this TapiConnectivityCepRole. # noqa: E501 + :rtype: TapiConnectivityCepRole + """ + return util.deserialize_model(dikt, cls) + + @property + def role_name(self) -> str: + """Gets the role_name of this TapiConnectivityCepRole. + + The name of the cep role in the context of the referenced spec. # noqa: E501 + + :return: The role_name of this TapiConnectivityCepRole. + :rtype: str + """ + return self._role_name + + @role_name.setter + def role_name(self, role_name: str): + """Sets the role_name of this TapiConnectivityCepRole. + + The name of the cep role in the context of the referenced spec. # noqa: E501 + + :param role_name: The role_name of this TapiConnectivityCepRole. + :type role_name: str + """ + + self._role_name = role_name + + @property + def connection_spec_reference(self) -> TapiConnectivityConnectionSpecReference: + """Gets the connection_spec_reference of this TapiConnectivityCepRole. + + + :return: The connection_spec_reference of this TapiConnectivityCepRole. + :rtype: TapiConnectivityConnectionSpecReference + """ + return self._connection_spec_reference + + @connection_spec_reference.setter + def connection_spec_reference(self, connection_spec_reference: TapiConnectivityConnectionSpecReference): + """Sets the connection_spec_reference of this TapiConnectivityCepRole. + + + :param connection_spec_reference: The connection_spec_reference of this TapiConnectivityCepRole. + :type connection_spec_reference: TapiConnectivityConnectionSpecReference + """ + + self._connection_spec_reference = connection_spec_reference diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_role_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_role_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..f50a3ae02764e8a0343e72e7842043f4772e129d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_cep_role_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_cep_role import TapiConnectivityCepRole # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCepRoleWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cep_role: TapiConnectivityCepRole=None): # noqa: E501 + """TapiConnectivityCepRoleWrapper - a model defined in Swagger + + :param cep_role: The cep_role of this TapiConnectivityCepRoleWrapper. # noqa: E501 + :type cep_role: TapiConnectivityCepRole + """ + self.swagger_types = { + 'cep_role': TapiConnectivityCepRole + } + + self.attribute_map = { + 'cep_role': 'cep-role' + } + self._cep_role = cep_role + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCepRoleWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.CepRoleWrapper of this TapiConnectivityCepRoleWrapper. # noqa: E501 + :rtype: TapiConnectivityCepRoleWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def cep_role(self) -> TapiConnectivityCepRole: + """Gets the cep_role of this TapiConnectivityCepRoleWrapper. + + + :return: The cep_role of this TapiConnectivityCepRoleWrapper. + :rtype: TapiConnectivityCepRole + """ + return self._cep_role + + @cep_role.setter + def cep_role(self, cep_role: TapiConnectivityCepRole): + """Sets the cep_role of this TapiConnectivityCepRoleWrapper. + + + :param cep_role: The cep_role of this TapiConnectivityCepRoleWrapper. + :type cep_role: TapiConnectivityCepRole + """ + + self._cep_role = cep_role diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..f7445787c94b8605a80e1ea24a8b8d5661357dcd --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection.py @@ -0,0 +1,375 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state_pac import TapiCommonOperationalStatePac # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_spec_reference import TapiConnectivityConnectionSpecReference # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_route import TapiConnectivityRoute # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_switch_control import TapiConnectivitySwitchControl # noqa: F401,E501 +from tapi_server.models.tapi_topology_link_ref import TapiTopologyLinkRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnection(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, supported_client_link: List[TapiTopologyLinkRef]=None, lower_connection: List[TapiConnectivityConnectionRef]=None, switch_control: List[TapiConnectivitySwitchControl]=None, route: List[TapiConnectivityRoute]=None, connection_spec_reference: TapiConnectivityConnectionSpecReference=None, layer_protocol_name: TapiCommonLayerProtocolName=None, connection_end_point: List[TapiConnectivityConnectionEndPointRef]=None, direction: TapiCommonForwardingDirection=None): # noqa: E501 + """TapiConnectivityConnection - a model defined in Swagger + + :param operational_state: The operational_state of this TapiConnectivityConnection. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnection. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param name: The name of this TapiConnectivityConnection. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiConnectivityConnection. # noqa: E501 + :type uuid: str + :param supported_client_link: The supported_client_link of this TapiConnectivityConnection. # noqa: E501 + :type supported_client_link: List[TapiTopologyLinkRef] + :param lower_connection: The lower_connection of this TapiConnectivityConnection. # noqa: E501 + :type lower_connection: List[TapiConnectivityConnectionRef] + :param switch_control: The switch_control of this TapiConnectivityConnection. # noqa: E501 + :type switch_control: List[TapiConnectivitySwitchControl] + :param route: The route of this TapiConnectivityConnection. # noqa: E501 + :type route: List[TapiConnectivityRoute] + :param connection_spec_reference: The connection_spec_reference of this TapiConnectivityConnection. # noqa: E501 + :type connection_spec_reference: TapiConnectivityConnectionSpecReference + :param layer_protocol_name: The layer_protocol_name of this TapiConnectivityConnection. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param connection_end_point: The connection_end_point of this TapiConnectivityConnection. # noqa: E501 + :type connection_end_point: List[TapiConnectivityConnectionEndPointRef] + :param direction: The direction of this TapiConnectivityConnection. # noqa: E501 + :type direction: TapiCommonForwardingDirection + """ + self.swagger_types = { + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'supported_client_link': List[TapiTopologyLinkRef], + 'lower_connection': List[TapiConnectivityConnectionRef], + 'switch_control': List[TapiConnectivitySwitchControl], + 'route': List[TapiConnectivityRoute], + 'connection_spec_reference': TapiConnectivityConnectionSpecReference, + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'connection_end_point': List[TapiConnectivityConnectionEndPointRef], + 'direction': TapiCommonForwardingDirection + } + + self.attribute_map = { + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'name': 'name', + 'uuid': 'uuid', + 'supported_client_link': 'supported-client-link', + 'lower_connection': 'lower-connection', + 'switch_control': 'switch-control', + 'route': 'route', + 'connection_spec_reference': 'connection-spec-reference', + 'layer_protocol_name': 'layer-protocol-name', + 'connection_end_point': 'connection-end-point', + 'direction': 'direction' + } + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._name = name + self._uuid = uuid + self._supported_client_link = supported_client_link + self._lower_connection = lower_connection + self._switch_control = switch_control + self._route = route + self._connection_spec_reference = connection_spec_reference + self._layer_protocol_name = layer_protocol_name + self._connection_end_point = connection_end_point + self._direction = direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnection': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.Connection of this TapiConnectivityConnection. # noqa: E501 + :rtype: TapiConnectivityConnection + """ + return util.deserialize_model(dikt, cls) + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiConnectivityConnection. + + + :return: The operational_state of this TapiConnectivityConnection. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiConnectivityConnection. + + + :param operational_state: The operational_state of this TapiConnectivityConnection. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiConnectivityConnection. + + + :return: The lifecycle_state of this TapiConnectivityConnection. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiConnectivityConnection. + + + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnection. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivityConnection. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivityConnection. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivityConnection. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivityConnection. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiConnectivityConnection. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiConnectivityConnection. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiConnectivityConnection. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiConnectivityConnection. + :type uuid: str + """ + + self._uuid = uuid + + @property + def supported_client_link(self) -> List[TapiTopologyLinkRef]: + """Gets the supported_client_link of this TapiConnectivityConnection. + + none # noqa: E501 + + :return: The supported_client_link of this TapiConnectivityConnection. + :rtype: List[TapiTopologyLinkRef] + """ + return self._supported_client_link + + @supported_client_link.setter + def supported_client_link(self, supported_client_link: List[TapiTopologyLinkRef]): + """Sets the supported_client_link of this TapiConnectivityConnection. + + none # noqa: E501 + + :param supported_client_link: The supported_client_link of this TapiConnectivityConnection. + :type supported_client_link: List[TapiTopologyLinkRef] + """ + + self._supported_client_link = supported_client_link + + @property + def lower_connection(self) -> List[TapiConnectivityConnectionRef]: + """Gets the lower_connection of this TapiConnectivityConnection. + + An Connection object supports a recursive aggregation relationship such that the internal construction of an Connection can be exposed as multiple lower level Connection objects (partitioning). Aggregation is used as for the Node/Topology to allow changes in hierarchy. Connection aggregation reflects Node/Topology aggregation. The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning. # noqa: E501 + + :return: The lower_connection of this TapiConnectivityConnection. + :rtype: List[TapiConnectivityConnectionRef] + """ + return self._lower_connection + + @lower_connection.setter + def lower_connection(self, lower_connection: List[TapiConnectivityConnectionRef]): + """Sets the lower_connection of this TapiConnectivityConnection. + + An Connection object supports a recursive aggregation relationship such that the internal construction of an Connection can be exposed as multiple lower level Connection objects (partitioning). Aggregation is used as for the Node/Topology to allow changes in hierarchy. Connection aggregation reflects Node/Topology aggregation. The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning. # noqa: E501 + + :param lower_connection: The lower_connection of this TapiConnectivityConnection. + :type lower_connection: List[TapiConnectivityConnectionRef] + """ + + self._lower_connection = lower_connection + + @property + def switch_control(self) -> List[TapiConnectivitySwitchControl]: + """Gets the switch_control of this TapiConnectivityConnection. + + none # noqa: E501 + + :return: The switch_control of this TapiConnectivityConnection. + :rtype: List[TapiConnectivitySwitchControl] + """ + return self._switch_control + + @switch_control.setter + def switch_control(self, switch_control: List[TapiConnectivitySwitchControl]): + """Sets the switch_control of this TapiConnectivityConnection. + + none # noqa: E501 + + :param switch_control: The switch_control of this TapiConnectivityConnection. + :type switch_control: List[TapiConnectivitySwitchControl] + """ + + self._switch_control = switch_control + + @property + def route(self) -> List[TapiConnectivityRoute]: + """Gets the route of this TapiConnectivityConnection. + + none # noqa: E501 + + :return: The route of this TapiConnectivityConnection. + :rtype: List[TapiConnectivityRoute] + """ + return self._route + + @route.setter + def route(self, route: List[TapiConnectivityRoute]): + """Sets the route of this TapiConnectivityConnection. + + none # noqa: E501 + + :param route: The route of this TapiConnectivityConnection. + :type route: List[TapiConnectivityRoute] + """ + + self._route = route + + @property + def connection_spec_reference(self) -> TapiConnectivityConnectionSpecReference: + """Gets the connection_spec_reference of this TapiConnectivityConnection. + + + :return: The connection_spec_reference of this TapiConnectivityConnection. + :rtype: TapiConnectivityConnectionSpecReference + """ + return self._connection_spec_reference + + @connection_spec_reference.setter + def connection_spec_reference(self, connection_spec_reference: TapiConnectivityConnectionSpecReference): + """Sets the connection_spec_reference of this TapiConnectivityConnection. + + + :param connection_spec_reference: The connection_spec_reference of this TapiConnectivityConnection. + :type connection_spec_reference: TapiConnectivityConnectionSpecReference + """ + + self._connection_spec_reference = connection_spec_reference + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiConnectivityConnection. + + + :return: The layer_protocol_name of this TapiConnectivityConnection. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiConnectivityConnection. + + + :param layer_protocol_name: The layer_protocol_name of this TapiConnectivityConnection. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def connection_end_point(self) -> List[TapiConnectivityConnectionEndPointRef]: + """Gets the connection_end_point of this TapiConnectivityConnection. + + none # noqa: E501 + + :return: The connection_end_point of this TapiConnectivityConnection. + :rtype: List[TapiConnectivityConnectionEndPointRef] + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: List[TapiConnectivityConnectionEndPointRef]): + """Sets the connection_end_point of this TapiConnectivityConnection. + + none # noqa: E501 + + :param connection_end_point: The connection_end_point of this TapiConnectivityConnection. + :type connection_end_point: List[TapiConnectivityConnectionEndPointRef] + """ + + self._connection_end_point = connection_end_point + + @property + def direction(self) -> TapiCommonForwardingDirection: + """Gets the direction of this TapiConnectivityConnection. + + + :return: The direction of this TapiConnectivityConnection. + :rtype: TapiCommonForwardingDirection + """ + return self._direction + + @direction.setter + def direction(self, direction: TapiCommonForwardingDirection): + """Sets the direction of this TapiConnectivityConnection. + + + :param direction: The direction of this TapiConnectivityConnection. + :type direction: TapiCommonForwardingDirection + """ + + self._direction = direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point.py new file mode 100644 index 0000000000000000000000000000000000000000..19dff9cb6cf0858f1dd585ac154ebc4c57a5705d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point.py @@ -0,0 +1,426 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state_pac import TapiCommonOperationalStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_port_role import TapiCommonPortRole # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_direction import TapiCommonTerminationDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_pac import TapiCommonTerminationPac # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_state import TapiCommonTerminationState # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_cep_role import TapiConnectivityCepRole # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionEndPoint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, termination_direction: TapiCommonTerminationDirection=None, termination_state: TapiCommonTerminationState=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, client_node_edge_point: List[TapiTopologyNodeEdgePointRef]=None, connection_port_role: TapiCommonPortRole=None, layer_protocol_name: TapiCommonLayerProtocolName=None, layer_protocol_qualifier: str=None, parent_node_edge_point: TapiTopologyNodeEdgePointRef=None, cep_role: List[TapiConnectivityCepRole]=None, aggregated_connection_end_point: List[TapiConnectivityConnectionEndPointRef]=None, connection_port_direction: TapiCommonPortDirection=None): # noqa: E501 + """TapiConnectivityConnectionEndPoint - a model defined in Swagger + + :param operational_state: The operational_state of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param termination_direction: The termination_direction of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type termination_direction: TapiCommonTerminationDirection + :param termination_state: The termination_state of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type termination_state: TapiCommonTerminationState + :param name: The name of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type uuid: str + :param client_node_edge_point: The client_node_edge_point of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type client_node_edge_point: List[TapiTopologyNodeEdgePointRef] + :param connection_port_role: The connection_port_role of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type connection_port_role: TapiCommonPortRole + :param layer_protocol_name: The layer_protocol_name of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type layer_protocol_qualifier: str + :param parent_node_edge_point: The parent_node_edge_point of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type parent_node_edge_point: TapiTopologyNodeEdgePointRef + :param cep_role: The cep_role of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type cep_role: List[TapiConnectivityCepRole] + :param aggregated_connection_end_point: The aggregated_connection_end_point of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type aggregated_connection_end_point: List[TapiConnectivityConnectionEndPointRef] + :param connection_port_direction: The connection_port_direction of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :type connection_port_direction: TapiCommonPortDirection + """ + self.swagger_types = { + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'termination_direction': TapiCommonTerminationDirection, + 'termination_state': TapiCommonTerminationState, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'client_node_edge_point': List[TapiTopologyNodeEdgePointRef], + 'connection_port_role': TapiCommonPortRole, + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'layer_protocol_qualifier': str, + 'parent_node_edge_point': TapiTopologyNodeEdgePointRef, + 'cep_role': List[TapiConnectivityCepRole], + 'aggregated_connection_end_point': List[TapiConnectivityConnectionEndPointRef], + 'connection_port_direction': TapiCommonPortDirection + } + + self.attribute_map = { + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'termination_direction': 'termination-direction', + 'termination_state': 'termination-state', + 'name': 'name', + 'uuid': 'uuid', + 'client_node_edge_point': 'client-node-edge-point', + 'connection_port_role': 'connection-port-role', + 'layer_protocol_name': 'layer-protocol-name', + 'layer_protocol_qualifier': 'layer-protocol-qualifier', + 'parent_node_edge_point': 'parent-node-edge-point', + 'cep_role': 'cep-role', + 'aggregated_connection_end_point': 'aggregated-connection-end-point', + 'connection_port_direction': 'connection-port-direction' + } + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._termination_direction = termination_direction + self._termination_state = termination_state + self._name = name + self._uuid = uuid + self._client_node_edge_point = client_node_edge_point + self._connection_port_role = connection_port_role + self._layer_protocol_name = layer_protocol_name + self._layer_protocol_qualifier = layer_protocol_qualifier + self._parent_node_edge_point = parent_node_edge_point + self._cep_role = cep_role + self._aggregated_connection_end_point = aggregated_connection_end_point + self._connection_port_direction = connection_port_direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionEndPoint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionEndPoint of this TapiConnectivityConnectionEndPoint. # noqa: E501 + :rtype: TapiConnectivityConnectionEndPoint + """ + return util.deserialize_model(dikt, cls) + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiConnectivityConnectionEndPoint. + + + :return: The operational_state of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiConnectivityConnectionEndPoint. + + + :param operational_state: The operational_state of this TapiConnectivityConnectionEndPoint. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiConnectivityConnectionEndPoint. + + + :return: The lifecycle_state of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiConnectivityConnectionEndPoint. + + + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnectionEndPoint. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def termination_direction(self) -> TapiCommonTerminationDirection: + """Gets the termination_direction of this TapiConnectivityConnectionEndPoint. + + + :return: The termination_direction of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonTerminationDirection + """ + return self._termination_direction + + @termination_direction.setter + def termination_direction(self, termination_direction: TapiCommonTerminationDirection): + """Sets the termination_direction of this TapiConnectivityConnectionEndPoint. + + + :param termination_direction: The termination_direction of this TapiConnectivityConnectionEndPoint. + :type termination_direction: TapiCommonTerminationDirection + """ + + self._termination_direction = termination_direction + + @property + def termination_state(self) -> TapiCommonTerminationState: + """Gets the termination_state of this TapiConnectivityConnectionEndPoint. + + + :return: The termination_state of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonTerminationState + """ + return self._termination_state + + @termination_state.setter + def termination_state(self, termination_state: TapiCommonTerminationState): + """Sets the termination_state of this TapiConnectivityConnectionEndPoint. + + + :param termination_state: The termination_state of this TapiConnectivityConnectionEndPoint. + :type termination_state: TapiCommonTerminationState + """ + + self._termination_state = termination_state + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivityConnectionEndPoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivityConnectionEndPoint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivityConnectionEndPoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivityConnectionEndPoint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiConnectivityConnectionEndPoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiConnectivityConnectionEndPoint. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiConnectivityConnectionEndPoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiConnectivityConnectionEndPoint. + :type uuid: str + """ + + self._uuid = uuid + + @property + def client_node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the client_node_edge_point of this TapiConnectivityConnectionEndPoint. + + none # noqa: E501 + + :return: The client_node_edge_point of this TapiConnectivityConnectionEndPoint. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._client_node_edge_point + + @client_node_edge_point.setter + def client_node_edge_point(self, client_node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the client_node_edge_point of this TapiConnectivityConnectionEndPoint. + + none # noqa: E501 + + :param client_node_edge_point: The client_node_edge_point of this TapiConnectivityConnectionEndPoint. + :type client_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._client_node_edge_point = client_node_edge_point + + @property + def connection_port_role(self) -> TapiCommonPortRole: + """Gets the connection_port_role of this TapiConnectivityConnectionEndPoint. + + + :return: The connection_port_role of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonPortRole + """ + return self._connection_port_role + + @connection_port_role.setter + def connection_port_role(self, connection_port_role: TapiCommonPortRole): + """Sets the connection_port_role of this TapiConnectivityConnectionEndPoint. + + + :param connection_port_role: The connection_port_role of this TapiConnectivityConnectionEndPoint. + :type connection_port_role: TapiCommonPortRole + """ + + self._connection_port_role = connection_port_role + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiConnectivityConnectionEndPoint. + + + :return: The layer_protocol_name of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiConnectivityConnectionEndPoint. + + + :param layer_protocol_name: The layer_protocol_name of this TapiConnectivityConnectionEndPoint. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def layer_protocol_qualifier(self) -> str: + """Gets the layer_protocol_qualifier of this TapiConnectivityConnectionEndPoint. + + none # noqa: E501 + + :return: The layer_protocol_qualifier of this TapiConnectivityConnectionEndPoint. + :rtype: str + """ + return self._layer_protocol_qualifier + + @layer_protocol_qualifier.setter + def layer_protocol_qualifier(self, layer_protocol_qualifier: str): + """Sets the layer_protocol_qualifier of this TapiConnectivityConnectionEndPoint. + + none # noqa: E501 + + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiConnectivityConnectionEndPoint. + :type layer_protocol_qualifier: str + """ + + self._layer_protocol_qualifier = layer_protocol_qualifier + + @property + def parent_node_edge_point(self) -> TapiTopologyNodeEdgePointRef: + """Gets the parent_node_edge_point of this TapiConnectivityConnectionEndPoint. + + + :return: The parent_node_edge_point of this TapiConnectivityConnectionEndPoint. + :rtype: TapiTopologyNodeEdgePointRef + """ + return self._parent_node_edge_point + + @parent_node_edge_point.setter + def parent_node_edge_point(self, parent_node_edge_point: TapiTopologyNodeEdgePointRef): + """Sets the parent_node_edge_point of this TapiConnectivityConnectionEndPoint. + + + :param parent_node_edge_point: The parent_node_edge_point of this TapiConnectivityConnectionEndPoint. + :type parent_node_edge_point: TapiTopologyNodeEdgePointRef + """ + + self._parent_node_edge_point = parent_node_edge_point + + @property + def cep_role(self) -> List[TapiConnectivityCepRole]: + """Gets the cep_role of this TapiConnectivityConnectionEndPoint. + + Defines the role of the CEP in the context of the connection spec. There may be many cep role - connection spec combinations for a particular CEP where each corresponds to a specific connection associated with the CEP. # noqa: E501 + + :return: The cep_role of this TapiConnectivityConnectionEndPoint. + :rtype: List[TapiConnectivityCepRole] + """ + return self._cep_role + + @cep_role.setter + def cep_role(self, cep_role: List[TapiConnectivityCepRole]): + """Sets the cep_role of this TapiConnectivityConnectionEndPoint. + + Defines the role of the CEP in the context of the connection spec. There may be many cep role - connection spec combinations for a particular CEP where each corresponds to a specific connection associated with the CEP. # noqa: E501 + + :param cep_role: The cep_role of this TapiConnectivityConnectionEndPoint. + :type cep_role: List[TapiConnectivityCepRole] + """ + + self._cep_role = cep_role + + @property + def aggregated_connection_end_point(self) -> List[TapiConnectivityConnectionEndPointRef]: + """Gets the aggregated_connection_end_point of this TapiConnectivityConnectionEndPoint. + + none # noqa: E501 + + :return: The aggregated_connection_end_point of this TapiConnectivityConnectionEndPoint. + :rtype: List[TapiConnectivityConnectionEndPointRef] + """ + return self._aggregated_connection_end_point + + @aggregated_connection_end_point.setter + def aggregated_connection_end_point(self, aggregated_connection_end_point: List[TapiConnectivityConnectionEndPointRef]): + """Sets the aggregated_connection_end_point of this TapiConnectivityConnectionEndPoint. + + none # noqa: E501 + + :param aggregated_connection_end_point: The aggregated_connection_end_point of this TapiConnectivityConnectionEndPoint. + :type aggregated_connection_end_point: List[TapiConnectivityConnectionEndPointRef] + """ + + self._aggregated_connection_end_point = aggregated_connection_end_point + + @property + def connection_port_direction(self) -> TapiCommonPortDirection: + """Gets the connection_port_direction of this TapiConnectivityConnectionEndPoint. + + + :return: The connection_port_direction of this TapiConnectivityConnectionEndPoint. + :rtype: TapiCommonPortDirection + """ + return self._connection_port_direction + + @connection_port_direction.setter + def connection_port_direction(self, connection_port_direction: TapiCommonPortDirection): + """Sets the connection_port_direction of this TapiConnectivityConnectionEndPoint. + + + :param connection_port_direction: The connection_port_direction of this TapiConnectivityConnectionEndPoint. + :type connection_port_direction: TapiCommonPortDirection + """ + + self._connection_port_direction = connection_port_direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..5427e65c842e923a7d0ee5980c3fc50b5476ff31 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionEndPointRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_edge_point_uuid: str=None, connection_end_point_uuid: str=None): # noqa: E501 + """TapiConnectivityConnectionEndPointRef - a model defined in Swagger + + :param node_edge_point_uuid: The node_edge_point_uuid of this TapiConnectivityConnectionEndPointRef. # noqa: E501 + :type node_edge_point_uuid: str + :param connection_end_point_uuid: The connection_end_point_uuid of this TapiConnectivityConnectionEndPointRef. # noqa: E501 + :type connection_end_point_uuid: str + """ + self.swagger_types = { + 'node_edge_point_uuid': str, + 'connection_end_point_uuid': str + } + + self.attribute_map = { + 'node_edge_point_uuid': 'node-edge-point-uuid', + 'connection_end_point_uuid': 'connection-end-point-uuid' + } + self._node_edge_point_uuid = node_edge_point_uuid + self._connection_end_point_uuid = connection_end_point_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionEndPointRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionEndPointRef of this TapiConnectivityConnectionEndPointRef. # noqa: E501 + :rtype: TapiConnectivityConnectionEndPointRef + """ + return util.deserialize_model(dikt, cls) + + @property + def node_edge_point_uuid(self) -> str: + """Gets the node_edge_point_uuid of this TapiConnectivityConnectionEndPointRef. + + none # noqa: E501 + + :return: The node_edge_point_uuid of this TapiConnectivityConnectionEndPointRef. + :rtype: str + """ + return self._node_edge_point_uuid + + @node_edge_point_uuid.setter + def node_edge_point_uuid(self, node_edge_point_uuid: str): + """Sets the node_edge_point_uuid of this TapiConnectivityConnectionEndPointRef. + + none # noqa: E501 + + :param node_edge_point_uuid: The node_edge_point_uuid of this TapiConnectivityConnectionEndPointRef. + :type node_edge_point_uuid: str + """ + + self._node_edge_point_uuid = node_edge_point_uuid + + @property + def connection_end_point_uuid(self) -> str: + """Gets the connection_end_point_uuid of this TapiConnectivityConnectionEndPointRef. + + none # noqa: E501 + + :return: The connection_end_point_uuid of this TapiConnectivityConnectionEndPointRef. + :rtype: str + """ + return self._connection_end_point_uuid + + @connection_end_point_uuid.setter + def connection_end_point_uuid(self, connection_end_point_uuid: str): + """Sets the connection_end_point_uuid of this TapiConnectivityConnectionEndPointRef. + + none # noqa: E501 + + :param connection_end_point_uuid: The connection_end_point_uuid of this TapiConnectivityConnectionEndPointRef. + :type connection_end_point_uuid: str + """ + + self._connection_end_point_uuid = connection_end_point_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..11fe0103da2145d4f07c1a0f0bd6ae951b214cd1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionEndPointRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_end_point: TapiConnectivityConnectionEndPointRef=None): # noqa: E501 + """TapiConnectivityConnectionEndPointRefWrapper - a model defined in Swagger + + :param connection_end_point: The connection_end_point of this TapiConnectivityConnectionEndPointRefWrapper. # noqa: E501 + :type connection_end_point: TapiConnectivityConnectionEndPointRef + """ + self.swagger_types = { + 'connection_end_point': TapiConnectivityConnectionEndPointRef + } + + self.attribute_map = { + 'connection_end_point': 'connection-end-point' + } + self._connection_end_point = connection_end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionEndPointRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionEndPointRefWrapper of this TapiConnectivityConnectionEndPointRefWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectionEndPointRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_end_point(self) -> TapiConnectivityConnectionEndPointRef: + """Gets the connection_end_point of this TapiConnectivityConnectionEndPointRefWrapper. + + + :return: The connection_end_point of this TapiConnectivityConnectionEndPointRefWrapper. + :rtype: TapiConnectivityConnectionEndPointRef + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: TapiConnectivityConnectionEndPointRef): + """Sets the connection_end_point of this TapiConnectivityConnectionEndPointRefWrapper. + + + :param connection_end_point: The connection_end_point of this TapiConnectivityConnectionEndPointRefWrapper. + :type connection_end_point: TapiConnectivityConnectionEndPointRef + """ + + self._connection_end_point = connection_end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..fd2655643793a6400eae6a43b3175d226b031247 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_end_point_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_end_point import TapiConnectivityConnectionEndPoint # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionEndPointWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_end_point: TapiConnectivityConnectionEndPoint=None): # noqa: E501 + """TapiConnectivityConnectionEndPointWrapper - a model defined in Swagger + + :param connection_end_point: The connection_end_point of this TapiConnectivityConnectionEndPointWrapper. # noqa: E501 + :type connection_end_point: TapiConnectivityConnectionEndPoint + """ + self.swagger_types = { + 'connection_end_point': TapiConnectivityConnectionEndPoint + } + + self.attribute_map = { + 'connection_end_point': 'connection-end-point' + } + self._connection_end_point = connection_end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionEndPointWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionEndPointWrapper of this TapiConnectivityConnectionEndPointWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectionEndPointWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_end_point(self) -> TapiConnectivityConnectionEndPoint: + """Gets the connection_end_point of this TapiConnectivityConnectionEndPointWrapper. + + + :return: The connection_end_point of this TapiConnectivityConnectionEndPointWrapper. + :rtype: TapiConnectivityConnectionEndPoint + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: TapiConnectivityConnectionEndPoint): + """Sets the connection_end_point of this TapiConnectivityConnectionEndPointWrapper. + + + :param connection_end_point: The connection_end_point of this TapiConnectivityConnectionEndPointWrapper. + :type connection_end_point: TapiConnectivityConnectionEndPoint + """ + + self._connection_end_point = connection_end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..80d2e90e40819da52be9d209cb6a68467eca88db --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_ref.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityConnectionRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_uuid: str=None): # noqa: E501 + """TapiConnectivityConnectionRef - a model defined in Swagger + + :param connection_uuid: The connection_uuid of this TapiConnectivityConnectionRef. # noqa: E501 + :type connection_uuid: str + """ + self.swagger_types = { + 'connection_uuid': str + } + + self.attribute_map = { + 'connection_uuid': 'connection-uuid' + } + self._connection_uuid = connection_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionRef of this TapiConnectivityConnectionRef. # noqa: E501 + :rtype: TapiConnectivityConnectionRef + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_uuid(self) -> str: + """Gets the connection_uuid of this TapiConnectivityConnectionRef. + + none # noqa: E501 + + :return: The connection_uuid of this TapiConnectivityConnectionRef. + :rtype: str + """ + return self._connection_uuid + + @connection_uuid.setter + def connection_uuid(self, connection_uuid: str): + """Sets the connection_uuid of this TapiConnectivityConnectionRef. + + none # noqa: E501 + + :param connection_uuid: The connection_uuid of this TapiConnectivityConnectionRef. + :type connection_uuid: str + """ + + self._connection_uuid = connection_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..415bfb1db5ff8286a412d428fbe8ed6e8484b549 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, lower_connection: TapiConnectivityConnectionRef=None): # noqa: E501 + """TapiConnectivityConnectionRefWrapper - a model defined in Swagger + + :param lower_connection: The lower_connection of this TapiConnectivityConnectionRefWrapper. # noqa: E501 + :type lower_connection: TapiConnectivityConnectionRef + """ + self.swagger_types = { + 'lower_connection': TapiConnectivityConnectionRef + } + + self.attribute_map = { + 'lower_connection': 'lower-connection' + } + self._lower_connection = lower_connection + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionRefWrapper of this TapiConnectivityConnectionRefWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectionRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def lower_connection(self) -> TapiConnectivityConnectionRef: + """Gets the lower_connection of this TapiConnectivityConnectionRefWrapper. + + + :return: The lower_connection of this TapiConnectivityConnectionRefWrapper. + :rtype: TapiConnectivityConnectionRef + """ + return self._lower_connection + + @lower_connection.setter + def lower_connection(self, lower_connection: TapiConnectivityConnectionRef): + """Sets the lower_connection of this TapiConnectivityConnectionRefWrapper. + + + :param lower_connection: The lower_connection of this TapiConnectivityConnectionRefWrapper. + :type lower_connection: TapiConnectivityConnectionRef + """ + + self._lower_connection = lower_connection diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_spec_reference.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_spec_reference.py new file mode 100644 index 0000000000000000000000000000000000000000..9e423d754a31e5df242595e35da2f0a62a1d2b76 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_spec_reference.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityConnectionSpecReference(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_spec_name: str=None, connection_spec_id: str=None): # noqa: E501 + """TapiConnectivityConnectionSpecReference - a model defined in Swagger + + :param connection_spec_name: The connection_spec_name of this TapiConnectivityConnectionSpecReference. # noqa: E501 + :type connection_spec_name: str + :param connection_spec_id: The connection_spec_id of this TapiConnectivityConnectionSpecReference. # noqa: E501 + :type connection_spec_id: str + """ + self.swagger_types = { + 'connection_spec_name': str, + 'connection_spec_id': str + } + + self.attribute_map = { + 'connection_spec_name': 'connection-spec-name', + 'connection_spec_id': 'connection-spec-id' + } + self._connection_spec_name = connection_spec_name + self._connection_spec_id = connection_spec_id + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionSpecReference': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionSpecReference of this TapiConnectivityConnectionSpecReference. # noqa: E501 + :rtype: TapiConnectivityConnectionSpecReference + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_spec_name(self) -> str: + """Gets the connection_spec_name of this TapiConnectivityConnectionSpecReference. + + The name of the connection spec. This can be used alone (with no spec reference) where there is only a paper spec. # noqa: E501 + + :return: The connection_spec_name of this TapiConnectivityConnectionSpecReference. + :rtype: str + """ + return self._connection_spec_name + + @connection_spec_name.setter + def connection_spec_name(self, connection_spec_name: str): + """Sets the connection_spec_name of this TapiConnectivityConnectionSpecReference. + + The name of the connection spec. This can be used alone (with no spec reference) where there is only a paper spec. # noqa: E501 + + :param connection_spec_name: The connection_spec_name of this TapiConnectivityConnectionSpecReference. + :type connection_spec_name: str + """ + + self._connection_spec_name = connection_spec_name + + @property + def connection_spec_id(self) -> str: + """Gets the connection_spec_id of this TapiConnectivityConnectionSpecReference. + + The reference to a formal spec. This reference need not be provided (e.g., where there is no formal machine interpretable spec for the type of connection). # noqa: E501 + + :return: The connection_spec_id of this TapiConnectivityConnectionSpecReference. + :rtype: str + """ + return self._connection_spec_id + + @connection_spec_id.setter + def connection_spec_id(self, connection_spec_id: str): + """Sets the connection_spec_id of this TapiConnectivityConnectionSpecReference. + + The reference to a formal spec. This reference need not be provided (e.g., where there is no formal machine interpretable spec for the type of connection). # noqa: E501 + + :param connection_spec_id: The connection_spec_id of this TapiConnectivityConnectionSpecReference. + :type connection_spec_id: str + """ + + self._connection_spec_id = connection_spec_id diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_spec_reference_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_spec_reference_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..877ef242826fd9a7ff5400c99b249f1f0c28d27b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_spec_reference_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_spec_reference import TapiConnectivityConnectionSpecReference # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionSpecReferenceWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_spec_reference: TapiConnectivityConnectionSpecReference=None): # noqa: E501 + """TapiConnectivityConnectionSpecReferenceWrapper - a model defined in Swagger + + :param connection_spec_reference: The connection_spec_reference of this TapiConnectivityConnectionSpecReferenceWrapper. # noqa: E501 + :type connection_spec_reference: TapiConnectivityConnectionSpecReference + """ + self.swagger_types = { + 'connection_spec_reference': TapiConnectivityConnectionSpecReference + } + + self.attribute_map = { + 'connection_spec_reference': 'connection-spec-reference' + } + self._connection_spec_reference = connection_spec_reference + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionSpecReferenceWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionSpecReferenceWrapper of this TapiConnectivityConnectionSpecReferenceWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectionSpecReferenceWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_spec_reference(self) -> TapiConnectivityConnectionSpecReference: + """Gets the connection_spec_reference of this TapiConnectivityConnectionSpecReferenceWrapper. + + + :return: The connection_spec_reference of this TapiConnectivityConnectionSpecReferenceWrapper. + :rtype: TapiConnectivityConnectionSpecReference + """ + return self._connection_spec_reference + + @connection_spec_reference.setter + def connection_spec_reference(self, connection_spec_reference: TapiConnectivityConnectionSpecReference): + """Sets the connection_spec_reference of this TapiConnectivityConnectionSpecReferenceWrapper. + + + :param connection_spec_reference: The connection_spec_reference of this TapiConnectivityConnectionSpecReferenceWrapper. + :type connection_spec_reference: TapiConnectivityConnectionSpecReference + """ + + self._connection_spec_reference = connection_spec_reference diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..fbdf9c64bab9a5cda5335ba481b044d75417f283 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connection_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection import TapiConnectivityConnection # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectionWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection: TapiConnectivityConnection=None): # noqa: E501 + """TapiConnectivityConnectionWrapper - a model defined in Swagger + + :param connection: The connection of this TapiConnectivityConnectionWrapper. # noqa: E501 + :type connection: TapiConnectivityConnection + """ + self.swagger_types = { + 'connection': TapiConnectivityConnection + } + + self.attribute_map = { + 'connection': 'connection' + } + self._connection = connection + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectionWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectionWrapper of this TapiConnectivityConnectionWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectionWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def connection(self) -> TapiConnectivityConnection: + """Gets the connection of this TapiConnectivityConnectionWrapper. + + + :return: The connection of this TapiConnectivityConnectionWrapper. + :rtype: TapiConnectivityConnection + """ + return self._connection + + @connection.setter + def connection(self, connection: TapiConnectivityConnection): + """Sets the connection of this TapiConnectivityConnectionWrapper. + + + :param connection: The connection of this TapiConnectivityConnectionWrapper. + :type connection: TapiConnectivityConnection + """ + + self._connection = connection diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_constraint.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_constraint.py new file mode 100644 index 0000000000000000000000000000000000000000..bd3a88a780b8b533e280bd813bf6910cb6269c4a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_constraint.py @@ -0,0 +1,310 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_time_range import TapiCommonTimeRange # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service_ref import TapiConnectivityConnectivityServiceRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_service_type import TapiConnectivityServiceType # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityConstraint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_layer: TapiCommonLayerProtocolName=None, schedule: TapiCommonTimeRange=None, connectivity_direction: TapiCommonForwardingDirection=None, requested_capacity: TapiCommonCapacity=None, diversity_exclusion: List[TapiConnectivityConnectivityServiceRef]=None, connection_inclusion: List[str]=None, service_level: str=None, service_type: TapiConnectivityServiceType=None, connection_exclusion: List[str]=None, coroute_inclusion: TapiConnectivityConnectivityServiceRef=None): # noqa: E501 + """TapiConnectivityConnectivityConstraint - a model defined in Swagger + + :param service_layer: The service_layer of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type service_layer: TapiCommonLayerProtocolName + :param schedule: The schedule of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type schedule: TapiCommonTimeRange + :param connectivity_direction: The connectivity_direction of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type connectivity_direction: TapiCommonForwardingDirection + :param requested_capacity: The requested_capacity of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type requested_capacity: TapiCommonCapacity + :param diversity_exclusion: The diversity_exclusion of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type diversity_exclusion: List[TapiConnectivityConnectivityServiceRef] + :param connection_inclusion: The connection_inclusion of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type connection_inclusion: List[str] + :param service_level: The service_level of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type service_level: str + :param service_type: The service_type of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type service_type: TapiConnectivityServiceType + :param connection_exclusion: The connection_exclusion of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type connection_exclusion: List[str] + :param coroute_inclusion: The coroute_inclusion of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :type coroute_inclusion: TapiConnectivityConnectivityServiceRef + """ + self.swagger_types = { + 'service_layer': TapiCommonLayerProtocolName, + 'schedule': TapiCommonTimeRange, + 'connectivity_direction': TapiCommonForwardingDirection, + 'requested_capacity': TapiCommonCapacity, + 'diversity_exclusion': List[TapiConnectivityConnectivityServiceRef], + 'connection_inclusion': List[str], + 'service_level': str, + 'service_type': TapiConnectivityServiceType, + 'connection_exclusion': List[str], + 'coroute_inclusion': TapiConnectivityConnectivityServiceRef + } + + self.attribute_map = { + 'service_layer': 'service-layer', + 'schedule': 'schedule', + 'connectivity_direction': 'connectivity-direction', + 'requested_capacity': 'requested-capacity', + 'diversity_exclusion': 'diversity-exclusion', + 'connection_inclusion': 'connection-inclusion', + 'service_level': 'service-level', + 'service_type': 'service-type', + 'connection_exclusion': 'connection-exclusion', + 'coroute_inclusion': 'coroute-inclusion' + } + self._service_layer = service_layer + self._schedule = schedule + self._connectivity_direction = connectivity_direction + self._requested_capacity = requested_capacity + self._diversity_exclusion = diversity_exclusion + self._connection_inclusion = connection_inclusion + self._service_level = service_level + self._service_type = service_type + self._connection_exclusion = connection_exclusion + self._coroute_inclusion = coroute_inclusion + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityConstraint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityConstraint of this TapiConnectivityConnectivityConstraint. # noqa: E501 + :rtype: TapiConnectivityConnectivityConstraint + """ + return util.deserialize_model(dikt, cls) + + @property + def service_layer(self) -> TapiCommonLayerProtocolName: + """Gets the service_layer of this TapiConnectivityConnectivityConstraint. + + + :return: The service_layer of this TapiConnectivityConnectivityConstraint. + :rtype: TapiCommonLayerProtocolName + """ + return self._service_layer + + @service_layer.setter + def service_layer(self, service_layer: TapiCommonLayerProtocolName): + """Sets the service_layer of this TapiConnectivityConnectivityConstraint. + + + :param service_layer: The service_layer of this TapiConnectivityConnectivityConstraint. + :type service_layer: TapiCommonLayerProtocolName + """ + + self._service_layer = service_layer + + @property + def schedule(self) -> TapiCommonTimeRange: + """Gets the schedule of this TapiConnectivityConnectivityConstraint. + + + :return: The schedule of this TapiConnectivityConnectivityConstraint. + :rtype: TapiCommonTimeRange + """ + return self._schedule + + @schedule.setter + def schedule(self, schedule: TapiCommonTimeRange): + """Sets the schedule of this TapiConnectivityConnectivityConstraint. + + + :param schedule: The schedule of this TapiConnectivityConnectivityConstraint. + :type schedule: TapiCommonTimeRange + """ + + self._schedule = schedule + + @property + def connectivity_direction(self) -> TapiCommonForwardingDirection: + """Gets the connectivity_direction of this TapiConnectivityConnectivityConstraint. + + + :return: The connectivity_direction of this TapiConnectivityConnectivityConstraint. + :rtype: TapiCommonForwardingDirection + """ + return self._connectivity_direction + + @connectivity_direction.setter + def connectivity_direction(self, connectivity_direction: TapiCommonForwardingDirection): + """Sets the connectivity_direction of this TapiConnectivityConnectivityConstraint. + + + :param connectivity_direction: The connectivity_direction of this TapiConnectivityConnectivityConstraint. + :type connectivity_direction: TapiCommonForwardingDirection + """ + + self._connectivity_direction = connectivity_direction + + @property + def requested_capacity(self) -> TapiCommonCapacity: + """Gets the requested_capacity of this TapiConnectivityConnectivityConstraint. + + + :return: The requested_capacity of this TapiConnectivityConnectivityConstraint. + :rtype: TapiCommonCapacity + """ + return self._requested_capacity + + @requested_capacity.setter + def requested_capacity(self, requested_capacity: TapiCommonCapacity): + """Sets the requested_capacity of this TapiConnectivityConnectivityConstraint. + + + :param requested_capacity: The requested_capacity of this TapiConnectivityConnectivityConstraint. + :type requested_capacity: TapiCommonCapacity + """ + + self._requested_capacity = requested_capacity + + @property + def diversity_exclusion(self) -> List[TapiConnectivityConnectivityServiceRef]: + """Gets the diversity_exclusion of this TapiConnectivityConnectivityConstraint. + + none # noqa: E501 + + :return: The diversity_exclusion of this TapiConnectivityConnectivityConstraint. + :rtype: List[TapiConnectivityConnectivityServiceRef] + """ + return self._diversity_exclusion + + @diversity_exclusion.setter + def diversity_exclusion(self, diversity_exclusion: List[TapiConnectivityConnectivityServiceRef]): + """Sets the diversity_exclusion of this TapiConnectivityConnectivityConstraint. + + none # noqa: E501 + + :param diversity_exclusion: The diversity_exclusion of this TapiConnectivityConnectivityConstraint. + :type diversity_exclusion: List[TapiConnectivityConnectivityServiceRef] + """ + + self._diversity_exclusion = diversity_exclusion + + @property + def connection_inclusion(self) -> List[str]: + """Gets the connection_inclusion of this TapiConnectivityConnectivityConstraint. + + A ConnectivityService may use one or more existing Connections. A common traditional strategy is to set up “stranded” connectivity in the core of the network as “express channels” (this is essentially a serial compound link, but can be treated as simple connections) A connection inclusion capability allows for adoption of a discovered Connections. A ConnectivityService is requested with a connection inclusion constraint that identifies a connection (or chain of connections) that is bounded by CEPs that each belong to a NEP that references a SIP that is referenced by a CSEP of the ConnectivityService such that all CSEPs are satisfied by CEPs of the existing Connection. will allow discovered Connections with no stated intent to be associated with an intent via the ConnectivityService. # noqa: E501 + + :return: The connection_inclusion of this TapiConnectivityConnectivityConstraint. + :rtype: List[str] + """ + return self._connection_inclusion + + @connection_inclusion.setter + def connection_inclusion(self, connection_inclusion: List[str]): + """Sets the connection_inclusion of this TapiConnectivityConnectivityConstraint. + + A ConnectivityService may use one or more existing Connections. A common traditional strategy is to set up “stranded” connectivity in the core of the network as “express channels” (this is essentially a serial compound link, but can be treated as simple connections) A connection inclusion capability allows for adoption of a discovered Connections. A ConnectivityService is requested with a connection inclusion constraint that identifies a connection (or chain of connections) that is bounded by CEPs that each belong to a NEP that references a SIP that is referenced by a CSEP of the ConnectivityService such that all CSEPs are satisfied by CEPs of the existing Connection. will allow discovered Connections with no stated intent to be associated with an intent via the ConnectivityService. # noqa: E501 + + :param connection_inclusion: The connection_inclusion of this TapiConnectivityConnectivityConstraint. + :type connection_inclusion: List[str] + """ + + self._connection_inclusion = connection_inclusion + + @property + def service_level(self) -> str: + """Gets the service_level of this TapiConnectivityConnectivityConstraint. + + An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability # noqa: E501 + + :return: The service_level of this TapiConnectivityConnectivityConstraint. + :rtype: str + """ + return self._service_level + + @service_level.setter + def service_level(self, service_level: str): + """Sets the service_level of this TapiConnectivityConnectivityConstraint. + + An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability # noqa: E501 + + :param service_level: The service_level of this TapiConnectivityConnectivityConstraint. + :type service_level: str + """ + + self._service_level = service_level + + @property + def service_type(self) -> TapiConnectivityServiceType: + """Gets the service_type of this TapiConnectivityConnectivityConstraint. + + + :return: The service_type of this TapiConnectivityConnectivityConstraint. + :rtype: TapiConnectivityServiceType + """ + return self._service_type + + @service_type.setter + def service_type(self, service_type: TapiConnectivityServiceType): + """Sets the service_type of this TapiConnectivityConnectivityConstraint. + + + :param service_type: The service_type of this TapiConnectivityConnectivityConstraint. + :type service_type: TapiConnectivityServiceType + """ + + self._service_type = service_type + + @property + def connection_exclusion(self) -> List[str]: + """Gets the connection_exclusion of this TapiConnectivityConnectivityConstraint. + + none # noqa: E501 + + :return: The connection_exclusion of this TapiConnectivityConnectivityConstraint. + :rtype: List[str] + """ + return self._connection_exclusion + + @connection_exclusion.setter + def connection_exclusion(self, connection_exclusion: List[str]): + """Sets the connection_exclusion of this TapiConnectivityConnectivityConstraint. + + none # noqa: E501 + + :param connection_exclusion: The connection_exclusion of this TapiConnectivityConnectivityConstraint. + :type connection_exclusion: List[str] + """ + + self._connection_exclusion = connection_exclusion + + @property + def coroute_inclusion(self) -> TapiConnectivityConnectivityServiceRef: + """Gets the coroute_inclusion of this TapiConnectivityConnectivityConstraint. + + + :return: The coroute_inclusion of this TapiConnectivityConnectivityConstraint. + :rtype: TapiConnectivityConnectivityServiceRef + """ + return self._coroute_inclusion + + @coroute_inclusion.setter + def coroute_inclusion(self, coroute_inclusion: TapiConnectivityConnectivityServiceRef): + """Sets the coroute_inclusion of this TapiConnectivityConnectivityConstraint. + + + :param coroute_inclusion: The coroute_inclusion of this TapiConnectivityConnectivityConstraint. + :type coroute_inclusion: TapiConnectivityConnectivityServiceRef + """ + + self._coroute_inclusion = coroute_inclusion diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_context.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_context.py new file mode 100644 index 0000000000000000000000000000000000000000..2d2bc5119df6540d5264a956465e442669e1a5d2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_context.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection import TapiConnectivityConnection # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityContext(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connectivity_service: List[TapiConnectivityConnectivityService]=None, connection: List[TapiConnectivityConnection]=None): # noqa: E501 + """TapiConnectivityConnectivityContext - a model defined in Swagger + + :param connectivity_service: The connectivity_service of this TapiConnectivityConnectivityContext. # noqa: E501 + :type connectivity_service: List[TapiConnectivityConnectivityService] + :param connection: The connection of this TapiConnectivityConnectivityContext. # noqa: E501 + :type connection: List[TapiConnectivityConnection] + """ + self.swagger_types = { + 'connectivity_service': List[TapiConnectivityConnectivityService], + 'connection': List[TapiConnectivityConnection] + } + + self.attribute_map = { + 'connectivity_service': 'connectivity-service', + 'connection': 'connection' + } + self._connectivity_service = connectivity_service + self._connection = connection + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityContext': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityContext of this TapiConnectivityConnectivityContext. # noqa: E501 + :rtype: TapiConnectivityConnectivityContext + """ + return util.deserialize_model(dikt, cls) + + @property + def connectivity_service(self) -> List[TapiConnectivityConnectivityService]: + """Gets the connectivity_service of this TapiConnectivityConnectivityContext. + + none # noqa: E501 + + :return: The connectivity_service of this TapiConnectivityConnectivityContext. + :rtype: List[TapiConnectivityConnectivityService] + """ + return self._connectivity_service + + @connectivity_service.setter + def connectivity_service(self, connectivity_service: List[TapiConnectivityConnectivityService]): + """Sets the connectivity_service of this TapiConnectivityConnectivityContext. + + none # noqa: E501 + + :param connectivity_service: The connectivity_service of this TapiConnectivityConnectivityContext. + :type connectivity_service: List[TapiConnectivityConnectivityService] + """ + + self._connectivity_service = connectivity_service + + @property + def connection(self) -> List[TapiConnectivityConnection]: + """Gets the connection of this TapiConnectivityConnectivityContext. + + none # noqa: E501 + + :return: The connection of this TapiConnectivityConnectivityContext. + :rtype: List[TapiConnectivityConnection] + """ + return self._connection + + @connection.setter + def connection(self, connection: List[TapiConnectivityConnection]): + """Sets the connection of this TapiConnectivityConnectivityContext. + + none # noqa: E501 + + :param connection: The connection of this TapiConnectivityConnectivityContext. + :type connection: List[TapiConnectivityConnection] + """ + + self._connection = connection diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_context_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_context_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..f13e4ceddaa31a405eaa0e0b4e1d028bf0d7166a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_context_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_context import TapiConnectivityConnectivityContext # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityContextWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tapi_connectivityconnectivity_context: TapiConnectivityConnectivityContext=None): # noqa: E501 + """TapiConnectivityConnectivityContextWrapper - a model defined in Swagger + + :param tapi_connectivityconnectivity_context: The tapi_connectivityconnectivity_context of this TapiConnectivityConnectivityContextWrapper. # noqa: E501 + :type tapi_connectivityconnectivity_context: TapiConnectivityConnectivityContext + """ + self.swagger_types = { + 'tapi_connectivityconnectivity_context': TapiConnectivityConnectivityContext + } + + self.attribute_map = { + 'tapi_connectivityconnectivity_context': 'tapi-connectivity:connectivity-context' + } + self._tapi_connectivityconnectivity_context = tapi_connectivityconnectivity_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityContextWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityContextWrapper of this TapiConnectivityConnectivityContextWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectivityContextWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tapi_connectivityconnectivity_context(self) -> TapiConnectivityConnectivityContext: + """Gets the tapi_connectivityconnectivity_context of this TapiConnectivityConnectivityContextWrapper. + + + :return: The tapi_connectivityconnectivity_context of this TapiConnectivityConnectivityContextWrapper. + :rtype: TapiConnectivityConnectivityContext + """ + return self._tapi_connectivityconnectivity_context + + @tapi_connectivityconnectivity_context.setter + def tapi_connectivityconnectivity_context(self, tapi_connectivityconnectivity_context: TapiConnectivityConnectivityContext): + """Sets the tapi_connectivityconnectivity_context of this TapiConnectivityConnectivityContextWrapper. + + + :param tapi_connectivityconnectivity_context: The tapi_connectivityconnectivity_context of this TapiConnectivityConnectivityContextWrapper. + :type tapi_connectivityconnectivity_context: TapiConnectivityConnectivityContext + """ + + self._tapi_connectivityconnectivity_context = tapi_connectivityconnectivity_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service.py new file mode 100644 index 0000000000000000000000000000000000000000..7d913435c2bd40b8bf5fbf9e652c991cd5f8ee4f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service.py @@ -0,0 +1,1343 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_common_time_range import TapiCommonTimeRange # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_constraint import TapiConnectivityConnectivityConstraint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point import TapiConnectivityConnectivityServiceEndPoint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service_ref import TapiConnectivityConnectivityServiceRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_coordinate_type import TapiConnectivityCoordinateType # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_resilience_constraint import TapiConnectivityResilienceConstraint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_reversion_mode import TapiConnectivityReversionMode # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_service_type import TapiConnectivityServiceType # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_diversity_policy import TapiPathComputationDiversityPolicy # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_route_objective_function import TapiPathComputationRouteObjectiveFunction # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_value_or_priority import TapiPathComputationValueOrPriority # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_resilience_type import TapiTopologyResilienceType # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, service_layer: TapiCommonLayerProtocolName=None, schedule: TapiCommonTimeRange=None, connectivity_direction: TapiCommonForwardingDirection=None, requested_capacity: TapiCommonCapacity=None, diversity_exclusion: List[TapiConnectivityConnectivityServiceRef]=None, connection_inclusion: List[str]=None, service_level: str=None, service_type: TapiConnectivityServiceType=None, connection_exclusion: List[str]=None, coroute_inclusion: TapiConnectivityConnectivityServiceRef=None, is_lock_out: bool=False, max_switch_times: int=None, restoration_coordinate_type: TapiConnectivityCoordinateType=None, is_coordinated_switching_both_ends: bool=False, hold_off_time: int=None, is_frozen: bool=False, wait_to_revert_time: int=15, resilience_type: TapiTopologyResilienceType=None, preferred_restoration_layer: List[TapiCommonLayerProtocolName]=None, restore_priority: int=None, reversion_mode: TapiConnectivityReversionMode=None, is_exclusive: bool=True, max_allowed_cost: TapiPathComputationValueOrPriority=None, diversity_policy: TapiPathComputationDiversityPolicy=None, route_objective_function: TapiPathComputationRouteObjectiveFunction=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, max_allowed_hops: TapiPathComputationValueOrPriority=None, max_allowed_delay: TapiPathComputationValueOrPriority=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic]=None, route_direction: TapiCommonForwardingDirection=None, include_node: List[str]=None, exclude_link: List[str]=None, avoid_topology: List[str]=None, exclude_path: List[str]=None, include_link: List[str]=None, preferred_transport_layer: List[TapiCommonLayerProtocolName]=None, exclude_node: List[str]=None, include_topology: List[str]=None, include_path: List[str]=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, end_point: List[TapiConnectivityConnectivityServiceEndPoint]=None, connection: List[TapiConnectivityConnectionRef]=None): # noqa: E501 + """TapiConnectivityConnectivityService - a model defined in Swagger + + :param name: The name of this TapiConnectivityConnectivityService. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiConnectivityConnectivityService. # noqa: E501 + :type uuid: str + :param service_layer: The service_layer of this TapiConnectivityConnectivityService. # noqa: E501 + :type service_layer: TapiCommonLayerProtocolName + :param schedule: The schedule of this TapiConnectivityConnectivityService. # noqa: E501 + :type schedule: TapiCommonTimeRange + :param connectivity_direction: The connectivity_direction of this TapiConnectivityConnectivityService. # noqa: E501 + :type connectivity_direction: TapiCommonForwardingDirection + :param requested_capacity: The requested_capacity of this TapiConnectivityConnectivityService. # noqa: E501 + :type requested_capacity: TapiCommonCapacity + :param diversity_exclusion: The diversity_exclusion of this TapiConnectivityConnectivityService. # noqa: E501 + :type diversity_exclusion: List[TapiConnectivityConnectivityServiceRef] + :param connection_inclusion: The connection_inclusion of this TapiConnectivityConnectivityService. # noqa: E501 + :type connection_inclusion: List[str] + :param service_level: The service_level of this TapiConnectivityConnectivityService. # noqa: E501 + :type service_level: str + :param service_type: The service_type of this TapiConnectivityConnectivityService. # noqa: E501 + :type service_type: TapiConnectivityServiceType + :param connection_exclusion: The connection_exclusion of this TapiConnectivityConnectivityService. # noqa: E501 + :type connection_exclusion: List[str] + :param coroute_inclusion: The coroute_inclusion of this TapiConnectivityConnectivityService. # noqa: E501 + :type coroute_inclusion: TapiConnectivityConnectivityServiceRef + :param is_lock_out: The is_lock_out of this TapiConnectivityConnectivityService. # noqa: E501 + :type is_lock_out: bool + :param max_switch_times: The max_switch_times of this TapiConnectivityConnectivityService. # noqa: E501 + :type max_switch_times: int + :param restoration_coordinate_type: The restoration_coordinate_type of this TapiConnectivityConnectivityService. # noqa: E501 + :type restoration_coordinate_type: TapiConnectivityCoordinateType + :param is_coordinated_switching_both_ends: The is_coordinated_switching_both_ends of this TapiConnectivityConnectivityService. # noqa: E501 + :type is_coordinated_switching_both_ends: bool + :param hold_off_time: The hold_off_time of this TapiConnectivityConnectivityService. # noqa: E501 + :type hold_off_time: int + :param is_frozen: The is_frozen of this TapiConnectivityConnectivityService. # noqa: E501 + :type is_frozen: bool + :param wait_to_revert_time: The wait_to_revert_time of this TapiConnectivityConnectivityService. # noqa: E501 + :type wait_to_revert_time: int + :param resilience_type: The resilience_type of this TapiConnectivityConnectivityService. # noqa: E501 + :type resilience_type: TapiTopologyResilienceType + :param preferred_restoration_layer: The preferred_restoration_layer of this TapiConnectivityConnectivityService. # noqa: E501 + :type preferred_restoration_layer: List[TapiCommonLayerProtocolName] + :param restore_priority: The restore_priority of this TapiConnectivityConnectivityService. # noqa: E501 + :type restore_priority: int + :param reversion_mode: The reversion_mode of this TapiConnectivityConnectivityService. # noqa: E501 + :type reversion_mode: TapiConnectivityReversionMode + :param is_exclusive: The is_exclusive of this TapiConnectivityConnectivityService. # noqa: E501 + :type is_exclusive: bool + :param max_allowed_cost: The max_allowed_cost of this TapiConnectivityConnectivityService. # noqa: E501 + :type max_allowed_cost: TapiPathComputationValueOrPriority + :param diversity_policy: The diversity_policy of this TapiConnectivityConnectivityService. # noqa: E501 + :type diversity_policy: TapiPathComputationDiversityPolicy + :param route_objective_function: The route_objective_function of this TapiConnectivityConnectivityService. # noqa: E501 + :type route_objective_function: TapiPathComputationRouteObjectiveFunction + :param cost_characteristic: The cost_characteristic of this TapiConnectivityConnectivityService. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param max_allowed_hops: The max_allowed_hops of this TapiConnectivityConnectivityService. # noqa: E501 + :type max_allowed_hops: TapiPathComputationValueOrPriority + :param max_allowed_delay: The max_allowed_delay of this TapiConnectivityConnectivityService. # noqa: E501 + :type max_allowed_delay: TapiPathComputationValueOrPriority + :param latency_characteristic: The latency_characteristic of this TapiConnectivityConnectivityService. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param risk_diversity_characteristic: The risk_diversity_characteristic of this TapiConnectivityConnectivityService. # noqa: E501 + :type risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic] + :param route_direction: The route_direction of this TapiConnectivityConnectivityService. # noqa: E501 + :type route_direction: TapiCommonForwardingDirection + :param include_node: The include_node of this TapiConnectivityConnectivityService. # noqa: E501 + :type include_node: List[str] + :param exclude_link: The exclude_link of this TapiConnectivityConnectivityService. # noqa: E501 + :type exclude_link: List[str] + :param avoid_topology: The avoid_topology of this TapiConnectivityConnectivityService. # noqa: E501 + :type avoid_topology: List[str] + :param exclude_path: The exclude_path of this TapiConnectivityConnectivityService. # noqa: E501 + :type exclude_path: List[str] + :param include_link: The include_link of this TapiConnectivityConnectivityService. # noqa: E501 + :type include_link: List[str] + :param preferred_transport_layer: The preferred_transport_layer of this TapiConnectivityConnectivityService. # noqa: E501 + :type preferred_transport_layer: List[TapiCommonLayerProtocolName] + :param exclude_node: The exclude_node of this TapiConnectivityConnectivityService. # noqa: E501 + :type exclude_node: List[str] + :param include_topology: The include_topology of this TapiConnectivityConnectivityService. # noqa: E501 + :type include_topology: List[str] + :param include_path: The include_path of this TapiConnectivityConnectivityService. # noqa: E501 + :type include_path: List[str] + :param operational_state: The operational_state of this TapiConnectivityConnectivityService. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnectivityService. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiConnectivityConnectivityService. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param end_point: The end_point of this TapiConnectivityConnectivityService. # noqa: E501 + :type end_point: List[TapiConnectivityConnectivityServiceEndPoint] + :param connection: The connection of this TapiConnectivityConnectivityService. # noqa: E501 + :type connection: List[TapiConnectivityConnectionRef] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'service_layer': TapiCommonLayerProtocolName, + 'schedule': TapiCommonTimeRange, + 'connectivity_direction': TapiCommonForwardingDirection, + 'requested_capacity': TapiCommonCapacity, + 'diversity_exclusion': List[TapiConnectivityConnectivityServiceRef], + 'connection_inclusion': List[str], + 'service_level': str, + 'service_type': TapiConnectivityServiceType, + 'connection_exclusion': List[str], + 'coroute_inclusion': TapiConnectivityConnectivityServiceRef, + 'is_lock_out': bool, + 'max_switch_times': int, + 'restoration_coordinate_type': TapiConnectivityCoordinateType, + 'is_coordinated_switching_both_ends': bool, + 'hold_off_time': int, + 'is_frozen': bool, + 'wait_to_revert_time': int, + 'resilience_type': TapiTopologyResilienceType, + 'preferred_restoration_layer': List[TapiCommonLayerProtocolName], + 'restore_priority': int, + 'reversion_mode': TapiConnectivityReversionMode, + 'is_exclusive': bool, + 'max_allowed_cost': TapiPathComputationValueOrPriority, + 'diversity_policy': TapiPathComputationDiversityPolicy, + 'route_objective_function': TapiPathComputationRouteObjectiveFunction, + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'max_allowed_hops': TapiPathComputationValueOrPriority, + 'max_allowed_delay': TapiPathComputationValueOrPriority, + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'risk_diversity_characteristic': List[TapiTopologyRiskCharacteristic], + 'route_direction': TapiCommonForwardingDirection, + 'include_node': List[str], + 'exclude_link': List[str], + 'avoid_topology': List[str], + 'exclude_path': List[str], + 'include_link': List[str], + 'preferred_transport_layer': List[TapiCommonLayerProtocolName], + 'exclude_node': List[str], + 'include_topology': List[str], + 'include_path': List[str], + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'end_point': List[TapiConnectivityConnectivityServiceEndPoint], + 'connection': List[TapiConnectivityConnectionRef] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'service_layer': 'service-layer', + 'schedule': 'schedule', + 'connectivity_direction': 'connectivity-direction', + 'requested_capacity': 'requested-capacity', + 'diversity_exclusion': 'diversity-exclusion', + 'connection_inclusion': 'connection-inclusion', + 'service_level': 'service-level', + 'service_type': 'service-type', + 'connection_exclusion': 'connection-exclusion', + 'coroute_inclusion': 'coroute-inclusion', + 'is_lock_out': 'is-lock-out', + 'max_switch_times': 'max-switch-times', + 'restoration_coordinate_type': 'restoration-coordinate-type', + 'is_coordinated_switching_both_ends': 'is-coordinated-switching-both-ends', + 'hold_off_time': 'hold-off-time', + 'is_frozen': 'is-frozen', + 'wait_to_revert_time': 'wait-to-revert-time', + 'resilience_type': 'resilience-type', + 'preferred_restoration_layer': 'preferred-restoration-layer', + 'restore_priority': 'restore-priority', + 'reversion_mode': 'reversion-mode', + 'is_exclusive': 'is-exclusive', + 'max_allowed_cost': 'max-allowed-cost', + 'diversity_policy': 'diversity-policy', + 'route_objective_function': 'route-objective-function', + 'cost_characteristic': 'cost-characteristic', + 'max_allowed_hops': 'max-allowed-hops', + 'max_allowed_delay': 'max-allowed-delay', + 'latency_characteristic': 'latency-characteristic', + 'risk_diversity_characteristic': 'risk-diversity-characteristic', + 'route_direction': 'route-direction', + 'include_node': 'include-node', + 'exclude_link': 'exclude-link', + 'avoid_topology': 'avoid-topology', + 'exclude_path': 'exclude-path', + 'include_link': 'include-link', + 'preferred_transport_layer': 'preferred-transport-layer', + 'exclude_node': 'exclude-node', + 'include_topology': 'include-topology', + 'include_path': 'include-path', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'end_point': 'end-point', + 'connection': 'connection' + } + self._name = name + self._uuid = uuid + self._service_layer = service_layer + self._schedule = schedule + self._connectivity_direction = connectivity_direction + self._requested_capacity = requested_capacity + self._diversity_exclusion = diversity_exclusion + self._connection_inclusion = connection_inclusion + self._service_level = service_level + self._service_type = service_type + self._connection_exclusion = connection_exclusion + self._coroute_inclusion = coroute_inclusion + self._is_lock_out = is_lock_out + self._max_switch_times = max_switch_times + self._restoration_coordinate_type = restoration_coordinate_type + self._is_coordinated_switching_both_ends = is_coordinated_switching_both_ends + self._hold_off_time = hold_off_time + self._is_frozen = is_frozen + self._wait_to_revert_time = wait_to_revert_time + self._resilience_type = resilience_type + self._preferred_restoration_layer = preferred_restoration_layer + self._restore_priority = restore_priority + self._reversion_mode = reversion_mode + self._is_exclusive = is_exclusive + self._max_allowed_cost = max_allowed_cost + self._diversity_policy = diversity_policy + self._route_objective_function = route_objective_function + self._cost_characteristic = cost_characteristic + self._max_allowed_hops = max_allowed_hops + self._max_allowed_delay = max_allowed_delay + self._latency_characteristic = latency_characteristic + self._risk_diversity_characteristic = risk_diversity_characteristic + self._route_direction = route_direction + self._include_node = include_node + self._exclude_link = exclude_link + self._avoid_topology = avoid_topology + self._exclude_path = exclude_path + self._include_link = include_link + self._preferred_transport_layer = preferred_transport_layer + self._exclude_node = exclude_node + self._include_topology = include_topology + self._include_path = include_path + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._end_point = end_point + self._connection = connection + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityService of this TapiConnectivityConnectivityService. # noqa: E501 + :rtype: TapiConnectivityConnectivityService + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivityConnectivityService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivityConnectivityService. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivityConnectivityService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivityConnectivityService. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiConnectivityConnectivityService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiConnectivityConnectivityService. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiConnectivityConnectivityService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiConnectivityConnectivityService. + :type uuid: str + """ + + self._uuid = uuid + + @property + def service_layer(self) -> TapiCommonLayerProtocolName: + """Gets the service_layer of this TapiConnectivityConnectivityService. + + + :return: The service_layer of this TapiConnectivityConnectivityService. + :rtype: TapiCommonLayerProtocolName + """ + return self._service_layer + + @service_layer.setter + def service_layer(self, service_layer: TapiCommonLayerProtocolName): + """Sets the service_layer of this TapiConnectivityConnectivityService. + + + :param service_layer: The service_layer of this TapiConnectivityConnectivityService. + :type service_layer: TapiCommonLayerProtocolName + """ + + self._service_layer = service_layer + + @property + def schedule(self) -> TapiCommonTimeRange: + """Gets the schedule of this TapiConnectivityConnectivityService. + + + :return: The schedule of this TapiConnectivityConnectivityService. + :rtype: TapiCommonTimeRange + """ + return self._schedule + + @schedule.setter + def schedule(self, schedule: TapiCommonTimeRange): + """Sets the schedule of this TapiConnectivityConnectivityService. + + + :param schedule: The schedule of this TapiConnectivityConnectivityService. + :type schedule: TapiCommonTimeRange + """ + + self._schedule = schedule + + @property + def connectivity_direction(self) -> TapiCommonForwardingDirection: + """Gets the connectivity_direction of this TapiConnectivityConnectivityService. + + + :return: The connectivity_direction of this TapiConnectivityConnectivityService. + :rtype: TapiCommonForwardingDirection + """ + return self._connectivity_direction + + @connectivity_direction.setter + def connectivity_direction(self, connectivity_direction: TapiCommonForwardingDirection): + """Sets the connectivity_direction of this TapiConnectivityConnectivityService. + + + :param connectivity_direction: The connectivity_direction of this TapiConnectivityConnectivityService. + :type connectivity_direction: TapiCommonForwardingDirection + """ + + self._connectivity_direction = connectivity_direction + + @property + def requested_capacity(self) -> TapiCommonCapacity: + """Gets the requested_capacity of this TapiConnectivityConnectivityService. + + + :return: The requested_capacity of this TapiConnectivityConnectivityService. + :rtype: TapiCommonCapacity + """ + return self._requested_capacity + + @requested_capacity.setter + def requested_capacity(self, requested_capacity: TapiCommonCapacity): + """Sets the requested_capacity of this TapiConnectivityConnectivityService. + + + :param requested_capacity: The requested_capacity of this TapiConnectivityConnectivityService. + :type requested_capacity: TapiCommonCapacity + """ + + self._requested_capacity = requested_capacity + + @property + def diversity_exclusion(self) -> List[TapiConnectivityConnectivityServiceRef]: + """Gets the diversity_exclusion of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The diversity_exclusion of this TapiConnectivityConnectivityService. + :rtype: List[TapiConnectivityConnectivityServiceRef] + """ + return self._diversity_exclusion + + @diversity_exclusion.setter + def diversity_exclusion(self, diversity_exclusion: List[TapiConnectivityConnectivityServiceRef]): + """Sets the diversity_exclusion of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param diversity_exclusion: The diversity_exclusion of this TapiConnectivityConnectivityService. + :type diversity_exclusion: List[TapiConnectivityConnectivityServiceRef] + """ + + self._diversity_exclusion = diversity_exclusion + + @property + def connection_inclusion(self) -> List[str]: + """Gets the connection_inclusion of this TapiConnectivityConnectivityService. + + A ConnectivityService may use one or more existing Connections. A common traditional strategy is to set up “stranded” connectivity in the core of the network as “express channels” (this is essentially a serial compound link, but can be treated as simple connections) A connection inclusion capability allows for adoption of a discovered Connections. A ConnectivityService is requested with a connection inclusion constraint that identifies a connection (or chain of connections) that is bounded by CEPs that each belong to a NEP that references a SIP that is referenced by a CSEP of the ConnectivityService such that all CSEPs are satisfied by CEPs of the existing Connection. will allow discovered Connections with no stated intent to be associated with an intent via the ConnectivityService. # noqa: E501 + + :return: The connection_inclusion of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._connection_inclusion + + @connection_inclusion.setter + def connection_inclusion(self, connection_inclusion: List[str]): + """Sets the connection_inclusion of this TapiConnectivityConnectivityService. + + A ConnectivityService may use one or more existing Connections. A common traditional strategy is to set up “stranded” connectivity in the core of the network as “express channels” (this is essentially a serial compound link, but can be treated as simple connections) A connection inclusion capability allows for adoption of a discovered Connections. A ConnectivityService is requested with a connection inclusion constraint that identifies a connection (or chain of connections) that is bounded by CEPs that each belong to a NEP that references a SIP that is referenced by a CSEP of the ConnectivityService such that all CSEPs are satisfied by CEPs of the existing Connection. will allow discovered Connections with no stated intent to be associated with an intent via the ConnectivityService. # noqa: E501 + + :param connection_inclusion: The connection_inclusion of this TapiConnectivityConnectivityService. + :type connection_inclusion: List[str] + """ + + self._connection_inclusion = connection_inclusion + + @property + def service_level(self) -> str: + """Gets the service_level of this TapiConnectivityConnectivityService. + + An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability # noqa: E501 + + :return: The service_level of this TapiConnectivityConnectivityService. + :rtype: str + """ + return self._service_level + + @service_level.setter + def service_level(self, service_level: str): + """Sets the service_level of this TapiConnectivityConnectivityService. + + An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability # noqa: E501 + + :param service_level: The service_level of this TapiConnectivityConnectivityService. + :type service_level: str + """ + + self._service_level = service_level + + @property + def service_type(self) -> TapiConnectivityServiceType: + """Gets the service_type of this TapiConnectivityConnectivityService. + + + :return: The service_type of this TapiConnectivityConnectivityService. + :rtype: TapiConnectivityServiceType + """ + return self._service_type + + @service_type.setter + def service_type(self, service_type: TapiConnectivityServiceType): + """Sets the service_type of this TapiConnectivityConnectivityService. + + + :param service_type: The service_type of this TapiConnectivityConnectivityService. + :type service_type: TapiConnectivityServiceType + """ + + self._service_type = service_type + + @property + def connection_exclusion(self) -> List[str]: + """Gets the connection_exclusion of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The connection_exclusion of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._connection_exclusion + + @connection_exclusion.setter + def connection_exclusion(self, connection_exclusion: List[str]): + """Sets the connection_exclusion of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param connection_exclusion: The connection_exclusion of this TapiConnectivityConnectivityService. + :type connection_exclusion: List[str] + """ + + self._connection_exclusion = connection_exclusion + + @property + def coroute_inclusion(self) -> TapiConnectivityConnectivityServiceRef: + """Gets the coroute_inclusion of this TapiConnectivityConnectivityService. + + + :return: The coroute_inclusion of this TapiConnectivityConnectivityService. + :rtype: TapiConnectivityConnectivityServiceRef + """ + return self._coroute_inclusion + + @coroute_inclusion.setter + def coroute_inclusion(self, coroute_inclusion: TapiConnectivityConnectivityServiceRef): + """Sets the coroute_inclusion of this TapiConnectivityConnectivityService. + + + :param coroute_inclusion: The coroute_inclusion of this TapiConnectivityConnectivityService. + :type coroute_inclusion: TapiConnectivityConnectivityServiceRef + """ + + self._coroute_inclusion = coroute_inclusion + + @property + def is_lock_out(self) -> bool: + """Gets the is_lock_out of this TapiConnectivityConnectivityService. + + The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of. This overrides all other protection control states including forced. If the item is locked out then it cannot be used under any circumstances. Note: Only relevant when part of a protection scheme. # noqa: E501 + + :return: The is_lock_out of this TapiConnectivityConnectivityService. + :rtype: bool + """ + return self._is_lock_out + + @is_lock_out.setter + def is_lock_out(self, is_lock_out: bool): + """Sets the is_lock_out of this TapiConnectivityConnectivityService. + + The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of. This overrides all other protection control states including forced. If the item is locked out then it cannot be used under any circumstances. Note: Only relevant when part of a protection scheme. # noqa: E501 + + :param is_lock_out: The is_lock_out of this TapiConnectivityConnectivityService. + :type is_lock_out: bool + """ + + self._is_lock_out = is_lock_out + + @property + def max_switch_times(self) -> int: + """Gets the max_switch_times of this TapiConnectivityConnectivityService. + + Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset. # noqa: E501 + + :return: The max_switch_times of this TapiConnectivityConnectivityService. + :rtype: int + """ + return self._max_switch_times + + @max_switch_times.setter + def max_switch_times(self, max_switch_times: int): + """Sets the max_switch_times of this TapiConnectivityConnectivityService. + + Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset. # noqa: E501 + + :param max_switch_times: The max_switch_times of this TapiConnectivityConnectivityService. + :type max_switch_times: int + """ + + self._max_switch_times = max_switch_times + + @property + def restoration_coordinate_type(self) -> TapiConnectivityCoordinateType: + """Gets the restoration_coordinate_type of this TapiConnectivityConnectivityService. + + + :return: The restoration_coordinate_type of this TapiConnectivityConnectivityService. + :rtype: TapiConnectivityCoordinateType + """ + return self._restoration_coordinate_type + + @restoration_coordinate_type.setter + def restoration_coordinate_type(self, restoration_coordinate_type: TapiConnectivityCoordinateType): + """Sets the restoration_coordinate_type of this TapiConnectivityConnectivityService. + + + :param restoration_coordinate_type: The restoration_coordinate_type of this TapiConnectivityConnectivityService. + :type restoration_coordinate_type: TapiConnectivityCoordinateType + """ + + self._restoration_coordinate_type = restoration_coordinate_type + + @property + def is_coordinated_switching_both_ends(self) -> bool: + """Gets the is_coordinated_switching_both_ends of this TapiConnectivityConnectivityService. + + Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends. # noqa: E501 + + :return: The is_coordinated_switching_both_ends of this TapiConnectivityConnectivityService. + :rtype: bool + """ + return self._is_coordinated_switching_both_ends + + @is_coordinated_switching_both_ends.setter + def is_coordinated_switching_both_ends(self, is_coordinated_switching_both_ends: bool): + """Sets the is_coordinated_switching_both_ends of this TapiConnectivityConnectivityService. + + Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends. # noqa: E501 + + :param is_coordinated_switching_both_ends: The is_coordinated_switching_both_ends of this TapiConnectivityConnectivityService. + :type is_coordinated_switching_both_ends: bool + """ + + self._is_coordinated_switching_both_ends = is_coordinated_switching_both_ends + + @property + def hold_off_time(self) -> int: + """Gets the hold_off_time of this TapiConnectivityConnectivityService. + + This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. # noqa: E501 + + :return: The hold_off_time of this TapiConnectivityConnectivityService. + :rtype: int + """ + return self._hold_off_time + + @hold_off_time.setter + def hold_off_time(self, hold_off_time: int): + """Sets the hold_off_time of this TapiConnectivityConnectivityService. + + This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. # noqa: E501 + + :param hold_off_time: The hold_off_time of this TapiConnectivityConnectivityService. + :type hold_off_time: int + """ + + self._hold_off_time = hold_off_time + + @property + def is_frozen(self) -> bool: + """Gets the is_frozen of this TapiConnectivityConnectivityService. + + Temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored. All administrative controls of any aspect of protection are rejected. # noqa: E501 + + :return: The is_frozen of this TapiConnectivityConnectivityService. + :rtype: bool + """ + return self._is_frozen + + @is_frozen.setter + def is_frozen(self, is_frozen: bool): + """Sets the is_frozen of this TapiConnectivityConnectivityService. + + Temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored. All administrative controls of any aspect of protection are rejected. # noqa: E501 + + :param is_frozen: The is_frozen of this TapiConnectivityConnectivityService. + :type is_frozen: bool + """ + + self._is_frozen = is_frozen + + @property + def wait_to_revert_time(self) -> int: + """Gets the wait_to_revert_time of this TapiConnectivityConnectivityService. + + If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource. # noqa: E501 + + :return: The wait_to_revert_time of this TapiConnectivityConnectivityService. + :rtype: int + """ + return self._wait_to_revert_time + + @wait_to_revert_time.setter + def wait_to_revert_time(self, wait_to_revert_time: int): + """Sets the wait_to_revert_time of this TapiConnectivityConnectivityService. + + If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource. # noqa: E501 + + :param wait_to_revert_time: The wait_to_revert_time of this TapiConnectivityConnectivityService. + :type wait_to_revert_time: int + """ + + self._wait_to_revert_time = wait_to_revert_time + + @property + def resilience_type(self) -> TapiTopologyResilienceType: + """Gets the resilience_type of this TapiConnectivityConnectivityService. + + + :return: The resilience_type of this TapiConnectivityConnectivityService. + :rtype: TapiTopologyResilienceType + """ + return self._resilience_type + + @resilience_type.setter + def resilience_type(self, resilience_type: TapiTopologyResilienceType): + """Sets the resilience_type of this TapiConnectivityConnectivityService. + + + :param resilience_type: The resilience_type of this TapiConnectivityConnectivityService. + :type resilience_type: TapiTopologyResilienceType + """ + + self._resilience_type = resilience_type + + @property + def preferred_restoration_layer(self) -> List[TapiCommonLayerProtocolName]: + """Gets the preferred_restoration_layer of this TapiConnectivityConnectivityService. + + Indicate which layer this resilience parameters package configured for. # noqa: E501 + + :return: The preferred_restoration_layer of this TapiConnectivityConnectivityService. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._preferred_restoration_layer + + @preferred_restoration_layer.setter + def preferred_restoration_layer(self, preferred_restoration_layer: List[TapiCommonLayerProtocolName]): + """Sets the preferred_restoration_layer of this TapiConnectivityConnectivityService. + + Indicate which layer this resilience parameters package configured for. # noqa: E501 + + :param preferred_restoration_layer: The preferred_restoration_layer of this TapiConnectivityConnectivityService. + :type preferred_restoration_layer: List[TapiCommonLayerProtocolName] + """ + + self._preferred_restoration_layer = preferred_restoration_layer + + @property + def restore_priority(self) -> int: + """Gets the restore_priority of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The restore_priority of this TapiConnectivityConnectivityService. + :rtype: int + """ + return self._restore_priority + + @restore_priority.setter + def restore_priority(self, restore_priority: int): + """Sets the restore_priority of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param restore_priority: The restore_priority of this TapiConnectivityConnectivityService. + :type restore_priority: int + """ + + self._restore_priority = restore_priority + + @property + def reversion_mode(self) -> TapiConnectivityReversionMode: + """Gets the reversion_mode of this TapiConnectivityConnectivityService. + + + :return: The reversion_mode of this TapiConnectivityConnectivityService. + :rtype: TapiConnectivityReversionMode + """ + return self._reversion_mode + + @reversion_mode.setter + def reversion_mode(self, reversion_mode: TapiConnectivityReversionMode): + """Sets the reversion_mode of this TapiConnectivityConnectivityService. + + + :param reversion_mode: The reversion_mode of this TapiConnectivityConnectivityService. + :type reversion_mode: TapiConnectivityReversionMode + """ + + self._reversion_mode = reversion_mode + + @property + def is_exclusive(self) -> bool: + """Gets the is_exclusive of this TapiConnectivityConnectivityService. + + To distinguish if the resources are to be exclusive to the service # noqa: E501 + + :return: The is_exclusive of this TapiConnectivityConnectivityService. + :rtype: bool + """ + return self._is_exclusive + + @is_exclusive.setter + def is_exclusive(self, is_exclusive: bool): + """Sets the is_exclusive of this TapiConnectivityConnectivityService. + + To distinguish if the resources are to be exclusive to the service # noqa: E501 + + :param is_exclusive: The is_exclusive of this TapiConnectivityConnectivityService. + :type is_exclusive: bool + """ + + self._is_exclusive = is_exclusive + + @property + def max_allowed_cost(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_cost of this TapiConnectivityConnectivityService. + + + :return: The max_allowed_cost of this TapiConnectivityConnectivityService. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_cost + + @max_allowed_cost.setter + def max_allowed_cost(self, max_allowed_cost: TapiPathComputationValueOrPriority): + """Sets the max_allowed_cost of this TapiConnectivityConnectivityService. + + + :param max_allowed_cost: The max_allowed_cost of this TapiConnectivityConnectivityService. + :type max_allowed_cost: TapiPathComputationValueOrPriority + """ + + self._max_allowed_cost = max_allowed_cost + + @property + def diversity_policy(self) -> TapiPathComputationDiversityPolicy: + """Gets the diversity_policy of this TapiConnectivityConnectivityService. + + + :return: The diversity_policy of this TapiConnectivityConnectivityService. + :rtype: TapiPathComputationDiversityPolicy + """ + return self._diversity_policy + + @diversity_policy.setter + def diversity_policy(self, diversity_policy: TapiPathComputationDiversityPolicy): + """Sets the diversity_policy of this TapiConnectivityConnectivityService. + + + :param diversity_policy: The diversity_policy of this TapiConnectivityConnectivityService. + :type diversity_policy: TapiPathComputationDiversityPolicy + """ + + self._diversity_policy = diversity_policy + + @property + def route_objective_function(self) -> TapiPathComputationRouteObjectiveFunction: + """Gets the route_objective_function of this TapiConnectivityConnectivityService. + + + :return: The route_objective_function of this TapiConnectivityConnectivityService. + :rtype: TapiPathComputationRouteObjectiveFunction + """ + return self._route_objective_function + + @route_objective_function.setter + def route_objective_function(self, route_objective_function: TapiPathComputationRouteObjectiveFunction): + """Sets the route_objective_function of this TapiConnectivityConnectivityService. + + + :param route_objective_function: The route_objective_function of this TapiConnectivityConnectivityService. + :type route_objective_function: TapiPathComputationRouteObjectiveFunction + """ + + self._route_objective_function = route_objective_function + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiConnectivityConnectivityService. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiConnectivityConnectivityService. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiConnectivityConnectivityService. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiConnectivityConnectivityService. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def max_allowed_hops(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_hops of this TapiConnectivityConnectivityService. + + + :return: The max_allowed_hops of this TapiConnectivityConnectivityService. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_hops + + @max_allowed_hops.setter + def max_allowed_hops(self, max_allowed_hops: TapiPathComputationValueOrPriority): + """Sets the max_allowed_hops of this TapiConnectivityConnectivityService. + + + :param max_allowed_hops: The max_allowed_hops of this TapiConnectivityConnectivityService. + :type max_allowed_hops: TapiPathComputationValueOrPriority + """ + + self._max_allowed_hops = max_allowed_hops + + @property + def max_allowed_delay(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_delay of this TapiConnectivityConnectivityService. + + + :return: The max_allowed_delay of this TapiConnectivityConnectivityService. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_delay + + @max_allowed_delay.setter + def max_allowed_delay(self, max_allowed_delay: TapiPathComputationValueOrPriority): + """Sets the max_allowed_delay of this TapiConnectivityConnectivityService. + + + :param max_allowed_delay: The max_allowed_delay of this TapiConnectivityConnectivityService. + :type max_allowed_delay: TapiPathComputationValueOrPriority + """ + + self._max_allowed_delay = max_allowed_delay + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiConnectivityConnectivityService. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiConnectivityConnectivityService. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiConnectivityConnectivityService. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiConnectivityConnectivityService. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def risk_diversity_characteristic(self) -> List[TapiTopologyRiskCharacteristic]: + """Gets the risk_diversity_characteristic of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The risk_diversity_characteristic of this TapiConnectivityConnectivityService. + :rtype: List[TapiTopologyRiskCharacteristic] + """ + return self._risk_diversity_characteristic + + @risk_diversity_characteristic.setter + def risk_diversity_characteristic(self, risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic]): + """Sets the risk_diversity_characteristic of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param risk_diversity_characteristic: The risk_diversity_characteristic of this TapiConnectivityConnectivityService. + :type risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic] + """ + + self._risk_diversity_characteristic = risk_diversity_characteristic + + @property + def route_direction(self) -> TapiCommonForwardingDirection: + """Gets the route_direction of this TapiConnectivityConnectivityService. + + + :return: The route_direction of this TapiConnectivityConnectivityService. + :rtype: TapiCommonForwardingDirection + """ + return self._route_direction + + @route_direction.setter + def route_direction(self, route_direction: TapiCommonForwardingDirection): + """Sets the route_direction of this TapiConnectivityConnectivityService. + + + :param route_direction: The route_direction of this TapiConnectivityConnectivityService. + :type route_direction: TapiCommonForwardingDirection + """ + + self._route_direction = route_direction + + @property + def include_node(self) -> List[str]: + """Gets the include_node of this TapiConnectivityConnectivityService. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :return: The include_node of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._include_node + + @include_node.setter + def include_node(self, include_node: List[str]): + """Sets the include_node of this TapiConnectivityConnectivityService. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :param include_node: The include_node of this TapiConnectivityConnectivityService. + :type include_node: List[str] + """ + + self._include_node = include_node + + @property + def exclude_link(self) -> List[str]: + """Gets the exclude_link of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The exclude_link of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._exclude_link + + @exclude_link.setter + def exclude_link(self, exclude_link: List[str]): + """Sets the exclude_link of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param exclude_link: The exclude_link of this TapiConnectivityConnectivityService. + :type exclude_link: List[str] + """ + + self._exclude_link = exclude_link + + @property + def avoid_topology(self) -> List[str]: + """Gets the avoid_topology of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The avoid_topology of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._avoid_topology + + @avoid_topology.setter + def avoid_topology(self, avoid_topology: List[str]): + """Sets the avoid_topology of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param avoid_topology: The avoid_topology of this TapiConnectivityConnectivityService. + :type avoid_topology: List[str] + """ + + self._avoid_topology = avoid_topology + + @property + def exclude_path(self) -> List[str]: + """Gets the exclude_path of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The exclude_path of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._exclude_path + + @exclude_path.setter + def exclude_path(self, exclude_path: List[str]): + """Sets the exclude_path of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param exclude_path: The exclude_path of this TapiConnectivityConnectivityService. + :type exclude_path: List[str] + """ + + self._exclude_path = exclude_path + + @property + def include_link(self) -> List[str]: + """Gets the include_link of this TapiConnectivityConnectivityService. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :return: The include_link of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._include_link + + @include_link.setter + def include_link(self, include_link: List[str]): + """Sets the include_link of this TapiConnectivityConnectivityService. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :param include_link: The include_link of this TapiConnectivityConnectivityService. + :type include_link: List[str] + """ + + self._include_link = include_link + + @property + def preferred_transport_layer(self) -> List[TapiCommonLayerProtocolName]: + """Gets the preferred_transport_layer of this TapiConnectivityConnectivityService. + + soft constraint requested by client to indicate the layer(s) of transport connection that it prefers to carry the service. This could be same as the service layer or one of the supported server layers # noqa: E501 + + :return: The preferred_transport_layer of this TapiConnectivityConnectivityService. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._preferred_transport_layer + + @preferred_transport_layer.setter + def preferred_transport_layer(self, preferred_transport_layer: List[TapiCommonLayerProtocolName]): + """Sets the preferred_transport_layer of this TapiConnectivityConnectivityService. + + soft constraint requested by client to indicate the layer(s) of transport connection that it prefers to carry the service. This could be same as the service layer or one of the supported server layers # noqa: E501 + + :param preferred_transport_layer: The preferred_transport_layer of this TapiConnectivityConnectivityService. + :type preferred_transport_layer: List[TapiCommonLayerProtocolName] + """ + + self._preferred_transport_layer = preferred_transport_layer + + @property + def exclude_node(self) -> List[str]: + """Gets the exclude_node of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The exclude_node of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._exclude_node + + @exclude_node.setter + def exclude_node(self, exclude_node: List[str]): + """Sets the exclude_node of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param exclude_node: The exclude_node of this TapiConnectivityConnectivityService. + :type exclude_node: List[str] + """ + + self._exclude_node = exclude_node + + @property + def include_topology(self) -> List[str]: + """Gets the include_topology of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The include_topology of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._include_topology + + @include_topology.setter + def include_topology(self, include_topology: List[str]): + """Sets the include_topology of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param include_topology: The include_topology of this TapiConnectivityConnectivityService. + :type include_topology: List[str] + """ + + self._include_topology = include_topology + + @property + def include_path(self) -> List[str]: + """Gets the include_path of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The include_path of this TapiConnectivityConnectivityService. + :rtype: List[str] + """ + return self._include_path + + @include_path.setter + def include_path(self, include_path: List[str]): + """Sets the include_path of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param include_path: The include_path of this TapiConnectivityConnectivityService. + :type include_path: List[str] + """ + + self._include_path = include_path + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiConnectivityConnectivityService. + + + :return: The operational_state of this TapiConnectivityConnectivityService. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiConnectivityConnectivityService. + + + :param operational_state: The operational_state of this TapiConnectivityConnectivityService. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiConnectivityConnectivityService. + + + :return: The lifecycle_state of this TapiConnectivityConnectivityService. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiConnectivityConnectivityService. + + + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnectivityService. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiConnectivityConnectivityService. + + + :return: The administrative_state of this TapiConnectivityConnectivityService. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiConnectivityConnectivityService. + + + :param administrative_state: The administrative_state of this TapiConnectivityConnectivityService. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def end_point(self) -> List[TapiConnectivityConnectivityServiceEndPoint]: + """Gets the end_point of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The end_point of this TapiConnectivityConnectivityService. + :rtype: List[TapiConnectivityConnectivityServiceEndPoint] + """ + return self._end_point + + @end_point.setter + def end_point(self, end_point: List[TapiConnectivityConnectivityServiceEndPoint]): + """Sets the end_point of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param end_point: The end_point of this TapiConnectivityConnectivityService. + :type end_point: List[TapiConnectivityConnectivityServiceEndPoint] + """ + + self._end_point = end_point + + @property + def connection(self) -> List[TapiConnectivityConnectionRef]: + """Gets the connection of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :return: The connection of this TapiConnectivityConnectivityService. + :rtype: List[TapiConnectivityConnectionRef] + """ + return self._connection + + @connection.setter + def connection(self, connection: List[TapiConnectivityConnectionRef]): + """Sets the connection of this TapiConnectivityConnectivityService. + + none # noqa: E501 + + :param connection: The connection of this TapiConnectivityConnectivityService. + :type connection: List[TapiConnectivityConnectionRef] + """ + + self._connection = connection diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point.py new file mode 100644 index 0000000000000000000000000000000000000000..84df8f687885c89db080047a8098929c2dcb8662 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point.py @@ -0,0 +1,474 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_port_role import TapiCommonPortRole # noqa: F401,E501 +from tapi_server.models.tapi_common_service_interface_point_ref import TapiCommonServiceInterfacePointRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_ref import TapiConnectivityConnectivityServiceEndPointRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_protection_role import TapiConnectivityProtectionRole # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityServiceEndPoint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, protection_role: TapiConnectivityProtectionRole=None, role: TapiCommonPortRole=None, service_interface_point: TapiCommonServiceInterfacePointRef=None, peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef=None, layer_protocol_name: TapiCommonLayerProtocolName=None, layer_protocol_qualifier: str=None, connection_end_point: List[TapiConnectivityConnectionEndPointRef]=None, server_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef=None, protecting_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef=None, direction: TapiCommonPortDirection=None, capacity: TapiCommonCapacity=None): # noqa: E501 + """TapiConnectivityConnectivityServiceEndPoint - a model defined in Swagger + + :param name: The name of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type local_id: str + :param operational_state: The operational_state of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param protection_role: The protection_role of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type protection_role: TapiConnectivityProtectionRole + :param role: The role of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type role: TapiCommonPortRole + :param service_interface_point: The service_interface_point of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type service_interface_point: TapiCommonServiceInterfacePointRef + :param peer_fwd_connectivity_service_end_point: The peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + :param layer_protocol_name: The layer_protocol_name of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type layer_protocol_qualifier: str + :param connection_end_point: The connection_end_point of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type connection_end_point: List[TapiConnectivityConnectionEndPointRef] + :param server_connectivity_service_end_point: The server_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type server_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + :param protecting_connectivity_service_end_point: The protecting_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type protecting_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + :param direction: The direction of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type direction: TapiCommonPortDirection + :param capacity: The capacity of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :type capacity: TapiCommonCapacity + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'protection_role': TapiConnectivityProtectionRole, + 'role': TapiCommonPortRole, + 'service_interface_point': TapiCommonServiceInterfacePointRef, + 'peer_fwd_connectivity_service_end_point': TapiConnectivityConnectivityServiceEndPointRef, + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'layer_protocol_qualifier': str, + 'connection_end_point': List[TapiConnectivityConnectionEndPointRef], + 'server_connectivity_service_end_point': TapiConnectivityConnectivityServiceEndPointRef, + 'protecting_connectivity_service_end_point': TapiConnectivityConnectivityServiceEndPointRef, + 'direction': TapiCommonPortDirection, + 'capacity': TapiCommonCapacity + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'protection_role': 'protection-role', + 'role': 'role', + 'service_interface_point': 'service-interface-point', + 'peer_fwd_connectivity_service_end_point': 'peer-fwd-connectivity-service-end-point', + 'layer_protocol_name': 'layer-protocol-name', + 'layer_protocol_qualifier': 'layer-protocol-qualifier', + 'connection_end_point': 'connection-end-point', + 'server_connectivity_service_end_point': 'server-connectivity-service-end-point', + 'protecting_connectivity_service_end_point': 'protecting-connectivity-service-end-point', + 'direction': 'direction', + 'capacity': 'capacity' + } + self._name = name + self._local_id = local_id + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._protection_role = protection_role + self._role = role + self._service_interface_point = service_interface_point + self._peer_fwd_connectivity_service_end_point = peer_fwd_connectivity_service_end_point + self._layer_protocol_name = layer_protocol_name + self._layer_protocol_qualifier = layer_protocol_qualifier + self._connection_end_point = connection_end_point + self._server_connectivity_service_end_point = server_connectivity_service_end_point + self._protecting_connectivity_service_end_point = protecting_connectivity_service_end_point + self._direction = direction + self._capacity = capacity + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceEndPoint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceEndPoint of this TapiConnectivityConnectivityServiceEndPoint. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceEndPoint + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivityConnectivityServiceEndPoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivityConnectivityServiceEndPoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivityConnectivityServiceEndPoint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiConnectivityConnectivityServiceEndPoint. + + none # noqa: E501 + + :return: The local_id of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiConnectivityConnectivityServiceEndPoint. + + none # noqa: E501 + + :param local_id: The local_id of this TapiConnectivityConnectivityServiceEndPoint. + :type local_id: str + """ + + self._local_id = local_id + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The operational_state of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiConnectivityConnectivityServiceEndPoint. + + + :param operational_state: The operational_state of this TapiConnectivityConnectivityServiceEndPoint. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The lifecycle_state of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiConnectivityConnectivityServiceEndPoint. + + + :param lifecycle_state: The lifecycle_state of this TapiConnectivityConnectivityServiceEndPoint. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The administrative_state of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiConnectivityConnectivityServiceEndPoint. + + + :param administrative_state: The administrative_state of this TapiConnectivityConnectivityServiceEndPoint. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def protection_role(self) -> TapiConnectivityProtectionRole: + """Gets the protection_role of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The protection_role of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiConnectivityProtectionRole + """ + return self._protection_role + + @protection_role.setter + def protection_role(self, protection_role: TapiConnectivityProtectionRole): + """Sets the protection_role of this TapiConnectivityConnectivityServiceEndPoint. + + + :param protection_role: The protection_role of this TapiConnectivityConnectivityServiceEndPoint. + :type protection_role: TapiConnectivityProtectionRole + """ + + self._protection_role = protection_role + + @property + def role(self) -> TapiCommonPortRole: + """Gets the role of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The role of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonPortRole + """ + return self._role + + @role.setter + def role(self, role: TapiCommonPortRole): + """Sets the role of this TapiConnectivityConnectivityServiceEndPoint. + + + :param role: The role of this TapiConnectivityConnectivityServiceEndPoint. + :type role: TapiCommonPortRole + """ + + self._role = role + + @property + def service_interface_point(self) -> TapiCommonServiceInterfacePointRef: + """Gets the service_interface_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The service_interface_point of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonServiceInterfacePointRef + """ + return self._service_interface_point + + @service_interface_point.setter + def service_interface_point(self, service_interface_point: TapiCommonServiceInterfacePointRef): + """Sets the service_interface_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :param service_interface_point: The service_interface_point of this TapiConnectivityConnectivityServiceEndPoint. + :type service_interface_point: TapiCommonServiceInterfacePointRef + """ + + self._service_interface_point = service_interface_point + + @property + def peer_fwd_connectivity_service_end_point(self) -> TapiConnectivityConnectivityServiceEndPointRef: + """Gets the peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiConnectivityConnectivityServiceEndPointRef + """ + return self._peer_fwd_connectivity_service_end_point + + @peer_fwd_connectivity_service_end_point.setter + def peer_fwd_connectivity_service_end_point(self, peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef): + """Sets the peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :param peer_fwd_connectivity_service_end_point: The peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :type peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + """ + + self._peer_fwd_connectivity_service_end_point = peer_fwd_connectivity_service_end_point + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The layer_protocol_name of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiConnectivityConnectivityServiceEndPoint. + + + :param layer_protocol_name: The layer_protocol_name of this TapiConnectivityConnectivityServiceEndPoint. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def layer_protocol_qualifier(self) -> str: + """Gets the layer_protocol_qualifier of this TapiConnectivityConnectivityServiceEndPoint. + + none # noqa: E501 + + :return: The layer_protocol_qualifier of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: str + """ + return self._layer_protocol_qualifier + + @layer_protocol_qualifier.setter + def layer_protocol_qualifier(self, layer_protocol_qualifier: str): + """Sets the layer_protocol_qualifier of this TapiConnectivityConnectivityServiceEndPoint. + + none # noqa: E501 + + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiConnectivityConnectivityServiceEndPoint. + :type layer_protocol_qualifier: str + """ + + self._layer_protocol_qualifier = layer_protocol_qualifier + + @property + def connection_end_point(self) -> List[TapiConnectivityConnectionEndPointRef]: + """Gets the connection_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + none # noqa: E501 + + :return: The connection_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: List[TapiConnectivityConnectionEndPointRef] + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: List[TapiConnectivityConnectionEndPointRef]): + """Sets the connection_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + none # noqa: E501 + + :param connection_end_point: The connection_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :type connection_end_point: List[TapiConnectivityConnectionEndPointRef] + """ + + self._connection_end_point = connection_end_point + + @property + def server_connectivity_service_end_point(self) -> TapiConnectivityConnectivityServiceEndPointRef: + """Gets the server_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The server_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiConnectivityConnectivityServiceEndPointRef + """ + return self._server_connectivity_service_end_point + + @server_connectivity_service_end_point.setter + def server_connectivity_service_end_point(self, server_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef): + """Sets the server_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :param server_connectivity_service_end_point: The server_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :type server_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + """ + + self._server_connectivity_service_end_point = server_connectivity_service_end_point + + @property + def protecting_connectivity_service_end_point(self) -> TapiConnectivityConnectivityServiceEndPointRef: + """Gets the protecting_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The protecting_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiConnectivityConnectivityServiceEndPointRef + """ + return self._protecting_connectivity_service_end_point + + @protecting_connectivity_service_end_point.setter + def protecting_connectivity_service_end_point(self, protecting_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef): + """Sets the protecting_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + + + :param protecting_connectivity_service_end_point: The protecting_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPoint. + :type protecting_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + """ + + self._protecting_connectivity_service_end_point = protecting_connectivity_service_end_point + + @property + def direction(self) -> TapiCommonPortDirection: + """Gets the direction of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The direction of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonPortDirection + """ + return self._direction + + @direction.setter + def direction(self, direction: TapiCommonPortDirection): + """Sets the direction of this TapiConnectivityConnectivityServiceEndPoint. + + + :param direction: The direction of this TapiConnectivityConnectivityServiceEndPoint. + :type direction: TapiCommonPortDirection + """ + + self._direction = direction + + @property + def capacity(self) -> TapiCommonCapacity: + """Gets the capacity of this TapiConnectivityConnectivityServiceEndPoint. + + + :return: The capacity of this TapiConnectivityConnectivityServiceEndPoint. + :rtype: TapiCommonCapacity + """ + return self._capacity + + @capacity.setter + def capacity(self, capacity: TapiCommonCapacity): + """Sets the capacity of this TapiConnectivityConnectivityServiceEndPoint. + + + :param capacity: The capacity of this TapiConnectivityConnectivityServiceEndPoint. + :type capacity: TapiCommonCapacity + """ + + self._capacity = capacity diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..afde504d00bb5494da1b23c6c4cded75d4eb630e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service_ref import TapiConnectivityConnectivityServiceRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityServiceEndPointRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connectivity_service_uuid: str=None, connectivity_service_end_point_local_id: str=None): # noqa: E501 + """TapiConnectivityConnectivityServiceEndPointRef - a model defined in Swagger + + :param connectivity_service_uuid: The connectivity_service_uuid of this TapiConnectivityConnectivityServiceEndPointRef. # noqa: E501 + :type connectivity_service_uuid: str + :param connectivity_service_end_point_local_id: The connectivity_service_end_point_local_id of this TapiConnectivityConnectivityServiceEndPointRef. # noqa: E501 + :type connectivity_service_end_point_local_id: str + """ + self.swagger_types = { + 'connectivity_service_uuid': str, + 'connectivity_service_end_point_local_id': str + } + + self.attribute_map = { + 'connectivity_service_uuid': 'connectivity-service-uuid', + 'connectivity_service_end_point_local_id': 'connectivity-service-end-point-local-id' + } + self._connectivity_service_uuid = connectivity_service_uuid + self._connectivity_service_end_point_local_id = connectivity_service_end_point_local_id + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceEndPointRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceEndPointRef of this TapiConnectivityConnectivityServiceEndPointRef. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceEndPointRef + """ + return util.deserialize_model(dikt, cls) + + @property + def connectivity_service_uuid(self) -> str: + """Gets the connectivity_service_uuid of this TapiConnectivityConnectivityServiceEndPointRef. + + none # noqa: E501 + + :return: The connectivity_service_uuid of this TapiConnectivityConnectivityServiceEndPointRef. + :rtype: str + """ + return self._connectivity_service_uuid + + @connectivity_service_uuid.setter + def connectivity_service_uuid(self, connectivity_service_uuid: str): + """Sets the connectivity_service_uuid of this TapiConnectivityConnectivityServiceEndPointRef. + + none # noqa: E501 + + :param connectivity_service_uuid: The connectivity_service_uuid of this TapiConnectivityConnectivityServiceEndPointRef. + :type connectivity_service_uuid: str + """ + + self._connectivity_service_uuid = connectivity_service_uuid + + @property + def connectivity_service_end_point_local_id(self) -> str: + """Gets the connectivity_service_end_point_local_id of this TapiConnectivityConnectivityServiceEndPointRef. + + none # noqa: E501 + + :return: The connectivity_service_end_point_local_id of this TapiConnectivityConnectivityServiceEndPointRef. + :rtype: str + """ + return self._connectivity_service_end_point_local_id + + @connectivity_service_end_point_local_id.setter + def connectivity_service_end_point_local_id(self, connectivity_service_end_point_local_id: str): + """Sets the connectivity_service_end_point_local_id of this TapiConnectivityConnectivityServiceEndPointRef. + + none # noqa: E501 + + :param connectivity_service_end_point_local_id: The connectivity_service_end_point_local_id of this TapiConnectivityConnectivityServiceEndPointRef. + :type connectivity_service_end_point_local_id: str + """ + + self._connectivity_service_end_point_local_id = connectivity_service_end_point_local_id diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..f0f156275ae8bac5c7382f94b14df13ccd9309f9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_ref import TapiConnectivityConnectivityServiceEndPointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityServiceEndPointRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef=None): # noqa: E501 + """TapiConnectivityConnectivityServiceEndPointRefWrapper - a model defined in Swagger + + :param peer_fwd_connectivity_service_end_point: The peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPointRefWrapper. # noqa: E501 + :type peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + """ + self.swagger_types = { + 'peer_fwd_connectivity_service_end_point': TapiConnectivityConnectivityServiceEndPointRef + } + + self.attribute_map = { + 'peer_fwd_connectivity_service_end_point': 'peer-fwd-connectivity-service-end-point' + } + self._peer_fwd_connectivity_service_end_point = peer_fwd_connectivity_service_end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceEndPointRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceEndPointRefWrapper of this TapiConnectivityConnectivityServiceEndPointRefWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceEndPointRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def peer_fwd_connectivity_service_end_point(self) -> TapiConnectivityConnectivityServiceEndPointRef: + """Gets the peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPointRefWrapper. + + + :return: The peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPointRefWrapper. + :rtype: TapiConnectivityConnectivityServiceEndPointRef + """ + return self._peer_fwd_connectivity_service_end_point + + @peer_fwd_connectivity_service_end_point.setter + def peer_fwd_connectivity_service_end_point(self, peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef): + """Sets the peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPointRefWrapper. + + + :param peer_fwd_connectivity_service_end_point: The peer_fwd_connectivity_service_end_point of this TapiConnectivityConnectivityServiceEndPointRefWrapper. + :type peer_fwd_connectivity_service_end_point: TapiConnectivityConnectivityServiceEndPointRef + """ + + self._peer_fwd_connectivity_service_end_point = peer_fwd_connectivity_service_end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..2f55968a292fe062f714f08eec6dd450af1abaa2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_end_point_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service_end_point import TapiConnectivityConnectivityServiceEndPoint # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityServiceEndPointWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, end_point: TapiConnectivityConnectivityServiceEndPoint=None): # noqa: E501 + """TapiConnectivityConnectivityServiceEndPointWrapper - a model defined in Swagger + + :param end_point: The end_point of this TapiConnectivityConnectivityServiceEndPointWrapper. # noqa: E501 + :type end_point: TapiConnectivityConnectivityServiceEndPoint + """ + self.swagger_types = { + 'end_point': TapiConnectivityConnectivityServiceEndPoint + } + + self.attribute_map = { + 'end_point': 'end-point' + } + self._end_point = end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceEndPointWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceEndPointWrapper of this TapiConnectivityConnectivityServiceEndPointWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceEndPointWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def end_point(self) -> TapiConnectivityConnectivityServiceEndPoint: + """Gets the end_point of this TapiConnectivityConnectivityServiceEndPointWrapper. + + + :return: The end_point of this TapiConnectivityConnectivityServiceEndPointWrapper. + :rtype: TapiConnectivityConnectivityServiceEndPoint + """ + return self._end_point + + @end_point.setter + def end_point(self, end_point: TapiConnectivityConnectivityServiceEndPoint): + """Sets the end_point of this TapiConnectivityConnectivityServiceEndPointWrapper. + + + :param end_point: The end_point of this TapiConnectivityConnectivityServiceEndPointWrapper. + :type end_point: TapiConnectivityConnectivityServiceEndPoint + """ + + self._end_point = end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..b854f2223db359cf03db8e6df27948fc62535ca1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_ref.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityConnectivityServiceRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connectivity_service_uuid: str=None): # noqa: E501 + """TapiConnectivityConnectivityServiceRef - a model defined in Swagger + + :param connectivity_service_uuid: The connectivity_service_uuid of this TapiConnectivityConnectivityServiceRef. # noqa: E501 + :type connectivity_service_uuid: str + """ + self.swagger_types = { + 'connectivity_service_uuid': str + } + + self.attribute_map = { + 'connectivity_service_uuid': 'connectivity-service-uuid' + } + self._connectivity_service_uuid = connectivity_service_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceRef of this TapiConnectivityConnectivityServiceRef. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceRef + """ + return util.deserialize_model(dikt, cls) + + @property + def connectivity_service_uuid(self) -> str: + """Gets the connectivity_service_uuid of this TapiConnectivityConnectivityServiceRef. + + none # noqa: E501 + + :return: The connectivity_service_uuid of this TapiConnectivityConnectivityServiceRef. + :rtype: str + """ + return self._connectivity_service_uuid + + @connectivity_service_uuid.setter + def connectivity_service_uuid(self, connectivity_service_uuid: str): + """Sets the connectivity_service_uuid of this TapiConnectivityConnectivityServiceRef. + + none # noqa: E501 + + :param connectivity_service_uuid: The connectivity_service_uuid of this TapiConnectivityConnectivityServiceRef. + :type connectivity_service_uuid: str + """ + + self._connectivity_service_uuid = connectivity_service_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..289ab904cf5f966b8e4155bd7f253e0f2c367d70 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service_ref import TapiConnectivityConnectivityServiceRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityServiceRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, coroute_inclusion: TapiConnectivityConnectivityServiceRef=None): # noqa: E501 + """TapiConnectivityConnectivityServiceRefWrapper - a model defined in Swagger + + :param coroute_inclusion: The coroute_inclusion of this TapiConnectivityConnectivityServiceRefWrapper. # noqa: E501 + :type coroute_inclusion: TapiConnectivityConnectivityServiceRef + """ + self.swagger_types = { + 'coroute_inclusion': TapiConnectivityConnectivityServiceRef + } + + self.attribute_map = { + 'coroute_inclusion': 'coroute-inclusion' + } + self._coroute_inclusion = coroute_inclusion + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceRefWrapper of this TapiConnectivityConnectivityServiceRefWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def coroute_inclusion(self) -> TapiConnectivityConnectivityServiceRef: + """Gets the coroute_inclusion of this TapiConnectivityConnectivityServiceRefWrapper. + + + :return: The coroute_inclusion of this TapiConnectivityConnectivityServiceRefWrapper. + :rtype: TapiConnectivityConnectivityServiceRef + """ + return self._coroute_inclusion + + @coroute_inclusion.setter + def coroute_inclusion(self, coroute_inclusion: TapiConnectivityConnectivityServiceRef): + """Sets the coroute_inclusion of this TapiConnectivityConnectivityServiceRefWrapper. + + + :param coroute_inclusion: The coroute_inclusion of this TapiConnectivityConnectivityServiceRefWrapper. + :type coroute_inclusion: TapiConnectivityConnectivityServiceRef + """ + + self._coroute_inclusion = coroute_inclusion diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..9be218bbe7a102094531ad1a754a138a8155d408 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_connectivity_service_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityConnectivityServiceWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connectivity_service: TapiConnectivityConnectivityService=None): # noqa: E501 + """TapiConnectivityConnectivityServiceWrapper - a model defined in Swagger + + :param connectivity_service: The connectivity_service of this TapiConnectivityConnectivityServiceWrapper. # noqa: E501 + :type connectivity_service: TapiConnectivityConnectivityService + """ + self.swagger_types = { + 'connectivity_service': TapiConnectivityConnectivityService + } + + self.attribute_map = { + 'connectivity_service': 'connectivity-service' + } + self._connectivity_service = connectivity_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityConnectivityServiceWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ConnectivityServiceWrapper of this TapiConnectivityConnectivityServiceWrapper. # noqa: E501 + :rtype: TapiConnectivityConnectivityServiceWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def connectivity_service(self) -> TapiConnectivityConnectivityService: + """Gets the connectivity_service of this TapiConnectivityConnectivityServiceWrapper. + + + :return: The connectivity_service of this TapiConnectivityConnectivityServiceWrapper. + :rtype: TapiConnectivityConnectivityService + """ + return self._connectivity_service + + @connectivity_service.setter + def connectivity_service(self, connectivity_service: TapiConnectivityConnectivityService): + """Sets the connectivity_service of this TapiConnectivityConnectivityServiceWrapper. + + + :param connectivity_service: The connectivity_service of this TapiConnectivityConnectivityServiceWrapper. + :type connectivity_service: TapiConnectivityConnectivityService + """ + + self._connectivity_service = connectivity_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_context_augmentation3.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_context_augmentation3.py new file mode 100644 index 0000000000000000000000000000000000000000..1e4fe8d2064b1fc86c2f1a2de31584f052ff2ff1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_context_augmentation3.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_context import TapiConnectivityConnectivityContext # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityContextAugmentation3(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connectivity_context: TapiConnectivityConnectivityContext=None): # noqa: E501 + """TapiConnectivityContextAugmentation3 - a model defined in Swagger + + :param connectivity_context: The connectivity_context of this TapiConnectivityContextAugmentation3. # noqa: E501 + :type connectivity_context: TapiConnectivityConnectivityContext + """ + self.swagger_types = { + 'connectivity_context': TapiConnectivityConnectivityContext + } + + self.attribute_map = { + 'connectivity_context': 'connectivity-context' + } + self._connectivity_context = connectivity_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityContextAugmentation3': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ContextAugmentation3 of this TapiConnectivityContextAugmentation3. # noqa: E501 + :rtype: TapiConnectivityContextAugmentation3 + """ + return util.deserialize_model(dikt, cls) + + @property + def connectivity_context(self) -> TapiConnectivityConnectivityContext: + """Gets the connectivity_context of this TapiConnectivityContextAugmentation3. + + + :return: The connectivity_context of this TapiConnectivityContextAugmentation3. + :rtype: TapiConnectivityConnectivityContext + """ + return self._connectivity_context + + @connectivity_context.setter + def connectivity_context(self, connectivity_context: TapiConnectivityConnectivityContext): + """Sets the connectivity_context of this TapiConnectivityContextAugmentation3. + + + :param connectivity_context: The connectivity_context of this TapiConnectivityContextAugmentation3. + :type connectivity_context: TapiConnectivityConnectivityContext + """ + + self._connectivity_context = connectivity_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_coordinate_type.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_coordinate_type.py new file mode 100644 index 0000000000000000000000000000000000000000..f7924219f829bff23cd829cc5c1df365a30e610f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_coordinate_type.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityCoordinateType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + NO_COORDINATE = "NO_COORDINATE" + HOLD_OFF_TIME = "HOLD_OFF_TIME" + WAIT_FOR_NOTIFICATION = "WAIT_FOR_NOTIFICATION" + def __init__(self): # noqa: E501 + """TapiConnectivityCoordinateType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCoordinateType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.CoordinateType of this TapiConnectivityCoordinateType. # noqa: E501 + :rtype: TapiConnectivityCoordinateType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_create_connectivity_service.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_create_connectivity_service.py new file mode 100644 index 0000000000000000000000000000000000000000..1d22b1bfb6584a170b62717c63f780a27d662660 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_create_connectivity_service.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_createconnectivityservice_output import TapiConnectivityCreateconnectivityserviceOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCreateConnectivityService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiConnectivityCreateconnectivityserviceOutput=None): # noqa: E501 + """TapiConnectivityCreateConnectivityService - a model defined in Swagger + + :param output: The output of this TapiConnectivityCreateConnectivityService. # noqa: E501 + :type output: TapiConnectivityCreateconnectivityserviceOutput + """ + self.swagger_types = { + 'output': TapiConnectivityCreateconnectivityserviceOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCreateConnectivityService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.CreateConnectivityService of this TapiConnectivityCreateConnectivityService. # noqa: E501 + :rtype: TapiConnectivityCreateConnectivityService + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiConnectivityCreateconnectivityserviceOutput: + """Gets the output of this TapiConnectivityCreateConnectivityService. + + + :return: The output of this TapiConnectivityCreateConnectivityService. + :rtype: TapiConnectivityCreateconnectivityserviceOutput + """ + return self._output + + @output.setter + def output(self, output: TapiConnectivityCreateconnectivityserviceOutput): + """Sets the output of this TapiConnectivityCreateConnectivityService. + + + :param output: The output of this TapiConnectivityCreateConnectivityService. + :type output: TapiConnectivityCreateconnectivityserviceOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_createconnectivityservice_input.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_createconnectivityservice_input.py new file mode 100644 index 0000000000000000000000000000000000000000..dcb22ab3b2a1ccd9e75b4ae10dac4ae54694137e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_createconnectivityservice_input.py @@ -0,0 +1,201 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_constraint import TapiConnectivityConnectivityConstraint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point import TapiConnectivityConnectivityServiceEndPoint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_resilience_constraint import TapiConnectivityResilienceConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCreateconnectivityserviceInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_constraint: TapiPathComputationTopologyConstraint=None, end_point: List[TapiConnectivityConnectivityServiceEndPoint]=None, resilience_constraint: TapiConnectivityResilienceConstraint=None, routing_constraint: TapiPathComputationRoutingConstraint=None, state: str=None, connectivity_constraint: TapiConnectivityConnectivityConstraint=None): # noqa: E501 + """TapiConnectivityCreateconnectivityserviceInput - a model defined in Swagger + + :param topology_constraint: The topology_constraint of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :type topology_constraint: TapiPathComputationTopologyConstraint + :param end_point: The end_point of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :type end_point: List[TapiConnectivityConnectivityServiceEndPoint] + :param resilience_constraint: The resilience_constraint of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :type resilience_constraint: TapiConnectivityResilienceConstraint + :param routing_constraint: The routing_constraint of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + :param state: The state of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :type state: str + :param connectivity_constraint: The connectivity_constraint of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :type connectivity_constraint: TapiConnectivityConnectivityConstraint + """ + self.swagger_types = { + 'topology_constraint': TapiPathComputationTopologyConstraint, + 'end_point': List[TapiConnectivityConnectivityServiceEndPoint], + 'resilience_constraint': TapiConnectivityResilienceConstraint, + 'routing_constraint': TapiPathComputationRoutingConstraint, + 'state': str, + 'connectivity_constraint': TapiConnectivityConnectivityConstraint + } + + self.attribute_map = { + 'topology_constraint': 'topology-constraint', + 'end_point': 'end-point', + 'resilience_constraint': 'resilience-constraint', + 'routing_constraint': 'routing-constraint', + 'state': 'state', + 'connectivity_constraint': 'connectivity-constraint' + } + self._topology_constraint = topology_constraint + self._end_point = end_point + self._resilience_constraint = resilience_constraint + self._routing_constraint = routing_constraint + self._state = state + self._connectivity_constraint = connectivity_constraint + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCreateconnectivityserviceInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.createconnectivityservice.Input of this TapiConnectivityCreateconnectivityserviceInput. # noqa: E501 + :rtype: TapiConnectivityCreateconnectivityserviceInput + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_constraint(self) -> TapiPathComputationTopologyConstraint: + """Gets the topology_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :return: The topology_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :rtype: TapiPathComputationTopologyConstraint + """ + return self._topology_constraint + + @topology_constraint.setter + def topology_constraint(self, topology_constraint: TapiPathComputationTopologyConstraint): + """Sets the topology_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :param topology_constraint: The topology_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :type topology_constraint: TapiPathComputationTopologyConstraint + """ + + self._topology_constraint = topology_constraint + + @property + def end_point(self) -> List[TapiConnectivityConnectivityServiceEndPoint]: + """Gets the end_point of this TapiConnectivityCreateconnectivityserviceInput. + + none # noqa: E501 + + :return: The end_point of this TapiConnectivityCreateconnectivityserviceInput. + :rtype: List[TapiConnectivityConnectivityServiceEndPoint] + """ + return self._end_point + + @end_point.setter + def end_point(self, end_point: List[TapiConnectivityConnectivityServiceEndPoint]): + """Sets the end_point of this TapiConnectivityCreateconnectivityserviceInput. + + none # noqa: E501 + + :param end_point: The end_point of this TapiConnectivityCreateconnectivityserviceInput. + :type end_point: List[TapiConnectivityConnectivityServiceEndPoint] + """ + + self._end_point = end_point + + @property + def resilience_constraint(self) -> TapiConnectivityResilienceConstraint: + """Gets the resilience_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :return: The resilience_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :rtype: TapiConnectivityResilienceConstraint + """ + return self._resilience_constraint + + @resilience_constraint.setter + def resilience_constraint(self, resilience_constraint: TapiConnectivityResilienceConstraint): + """Sets the resilience_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :param resilience_constraint: The resilience_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :type resilience_constraint: TapiConnectivityResilienceConstraint + """ + + self._resilience_constraint = resilience_constraint + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :return: The routing_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :param routing_constraint: The routing_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint + + @property + def state(self) -> str: + """Gets the state of this TapiConnectivityCreateconnectivityserviceInput. + + none # noqa: E501 + + :return: The state of this TapiConnectivityCreateconnectivityserviceInput. + :rtype: str + """ + return self._state + + @state.setter + def state(self, state: str): + """Sets the state of this TapiConnectivityCreateconnectivityserviceInput. + + none # noqa: E501 + + :param state: The state of this TapiConnectivityCreateconnectivityserviceInput. + :type state: str + """ + + self._state = state + + @property + def connectivity_constraint(self) -> TapiConnectivityConnectivityConstraint: + """Gets the connectivity_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :return: The connectivity_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :rtype: TapiConnectivityConnectivityConstraint + """ + return self._connectivity_constraint + + @connectivity_constraint.setter + def connectivity_constraint(self, connectivity_constraint: TapiConnectivityConnectivityConstraint): + """Sets the connectivity_constraint of this TapiConnectivityCreateconnectivityserviceInput. + + + :param connectivity_constraint: The connectivity_constraint of this TapiConnectivityCreateconnectivityserviceInput. + :type connectivity_constraint: TapiConnectivityConnectivityConstraint + """ + + self._connectivity_constraint = connectivity_constraint diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_createconnectivityservice_output.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_createconnectivityservice_output.py new file mode 100644 index 0000000000000000000000000000000000000000..a17efd6245eddeec5c4a3b2fe85b8e35de253dc6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_createconnectivityservice_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityCreateconnectivityserviceOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: TapiConnectivityConnectivityService=None): # noqa: E501 + """TapiConnectivityCreateconnectivityserviceOutput - a model defined in Swagger + + :param service: The service of this TapiConnectivityCreateconnectivityserviceOutput. # noqa: E501 + :type service: TapiConnectivityConnectivityService + """ + self.swagger_types = { + 'service': TapiConnectivityConnectivityService + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityCreateconnectivityserviceOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.createconnectivityservice.Output of this TapiConnectivityCreateconnectivityserviceOutput. # noqa: E501 + :rtype: TapiConnectivityCreateconnectivityserviceOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> TapiConnectivityConnectivityService: + """Gets the service of this TapiConnectivityCreateconnectivityserviceOutput. + + + :return: The service of this TapiConnectivityCreateconnectivityserviceOutput. + :rtype: TapiConnectivityConnectivityService + """ + return self._service + + @service.setter + def service(self, service: TapiConnectivityConnectivityService): + """Sets the service of this TapiConnectivityCreateconnectivityserviceOutput. + + + :param service: The service of this TapiConnectivityCreateconnectivityserviceOutput. + :type service: TapiConnectivityConnectivityService + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_deleteconnectivityservice_input.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_deleteconnectivityservice_input.py new file mode 100644 index 0000000000000000000000000000000000000000..b2bd8d52488b5f193a9c72ed968f7cc441c9bba2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_deleteconnectivityservice_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityDeleteconnectivityserviceInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_id_or_name: str=None): # noqa: E501 + """TapiConnectivityDeleteconnectivityserviceInput - a model defined in Swagger + + :param service_id_or_name: The service_id_or_name of this TapiConnectivityDeleteconnectivityserviceInput. # noqa: E501 + :type service_id_or_name: str + """ + self.swagger_types = { + 'service_id_or_name': str + } + + self.attribute_map = { + 'service_id_or_name': 'service-id-or-name' + } + self._service_id_or_name = service_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityDeleteconnectivityserviceInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.deleteconnectivityservice.Input of this TapiConnectivityDeleteconnectivityserviceInput. # noqa: E501 + :rtype: TapiConnectivityDeleteconnectivityserviceInput + """ + return util.deserialize_model(dikt, cls) + + @property + def service_id_or_name(self) -> str: + """Gets the service_id_or_name of this TapiConnectivityDeleteconnectivityserviceInput. + + none # noqa: E501 + + :return: The service_id_or_name of this TapiConnectivityDeleteconnectivityserviceInput. + :rtype: str + """ + return self._service_id_or_name + + @service_id_or_name.setter + def service_id_or_name(self, service_id_or_name: str): + """Sets the service_id_or_name of this TapiConnectivityDeleteconnectivityserviceInput. + + none # noqa: E501 + + :param service_id_or_name: The service_id_or_name of this TapiConnectivityDeleteconnectivityserviceInput. + :type service_id_or_name: str + """ + + self._service_id_or_name = service_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connection_details.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connection_details.py new file mode 100644 index 0000000000000000000000000000000000000000..dcef8c372f3cf195909391e153e2569d01991c4d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connection_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectiondetails_output import TapiConnectivityGetconnectiondetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetConnectionDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiConnectivityGetconnectiondetailsOutput=None): # noqa: E501 + """TapiConnectivityGetConnectionDetails - a model defined in Swagger + + :param output: The output of this TapiConnectivityGetConnectionDetails. # noqa: E501 + :type output: TapiConnectivityGetconnectiondetailsOutput + """ + self.swagger_types = { + 'output': TapiConnectivityGetconnectiondetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetConnectionDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.GetConnectionDetails of this TapiConnectivityGetConnectionDetails. # noqa: E501 + :rtype: TapiConnectivityGetConnectionDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiConnectivityGetconnectiondetailsOutput: + """Gets the output of this TapiConnectivityGetConnectionDetails. + + + :return: The output of this TapiConnectivityGetConnectionDetails. + :rtype: TapiConnectivityGetconnectiondetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiConnectivityGetconnectiondetailsOutput): + """Sets the output of this TapiConnectivityGetConnectionDetails. + + + :param output: The output of this TapiConnectivityGetConnectionDetails. + :type output: TapiConnectivityGetconnectiondetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connection_end_point_details.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connection_end_point_details.py new file mode 100644 index 0000000000000000000000000000000000000000..8ef8320b6264708a9958aee5cd6b655f023cf639 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connection_end_point_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectionendpointdetails_output import TapiConnectivityGetconnectionendpointdetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetConnectionEndPointDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiConnectivityGetconnectionendpointdetailsOutput=None): # noqa: E501 + """TapiConnectivityGetConnectionEndPointDetails - a model defined in Swagger + + :param output: The output of this TapiConnectivityGetConnectionEndPointDetails. # noqa: E501 + :type output: TapiConnectivityGetconnectionendpointdetailsOutput + """ + self.swagger_types = { + 'output': TapiConnectivityGetconnectionendpointdetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetConnectionEndPointDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.GetConnectionEndPointDetails of this TapiConnectivityGetConnectionEndPointDetails. # noqa: E501 + :rtype: TapiConnectivityGetConnectionEndPointDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiConnectivityGetconnectionendpointdetailsOutput: + """Gets the output of this TapiConnectivityGetConnectionEndPointDetails. + + + :return: The output of this TapiConnectivityGetConnectionEndPointDetails. + :rtype: TapiConnectivityGetconnectionendpointdetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiConnectivityGetconnectionendpointdetailsOutput): + """Sets the output of this TapiConnectivityGetConnectionEndPointDetails. + + + :param output: The output of this TapiConnectivityGetConnectionEndPointDetails. + :type output: TapiConnectivityGetconnectionendpointdetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connectivity_service_details.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connectivity_service_details.py new file mode 100644 index 0000000000000000000000000000000000000000..94634c34435a9cf3e8c16f8a85b369b50c31021c --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connectivity_service_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectivityservicedetails_output import TapiConnectivityGetconnectivityservicedetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetConnectivityServiceDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiConnectivityGetconnectivityservicedetailsOutput=None): # noqa: E501 + """TapiConnectivityGetConnectivityServiceDetails - a model defined in Swagger + + :param output: The output of this TapiConnectivityGetConnectivityServiceDetails. # noqa: E501 + :type output: TapiConnectivityGetconnectivityservicedetailsOutput + """ + self.swagger_types = { + 'output': TapiConnectivityGetconnectivityservicedetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetConnectivityServiceDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.GetConnectivityServiceDetails of this TapiConnectivityGetConnectivityServiceDetails. # noqa: E501 + :rtype: TapiConnectivityGetConnectivityServiceDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiConnectivityGetconnectivityservicedetailsOutput: + """Gets the output of this TapiConnectivityGetConnectivityServiceDetails. + + + :return: The output of this TapiConnectivityGetConnectivityServiceDetails. + :rtype: TapiConnectivityGetconnectivityservicedetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiConnectivityGetconnectivityservicedetailsOutput): + """Sets the output of this TapiConnectivityGetConnectivityServiceDetails. + + + :param output: The output of this TapiConnectivityGetConnectivityServiceDetails. + :type output: TapiConnectivityGetconnectivityservicedetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connectivity_service_list.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connectivity_service_list.py new file mode 100644 index 0000000000000000000000000000000000000000..0690417e6db422b8db768fef5a6e9b33bdfb36d7 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_get_connectivity_service_list.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_getconnectivityservicelist_output import TapiConnectivityGetconnectivityservicelistOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetConnectivityServiceList(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiConnectivityGetconnectivityservicelistOutput=None): # noqa: E501 + """TapiConnectivityGetConnectivityServiceList - a model defined in Swagger + + :param output: The output of this TapiConnectivityGetConnectivityServiceList. # noqa: E501 + :type output: TapiConnectivityGetconnectivityservicelistOutput + """ + self.swagger_types = { + 'output': TapiConnectivityGetconnectivityservicelistOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetConnectivityServiceList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.GetConnectivityServiceList of this TapiConnectivityGetConnectivityServiceList. # noqa: E501 + :rtype: TapiConnectivityGetConnectivityServiceList + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiConnectivityGetconnectivityservicelistOutput: + """Gets the output of this TapiConnectivityGetConnectivityServiceList. + + + :return: The output of this TapiConnectivityGetConnectivityServiceList. + :rtype: TapiConnectivityGetconnectivityservicelistOutput + """ + return self._output + + @output.setter + def output(self, output: TapiConnectivityGetconnectivityservicelistOutput): + """Sets the output of this TapiConnectivityGetConnectivityServiceList. + + + :param output: The output of this TapiConnectivityGetConnectivityServiceList. + :type output: TapiConnectivityGetconnectivityservicelistOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectiondetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectiondetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..e67339d980718a136b9176871eb6dc8a42aec0a3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectiondetails_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityGetconnectiondetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_id_or_name: str=None): # noqa: E501 + """TapiConnectivityGetconnectiondetailsInput - a model defined in Swagger + + :param connection_id_or_name: The connection_id_or_name of this TapiConnectivityGetconnectiondetailsInput. # noqa: E501 + :type connection_id_or_name: str + """ + self.swagger_types = { + 'connection_id_or_name': str + } + + self.attribute_map = { + 'connection_id_or_name': 'connection-id-or-name' + } + self._connection_id_or_name = connection_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectiondetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectiondetails.Input of this TapiConnectivityGetconnectiondetailsInput. # noqa: E501 + :rtype: TapiConnectivityGetconnectiondetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_id_or_name(self) -> str: + """Gets the connection_id_or_name of this TapiConnectivityGetconnectiondetailsInput. + + none # noqa: E501 + + :return: The connection_id_or_name of this TapiConnectivityGetconnectiondetailsInput. + :rtype: str + """ + return self._connection_id_or_name + + @connection_id_or_name.setter + def connection_id_or_name(self, connection_id_or_name: str): + """Sets the connection_id_or_name of this TapiConnectivityGetconnectiondetailsInput. + + none # noqa: E501 + + :param connection_id_or_name: The connection_id_or_name of this TapiConnectivityGetconnectiondetailsInput. + :type connection_id_or_name: str + """ + + self._connection_id_or_name = connection_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectiondetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectiondetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..cf93f482c72a65f18f757293e21eec75a1e3f2b6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectiondetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection import TapiConnectivityConnection # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetconnectiondetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection: TapiConnectivityConnection=None): # noqa: E501 + """TapiConnectivityGetconnectiondetailsOutput - a model defined in Swagger + + :param connection: The connection of this TapiConnectivityGetconnectiondetailsOutput. # noqa: E501 + :type connection: TapiConnectivityConnection + """ + self.swagger_types = { + 'connection': TapiConnectivityConnection + } + + self.attribute_map = { + 'connection': 'connection' + } + self._connection = connection + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectiondetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectiondetails.Output of this TapiConnectivityGetconnectiondetailsOutput. # noqa: E501 + :rtype: TapiConnectivityGetconnectiondetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def connection(self) -> TapiConnectivityConnection: + """Gets the connection of this TapiConnectivityGetconnectiondetailsOutput. + + + :return: The connection of this TapiConnectivityGetconnectiondetailsOutput. + :rtype: TapiConnectivityConnection + """ + return self._connection + + @connection.setter + def connection(self, connection: TapiConnectivityConnection): + """Sets the connection of this TapiConnectivityGetconnectiondetailsOutput. + + + :param connection: The connection of this TapiConnectivityGetconnectiondetailsOutput. + :type connection: TapiConnectivityConnection + """ + + self._connection = connection diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectionendpointdetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectionendpointdetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..86ca4a4c459555fbd662a42b67256513f3861930 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectionendpointdetails_input.py @@ -0,0 +1,148 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityGetconnectionendpointdetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cep_id_or_name: str=None, nep_id_or_name: str=None, node_id_or_name: str=None, topology_id_or_name: str=None): # noqa: E501 + """TapiConnectivityGetconnectionendpointdetailsInput - a model defined in Swagger + + :param cep_id_or_name: The cep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. # noqa: E501 + :type cep_id_or_name: str + :param nep_id_or_name: The nep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. # noqa: E501 + :type nep_id_or_name: str + :param node_id_or_name: The node_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. # noqa: E501 + :type node_id_or_name: str + :param topology_id_or_name: The topology_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. # noqa: E501 + :type topology_id_or_name: str + """ + self.swagger_types = { + 'cep_id_or_name': str, + 'nep_id_or_name': str, + 'node_id_or_name': str, + 'topology_id_or_name': str + } + + self.attribute_map = { + 'cep_id_or_name': 'cep-id-or-name', + 'nep_id_or_name': 'nep-id-or-name', + 'node_id_or_name': 'node-id-or-name', + 'topology_id_or_name': 'topology-id-or-name' + } + self._cep_id_or_name = cep_id_or_name + self._nep_id_or_name = nep_id_or_name + self._node_id_or_name = node_id_or_name + self._topology_id_or_name = topology_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectionendpointdetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectionendpointdetails.Input of this TapiConnectivityGetconnectionendpointdetailsInput. # noqa: E501 + :rtype: TapiConnectivityGetconnectionendpointdetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def cep_id_or_name(self) -> str: + """Gets the cep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :return: The cep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :rtype: str + """ + return self._cep_id_or_name + + @cep_id_or_name.setter + def cep_id_or_name(self, cep_id_or_name: str): + """Sets the cep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :param cep_id_or_name: The cep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :type cep_id_or_name: str + """ + + self._cep_id_or_name = cep_id_or_name + + @property + def nep_id_or_name(self) -> str: + """Gets the nep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :return: The nep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :rtype: str + """ + return self._nep_id_or_name + + @nep_id_or_name.setter + def nep_id_or_name(self, nep_id_or_name: str): + """Sets the nep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :param nep_id_or_name: The nep_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :type nep_id_or_name: str + """ + + self._nep_id_or_name = nep_id_or_name + + @property + def node_id_or_name(self) -> str: + """Gets the node_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :return: The node_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :rtype: str + """ + return self._node_id_or_name + + @node_id_or_name.setter + def node_id_or_name(self, node_id_or_name: str): + """Sets the node_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :param node_id_or_name: The node_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :type node_id_or_name: str + """ + + self._node_id_or_name = node_id_or_name + + @property + def topology_id_or_name(self) -> str: + """Gets the topology_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :return: The topology_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :rtype: str + """ + return self._topology_id_or_name + + @topology_id_or_name.setter + def topology_id_or_name(self, topology_id_or_name: str): + """Sets the topology_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + + none # noqa: E501 + + :param topology_id_or_name: The topology_id_or_name of this TapiConnectivityGetconnectionendpointdetailsInput. + :type topology_id_or_name: str + """ + + self._topology_id_or_name = topology_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectionendpointdetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectionendpointdetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..d7a9e6e03bae5fdf4c7166c9bb229de138d95ead --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectionendpointdetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_end_point import TapiConnectivityConnectionEndPoint # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetconnectionendpointdetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_end_point: TapiConnectivityConnectionEndPoint=None): # noqa: E501 + """TapiConnectivityGetconnectionendpointdetailsOutput - a model defined in Swagger + + :param connection_end_point: The connection_end_point of this TapiConnectivityGetconnectionendpointdetailsOutput. # noqa: E501 + :type connection_end_point: TapiConnectivityConnectionEndPoint + """ + self.swagger_types = { + 'connection_end_point': TapiConnectivityConnectionEndPoint + } + + self.attribute_map = { + 'connection_end_point': 'connection-end-point' + } + self._connection_end_point = connection_end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectionendpointdetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectionendpointdetails.Output of this TapiConnectivityGetconnectionendpointdetailsOutput. # noqa: E501 + :rtype: TapiConnectivityGetconnectionendpointdetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_end_point(self) -> TapiConnectivityConnectionEndPoint: + """Gets the connection_end_point of this TapiConnectivityGetconnectionendpointdetailsOutput. + + + :return: The connection_end_point of this TapiConnectivityGetconnectionendpointdetailsOutput. + :rtype: TapiConnectivityConnectionEndPoint + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: TapiConnectivityConnectionEndPoint): + """Sets the connection_end_point of this TapiConnectivityGetconnectionendpointdetailsOutput. + + + :param connection_end_point: The connection_end_point of this TapiConnectivityGetconnectionendpointdetailsOutput. + :type connection_end_point: TapiConnectivityConnectionEndPoint + """ + + self._connection_end_point = connection_end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicedetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicedetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..820758a5544b01c776625a4f85d2222f40b15d21 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicedetails_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityGetconnectivityservicedetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_id_or_name: str=None): # noqa: E501 + """TapiConnectivityGetconnectivityservicedetailsInput - a model defined in Swagger + + :param service_id_or_name: The service_id_or_name of this TapiConnectivityGetconnectivityservicedetailsInput. # noqa: E501 + :type service_id_or_name: str + """ + self.swagger_types = { + 'service_id_or_name': str + } + + self.attribute_map = { + 'service_id_or_name': 'service-id-or-name' + } + self._service_id_or_name = service_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectivityservicedetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectivityservicedetails.Input of this TapiConnectivityGetconnectivityservicedetailsInput. # noqa: E501 + :rtype: TapiConnectivityGetconnectivityservicedetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def service_id_or_name(self) -> str: + """Gets the service_id_or_name of this TapiConnectivityGetconnectivityservicedetailsInput. + + none # noqa: E501 + + :return: The service_id_or_name of this TapiConnectivityGetconnectivityservicedetailsInput. + :rtype: str + """ + return self._service_id_or_name + + @service_id_or_name.setter + def service_id_or_name(self, service_id_or_name: str): + """Sets the service_id_or_name of this TapiConnectivityGetconnectivityservicedetailsInput. + + none # noqa: E501 + + :param service_id_or_name: The service_id_or_name of this TapiConnectivityGetconnectivityservicedetailsInput. + :type service_id_or_name: str + """ + + self._service_id_or_name = service_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicedetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicedetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..3b08975ce29bba78f9184d96758dbe1041882525 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicedetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetconnectivityservicedetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: TapiConnectivityConnectivityService=None): # noqa: E501 + """TapiConnectivityGetconnectivityservicedetailsOutput - a model defined in Swagger + + :param service: The service of this TapiConnectivityGetconnectivityservicedetailsOutput. # noqa: E501 + :type service: TapiConnectivityConnectivityService + """ + self.swagger_types = { + 'service': TapiConnectivityConnectivityService + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectivityservicedetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectivityservicedetails.Output of this TapiConnectivityGetconnectivityservicedetailsOutput. # noqa: E501 + :rtype: TapiConnectivityGetconnectivityservicedetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> TapiConnectivityConnectivityService: + """Gets the service of this TapiConnectivityGetconnectivityservicedetailsOutput. + + + :return: The service of this TapiConnectivityGetconnectivityservicedetailsOutput. + :rtype: TapiConnectivityConnectivityService + """ + return self._service + + @service.setter + def service(self, service: TapiConnectivityConnectivityService): + """Sets the service of this TapiConnectivityGetconnectivityservicedetailsOutput. + + + :param service: The service of this TapiConnectivityGetconnectivityservicedetailsOutput. + :type service: TapiConnectivityConnectivityService + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicelist_output.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicelist_output.py new file mode 100644 index 0000000000000000000000000000000000000000..6490999b3799cb16883db8898199bc4872b12f66 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_getconnectivityservicelist_output.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityGetconnectivityservicelistOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: List[TapiConnectivityConnectivityService]=None): # noqa: E501 + """TapiConnectivityGetconnectivityservicelistOutput - a model defined in Swagger + + :param service: The service of this TapiConnectivityGetconnectivityservicelistOutput. # noqa: E501 + :type service: List[TapiConnectivityConnectivityService] + """ + self.swagger_types = { + 'service': List[TapiConnectivityConnectivityService] + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityGetconnectivityservicelistOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.getconnectivityservicelist.Output of this TapiConnectivityGetconnectivityservicelistOutput. # noqa: E501 + :rtype: TapiConnectivityGetconnectivityservicelistOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> List[TapiConnectivityConnectivityService]: + """Gets the service of this TapiConnectivityGetconnectivityservicelistOutput. + + none # noqa: E501 + + :return: The service of this TapiConnectivityGetconnectivityservicelistOutput. + :rtype: List[TapiConnectivityConnectivityService] + """ + return self._service + + @service.setter + def service(self, service: List[TapiConnectivityConnectivityService]): + """Sets the service of this TapiConnectivityGetconnectivityservicelistOutput. + + none # noqa: E501 + + :param service: The service of this TapiConnectivityGetconnectivityservicelistOutput. + :type service: List[TapiConnectivityConnectivityService] + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_owned_node_edge_point_augmentation1.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_owned_node_edge_point_augmentation1.py new file mode 100644 index 0000000000000000000000000000000000000000..b3ee274b1a4d9c5c9959a695166898411f82a88f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_owned_node_edge_point_augmentation1.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_cep_list import TapiConnectivityCepList # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityOwnedNodeEdgePointAugmentation1(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cep_list: TapiConnectivityCepList=None): # noqa: E501 + """TapiConnectivityOwnedNodeEdgePointAugmentation1 - a model defined in Swagger + + :param cep_list: The cep_list of this TapiConnectivityOwnedNodeEdgePointAugmentation1. # noqa: E501 + :type cep_list: TapiConnectivityCepList + """ + self.swagger_types = { + 'cep_list': TapiConnectivityCepList + } + + self.attribute_map = { + 'cep_list': 'cep-list' + } + self._cep_list = cep_list + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityOwnedNodeEdgePointAugmentation1': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.OwnedNodeEdgePointAugmentation1 of this TapiConnectivityOwnedNodeEdgePointAugmentation1. # noqa: E501 + :rtype: TapiConnectivityOwnedNodeEdgePointAugmentation1 + """ + return util.deserialize_model(dikt, cls) + + @property + def cep_list(self) -> TapiConnectivityCepList: + """Gets the cep_list of this TapiConnectivityOwnedNodeEdgePointAugmentation1. + + + :return: The cep_list of this TapiConnectivityOwnedNodeEdgePointAugmentation1. + :rtype: TapiConnectivityCepList + """ + return self._cep_list + + @cep_list.setter + def cep_list(self, cep_list: TapiConnectivityCepList): + """Sets the cep_list of this TapiConnectivityOwnedNodeEdgePointAugmentation1. + + + :param cep_list: The cep_list of this TapiConnectivityOwnedNodeEdgePointAugmentation1. + :type cep_list: TapiConnectivityCepList + """ + + self._cep_list = cep_list diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_protection_role.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_protection_role.py new file mode 100644 index 0000000000000000000000000000000000000000..045f9e0d1a83295ea6afe9c7e22fc2f7dcaf2be8 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_protection_role.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityProtectionRole(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + WORK = "WORK" + PROTECT = "PROTECT" + PROTECTED = "PROTECTED" + NA = "NA" + WORK_RESTORE = "WORK_RESTORE" + PROTECT_RESTORE = "PROTECT_RESTORE" + def __init__(self): # noqa: E501 + """TapiConnectivityProtectionRole - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityProtectionRole': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ProtectionRole of this TapiConnectivityProtectionRole. # noqa: E501 + :rtype: TapiConnectivityProtectionRole + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_constraint.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_constraint.py new file mode 100644 index 0000000000000000000000000000000000000000..d122587aa99abe20cb93592fe253a7c5190b3a55 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_constraint.py @@ -0,0 +1,342 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_coordinate_type import TapiConnectivityCoordinateType # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_reversion_mode import TapiConnectivityReversionMode # noqa: F401,E501 +from tapi_server.models.tapi_topology_resilience_type import TapiTopologyResilienceType # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityResilienceConstraint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, is_lock_out: bool=False, max_switch_times: int=None, restoration_coordinate_type: TapiConnectivityCoordinateType=None, is_coordinated_switching_both_ends: bool=False, hold_off_time: int=None, is_frozen: bool=False, wait_to_revert_time: int=15, resilience_type: TapiTopologyResilienceType=None, preferred_restoration_layer: List[TapiCommonLayerProtocolName]=None, restore_priority: int=None, reversion_mode: TapiConnectivityReversionMode=None): # noqa: E501 + """TapiConnectivityResilienceConstraint - a model defined in Swagger + + :param is_lock_out: The is_lock_out of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type is_lock_out: bool + :param max_switch_times: The max_switch_times of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type max_switch_times: int + :param restoration_coordinate_type: The restoration_coordinate_type of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type restoration_coordinate_type: TapiConnectivityCoordinateType + :param is_coordinated_switching_both_ends: The is_coordinated_switching_both_ends of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type is_coordinated_switching_both_ends: bool + :param hold_off_time: The hold_off_time of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type hold_off_time: int + :param is_frozen: The is_frozen of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type is_frozen: bool + :param wait_to_revert_time: The wait_to_revert_time of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type wait_to_revert_time: int + :param resilience_type: The resilience_type of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type resilience_type: TapiTopologyResilienceType + :param preferred_restoration_layer: The preferred_restoration_layer of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type preferred_restoration_layer: List[TapiCommonLayerProtocolName] + :param restore_priority: The restore_priority of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type restore_priority: int + :param reversion_mode: The reversion_mode of this TapiConnectivityResilienceConstraint. # noqa: E501 + :type reversion_mode: TapiConnectivityReversionMode + """ + self.swagger_types = { + 'is_lock_out': bool, + 'max_switch_times': int, + 'restoration_coordinate_type': TapiConnectivityCoordinateType, + 'is_coordinated_switching_both_ends': bool, + 'hold_off_time': int, + 'is_frozen': bool, + 'wait_to_revert_time': int, + 'resilience_type': TapiTopologyResilienceType, + 'preferred_restoration_layer': List[TapiCommonLayerProtocolName], + 'restore_priority': int, + 'reversion_mode': TapiConnectivityReversionMode + } + + self.attribute_map = { + 'is_lock_out': 'is-lock-out', + 'max_switch_times': 'max-switch-times', + 'restoration_coordinate_type': 'restoration-coordinate-type', + 'is_coordinated_switching_both_ends': 'is-coordinated-switching-both-ends', + 'hold_off_time': 'hold-off-time', + 'is_frozen': 'is-frozen', + 'wait_to_revert_time': 'wait-to-revert-time', + 'resilience_type': 'resilience-type', + 'preferred_restoration_layer': 'preferred-restoration-layer', + 'restore_priority': 'restore-priority', + 'reversion_mode': 'reversion-mode' + } + self._is_lock_out = is_lock_out + self._max_switch_times = max_switch_times + self._restoration_coordinate_type = restoration_coordinate_type + self._is_coordinated_switching_both_ends = is_coordinated_switching_both_ends + self._hold_off_time = hold_off_time + self._is_frozen = is_frozen + self._wait_to_revert_time = wait_to_revert_time + self._resilience_type = resilience_type + self._preferred_restoration_layer = preferred_restoration_layer + self._restore_priority = restore_priority + self._reversion_mode = reversion_mode + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityResilienceConstraint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ResilienceConstraint of this TapiConnectivityResilienceConstraint. # noqa: E501 + :rtype: TapiConnectivityResilienceConstraint + """ + return util.deserialize_model(dikt, cls) + + @property + def is_lock_out(self) -> bool: + """Gets the is_lock_out of this TapiConnectivityResilienceConstraint. + + The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of. This overrides all other protection control states including forced. If the item is locked out then it cannot be used under any circumstances. Note: Only relevant when part of a protection scheme. # noqa: E501 + + :return: The is_lock_out of this TapiConnectivityResilienceConstraint. + :rtype: bool + """ + return self._is_lock_out + + @is_lock_out.setter + def is_lock_out(self, is_lock_out: bool): + """Sets the is_lock_out of this TapiConnectivityResilienceConstraint. + + The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of. This overrides all other protection control states including forced. If the item is locked out then it cannot be used under any circumstances. Note: Only relevant when part of a protection scheme. # noqa: E501 + + :param is_lock_out: The is_lock_out of this TapiConnectivityResilienceConstraint. + :type is_lock_out: bool + """ + + self._is_lock_out = is_lock_out + + @property + def max_switch_times(self) -> int: + """Gets the max_switch_times of this TapiConnectivityResilienceConstraint. + + Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset. # noqa: E501 + + :return: The max_switch_times of this TapiConnectivityResilienceConstraint. + :rtype: int + """ + return self._max_switch_times + + @max_switch_times.setter + def max_switch_times(self, max_switch_times: int): + """Sets the max_switch_times of this TapiConnectivityResilienceConstraint. + + Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset. # noqa: E501 + + :param max_switch_times: The max_switch_times of this TapiConnectivityResilienceConstraint. + :type max_switch_times: int + """ + + self._max_switch_times = max_switch_times + + @property + def restoration_coordinate_type(self) -> TapiConnectivityCoordinateType: + """Gets the restoration_coordinate_type of this TapiConnectivityResilienceConstraint. + + + :return: The restoration_coordinate_type of this TapiConnectivityResilienceConstraint. + :rtype: TapiConnectivityCoordinateType + """ + return self._restoration_coordinate_type + + @restoration_coordinate_type.setter + def restoration_coordinate_type(self, restoration_coordinate_type: TapiConnectivityCoordinateType): + """Sets the restoration_coordinate_type of this TapiConnectivityResilienceConstraint. + + + :param restoration_coordinate_type: The restoration_coordinate_type of this TapiConnectivityResilienceConstraint. + :type restoration_coordinate_type: TapiConnectivityCoordinateType + """ + + self._restoration_coordinate_type = restoration_coordinate_type + + @property + def is_coordinated_switching_both_ends(self) -> bool: + """Gets the is_coordinated_switching_both_ends of this TapiConnectivityResilienceConstraint. + + Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends. # noqa: E501 + + :return: The is_coordinated_switching_both_ends of this TapiConnectivityResilienceConstraint. + :rtype: bool + """ + return self._is_coordinated_switching_both_ends + + @is_coordinated_switching_both_ends.setter + def is_coordinated_switching_both_ends(self, is_coordinated_switching_both_ends: bool): + """Sets the is_coordinated_switching_both_ends of this TapiConnectivityResilienceConstraint. + + Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends. # noqa: E501 + + :param is_coordinated_switching_both_ends: The is_coordinated_switching_both_ends of this TapiConnectivityResilienceConstraint. + :type is_coordinated_switching_both_ends: bool + """ + + self._is_coordinated_switching_both_ends = is_coordinated_switching_both_ends + + @property + def hold_off_time(self) -> int: + """Gets the hold_off_time of this TapiConnectivityResilienceConstraint. + + This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. # noqa: E501 + + :return: The hold_off_time of this TapiConnectivityResilienceConstraint. + :rtype: int + """ + return self._hold_off_time + + @hold_off_time.setter + def hold_off_time(self, hold_off_time: int): + """Sets the hold_off_time of this TapiConnectivityResilienceConstraint. + + This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. # noqa: E501 + + :param hold_off_time: The hold_off_time of this TapiConnectivityResilienceConstraint. + :type hold_off_time: int + """ + + self._hold_off_time = hold_off_time + + @property + def is_frozen(self) -> bool: + """Gets the is_frozen of this TapiConnectivityResilienceConstraint. + + Temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored. All administrative controls of any aspect of protection are rejected. # noqa: E501 + + :return: The is_frozen of this TapiConnectivityResilienceConstraint. + :rtype: bool + """ + return self._is_frozen + + @is_frozen.setter + def is_frozen(self, is_frozen: bool): + """Sets the is_frozen of this TapiConnectivityResilienceConstraint. + + Temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored. All administrative controls of any aspect of protection are rejected. # noqa: E501 + + :param is_frozen: The is_frozen of this TapiConnectivityResilienceConstraint. + :type is_frozen: bool + """ + + self._is_frozen = is_frozen + + @property + def wait_to_revert_time(self) -> int: + """Gets the wait_to_revert_time of this TapiConnectivityResilienceConstraint. + + If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource. # noqa: E501 + + :return: The wait_to_revert_time of this TapiConnectivityResilienceConstraint. + :rtype: int + """ + return self._wait_to_revert_time + + @wait_to_revert_time.setter + def wait_to_revert_time(self, wait_to_revert_time: int): + """Sets the wait_to_revert_time of this TapiConnectivityResilienceConstraint. + + If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource. # noqa: E501 + + :param wait_to_revert_time: The wait_to_revert_time of this TapiConnectivityResilienceConstraint. + :type wait_to_revert_time: int + """ + + self._wait_to_revert_time = wait_to_revert_time + + @property + def resilience_type(self) -> TapiTopologyResilienceType: + """Gets the resilience_type of this TapiConnectivityResilienceConstraint. + + + :return: The resilience_type of this TapiConnectivityResilienceConstraint. + :rtype: TapiTopologyResilienceType + """ + return self._resilience_type + + @resilience_type.setter + def resilience_type(self, resilience_type: TapiTopologyResilienceType): + """Sets the resilience_type of this TapiConnectivityResilienceConstraint. + + + :param resilience_type: The resilience_type of this TapiConnectivityResilienceConstraint. + :type resilience_type: TapiTopologyResilienceType + """ + + self._resilience_type = resilience_type + + @property + def preferred_restoration_layer(self) -> List[TapiCommonLayerProtocolName]: + """Gets the preferred_restoration_layer of this TapiConnectivityResilienceConstraint. + + Indicate which layer this resilience parameters package configured for. # noqa: E501 + + :return: The preferred_restoration_layer of this TapiConnectivityResilienceConstraint. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._preferred_restoration_layer + + @preferred_restoration_layer.setter + def preferred_restoration_layer(self, preferred_restoration_layer: List[TapiCommonLayerProtocolName]): + """Sets the preferred_restoration_layer of this TapiConnectivityResilienceConstraint. + + Indicate which layer this resilience parameters package configured for. # noqa: E501 + + :param preferred_restoration_layer: The preferred_restoration_layer of this TapiConnectivityResilienceConstraint. + :type preferred_restoration_layer: List[TapiCommonLayerProtocolName] + """ + + self._preferred_restoration_layer = preferred_restoration_layer + + @property + def restore_priority(self) -> int: + """Gets the restore_priority of this TapiConnectivityResilienceConstraint. + + none # noqa: E501 + + :return: The restore_priority of this TapiConnectivityResilienceConstraint. + :rtype: int + """ + return self._restore_priority + + @restore_priority.setter + def restore_priority(self, restore_priority: int): + """Sets the restore_priority of this TapiConnectivityResilienceConstraint. + + none # noqa: E501 + + :param restore_priority: The restore_priority of this TapiConnectivityResilienceConstraint. + :type restore_priority: int + """ + + self._restore_priority = restore_priority + + @property + def reversion_mode(self) -> TapiConnectivityReversionMode: + """Gets the reversion_mode of this TapiConnectivityResilienceConstraint. + + + :return: The reversion_mode of this TapiConnectivityResilienceConstraint. + :rtype: TapiConnectivityReversionMode + """ + return self._reversion_mode + + @reversion_mode.setter + def reversion_mode(self, reversion_mode: TapiConnectivityReversionMode): + """Sets the reversion_mode of this TapiConnectivityResilienceConstraint. + + + :param reversion_mode: The reversion_mode of this TapiConnectivityResilienceConstraint. + :type reversion_mode: TapiConnectivityReversionMode + """ + + self._reversion_mode = reversion_mode diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_route.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_route.py new file mode 100644 index 0000000000000000000000000000000000000000..a005aa32b44d6f0ed694a0b6d7f95f047ded4b28 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_route.py @@ -0,0 +1,150 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityResilienceRoute(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, priority: int=None, route_state: str=None): # noqa: E501 + """TapiConnectivityResilienceRoute - a model defined in Swagger + + :param name: The name of this TapiConnectivityResilienceRoute. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiConnectivityResilienceRoute. # noqa: E501 + :type local_id: str + :param priority: The priority of this TapiConnectivityResilienceRoute. # noqa: E501 + :type priority: int + :param route_state: The route_state of this TapiConnectivityResilienceRoute. # noqa: E501 + :type route_state: str + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'priority': int, + 'route_state': str + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'priority': 'priority', + 'route_state': 'route-state' + } + self._name = name + self._local_id = local_id + self._priority = priority + self._route_state = route_state + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityResilienceRoute': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ResilienceRoute of this TapiConnectivityResilienceRoute. # noqa: E501 + :rtype: TapiConnectivityResilienceRoute + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivityResilienceRoute. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivityResilienceRoute. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivityResilienceRoute. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivityResilienceRoute. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiConnectivityResilienceRoute. + + none # noqa: E501 + + :return: The local_id of this TapiConnectivityResilienceRoute. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiConnectivityResilienceRoute. + + none # noqa: E501 + + :param local_id: The local_id of this TapiConnectivityResilienceRoute. + :type local_id: str + """ + + self._local_id = local_id + + @property + def priority(self) -> int: + """Gets the priority of this TapiConnectivityResilienceRoute. + + Value of 0 (zero) means 'unspecified priority'. Highest priority is 1, sometimes referred as 'preferred' or 'main' or 'intended' route. 2 has lower priority than 1, 3 has lower priority than 2, etc. # noqa: E501 + + :return: The priority of this TapiConnectivityResilienceRoute. + :rtype: int + """ + return self._priority + + @priority.setter + def priority(self, priority: int): + """Sets the priority of this TapiConnectivityResilienceRoute. + + Value of 0 (zero) means 'unspecified priority'. Highest priority is 1, sometimes referred as 'preferred' or 'main' or 'intended' route. 2 has lower priority than 1, 3 has lower priority than 2, etc. # noqa: E501 + + :param priority: The priority of this TapiConnectivityResilienceRoute. + :type priority: int + """ + + self._priority = priority + + @property + def route_state(self) -> str: + """Gets the route_state of this TapiConnectivityResilienceRoute. + + Current information on the route selection. # noqa: E501 + + :return: The route_state of this TapiConnectivityResilienceRoute. + :rtype: str + """ + return self._route_state + + @route_state.setter + def route_state(self, route_state: str): + """Sets the route_state of this TapiConnectivityResilienceRoute. + + Current information on the route selection. # noqa: E501 + + :param route_state: The route_state of this TapiConnectivityResilienceRoute. + :type route_state: str + """ + + self._route_state = route_state diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_route_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_route_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..7c1e3af55f692d9a7585957ab2ecff68be4e3e24 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_resilience_route_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_resilience_route import TapiConnectivityResilienceRoute # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityResilienceRouteWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, resilience_route_pac: TapiConnectivityResilienceRoute=None): # noqa: E501 + """TapiConnectivityResilienceRouteWrapper - a model defined in Swagger + + :param resilience_route_pac: The resilience_route_pac of this TapiConnectivityResilienceRouteWrapper. # noqa: E501 + :type resilience_route_pac: TapiConnectivityResilienceRoute + """ + self.swagger_types = { + 'resilience_route_pac': TapiConnectivityResilienceRoute + } + + self.attribute_map = { + 'resilience_route_pac': 'resilience-route-pac' + } + self._resilience_route_pac = resilience_route_pac + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityResilienceRouteWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ResilienceRouteWrapper of this TapiConnectivityResilienceRouteWrapper. # noqa: E501 + :rtype: TapiConnectivityResilienceRouteWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def resilience_route_pac(self) -> TapiConnectivityResilienceRoute: + """Gets the resilience_route_pac of this TapiConnectivityResilienceRouteWrapper. + + + :return: The resilience_route_pac of this TapiConnectivityResilienceRouteWrapper. + :rtype: TapiConnectivityResilienceRoute + """ + return self._resilience_route_pac + + @resilience_route_pac.setter + def resilience_route_pac(self, resilience_route_pac: TapiConnectivityResilienceRoute): + """Sets the resilience_route_pac of this TapiConnectivityResilienceRouteWrapper. + + + :param resilience_route_pac: The resilience_route_pac of this TapiConnectivityResilienceRouteWrapper. + :type resilience_route_pac: TapiConnectivityResilienceRoute + """ + + self._resilience_route_pac = resilience_route_pac diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_reversion_mode.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_reversion_mode.py new file mode 100644 index 0000000000000000000000000000000000000000..8004b8293a895a9d32ecdd27b3642bf22fe5934b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_reversion_mode.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityReversionMode(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + REVERTIVE = "REVERTIVE" + NON_REVERTIVE = "NON-REVERTIVE" + def __init__(self): # noqa: E501 + """TapiConnectivityReversionMode - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityReversionMode': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ReversionMode of this TapiConnectivityReversionMode. # noqa: E501 + :rtype: TapiConnectivityReversionMode + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route.py new file mode 100644 index 0000000000000000000000000000000000000000..85768ee1727161a3741e38656d9d49fe9ee2e0e3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route.py @@ -0,0 +1,150 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_resilience_route import TapiConnectivityResilienceRoute # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityRoute(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, connection_end_point: List[TapiConnectivityConnectionEndPointRef]=None, resilience_route_pac: TapiConnectivityResilienceRoute=None): # noqa: E501 + """TapiConnectivityRoute - a model defined in Swagger + + :param name: The name of this TapiConnectivityRoute. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiConnectivityRoute. # noqa: E501 + :type local_id: str + :param connection_end_point: The connection_end_point of this TapiConnectivityRoute. # noqa: E501 + :type connection_end_point: List[TapiConnectivityConnectionEndPointRef] + :param resilience_route_pac: The resilience_route_pac of this TapiConnectivityRoute. # noqa: E501 + :type resilience_route_pac: TapiConnectivityResilienceRoute + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'connection_end_point': List[TapiConnectivityConnectionEndPointRef], + 'resilience_route_pac': TapiConnectivityResilienceRoute + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'connection_end_point': 'connection-end-point', + 'resilience_route_pac': 'resilience-route-pac' + } + self._name = name + self._local_id = local_id + self._connection_end_point = connection_end_point + self._resilience_route_pac = resilience_route_pac + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityRoute': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.Route of this TapiConnectivityRoute. # noqa: E501 + :rtype: TapiConnectivityRoute + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivityRoute. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivityRoute. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivityRoute. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivityRoute. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiConnectivityRoute. + + none # noqa: E501 + + :return: The local_id of this TapiConnectivityRoute. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiConnectivityRoute. + + none # noqa: E501 + + :param local_id: The local_id of this TapiConnectivityRoute. + :type local_id: str + """ + + self._local_id = local_id + + @property + def connection_end_point(self) -> List[TapiConnectivityConnectionEndPointRef]: + """Gets the connection_end_point of this TapiConnectivityRoute. + + none # noqa: E501 + + :return: The connection_end_point of this TapiConnectivityRoute. + :rtype: List[TapiConnectivityConnectionEndPointRef] + """ + return self._connection_end_point + + @connection_end_point.setter + def connection_end_point(self, connection_end_point: List[TapiConnectivityConnectionEndPointRef]): + """Sets the connection_end_point of this TapiConnectivityRoute. + + none # noqa: E501 + + :param connection_end_point: The connection_end_point of this TapiConnectivityRoute. + :type connection_end_point: List[TapiConnectivityConnectionEndPointRef] + """ + + self._connection_end_point = connection_end_point + + @property + def resilience_route_pac(self) -> TapiConnectivityResilienceRoute: + """Gets the resilience_route_pac of this TapiConnectivityRoute. + + + :return: The resilience_route_pac of this TapiConnectivityRoute. + :rtype: TapiConnectivityResilienceRoute + """ + return self._resilience_route_pac + + @resilience_route_pac.setter + def resilience_route_pac(self, resilience_route_pac: TapiConnectivityResilienceRoute): + """Sets the resilience_route_pac of this TapiConnectivityRoute. + + + :param resilience_route_pac: The resilience_route_pac of this TapiConnectivityRoute. + :type resilience_route_pac: TapiConnectivityResilienceRoute + """ + + self._resilience_route_pac = resilience_route_pac diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..3c8e794f10d6ab135daf8c5bec387408285afdf3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityRouteRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_uuid: str=None, route_local_id: str=None): # noqa: E501 + """TapiConnectivityRouteRef - a model defined in Swagger + + :param connection_uuid: The connection_uuid of this TapiConnectivityRouteRef. # noqa: E501 + :type connection_uuid: str + :param route_local_id: The route_local_id of this TapiConnectivityRouteRef. # noqa: E501 + :type route_local_id: str + """ + self.swagger_types = { + 'connection_uuid': str, + 'route_local_id': str + } + + self.attribute_map = { + 'connection_uuid': 'connection-uuid', + 'route_local_id': 'route-local-id' + } + self._connection_uuid = connection_uuid + self._route_local_id = route_local_id + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityRouteRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.RouteRef of this TapiConnectivityRouteRef. # noqa: E501 + :rtype: TapiConnectivityRouteRef + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_uuid(self) -> str: + """Gets the connection_uuid of this TapiConnectivityRouteRef. + + none # noqa: E501 + + :return: The connection_uuid of this TapiConnectivityRouteRef. + :rtype: str + """ + return self._connection_uuid + + @connection_uuid.setter + def connection_uuid(self, connection_uuid: str): + """Sets the connection_uuid of this TapiConnectivityRouteRef. + + none # noqa: E501 + + :param connection_uuid: The connection_uuid of this TapiConnectivityRouteRef. + :type connection_uuid: str + """ + + self._connection_uuid = connection_uuid + + @property + def route_local_id(self) -> str: + """Gets the route_local_id of this TapiConnectivityRouteRef. + + none # noqa: E501 + + :return: The route_local_id of this TapiConnectivityRouteRef. + :rtype: str + """ + return self._route_local_id + + @route_local_id.setter + def route_local_id(self, route_local_id: str): + """Sets the route_local_id of this TapiConnectivityRouteRef. + + none # noqa: E501 + + :param route_local_id: The route_local_id of this TapiConnectivityRouteRef. + :type route_local_id: str + """ + + self._route_local_id = route_local_id diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..32de337b97f5437d9a447ae03aa2705f94e82166 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_route_ref import TapiConnectivityRouteRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityRouteRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, selected_route: TapiConnectivityRouteRef=None): # noqa: E501 + """TapiConnectivityRouteRefWrapper - a model defined in Swagger + + :param selected_route: The selected_route of this TapiConnectivityRouteRefWrapper. # noqa: E501 + :type selected_route: TapiConnectivityRouteRef + """ + self.swagger_types = { + 'selected_route': TapiConnectivityRouteRef + } + + self.attribute_map = { + 'selected_route': 'selected-route' + } + self._selected_route = selected_route + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityRouteRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.RouteRefWrapper of this TapiConnectivityRouteRefWrapper. # noqa: E501 + :rtype: TapiConnectivityRouteRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def selected_route(self) -> TapiConnectivityRouteRef: + """Gets the selected_route of this TapiConnectivityRouteRefWrapper. + + + :return: The selected_route of this TapiConnectivityRouteRefWrapper. + :rtype: TapiConnectivityRouteRef + """ + return self._selected_route + + @selected_route.setter + def selected_route(self, selected_route: TapiConnectivityRouteRef): + """Sets the selected_route of this TapiConnectivityRouteRefWrapper. + + + :param selected_route: The selected_route of this TapiConnectivityRouteRefWrapper. + :type selected_route: TapiConnectivityRouteRef + """ + + self._selected_route = selected_route diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..846bb16c72cbaf0e4d13eb37849abff4cc0b8065 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_route_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_route import TapiConnectivityRoute # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityRouteWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, route: TapiConnectivityRoute=None): # noqa: E501 + """TapiConnectivityRouteWrapper - a model defined in Swagger + + :param route: The route of this TapiConnectivityRouteWrapper. # noqa: E501 + :type route: TapiConnectivityRoute + """ + self.swagger_types = { + 'route': TapiConnectivityRoute + } + + self.attribute_map = { + 'route': 'route' + } + self._route = route + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityRouteWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.RouteWrapper of this TapiConnectivityRouteWrapper. # noqa: E501 + :rtype: TapiConnectivityRouteWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def route(self) -> TapiConnectivityRoute: + """Gets the route of this TapiConnectivityRouteWrapper. + + + :return: The route of this TapiConnectivityRouteWrapper. + :rtype: TapiConnectivityRoute + """ + return self._route + + @route.setter + def route(self, route: TapiConnectivityRoute): + """Sets the route of this TapiConnectivityRouteWrapper. + + + :param route: The route of this TapiConnectivityRouteWrapper. + :type route: TapiConnectivityRoute + """ + + self._route = route diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_selection_control.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_selection_control.py new file mode 100644 index 0000000000000000000000000000000000000000..12a0cef5a396a0df41b9ae2fde20948fbb71353d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_selection_control.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivitySelectionControl(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + LOCK_OUT = "LOCK_OUT" + NORMAL = "NORMAL" + MANUAL = "MANUAL" + FORCED = "FORCED" + def __init__(self): # noqa: E501 + """TapiConnectivitySelectionControl - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySelectionControl': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SelectionControl of this TapiConnectivitySelectionControl. # noqa: E501 + :rtype: TapiConnectivitySelectionControl + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_selection_reason.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_selection_reason.py new file mode 100644 index 0000000000000000000000000000000000000000..2c20d3577365fcc314e587b6c0dab95185e01212 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_selection_reason.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivitySelectionReason(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + LOCKOUT = "LOCKOUT" + NORMAL = "NORMAL" + MANUAL = "MANUAL" + FORCED = "FORCED" + WAIT_TO_REVERT = "WAIT_TO_REVERT" + SIGNAL_DEGRADE = "SIGNAL_DEGRADE" + SIGNAL_FAIL = "SIGNAL_FAIL" + def __init__(self): # noqa: E501 + """TapiConnectivitySelectionReason - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySelectionReason': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SelectionReason of this TapiConnectivitySelectionReason. # noqa: E501 + :rtype: TapiConnectivitySelectionReason + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_service_type.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_service_type.py new file mode 100644 index 0000000000000000000000000000000000000000..ef342f8db50904a03f62b0b5340662107a78dd8a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_service_type.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiConnectivityServiceType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + POINT_TO_POINT_CONNECTIVITY = "POINT_TO_POINT_CONNECTIVITY" + POINT_TO_MULTIPOINT_CONNECTIVITY = "POINT_TO_MULTIPOINT_CONNECTIVITY" + MULTIPOINT_CONNECTIVITY = "MULTIPOINT_CONNECTIVITY" + ROOTED_MULTIPOINT_CONNECTIVITY = "ROOTED_MULTIPOINT_CONNECTIVITY" + def __init__(self): # noqa: E501 + """TapiConnectivityServiceType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityServiceType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.ServiceType of this TapiConnectivityServiceType. # noqa: E501 + :rtype: TapiConnectivityServiceType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch.py new file mode 100644 index 0000000000000000000000000000000000000000..564ef1b1931130cdc24b09f01a1c08d420800dee --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch.py @@ -0,0 +1,233 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref import TapiConnectivityConnectionEndPointRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_route_ref import TapiConnectivityRouteRef # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_selection_control import TapiConnectivitySelectionControl # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_selection_reason import TapiConnectivitySelectionReason # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivitySwitch(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, selected_connection_end_point: List[TapiConnectivityConnectionEndPointRef]=None, selected_route: List[TapiConnectivityRouteRef]=None, selection_control: TapiConnectivitySelectionControl=None, selection_reason: TapiConnectivitySelectionReason=None, switch_direction: TapiCommonPortDirection=None): # noqa: E501 + """TapiConnectivitySwitch - a model defined in Swagger + + :param name: The name of this TapiConnectivitySwitch. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiConnectivitySwitch. # noqa: E501 + :type local_id: str + :param selected_connection_end_point: The selected_connection_end_point of this TapiConnectivitySwitch. # noqa: E501 + :type selected_connection_end_point: List[TapiConnectivityConnectionEndPointRef] + :param selected_route: The selected_route of this TapiConnectivitySwitch. # noqa: E501 + :type selected_route: List[TapiConnectivityRouteRef] + :param selection_control: The selection_control of this TapiConnectivitySwitch. # noqa: E501 + :type selection_control: TapiConnectivitySelectionControl + :param selection_reason: The selection_reason of this TapiConnectivitySwitch. # noqa: E501 + :type selection_reason: TapiConnectivitySelectionReason + :param switch_direction: The switch_direction of this TapiConnectivitySwitch. # noqa: E501 + :type switch_direction: TapiCommonPortDirection + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'selected_connection_end_point': List[TapiConnectivityConnectionEndPointRef], + 'selected_route': List[TapiConnectivityRouteRef], + 'selection_control': TapiConnectivitySelectionControl, + 'selection_reason': TapiConnectivitySelectionReason, + 'switch_direction': TapiCommonPortDirection + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'selected_connection_end_point': 'selected-connection-end-point', + 'selected_route': 'selected-route', + 'selection_control': 'selection-control', + 'selection_reason': 'selection-reason', + 'switch_direction': 'switch-direction' + } + self._name = name + self._local_id = local_id + self._selected_connection_end_point = selected_connection_end_point + self._selected_route = selected_route + self._selection_control = selection_control + self._selection_reason = selection_reason + self._switch_direction = switch_direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySwitch': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.Switch of this TapiConnectivitySwitch. # noqa: E501 + :rtype: TapiConnectivitySwitch + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivitySwitch. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivitySwitch. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivitySwitch. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivitySwitch. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiConnectivitySwitch. + + none # noqa: E501 + + :return: The local_id of this TapiConnectivitySwitch. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiConnectivitySwitch. + + none # noqa: E501 + + :param local_id: The local_id of this TapiConnectivitySwitch. + :type local_id: str + """ + + self._local_id = local_id + + @property + def selected_connection_end_point(self) -> List[TapiConnectivityConnectionEndPointRef]: + """Gets the selected_connection_end_point of this TapiConnectivitySwitch. + + none # noqa: E501 + + :return: The selected_connection_end_point of this TapiConnectivitySwitch. + :rtype: List[TapiConnectivityConnectionEndPointRef] + """ + return self._selected_connection_end_point + + @selected_connection_end_point.setter + def selected_connection_end_point(self, selected_connection_end_point: List[TapiConnectivityConnectionEndPointRef]): + """Sets the selected_connection_end_point of this TapiConnectivitySwitch. + + none # noqa: E501 + + :param selected_connection_end_point: The selected_connection_end_point of this TapiConnectivitySwitch. + :type selected_connection_end_point: List[TapiConnectivityConnectionEndPointRef] + """ + + self._selected_connection_end_point = selected_connection_end_point + + @property + def selected_route(self) -> List[TapiConnectivityRouteRef]: + """Gets the selected_route of this TapiConnectivitySwitch. + + none # noqa: E501 + + :return: The selected_route of this TapiConnectivitySwitch. + :rtype: List[TapiConnectivityRouteRef] + """ + return self._selected_route + + @selected_route.setter + def selected_route(self, selected_route: List[TapiConnectivityRouteRef]): + """Sets the selected_route of this TapiConnectivitySwitch. + + none # noqa: E501 + + :param selected_route: The selected_route of this TapiConnectivitySwitch. + :type selected_route: List[TapiConnectivityRouteRef] + """ + + self._selected_route = selected_route + + @property + def selection_control(self) -> TapiConnectivitySelectionControl: + """Gets the selection_control of this TapiConnectivitySwitch. + + + :return: The selection_control of this TapiConnectivitySwitch. + :rtype: TapiConnectivitySelectionControl + """ + return self._selection_control + + @selection_control.setter + def selection_control(self, selection_control: TapiConnectivitySelectionControl): + """Sets the selection_control of this TapiConnectivitySwitch. + + + :param selection_control: The selection_control of this TapiConnectivitySwitch. + :type selection_control: TapiConnectivitySelectionControl + """ + + self._selection_control = selection_control + + @property + def selection_reason(self) -> TapiConnectivitySelectionReason: + """Gets the selection_reason of this TapiConnectivitySwitch. + + + :return: The selection_reason of this TapiConnectivitySwitch. + :rtype: TapiConnectivitySelectionReason + """ + return self._selection_reason + + @selection_reason.setter + def selection_reason(self, selection_reason: TapiConnectivitySelectionReason): + """Sets the selection_reason of this TapiConnectivitySwitch. + + + :param selection_reason: The selection_reason of this TapiConnectivitySwitch. + :type selection_reason: TapiConnectivitySelectionReason + """ + + self._selection_reason = selection_reason + + @property + def switch_direction(self) -> TapiCommonPortDirection: + """Gets the switch_direction of this TapiConnectivitySwitch. + + + :return: The switch_direction of this TapiConnectivitySwitch. + :rtype: TapiCommonPortDirection + """ + return self._switch_direction + + @switch_direction.setter + def switch_direction(self, switch_direction: TapiCommonPortDirection): + """Sets the switch_direction of this TapiConnectivitySwitch. + + + :param switch_direction: The switch_direction of this TapiConnectivitySwitch. + :type switch_direction: TapiCommonPortDirection + """ + + self._switch_direction = switch_direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control.py new file mode 100644 index 0000000000000000000000000000000000000000..72150962af704593bb19d8a865cea2c14d955fda --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control.py @@ -0,0 +1,459 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_coordinate_type import TapiConnectivityCoordinateType # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_resilience_constraint import TapiConnectivityResilienceConstraint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_reversion_mode import TapiConnectivityReversionMode # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_switch import TapiConnectivitySwitch # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_switch_control_ref import TapiConnectivitySwitchControlRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_resilience_type import TapiTopologyResilienceType # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivitySwitchControl(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, is_lock_out: bool=False, max_switch_times: int=None, restoration_coordinate_type: TapiConnectivityCoordinateType=None, is_coordinated_switching_both_ends: bool=False, hold_off_time: int=None, is_frozen: bool=False, wait_to_revert_time: int=15, resilience_type: TapiTopologyResilienceType=None, preferred_restoration_layer: List[TapiCommonLayerProtocolName]=None, restore_priority: int=None, reversion_mode: TapiConnectivityReversionMode=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, sub_switch_control: List[TapiConnectivitySwitchControlRef]=None, switch: List[TapiConnectivitySwitch]=None): # noqa: E501 + """TapiConnectivitySwitchControl - a model defined in Swagger + + :param is_lock_out: The is_lock_out of this TapiConnectivitySwitchControl. # noqa: E501 + :type is_lock_out: bool + :param max_switch_times: The max_switch_times of this TapiConnectivitySwitchControl. # noqa: E501 + :type max_switch_times: int + :param restoration_coordinate_type: The restoration_coordinate_type of this TapiConnectivitySwitchControl. # noqa: E501 + :type restoration_coordinate_type: TapiConnectivityCoordinateType + :param is_coordinated_switching_both_ends: The is_coordinated_switching_both_ends of this TapiConnectivitySwitchControl. # noqa: E501 + :type is_coordinated_switching_both_ends: bool + :param hold_off_time: The hold_off_time of this TapiConnectivitySwitchControl. # noqa: E501 + :type hold_off_time: int + :param is_frozen: The is_frozen of this TapiConnectivitySwitchControl. # noqa: E501 + :type is_frozen: bool + :param wait_to_revert_time: The wait_to_revert_time of this TapiConnectivitySwitchControl. # noqa: E501 + :type wait_to_revert_time: int + :param resilience_type: The resilience_type of this TapiConnectivitySwitchControl. # noqa: E501 + :type resilience_type: TapiTopologyResilienceType + :param preferred_restoration_layer: The preferred_restoration_layer of this TapiConnectivitySwitchControl. # noqa: E501 + :type preferred_restoration_layer: List[TapiCommonLayerProtocolName] + :param restore_priority: The restore_priority of this TapiConnectivitySwitchControl. # noqa: E501 + :type restore_priority: int + :param reversion_mode: The reversion_mode of this TapiConnectivitySwitchControl. # noqa: E501 + :type reversion_mode: TapiConnectivityReversionMode + :param name: The name of this TapiConnectivitySwitchControl. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiConnectivitySwitchControl. # noqa: E501 + :type uuid: str + :param sub_switch_control: The sub_switch_control of this TapiConnectivitySwitchControl. # noqa: E501 + :type sub_switch_control: List[TapiConnectivitySwitchControlRef] + :param switch: The switch of this TapiConnectivitySwitchControl. # noqa: E501 + :type switch: List[TapiConnectivitySwitch] + """ + self.swagger_types = { + 'is_lock_out': bool, + 'max_switch_times': int, + 'restoration_coordinate_type': TapiConnectivityCoordinateType, + 'is_coordinated_switching_both_ends': bool, + 'hold_off_time': int, + 'is_frozen': bool, + 'wait_to_revert_time': int, + 'resilience_type': TapiTopologyResilienceType, + 'preferred_restoration_layer': List[TapiCommonLayerProtocolName], + 'restore_priority': int, + 'reversion_mode': TapiConnectivityReversionMode, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'sub_switch_control': List[TapiConnectivitySwitchControlRef], + 'switch': List[TapiConnectivitySwitch] + } + + self.attribute_map = { + 'is_lock_out': 'is-lock-out', + 'max_switch_times': 'max-switch-times', + 'restoration_coordinate_type': 'restoration-coordinate-type', + 'is_coordinated_switching_both_ends': 'is-coordinated-switching-both-ends', + 'hold_off_time': 'hold-off-time', + 'is_frozen': 'is-frozen', + 'wait_to_revert_time': 'wait-to-revert-time', + 'resilience_type': 'resilience-type', + 'preferred_restoration_layer': 'preferred-restoration-layer', + 'restore_priority': 'restore-priority', + 'reversion_mode': 'reversion-mode', + 'name': 'name', + 'uuid': 'uuid', + 'sub_switch_control': 'sub-switch-control', + 'switch': 'switch' + } + self._is_lock_out = is_lock_out + self._max_switch_times = max_switch_times + self._restoration_coordinate_type = restoration_coordinate_type + self._is_coordinated_switching_both_ends = is_coordinated_switching_both_ends + self._hold_off_time = hold_off_time + self._is_frozen = is_frozen + self._wait_to_revert_time = wait_to_revert_time + self._resilience_type = resilience_type + self._preferred_restoration_layer = preferred_restoration_layer + self._restore_priority = restore_priority + self._reversion_mode = reversion_mode + self._name = name + self._uuid = uuid + self._sub_switch_control = sub_switch_control + self._switch = switch + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySwitchControl': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SwitchControl of this TapiConnectivitySwitchControl. # noqa: E501 + :rtype: TapiConnectivitySwitchControl + """ + return util.deserialize_model(dikt, cls) + + @property + def is_lock_out(self) -> bool: + """Gets the is_lock_out of this TapiConnectivitySwitchControl. + + The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of. This overrides all other protection control states including forced. If the item is locked out then it cannot be used under any circumstances. Note: Only relevant when part of a protection scheme. # noqa: E501 + + :return: The is_lock_out of this TapiConnectivitySwitchControl. + :rtype: bool + """ + return self._is_lock_out + + @is_lock_out.setter + def is_lock_out(self, is_lock_out: bool): + """Sets the is_lock_out of this TapiConnectivitySwitchControl. + + The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of. This overrides all other protection control states including forced. If the item is locked out then it cannot be used under any circumstances. Note: Only relevant when part of a protection scheme. # noqa: E501 + + :param is_lock_out: The is_lock_out of this TapiConnectivitySwitchControl. + :type is_lock_out: bool + """ + + self._is_lock_out = is_lock_out + + @property + def max_switch_times(self) -> int: + """Gets the max_switch_times of this TapiConnectivitySwitchControl. + + Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset. # noqa: E501 + + :return: The max_switch_times of this TapiConnectivitySwitchControl. + :rtype: int + """ + return self._max_switch_times + + @max_switch_times.setter + def max_switch_times(self, max_switch_times: int): + """Sets the max_switch_times of this TapiConnectivitySwitchControl. + + Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset. # noqa: E501 + + :param max_switch_times: The max_switch_times of this TapiConnectivitySwitchControl. + :type max_switch_times: int + """ + + self._max_switch_times = max_switch_times + + @property + def restoration_coordinate_type(self) -> TapiConnectivityCoordinateType: + """Gets the restoration_coordinate_type of this TapiConnectivitySwitchControl. + + + :return: The restoration_coordinate_type of this TapiConnectivitySwitchControl. + :rtype: TapiConnectivityCoordinateType + """ + return self._restoration_coordinate_type + + @restoration_coordinate_type.setter + def restoration_coordinate_type(self, restoration_coordinate_type: TapiConnectivityCoordinateType): + """Sets the restoration_coordinate_type of this TapiConnectivitySwitchControl. + + + :param restoration_coordinate_type: The restoration_coordinate_type of this TapiConnectivitySwitchControl. + :type restoration_coordinate_type: TapiConnectivityCoordinateType + """ + + self._restoration_coordinate_type = restoration_coordinate_type + + @property + def is_coordinated_switching_both_ends(self) -> bool: + """Gets the is_coordinated_switching_both_ends of this TapiConnectivitySwitchControl. + + Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends. # noqa: E501 + + :return: The is_coordinated_switching_both_ends of this TapiConnectivitySwitchControl. + :rtype: bool + """ + return self._is_coordinated_switching_both_ends + + @is_coordinated_switching_both_ends.setter + def is_coordinated_switching_both_ends(self, is_coordinated_switching_both_ends: bool): + """Sets the is_coordinated_switching_both_ends of this TapiConnectivitySwitchControl. + + Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends. # noqa: E501 + + :param is_coordinated_switching_both_ends: The is_coordinated_switching_both_ends of this TapiConnectivitySwitchControl. + :type is_coordinated_switching_both_ends: bool + """ + + self._is_coordinated_switching_both_ends = is_coordinated_switching_both_ends + + @property + def hold_off_time(self) -> int: + """Gets the hold_off_time of this TapiConnectivitySwitchControl. + + This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. # noqa: E501 + + :return: The hold_off_time of this TapiConnectivitySwitchControl. + :rtype: int + """ + return self._hold_off_time + + @hold_off_time.setter + def hold_off_time(self, hold_off_time: int): + """Sets the hold_off_time of this TapiConnectivitySwitchControl. + + This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. # noqa: E501 + + :param hold_off_time: The hold_off_time of this TapiConnectivitySwitchControl. + :type hold_off_time: int + """ + + self._hold_off_time = hold_off_time + + @property + def is_frozen(self) -> bool: + """Gets the is_frozen of this TapiConnectivitySwitchControl. + + Temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored. All administrative controls of any aspect of protection are rejected. # noqa: E501 + + :return: The is_frozen of this TapiConnectivitySwitchControl. + :rtype: bool + """ + return self._is_frozen + + @is_frozen.setter + def is_frozen(self, is_frozen: bool): + """Sets the is_frozen of this TapiConnectivitySwitchControl. + + Temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored. All administrative controls of any aspect of protection are rejected. # noqa: E501 + + :param is_frozen: The is_frozen of this TapiConnectivitySwitchControl. + :type is_frozen: bool + """ + + self._is_frozen = is_frozen + + @property + def wait_to_revert_time(self) -> int: + """Gets the wait_to_revert_time of this TapiConnectivitySwitchControl. + + If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource. # noqa: E501 + + :return: The wait_to_revert_time of this TapiConnectivitySwitchControl. + :rtype: int + """ + return self._wait_to_revert_time + + @wait_to_revert_time.setter + def wait_to_revert_time(self, wait_to_revert_time: int): + """Sets the wait_to_revert_time of this TapiConnectivitySwitchControl. + + If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource. # noqa: E501 + + :param wait_to_revert_time: The wait_to_revert_time of this TapiConnectivitySwitchControl. + :type wait_to_revert_time: int + """ + + self._wait_to_revert_time = wait_to_revert_time + + @property + def resilience_type(self) -> TapiTopologyResilienceType: + """Gets the resilience_type of this TapiConnectivitySwitchControl. + + + :return: The resilience_type of this TapiConnectivitySwitchControl. + :rtype: TapiTopologyResilienceType + """ + return self._resilience_type + + @resilience_type.setter + def resilience_type(self, resilience_type: TapiTopologyResilienceType): + """Sets the resilience_type of this TapiConnectivitySwitchControl. + + + :param resilience_type: The resilience_type of this TapiConnectivitySwitchControl. + :type resilience_type: TapiTopologyResilienceType + """ + + self._resilience_type = resilience_type + + @property + def preferred_restoration_layer(self) -> List[TapiCommonLayerProtocolName]: + """Gets the preferred_restoration_layer of this TapiConnectivitySwitchControl. + + Indicate which layer this resilience parameters package configured for. # noqa: E501 + + :return: The preferred_restoration_layer of this TapiConnectivitySwitchControl. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._preferred_restoration_layer + + @preferred_restoration_layer.setter + def preferred_restoration_layer(self, preferred_restoration_layer: List[TapiCommonLayerProtocolName]): + """Sets the preferred_restoration_layer of this TapiConnectivitySwitchControl. + + Indicate which layer this resilience parameters package configured for. # noqa: E501 + + :param preferred_restoration_layer: The preferred_restoration_layer of this TapiConnectivitySwitchControl. + :type preferred_restoration_layer: List[TapiCommonLayerProtocolName] + """ + + self._preferred_restoration_layer = preferred_restoration_layer + + @property + def restore_priority(self) -> int: + """Gets the restore_priority of this TapiConnectivitySwitchControl. + + none # noqa: E501 + + :return: The restore_priority of this TapiConnectivitySwitchControl. + :rtype: int + """ + return self._restore_priority + + @restore_priority.setter + def restore_priority(self, restore_priority: int): + """Sets the restore_priority of this TapiConnectivitySwitchControl. + + none # noqa: E501 + + :param restore_priority: The restore_priority of this TapiConnectivitySwitchControl. + :type restore_priority: int + """ + + self._restore_priority = restore_priority + + @property + def reversion_mode(self) -> TapiConnectivityReversionMode: + """Gets the reversion_mode of this TapiConnectivitySwitchControl. + + + :return: The reversion_mode of this TapiConnectivitySwitchControl. + :rtype: TapiConnectivityReversionMode + """ + return self._reversion_mode + + @reversion_mode.setter + def reversion_mode(self, reversion_mode: TapiConnectivityReversionMode): + """Sets the reversion_mode of this TapiConnectivitySwitchControl. + + + :param reversion_mode: The reversion_mode of this TapiConnectivitySwitchControl. + :type reversion_mode: TapiConnectivityReversionMode + """ + + self._reversion_mode = reversion_mode + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiConnectivitySwitchControl. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiConnectivitySwitchControl. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiConnectivitySwitchControl. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiConnectivitySwitchControl. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiConnectivitySwitchControl. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiConnectivitySwitchControl. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiConnectivitySwitchControl. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiConnectivitySwitchControl. + :type uuid: str + """ + + self._uuid = uuid + + @property + def sub_switch_control(self) -> List[TapiConnectivitySwitchControlRef]: + """Gets the sub_switch_control of this TapiConnectivitySwitchControl. + + none # noqa: E501 + + :return: The sub_switch_control of this TapiConnectivitySwitchControl. + :rtype: List[TapiConnectivitySwitchControlRef] + """ + return self._sub_switch_control + + @sub_switch_control.setter + def sub_switch_control(self, sub_switch_control: List[TapiConnectivitySwitchControlRef]): + """Sets the sub_switch_control of this TapiConnectivitySwitchControl. + + none # noqa: E501 + + :param sub_switch_control: The sub_switch_control of this TapiConnectivitySwitchControl. + :type sub_switch_control: List[TapiConnectivitySwitchControlRef] + """ + + self._sub_switch_control = sub_switch_control + + @property + def switch(self) -> List[TapiConnectivitySwitch]: + """Gets the switch of this TapiConnectivitySwitchControl. + + none # noqa: E501 + + :return: The switch of this TapiConnectivitySwitchControl. + :rtype: List[TapiConnectivitySwitch] + """ + return self._switch + + @switch.setter + def switch(self, switch: List[TapiConnectivitySwitch]): + """Sets the switch of this TapiConnectivitySwitchControl. + + none # noqa: E501 + + :param switch: The switch of this TapiConnectivitySwitchControl. + :type switch: List[TapiConnectivitySwitch] + """ + + self._switch = switch diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..6167745852ce3c81c4818103d42d2a6271abb83b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connection_ref import TapiConnectivityConnectionRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivitySwitchControlRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_uuid: str=None, switch_control_uuid: str=None): # noqa: E501 + """TapiConnectivitySwitchControlRef - a model defined in Swagger + + :param connection_uuid: The connection_uuid of this TapiConnectivitySwitchControlRef. # noqa: E501 + :type connection_uuid: str + :param switch_control_uuid: The switch_control_uuid of this TapiConnectivitySwitchControlRef. # noqa: E501 + :type switch_control_uuid: str + """ + self.swagger_types = { + 'connection_uuid': str, + 'switch_control_uuid': str + } + + self.attribute_map = { + 'connection_uuid': 'connection-uuid', + 'switch_control_uuid': 'switch-control-uuid' + } + self._connection_uuid = connection_uuid + self._switch_control_uuid = switch_control_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySwitchControlRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SwitchControlRef of this TapiConnectivitySwitchControlRef. # noqa: E501 + :rtype: TapiConnectivitySwitchControlRef + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_uuid(self) -> str: + """Gets the connection_uuid of this TapiConnectivitySwitchControlRef. + + none # noqa: E501 + + :return: The connection_uuid of this TapiConnectivitySwitchControlRef. + :rtype: str + """ + return self._connection_uuid + + @connection_uuid.setter + def connection_uuid(self, connection_uuid: str): + """Sets the connection_uuid of this TapiConnectivitySwitchControlRef. + + none # noqa: E501 + + :param connection_uuid: The connection_uuid of this TapiConnectivitySwitchControlRef. + :type connection_uuid: str + """ + + self._connection_uuid = connection_uuid + + @property + def switch_control_uuid(self) -> str: + """Gets the switch_control_uuid of this TapiConnectivitySwitchControlRef. + + none # noqa: E501 + + :return: The switch_control_uuid of this TapiConnectivitySwitchControlRef. + :rtype: str + """ + return self._switch_control_uuid + + @switch_control_uuid.setter + def switch_control_uuid(self, switch_control_uuid: str): + """Sets the switch_control_uuid of this TapiConnectivitySwitchControlRef. + + none # noqa: E501 + + :param switch_control_uuid: The switch_control_uuid of this TapiConnectivitySwitchControlRef. + :type switch_control_uuid: str + """ + + self._switch_control_uuid = switch_control_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..9e6f183b20f9bcedbd34bab0865d22d567d94536 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_switch_control_ref import TapiConnectivitySwitchControlRef # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivitySwitchControlRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, sub_switch_control: TapiConnectivitySwitchControlRef=None): # noqa: E501 + """TapiConnectivitySwitchControlRefWrapper - a model defined in Swagger + + :param sub_switch_control: The sub_switch_control of this TapiConnectivitySwitchControlRefWrapper. # noqa: E501 + :type sub_switch_control: TapiConnectivitySwitchControlRef + """ + self.swagger_types = { + 'sub_switch_control': TapiConnectivitySwitchControlRef + } + + self.attribute_map = { + 'sub_switch_control': 'sub-switch-control' + } + self._sub_switch_control = sub_switch_control + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySwitchControlRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SwitchControlRefWrapper of this TapiConnectivitySwitchControlRefWrapper. # noqa: E501 + :rtype: TapiConnectivitySwitchControlRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def sub_switch_control(self) -> TapiConnectivitySwitchControlRef: + """Gets the sub_switch_control of this TapiConnectivitySwitchControlRefWrapper. + + + :return: The sub_switch_control of this TapiConnectivitySwitchControlRefWrapper. + :rtype: TapiConnectivitySwitchControlRef + """ + return self._sub_switch_control + + @sub_switch_control.setter + def sub_switch_control(self, sub_switch_control: TapiConnectivitySwitchControlRef): + """Sets the sub_switch_control of this TapiConnectivitySwitchControlRefWrapper. + + + :param sub_switch_control: The sub_switch_control of this TapiConnectivitySwitchControlRefWrapper. + :type sub_switch_control: TapiConnectivitySwitchControlRef + """ + + self._sub_switch_control = sub_switch_control diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..993504e2431dfe2c8bf4587767e842a85789acc8 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_control_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_switch_control import TapiConnectivitySwitchControl # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivitySwitchControlWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, switch_control: TapiConnectivitySwitchControl=None): # noqa: E501 + """TapiConnectivitySwitchControlWrapper - a model defined in Swagger + + :param switch_control: The switch_control of this TapiConnectivitySwitchControlWrapper. # noqa: E501 + :type switch_control: TapiConnectivitySwitchControl + """ + self.swagger_types = { + 'switch_control': TapiConnectivitySwitchControl + } + + self.attribute_map = { + 'switch_control': 'switch-control' + } + self._switch_control = switch_control + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySwitchControlWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SwitchControlWrapper of this TapiConnectivitySwitchControlWrapper. # noqa: E501 + :rtype: TapiConnectivitySwitchControlWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def switch_control(self) -> TapiConnectivitySwitchControl: + """Gets the switch_control of this TapiConnectivitySwitchControlWrapper. + + + :return: The switch_control of this TapiConnectivitySwitchControlWrapper. + :rtype: TapiConnectivitySwitchControl + """ + return self._switch_control + + @switch_control.setter + def switch_control(self, switch_control: TapiConnectivitySwitchControl): + """Sets the switch_control of this TapiConnectivitySwitchControlWrapper. + + + :param switch_control: The switch_control of this TapiConnectivitySwitchControlWrapper. + :type switch_control: TapiConnectivitySwitchControl + """ + + self._switch_control = switch_control diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..52a2166bc8e4ceb0fe372ec40953c48c370ebc8a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_switch_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_switch import TapiConnectivitySwitch # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivitySwitchWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, switch: TapiConnectivitySwitch=None): # noqa: E501 + """TapiConnectivitySwitchWrapper - a model defined in Swagger + + :param switch: The switch of this TapiConnectivitySwitchWrapper. # noqa: E501 + :type switch: TapiConnectivitySwitch + """ + self.swagger_types = { + 'switch': TapiConnectivitySwitch + } + + self.attribute_map = { + 'switch': 'switch' + } + self._switch = switch + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivitySwitchWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.SwitchWrapper of this TapiConnectivitySwitchWrapper. # noqa: E501 + :rtype: TapiConnectivitySwitchWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def switch(self) -> TapiConnectivitySwitch: + """Gets the switch of this TapiConnectivitySwitchWrapper. + + + :return: The switch of this TapiConnectivitySwitchWrapper. + :rtype: TapiConnectivitySwitch + """ + return self._switch + + @switch.setter + def switch(self, switch: TapiConnectivitySwitch): + """Sets the switch of this TapiConnectivitySwitchWrapper. + + + :param switch: The switch of this TapiConnectivitySwitchWrapper. + :type switch: TapiConnectivitySwitch + """ + + self._switch = switch diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_update_connectivity_service.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_update_connectivity_service.py new file mode 100644 index 0000000000000000000000000000000000000000..3a80b938b4d68cf6d7de12c066f7e3ee50a862fe --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_update_connectivity_service.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_updateconnectivityservice_output import TapiConnectivityUpdateconnectivityserviceOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityUpdateConnectivityService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiConnectivityUpdateconnectivityserviceOutput=None): # noqa: E501 + """TapiConnectivityUpdateConnectivityService - a model defined in Swagger + + :param output: The output of this TapiConnectivityUpdateConnectivityService. # noqa: E501 + :type output: TapiConnectivityUpdateconnectivityserviceOutput + """ + self.swagger_types = { + 'output': TapiConnectivityUpdateconnectivityserviceOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityUpdateConnectivityService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.UpdateConnectivityService of this TapiConnectivityUpdateConnectivityService. # noqa: E501 + :rtype: TapiConnectivityUpdateConnectivityService + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiConnectivityUpdateconnectivityserviceOutput: + """Gets the output of this TapiConnectivityUpdateConnectivityService. + + + :return: The output of this TapiConnectivityUpdateConnectivityService. + :rtype: TapiConnectivityUpdateconnectivityserviceOutput + """ + return self._output + + @output.setter + def output(self, output: TapiConnectivityUpdateconnectivityserviceOutput): + """Sets the output of this TapiConnectivityUpdateConnectivityService. + + + :param output: The output of this TapiConnectivityUpdateConnectivityService. + :type output: TapiConnectivityUpdateconnectivityserviceOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_updateconnectivityservice_input.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_updateconnectivityservice_input.py new file mode 100644 index 0000000000000000000000000000000000000000..d871c9b8e20488b37de02be6d2ee0e441f26c5eb --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_updateconnectivityservice_input.py @@ -0,0 +1,229 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_constraint import TapiConnectivityConnectivityConstraint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point import TapiConnectivityConnectivityServiceEndPoint # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_resilience_constraint import TapiConnectivityResilienceConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityUpdateconnectivityserviceInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service_id_or_name: str=None, topology_constraint: TapiPathComputationTopologyConstraint=None, end_point: List[TapiConnectivityConnectivityServiceEndPoint]=None, resilience_constraint: TapiConnectivityResilienceConstraint=None, routing_constraint: TapiPathComputationRoutingConstraint=None, state: str=None, connectivity_constraint: TapiConnectivityConnectivityConstraint=None): # noqa: E501 + """TapiConnectivityUpdateconnectivityserviceInput - a model defined in Swagger + + :param service_id_or_name: The service_id_or_name of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type service_id_or_name: str + :param topology_constraint: The topology_constraint of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type topology_constraint: TapiPathComputationTopologyConstraint + :param end_point: The end_point of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type end_point: List[TapiConnectivityConnectivityServiceEndPoint] + :param resilience_constraint: The resilience_constraint of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type resilience_constraint: TapiConnectivityResilienceConstraint + :param routing_constraint: The routing_constraint of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + :param state: The state of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type state: str + :param connectivity_constraint: The connectivity_constraint of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :type connectivity_constraint: TapiConnectivityConnectivityConstraint + """ + self.swagger_types = { + 'service_id_or_name': str, + 'topology_constraint': TapiPathComputationTopologyConstraint, + 'end_point': List[TapiConnectivityConnectivityServiceEndPoint], + 'resilience_constraint': TapiConnectivityResilienceConstraint, + 'routing_constraint': TapiPathComputationRoutingConstraint, + 'state': str, + 'connectivity_constraint': TapiConnectivityConnectivityConstraint + } + + self.attribute_map = { + 'service_id_or_name': 'service-id-or-name', + 'topology_constraint': 'topology-constraint', + 'end_point': 'end-point', + 'resilience_constraint': 'resilience-constraint', + 'routing_constraint': 'routing-constraint', + 'state': 'state', + 'connectivity_constraint': 'connectivity-constraint' + } + self._service_id_or_name = service_id_or_name + self._topology_constraint = topology_constraint + self._end_point = end_point + self._resilience_constraint = resilience_constraint + self._routing_constraint = routing_constraint + self._state = state + self._connectivity_constraint = connectivity_constraint + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityUpdateconnectivityserviceInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.updateconnectivityservice.Input of this TapiConnectivityUpdateconnectivityserviceInput. # noqa: E501 + :rtype: TapiConnectivityUpdateconnectivityserviceInput + """ + return util.deserialize_model(dikt, cls) + + @property + def service_id_or_name(self) -> str: + """Gets the service_id_or_name of this TapiConnectivityUpdateconnectivityserviceInput. + + none # noqa: E501 + + :return: The service_id_or_name of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: str + """ + return self._service_id_or_name + + @service_id_or_name.setter + def service_id_or_name(self, service_id_or_name: str): + """Sets the service_id_or_name of this TapiConnectivityUpdateconnectivityserviceInput. + + none # noqa: E501 + + :param service_id_or_name: The service_id_or_name of this TapiConnectivityUpdateconnectivityserviceInput. + :type service_id_or_name: str + """ + + self._service_id_or_name = service_id_or_name + + @property + def topology_constraint(self) -> TapiPathComputationTopologyConstraint: + """Gets the topology_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :return: The topology_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: TapiPathComputationTopologyConstraint + """ + return self._topology_constraint + + @topology_constraint.setter + def topology_constraint(self, topology_constraint: TapiPathComputationTopologyConstraint): + """Sets the topology_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :param topology_constraint: The topology_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :type topology_constraint: TapiPathComputationTopologyConstraint + """ + + self._topology_constraint = topology_constraint + + @property + def end_point(self) -> List[TapiConnectivityConnectivityServiceEndPoint]: + """Gets the end_point of this TapiConnectivityUpdateconnectivityserviceInput. + + none # noqa: E501 + + :return: The end_point of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: List[TapiConnectivityConnectivityServiceEndPoint] + """ + return self._end_point + + @end_point.setter + def end_point(self, end_point: List[TapiConnectivityConnectivityServiceEndPoint]): + """Sets the end_point of this TapiConnectivityUpdateconnectivityserviceInput. + + none # noqa: E501 + + :param end_point: The end_point of this TapiConnectivityUpdateconnectivityserviceInput. + :type end_point: List[TapiConnectivityConnectivityServiceEndPoint] + """ + + self._end_point = end_point + + @property + def resilience_constraint(self) -> TapiConnectivityResilienceConstraint: + """Gets the resilience_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :return: The resilience_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: TapiConnectivityResilienceConstraint + """ + return self._resilience_constraint + + @resilience_constraint.setter + def resilience_constraint(self, resilience_constraint: TapiConnectivityResilienceConstraint): + """Sets the resilience_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :param resilience_constraint: The resilience_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :type resilience_constraint: TapiConnectivityResilienceConstraint + """ + + self._resilience_constraint = resilience_constraint + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :return: The routing_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :param routing_constraint: The routing_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint + + @property + def state(self) -> str: + """Gets the state of this TapiConnectivityUpdateconnectivityserviceInput. + + none # noqa: E501 + + :return: The state of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: str + """ + return self._state + + @state.setter + def state(self, state: str): + """Sets the state of this TapiConnectivityUpdateconnectivityserviceInput. + + none # noqa: E501 + + :param state: The state of this TapiConnectivityUpdateconnectivityserviceInput. + :type state: str + """ + + self._state = state + + @property + def connectivity_constraint(self) -> TapiConnectivityConnectivityConstraint: + """Gets the connectivity_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :return: The connectivity_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :rtype: TapiConnectivityConnectivityConstraint + """ + return self._connectivity_constraint + + @connectivity_constraint.setter + def connectivity_constraint(self, connectivity_constraint: TapiConnectivityConnectivityConstraint): + """Sets the connectivity_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + + + :param connectivity_constraint: The connectivity_constraint of this TapiConnectivityUpdateconnectivityserviceInput. + :type connectivity_constraint: TapiConnectivityConnectivityConstraint + """ + + self._connectivity_constraint = connectivity_constraint diff --git a/hackfest/tapi/server/tapi_server/models/tapi_connectivity_updateconnectivityservice_output.py b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_updateconnectivityservice_output.py new file mode 100644 index 0000000000000000000000000000000000000000..a9d2d85b4f5153176e3d91dd4074b1490a409d6e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_connectivity_updateconnectivityservice_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_connectivity_connectivity_service import TapiConnectivityConnectivityService # noqa: F401,E501 +from tapi_server import util + + +class TapiConnectivityUpdateconnectivityserviceOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: TapiConnectivityConnectivityService=None): # noqa: E501 + """TapiConnectivityUpdateconnectivityserviceOutput - a model defined in Swagger + + :param service: The service of this TapiConnectivityUpdateconnectivityserviceOutput. # noqa: E501 + :type service: TapiConnectivityConnectivityService + """ + self.swagger_types = { + 'service': TapiConnectivityConnectivityService + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiConnectivityUpdateconnectivityserviceOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.connectivity.updateconnectivityservice.Output of this TapiConnectivityUpdateconnectivityserviceOutput. # noqa: E501 + :rtype: TapiConnectivityUpdateconnectivityserviceOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> TapiConnectivityConnectivityService: + """Gets the service of this TapiConnectivityUpdateconnectivityserviceOutput. + + + :return: The service of this TapiConnectivityUpdateconnectivityserviceOutput. + :rtype: TapiConnectivityConnectivityService + """ + return self._service + + @service.setter + def service(self, service: TapiConnectivityConnectivityService): + """Sets the service of this TapiConnectivityUpdateconnectivityserviceOutput. + + + :param service: The service of this TapiConnectivityUpdateconnectivityserviceOutput. + :type service: TapiConnectivityConnectivityService + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_alarm_info.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_alarm_info.py new file mode 100644 index 0000000000000000000000000000000000000000..51a759100a9cb0e447d620b51db4f5fa42dbbb5c --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_alarm_info.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_perceived_severity_type import TapiNotificationPerceivedSeverityType # noqa: F401,E501 +from tapi_server.models.tapi_notification_service_affecting import TapiNotificationServiceAffecting # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationAlarmInfo(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, perceived_severity: TapiNotificationPerceivedSeverityType=None, probable_cause: str=None, service_affecting: TapiNotificationServiceAffecting=None, is_transient: bool=False): # noqa: E501 + """TapiNotificationAlarmInfo - a model defined in Swagger + + :param perceived_severity: The perceived_severity of this TapiNotificationAlarmInfo. # noqa: E501 + :type perceived_severity: TapiNotificationPerceivedSeverityType + :param probable_cause: The probable_cause of this TapiNotificationAlarmInfo. # noqa: E501 + :type probable_cause: str + :param service_affecting: The service_affecting of this TapiNotificationAlarmInfo. # noqa: E501 + :type service_affecting: TapiNotificationServiceAffecting + :param is_transient: The is_transient of this TapiNotificationAlarmInfo. # noqa: E501 + :type is_transient: bool + """ + self.swagger_types = { + 'perceived_severity': TapiNotificationPerceivedSeverityType, + 'probable_cause': str, + 'service_affecting': TapiNotificationServiceAffecting, + 'is_transient': bool + } + + self.attribute_map = { + 'perceived_severity': 'perceived-severity', + 'probable_cause': 'probable-cause', + 'service_affecting': 'service-affecting', + 'is_transient': 'is-transient' + } + self._perceived_severity = perceived_severity + self._probable_cause = probable_cause + self._service_affecting = service_affecting + self._is_transient = is_transient + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationAlarmInfo': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.AlarmInfo of this TapiNotificationAlarmInfo. # noqa: E501 + :rtype: TapiNotificationAlarmInfo + """ + return util.deserialize_model(dikt, cls) + + @property + def perceived_severity(self) -> TapiNotificationPerceivedSeverityType: + """Gets the perceived_severity of this TapiNotificationAlarmInfo. + + + :return: The perceived_severity of this TapiNotificationAlarmInfo. + :rtype: TapiNotificationPerceivedSeverityType + """ + return self._perceived_severity + + @perceived_severity.setter + def perceived_severity(self, perceived_severity: TapiNotificationPerceivedSeverityType): + """Sets the perceived_severity of this TapiNotificationAlarmInfo. + + + :param perceived_severity: The perceived_severity of this TapiNotificationAlarmInfo. + :type perceived_severity: TapiNotificationPerceivedSeverityType + """ + + self._perceived_severity = perceived_severity + + @property + def probable_cause(self) -> str: + """Gets the probable_cause of this TapiNotificationAlarmInfo. + + none # noqa: E501 + + :return: The probable_cause of this TapiNotificationAlarmInfo. + :rtype: str + """ + return self._probable_cause + + @probable_cause.setter + def probable_cause(self, probable_cause: str): + """Sets the probable_cause of this TapiNotificationAlarmInfo. + + none # noqa: E501 + + :param probable_cause: The probable_cause of this TapiNotificationAlarmInfo. + :type probable_cause: str + """ + + self._probable_cause = probable_cause + + @property + def service_affecting(self) -> TapiNotificationServiceAffecting: + """Gets the service_affecting of this TapiNotificationAlarmInfo. + + + :return: The service_affecting of this TapiNotificationAlarmInfo. + :rtype: TapiNotificationServiceAffecting + """ + return self._service_affecting + + @service_affecting.setter + def service_affecting(self, service_affecting: TapiNotificationServiceAffecting): + """Sets the service_affecting of this TapiNotificationAlarmInfo. + + + :param service_affecting: The service_affecting of this TapiNotificationAlarmInfo. + :type service_affecting: TapiNotificationServiceAffecting + """ + + self._service_affecting = service_affecting + + @property + def is_transient(self) -> bool: + """Gets the is_transient of this TapiNotificationAlarmInfo. + + none # noqa: E501 + + :return: The is_transient of this TapiNotificationAlarmInfo. + :rtype: bool + """ + return self._is_transient + + @is_transient.setter + def is_transient(self, is_transient: bool): + """Sets the is_transient of this TapiNotificationAlarmInfo. + + none # noqa: E501 + + :param is_transient: The is_transient of this TapiNotificationAlarmInfo. + :type is_transient: bool + """ + + self._is_transient = is_transient diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_alarm_info_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_alarm_info_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..d0ac0bcb010d16c1fb3429ad9864662fce4e8bda --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_alarm_info_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_alarm_info import TapiNotificationAlarmInfo # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationAlarmInfoWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, alarm_info: TapiNotificationAlarmInfo=None): # noqa: E501 + """TapiNotificationAlarmInfoWrapper - a model defined in Swagger + + :param alarm_info: The alarm_info of this TapiNotificationAlarmInfoWrapper. # noqa: E501 + :type alarm_info: TapiNotificationAlarmInfo + """ + self.swagger_types = { + 'alarm_info': TapiNotificationAlarmInfo + } + + self.attribute_map = { + 'alarm_info': 'alarm-info' + } + self._alarm_info = alarm_info + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationAlarmInfoWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.AlarmInfoWrapper of this TapiNotificationAlarmInfoWrapper. # noqa: E501 + :rtype: TapiNotificationAlarmInfoWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def alarm_info(self) -> TapiNotificationAlarmInfo: + """Gets the alarm_info of this TapiNotificationAlarmInfoWrapper. + + + :return: The alarm_info of this TapiNotificationAlarmInfoWrapper. + :rtype: TapiNotificationAlarmInfo + """ + return self._alarm_info + + @alarm_info.setter + def alarm_info(self, alarm_info: TapiNotificationAlarmInfo): + """Sets the alarm_info of this TapiNotificationAlarmInfoWrapper. + + + :param alarm_info: The alarm_info of this TapiNotificationAlarmInfoWrapper. + :type alarm_info: TapiNotificationAlarmInfo + """ + + self._alarm_info = alarm_info diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_context_augmentation1.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_context_augmentation1.py new file mode 100644 index 0000000000000000000000000000000000000000..8d363452e9ab3ba9c564a0e77791c119be44276e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_context_augmentation1.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_context import TapiNotificationNotificationContext # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationContextAugmentation1(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, notification_context: TapiNotificationNotificationContext=None): # noqa: E501 + """TapiNotificationContextAugmentation1 - a model defined in Swagger + + :param notification_context: The notification_context of this TapiNotificationContextAugmentation1. # noqa: E501 + :type notification_context: TapiNotificationNotificationContext + """ + self.swagger_types = { + 'notification_context': TapiNotificationNotificationContext + } + + self.attribute_map = { + 'notification_context': 'notification-context' + } + self._notification_context = notification_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationContextAugmentation1': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.ContextAugmentation1 of this TapiNotificationContextAugmentation1. # noqa: E501 + :rtype: TapiNotificationContextAugmentation1 + """ + return util.deserialize_model(dikt, cls) + + @property + def notification_context(self) -> TapiNotificationNotificationContext: + """Gets the notification_context of this TapiNotificationContextAugmentation1. + + + :return: The notification_context of this TapiNotificationContextAugmentation1. + :rtype: TapiNotificationNotificationContext + """ + return self._notification_context + + @notification_context.setter + def notification_context(self, notification_context: TapiNotificationNotificationContext): + """Sets the notification_context of this TapiNotificationContextAugmentation1. + + + :param notification_context: The notification_context of this TapiNotificationContextAugmentation1. + :type notification_context: TapiNotificationNotificationContext + """ + + self._notification_context = notification_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_create_notification_subscription_service.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_create_notification_subscription_service.py new file mode 100644 index 0000000000000000000000000000000000000000..93518225c0bb60ce41386242cf81c86725956260 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_create_notification_subscription_service.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_createnotificationsubscriptionservice_output import TapiNotificationCreatenotificationsubscriptionserviceOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationCreateNotificationSubscriptionService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationCreatenotificationsubscriptionserviceOutput=None): # noqa: E501 + """TapiNotificationCreateNotificationSubscriptionService - a model defined in Swagger + + :param output: The output of this TapiNotificationCreateNotificationSubscriptionService. # noqa: E501 + :type output: TapiNotificationCreatenotificationsubscriptionserviceOutput + """ + self.swagger_types = { + 'output': TapiNotificationCreatenotificationsubscriptionserviceOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationCreateNotificationSubscriptionService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.CreateNotificationSubscriptionService of this TapiNotificationCreateNotificationSubscriptionService. # noqa: E501 + :rtype: TapiNotificationCreateNotificationSubscriptionService + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationCreatenotificationsubscriptionserviceOutput: + """Gets the output of this TapiNotificationCreateNotificationSubscriptionService. + + + :return: The output of this TapiNotificationCreateNotificationSubscriptionService. + :rtype: TapiNotificationCreatenotificationsubscriptionserviceOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationCreatenotificationsubscriptionserviceOutput): + """Sets the output of this TapiNotificationCreateNotificationSubscriptionService. + + + :param output: The output of this TapiNotificationCreateNotificationSubscriptionService. + :type output: TapiNotificationCreatenotificationsubscriptionserviceOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_createnotificationsubscriptionservice_input.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_createnotificationsubscriptionservice_input.py new file mode 100644 index 0000000000000000000000000000000000000000..8b0572aa9da9d16e4a7dbe3816c5d2ac672146e4 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_createnotificationsubscriptionservice_input.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_subscription_filter import TapiNotificationSubscriptionFilter # noqa: F401,E501 +from tapi_server.models.tapi_notification_subscription_state import TapiNotificationSubscriptionState # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationCreatenotificationsubscriptionserviceInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_state: TapiNotificationSubscriptionState=None, subscription_filter: TapiNotificationSubscriptionFilter=None): # noqa: E501 + """TapiNotificationCreatenotificationsubscriptionserviceInput - a model defined in Swagger + + :param subscription_state: The subscription_state of this TapiNotificationCreatenotificationsubscriptionserviceInput. # noqa: E501 + :type subscription_state: TapiNotificationSubscriptionState + :param subscription_filter: The subscription_filter of this TapiNotificationCreatenotificationsubscriptionserviceInput. # noqa: E501 + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + self.swagger_types = { + 'subscription_state': TapiNotificationSubscriptionState, + 'subscription_filter': TapiNotificationSubscriptionFilter + } + + self.attribute_map = { + 'subscription_state': 'subscription-state', + 'subscription_filter': 'subscription-filter' + } + self._subscription_state = subscription_state + self._subscription_filter = subscription_filter + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationCreatenotificationsubscriptionserviceInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.createnotificationsubscriptionservice.Input of this TapiNotificationCreatenotificationsubscriptionserviceInput. # noqa: E501 + :rtype: TapiNotificationCreatenotificationsubscriptionserviceInput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_state(self) -> TapiNotificationSubscriptionState: + """Gets the subscription_state of this TapiNotificationCreatenotificationsubscriptionserviceInput. + + + :return: The subscription_state of this TapiNotificationCreatenotificationsubscriptionserviceInput. + :rtype: TapiNotificationSubscriptionState + """ + return self._subscription_state + + @subscription_state.setter + def subscription_state(self, subscription_state: TapiNotificationSubscriptionState): + """Sets the subscription_state of this TapiNotificationCreatenotificationsubscriptionserviceInput. + + + :param subscription_state: The subscription_state of this TapiNotificationCreatenotificationsubscriptionserviceInput. + :type subscription_state: TapiNotificationSubscriptionState + """ + + self._subscription_state = subscription_state + + @property + def subscription_filter(self) -> TapiNotificationSubscriptionFilter: + """Gets the subscription_filter of this TapiNotificationCreatenotificationsubscriptionserviceInput. + + + :return: The subscription_filter of this TapiNotificationCreatenotificationsubscriptionserviceInput. + :rtype: TapiNotificationSubscriptionFilter + """ + return self._subscription_filter + + @subscription_filter.setter + def subscription_filter(self, subscription_filter: TapiNotificationSubscriptionFilter): + """Sets the subscription_filter of this TapiNotificationCreatenotificationsubscriptionserviceInput. + + + :param subscription_filter: The subscription_filter of this TapiNotificationCreatenotificationsubscriptionserviceInput. + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + + self._subscription_filter = subscription_filter diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_createnotificationsubscriptionservice_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_createnotificationsubscriptionservice_output.py new file mode 100644 index 0000000000000000000000000000000000000000..52426ffab3c436b1a436e9fde9f9634e75a6e0a6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_createnotificationsubscriptionservice_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationCreatenotificationsubscriptionserviceOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_service: TapiNotificationNotificationSubscriptionService=None): # noqa: E501 + """TapiNotificationCreatenotificationsubscriptionserviceOutput - a model defined in Swagger + + :param subscription_service: The subscription_service of this TapiNotificationCreatenotificationsubscriptionserviceOutput. # noqa: E501 + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + self.swagger_types = { + 'subscription_service': TapiNotificationNotificationSubscriptionService + } + + self.attribute_map = { + 'subscription_service': 'subscription-service' + } + self._subscription_service = subscription_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationCreatenotificationsubscriptionserviceOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.createnotificationsubscriptionservice.Output of this TapiNotificationCreatenotificationsubscriptionserviceOutput. # noqa: E501 + :rtype: TapiNotificationCreatenotificationsubscriptionserviceOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_service(self) -> TapiNotificationNotificationSubscriptionService: + """Gets the subscription_service of this TapiNotificationCreatenotificationsubscriptionserviceOutput. + + + :return: The subscription_service of this TapiNotificationCreatenotificationsubscriptionserviceOutput. + :rtype: TapiNotificationNotificationSubscriptionService + """ + return self._subscription_service + + @subscription_service.setter + def subscription_service(self, subscription_service: TapiNotificationNotificationSubscriptionService): + """Sets the subscription_service of this TapiNotificationCreatenotificationsubscriptionserviceOutput. + + + :param subscription_service: The subscription_service of this TapiNotificationCreatenotificationsubscriptionserviceOutput. + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + + self._subscription_service = subscription_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_delete_notification_subscription_service.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_delete_notification_subscription_service.py new file mode 100644 index 0000000000000000000000000000000000000000..c38cfa685afa1c54befcc85c2e0a046070ce79b3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_delete_notification_subscription_service.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_deletenotificationsubscriptionservice_output import TapiNotificationDeletenotificationsubscriptionserviceOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationDeleteNotificationSubscriptionService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationDeletenotificationsubscriptionserviceOutput=None): # noqa: E501 + """TapiNotificationDeleteNotificationSubscriptionService - a model defined in Swagger + + :param output: The output of this TapiNotificationDeleteNotificationSubscriptionService. # noqa: E501 + :type output: TapiNotificationDeletenotificationsubscriptionserviceOutput + """ + self.swagger_types = { + 'output': TapiNotificationDeletenotificationsubscriptionserviceOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationDeleteNotificationSubscriptionService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.DeleteNotificationSubscriptionService of this TapiNotificationDeleteNotificationSubscriptionService. # noqa: E501 + :rtype: TapiNotificationDeleteNotificationSubscriptionService + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationDeletenotificationsubscriptionserviceOutput: + """Gets the output of this TapiNotificationDeleteNotificationSubscriptionService. + + + :return: The output of this TapiNotificationDeleteNotificationSubscriptionService. + :rtype: TapiNotificationDeletenotificationsubscriptionserviceOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationDeletenotificationsubscriptionserviceOutput): + """Sets the output of this TapiNotificationDeleteNotificationSubscriptionService. + + + :param output: The output of this TapiNotificationDeleteNotificationSubscriptionService. + :type output: TapiNotificationDeletenotificationsubscriptionserviceOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_deletenotificationsubscriptionservice_input.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_deletenotificationsubscriptionservice_input.py new file mode 100644 index 0000000000000000000000000000000000000000..c1c2ca6aa21fa142024d9c385ce5ad133c969f97 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_deletenotificationsubscriptionservice_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationDeletenotificationsubscriptionserviceInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_id_or_name: str=None): # noqa: E501 + """TapiNotificationDeletenotificationsubscriptionserviceInput - a model defined in Swagger + + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationDeletenotificationsubscriptionserviceInput. # noqa: E501 + :type subscription_id_or_name: str + """ + self.swagger_types = { + 'subscription_id_or_name': str + } + + self.attribute_map = { + 'subscription_id_or_name': 'subscription-id-or-name' + } + self._subscription_id_or_name = subscription_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationDeletenotificationsubscriptionserviceInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.deletenotificationsubscriptionservice.Input of this TapiNotificationDeletenotificationsubscriptionserviceInput. # noqa: E501 + :rtype: TapiNotificationDeletenotificationsubscriptionserviceInput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_id_or_name(self) -> str: + """Gets the subscription_id_or_name of this TapiNotificationDeletenotificationsubscriptionserviceInput. + + none # noqa: E501 + + :return: The subscription_id_or_name of this TapiNotificationDeletenotificationsubscriptionserviceInput. + :rtype: str + """ + return self._subscription_id_or_name + + @subscription_id_or_name.setter + def subscription_id_or_name(self, subscription_id_or_name: str): + """Sets the subscription_id_or_name of this TapiNotificationDeletenotificationsubscriptionserviceInput. + + none # noqa: E501 + + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationDeletenotificationsubscriptionserviceInput. + :type subscription_id_or_name: str + """ + + self._subscription_id_or_name = subscription_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_deletenotificationsubscriptionservice_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_deletenotificationsubscriptionservice_output.py new file mode 100644 index 0000000000000000000000000000000000000000..9746d00f257b5bf879c03b8e3c05a55f961e89a3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_deletenotificationsubscriptionservice_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationDeletenotificationsubscriptionserviceOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_service: TapiNotificationNotificationSubscriptionService=None): # noqa: E501 + """TapiNotificationDeletenotificationsubscriptionserviceOutput - a model defined in Swagger + + :param subscription_service: The subscription_service of this TapiNotificationDeletenotificationsubscriptionserviceOutput. # noqa: E501 + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + self.swagger_types = { + 'subscription_service': TapiNotificationNotificationSubscriptionService + } + + self.attribute_map = { + 'subscription_service': 'subscription-service' + } + self._subscription_service = subscription_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationDeletenotificationsubscriptionserviceOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.deletenotificationsubscriptionservice.Output of this TapiNotificationDeletenotificationsubscriptionserviceOutput. # noqa: E501 + :rtype: TapiNotificationDeletenotificationsubscriptionserviceOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_service(self) -> TapiNotificationNotificationSubscriptionService: + """Gets the subscription_service of this TapiNotificationDeletenotificationsubscriptionserviceOutput. + + + :return: The subscription_service of this TapiNotificationDeletenotificationsubscriptionserviceOutput. + :rtype: TapiNotificationNotificationSubscriptionService + """ + return self._subscription_service + + @subscription_service.setter + def subscription_service(self, subscription_service: TapiNotificationNotificationSubscriptionService): + """Sets the subscription_service of this TapiNotificationDeletenotificationsubscriptionserviceOutput. + + + :param subscription_service: The subscription_service of this TapiNotificationDeletenotificationsubscriptionserviceOutput. + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + + self._subscription_service = subscription_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_list.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_list.py new file mode 100644 index 0000000000000000000000000000000000000000..3b6ca4fd656c470eb45525c725b0d215244af505 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_list.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_getnotificationlist_output import TapiNotificationGetnotificationlistOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetNotificationList(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationGetnotificationlistOutput=None): # noqa: E501 + """TapiNotificationGetNotificationList - a model defined in Swagger + + :param output: The output of this TapiNotificationGetNotificationList. # noqa: E501 + :type output: TapiNotificationGetnotificationlistOutput + """ + self.swagger_types = { + 'output': TapiNotificationGetnotificationlistOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetNotificationList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.GetNotificationList of this TapiNotificationGetNotificationList. # noqa: E501 + :rtype: TapiNotificationGetNotificationList + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationGetnotificationlistOutput: + """Gets the output of this TapiNotificationGetNotificationList. + + + :return: The output of this TapiNotificationGetNotificationList. + :rtype: TapiNotificationGetnotificationlistOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationGetnotificationlistOutput): + """Sets the output of this TapiNotificationGetNotificationList. + + + :param output: The output of this TapiNotificationGetNotificationList. + :type output: TapiNotificationGetnotificationlistOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_subscription_service_details.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_subscription_service_details.py new file mode 100644 index 0000000000000000000000000000000000000000..50bf3f6a896cef26e68a6ed4c79563214ac26530 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_subscription_service_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_getnotificationsubscriptionservicedetails_output import TapiNotificationGetnotificationsubscriptionservicedetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetNotificationSubscriptionServiceDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationGetnotificationsubscriptionservicedetailsOutput=None): # noqa: E501 + """TapiNotificationGetNotificationSubscriptionServiceDetails - a model defined in Swagger + + :param output: The output of this TapiNotificationGetNotificationSubscriptionServiceDetails. # noqa: E501 + :type output: TapiNotificationGetnotificationsubscriptionservicedetailsOutput + """ + self.swagger_types = { + 'output': TapiNotificationGetnotificationsubscriptionservicedetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetNotificationSubscriptionServiceDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.GetNotificationSubscriptionServiceDetails of this TapiNotificationGetNotificationSubscriptionServiceDetails. # noqa: E501 + :rtype: TapiNotificationGetNotificationSubscriptionServiceDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationGetnotificationsubscriptionservicedetailsOutput: + """Gets the output of this TapiNotificationGetNotificationSubscriptionServiceDetails. + + + :return: The output of this TapiNotificationGetNotificationSubscriptionServiceDetails. + :rtype: TapiNotificationGetnotificationsubscriptionservicedetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationGetnotificationsubscriptionservicedetailsOutput): + """Sets the output of this TapiNotificationGetNotificationSubscriptionServiceDetails. + + + :param output: The output of this TapiNotificationGetNotificationSubscriptionServiceDetails. + :type output: TapiNotificationGetnotificationsubscriptionservicedetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_subscription_service_list.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_subscription_service_list.py new file mode 100644 index 0000000000000000000000000000000000000000..580435c0cf76cc3fa6e4616d1969d6466e8f0931 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_notification_subscription_service_list.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_getnotificationsubscriptionservicelist_output import TapiNotificationGetnotificationsubscriptionservicelistOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetNotificationSubscriptionServiceList(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationGetnotificationsubscriptionservicelistOutput=None): # noqa: E501 + """TapiNotificationGetNotificationSubscriptionServiceList - a model defined in Swagger + + :param output: The output of this TapiNotificationGetNotificationSubscriptionServiceList. # noqa: E501 + :type output: TapiNotificationGetnotificationsubscriptionservicelistOutput + """ + self.swagger_types = { + 'output': TapiNotificationGetnotificationsubscriptionservicelistOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetNotificationSubscriptionServiceList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.GetNotificationSubscriptionServiceList of this TapiNotificationGetNotificationSubscriptionServiceList. # noqa: E501 + :rtype: TapiNotificationGetNotificationSubscriptionServiceList + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationGetnotificationsubscriptionservicelistOutput: + """Gets the output of this TapiNotificationGetNotificationSubscriptionServiceList. + + + :return: The output of this TapiNotificationGetNotificationSubscriptionServiceList. + :rtype: TapiNotificationGetnotificationsubscriptionservicelistOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationGetnotificationsubscriptionservicelistOutput): + """Sets the output of this TapiNotificationGetNotificationSubscriptionServiceList. + + + :param output: The output of this TapiNotificationGetNotificationSubscriptionServiceList. + :type output: TapiNotificationGetnotificationsubscriptionservicelistOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_get_supported_notification_types.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_supported_notification_types.py new file mode 100644 index 0000000000000000000000000000000000000000..3b93d784817c938b93162f984cfa78b25ce3f566 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_get_supported_notification_types.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_getsupportednotificationtypes_output import TapiNotificationGetsupportednotificationtypesOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetSupportedNotificationTypes(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationGetsupportednotificationtypesOutput=None): # noqa: E501 + """TapiNotificationGetSupportedNotificationTypes - a model defined in Swagger + + :param output: The output of this TapiNotificationGetSupportedNotificationTypes. # noqa: E501 + :type output: TapiNotificationGetsupportednotificationtypesOutput + """ + self.swagger_types = { + 'output': TapiNotificationGetsupportednotificationtypesOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetSupportedNotificationTypes': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.GetSupportedNotificationTypes of this TapiNotificationGetSupportedNotificationTypes. # noqa: E501 + :rtype: TapiNotificationGetSupportedNotificationTypes + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationGetsupportednotificationtypesOutput: + """Gets the output of this TapiNotificationGetSupportedNotificationTypes. + + + :return: The output of this TapiNotificationGetSupportedNotificationTypes. + :rtype: TapiNotificationGetsupportednotificationtypesOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationGetsupportednotificationtypesOutput): + """Sets the output of this TapiNotificationGetSupportedNotificationTypes. + + + :param output: The output of this TapiNotificationGetSupportedNotificationTypes. + :type output: TapiNotificationGetsupportednotificationtypesOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationlist_input.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationlist_input.py new file mode 100644 index 0000000000000000000000000000000000000000..f2fe7c6f4e3ad837e97a9b0de1b4a5e998a6805b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationlist_input.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationGetnotificationlistInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, time_period: str=None, subscription_id_or_name: str=None): # noqa: E501 + """TapiNotificationGetnotificationlistInput - a model defined in Swagger + + :param time_period: The time_period of this TapiNotificationGetnotificationlistInput. # noqa: E501 + :type time_period: str + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationGetnotificationlistInput. # noqa: E501 + :type subscription_id_or_name: str + """ + self.swagger_types = { + 'time_period': str, + 'subscription_id_or_name': str + } + + self.attribute_map = { + 'time_period': 'time-period', + 'subscription_id_or_name': 'subscription-id-or-name' + } + self._time_period = time_period + self._subscription_id_or_name = subscription_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetnotificationlistInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.getnotificationlist.Input of this TapiNotificationGetnotificationlistInput. # noqa: E501 + :rtype: TapiNotificationGetnotificationlistInput + """ + return util.deserialize_model(dikt, cls) + + @property + def time_period(self) -> str: + """Gets the time_period of this TapiNotificationGetnotificationlistInput. + + none # noqa: E501 + + :return: The time_period of this TapiNotificationGetnotificationlistInput. + :rtype: str + """ + return self._time_period + + @time_period.setter + def time_period(self, time_period: str): + """Sets the time_period of this TapiNotificationGetnotificationlistInput. + + none # noqa: E501 + + :param time_period: The time_period of this TapiNotificationGetnotificationlistInput. + :type time_period: str + """ + + self._time_period = time_period + + @property + def subscription_id_or_name(self) -> str: + """Gets the subscription_id_or_name of this TapiNotificationGetnotificationlistInput. + + none # noqa: E501 + + :return: The subscription_id_or_name of this TapiNotificationGetnotificationlistInput. + :rtype: str + """ + return self._subscription_id_or_name + + @subscription_id_or_name.setter + def subscription_id_or_name(self, subscription_id_or_name: str): + """Sets the subscription_id_or_name of this TapiNotificationGetnotificationlistInput. + + none # noqa: E501 + + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationGetnotificationlistInput. + :type subscription_id_or_name: str + """ + + self._subscription_id_or_name = subscription_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationlist_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationlist_output.py new file mode 100644 index 0000000000000000000000000000000000000000..b2af0be12f49cc6f71795863b8cdc135192ba165 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationlist_output.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification import TapiNotificationNotification # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetnotificationlistOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, notification: List[TapiNotificationNotification]=None): # noqa: E501 + """TapiNotificationGetnotificationlistOutput - a model defined in Swagger + + :param notification: The notification of this TapiNotificationGetnotificationlistOutput. # noqa: E501 + :type notification: List[TapiNotificationNotification] + """ + self.swagger_types = { + 'notification': List[TapiNotificationNotification] + } + + self.attribute_map = { + 'notification': 'notification' + } + self._notification = notification + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetnotificationlistOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.getnotificationlist.Output of this TapiNotificationGetnotificationlistOutput. # noqa: E501 + :rtype: TapiNotificationGetnotificationlistOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def notification(self) -> List[TapiNotificationNotification]: + """Gets the notification of this TapiNotificationGetnotificationlistOutput. + + none # noqa: E501 + + :return: The notification of this TapiNotificationGetnotificationlistOutput. + :rtype: List[TapiNotificationNotification] + """ + return self._notification + + @notification.setter + def notification(self, notification: List[TapiNotificationNotification]): + """Sets the notification of this TapiNotificationGetnotificationlistOutput. + + none # noqa: E501 + + :param notification: The notification of this TapiNotificationGetnotificationlistOutput. + :type notification: List[TapiNotificationNotification] + """ + + self._notification = notification diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicedetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicedetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..acf36fec45e6fe483464b5b243bed97c8ebc5036 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicedetails_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationGetnotificationsubscriptionservicedetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_id_or_name: str=None): # noqa: E501 + """TapiNotificationGetnotificationsubscriptionservicedetailsInput - a model defined in Swagger + + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationGetnotificationsubscriptionservicedetailsInput. # noqa: E501 + :type subscription_id_or_name: str + """ + self.swagger_types = { + 'subscription_id_or_name': str + } + + self.attribute_map = { + 'subscription_id_or_name': 'subscription-id-or-name' + } + self._subscription_id_or_name = subscription_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetnotificationsubscriptionservicedetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.getnotificationsubscriptionservicedetails.Input of this TapiNotificationGetnotificationsubscriptionservicedetailsInput. # noqa: E501 + :rtype: TapiNotificationGetnotificationsubscriptionservicedetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_id_or_name(self) -> str: + """Gets the subscription_id_or_name of this TapiNotificationGetnotificationsubscriptionservicedetailsInput. + + none # noqa: E501 + + :return: The subscription_id_or_name of this TapiNotificationGetnotificationsubscriptionservicedetailsInput. + :rtype: str + """ + return self._subscription_id_or_name + + @subscription_id_or_name.setter + def subscription_id_or_name(self, subscription_id_or_name: str): + """Sets the subscription_id_or_name of this TapiNotificationGetnotificationsubscriptionservicedetailsInput. + + none # noqa: E501 + + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationGetnotificationsubscriptionservicedetailsInput. + :type subscription_id_or_name: str + """ + + self._subscription_id_or_name = subscription_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicedetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicedetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..35148ee279d118f4d96ca578053950e10afefa15 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicedetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetnotificationsubscriptionservicedetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_service: TapiNotificationNotificationSubscriptionService=None): # noqa: E501 + """TapiNotificationGetnotificationsubscriptionservicedetailsOutput - a model defined in Swagger + + :param subscription_service: The subscription_service of this TapiNotificationGetnotificationsubscriptionservicedetailsOutput. # noqa: E501 + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + self.swagger_types = { + 'subscription_service': TapiNotificationNotificationSubscriptionService + } + + self.attribute_map = { + 'subscription_service': 'subscription-service' + } + self._subscription_service = subscription_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetnotificationsubscriptionservicedetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.getnotificationsubscriptionservicedetails.Output of this TapiNotificationGetnotificationsubscriptionservicedetailsOutput. # noqa: E501 + :rtype: TapiNotificationGetnotificationsubscriptionservicedetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_service(self) -> TapiNotificationNotificationSubscriptionService: + """Gets the subscription_service of this TapiNotificationGetnotificationsubscriptionservicedetailsOutput. + + + :return: The subscription_service of this TapiNotificationGetnotificationsubscriptionservicedetailsOutput. + :rtype: TapiNotificationNotificationSubscriptionService + """ + return self._subscription_service + + @subscription_service.setter + def subscription_service(self, subscription_service: TapiNotificationNotificationSubscriptionService): + """Sets the subscription_service of this TapiNotificationGetnotificationsubscriptionservicedetailsOutput. + + + :param subscription_service: The subscription_service of this TapiNotificationGetnotificationsubscriptionservicedetailsOutput. + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + + self._subscription_service = subscription_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicelist_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicelist_output.py new file mode 100644 index 0000000000000000000000000000000000000000..1a6511724fcd939df13231d7bb537e75f32c6a93 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_getnotificationsubscriptionservicelist_output.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetnotificationsubscriptionservicelistOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_service: List[TapiNotificationNotificationSubscriptionService]=None): # noqa: E501 + """TapiNotificationGetnotificationsubscriptionservicelistOutput - a model defined in Swagger + + :param subscription_service: The subscription_service of this TapiNotificationGetnotificationsubscriptionservicelistOutput. # noqa: E501 + :type subscription_service: List[TapiNotificationNotificationSubscriptionService] + """ + self.swagger_types = { + 'subscription_service': List[TapiNotificationNotificationSubscriptionService] + } + + self.attribute_map = { + 'subscription_service': 'subscription-service' + } + self._subscription_service = subscription_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetnotificationsubscriptionservicelistOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.getnotificationsubscriptionservicelist.Output of this TapiNotificationGetnotificationsubscriptionservicelistOutput. # noqa: E501 + :rtype: TapiNotificationGetnotificationsubscriptionservicelistOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_service(self) -> List[TapiNotificationNotificationSubscriptionService]: + """Gets the subscription_service of this TapiNotificationGetnotificationsubscriptionservicelistOutput. + + none # noqa: E501 + + :return: The subscription_service of this TapiNotificationGetnotificationsubscriptionservicelistOutput. + :rtype: List[TapiNotificationNotificationSubscriptionService] + """ + return self._subscription_service + + @subscription_service.setter + def subscription_service(self, subscription_service: List[TapiNotificationNotificationSubscriptionService]): + """Sets the subscription_service of this TapiNotificationGetnotificationsubscriptionservicelistOutput. + + none # noqa: E501 + + :param subscription_service: The subscription_service of this TapiNotificationGetnotificationsubscriptionservicelistOutput. + :type subscription_service: List[TapiNotificationNotificationSubscriptionService] + """ + + self._subscription_service = subscription_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_getsupportednotificationtypes_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_getsupportednotificationtypes_output.py new file mode 100644 index 0000000000000000000000000000000000000000..e1138dc8eb6704a7cf02d708ff9dfd9caa7c1bb7 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_getsupportednotificationtypes_output.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_type import TapiNotificationNotificationType # noqa: F401,E501 +from tapi_server.models.tapi_notification_object_type import TapiNotificationObjectType # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationGetsupportednotificationtypesOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, supported_object_types: List[TapiNotificationObjectType]=None, supported_notification_types: List[TapiNotificationNotificationType]=None): # noqa: E501 + """TapiNotificationGetsupportednotificationtypesOutput - a model defined in Swagger + + :param supported_object_types: The supported_object_types of this TapiNotificationGetsupportednotificationtypesOutput. # noqa: E501 + :type supported_object_types: List[TapiNotificationObjectType] + :param supported_notification_types: The supported_notification_types of this TapiNotificationGetsupportednotificationtypesOutput. # noqa: E501 + :type supported_notification_types: List[TapiNotificationNotificationType] + """ + self.swagger_types = { + 'supported_object_types': List[TapiNotificationObjectType], + 'supported_notification_types': List[TapiNotificationNotificationType] + } + + self.attribute_map = { + 'supported_object_types': 'supported-object-types', + 'supported_notification_types': 'supported-notification-types' + } + self._supported_object_types = supported_object_types + self._supported_notification_types = supported_notification_types + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationGetsupportednotificationtypesOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.getsupportednotificationtypes.Output of this TapiNotificationGetsupportednotificationtypesOutput. # noqa: E501 + :rtype: TapiNotificationGetsupportednotificationtypesOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def supported_object_types(self) -> List[TapiNotificationObjectType]: + """Gets the supported_object_types of this TapiNotificationGetsupportednotificationtypesOutput. + + none # noqa: E501 + + :return: The supported_object_types of this TapiNotificationGetsupportednotificationtypesOutput. + :rtype: List[TapiNotificationObjectType] + """ + return self._supported_object_types + + @supported_object_types.setter + def supported_object_types(self, supported_object_types: List[TapiNotificationObjectType]): + """Sets the supported_object_types of this TapiNotificationGetsupportednotificationtypesOutput. + + none # noqa: E501 + + :param supported_object_types: The supported_object_types of this TapiNotificationGetsupportednotificationtypesOutput. + :type supported_object_types: List[TapiNotificationObjectType] + """ + + self._supported_object_types = supported_object_types + + @property + def supported_notification_types(self) -> List[TapiNotificationNotificationType]: + """Gets the supported_notification_types of this TapiNotificationGetsupportednotificationtypesOutput. + + none # noqa: E501 + + :return: The supported_notification_types of this TapiNotificationGetsupportednotificationtypesOutput. + :rtype: List[TapiNotificationNotificationType] + """ + return self._supported_notification_types + + @supported_notification_types.setter + def supported_notification_types(self, supported_notification_types: List[TapiNotificationNotificationType]): + """Sets the supported_notification_types of this TapiNotificationGetsupportednotificationtypesOutput. + + none # noqa: E501 + + :param supported_notification_types: The supported_notification_types of this TapiNotificationGetsupportednotificationtypesOutput. + :type supported_notification_types: List[TapiNotificationNotificationType] + """ + + self._supported_notification_types = supported_notification_types diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_name_and_value_change.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_name_and_value_change.py new file mode 100644 index 0000000000000000000000000000000000000000..b73a13f13cf5a1a2db45656a5badf63bac3edfb1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_name_and_value_change.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationNameAndValueChange(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, value_name: str=None, old_value: str=None, new_value: str=None): # noqa: E501 + """TapiNotificationNameAndValueChange - a model defined in Swagger + + :param value_name: The value_name of this TapiNotificationNameAndValueChange. # noqa: E501 + :type value_name: str + :param old_value: The old_value of this TapiNotificationNameAndValueChange. # noqa: E501 + :type old_value: str + :param new_value: The new_value of this TapiNotificationNameAndValueChange. # noqa: E501 + :type new_value: str + """ + self.swagger_types = { + 'value_name': str, + 'old_value': str, + 'new_value': str + } + + self.attribute_map = { + 'value_name': 'value-name', + 'old_value': 'old-value', + 'new_value': 'new-value' + } + self._value_name = value_name + self._old_value = old_value + self._new_value = new_value + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNameAndValueChange': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NameAndValueChange of this TapiNotificationNameAndValueChange. # noqa: E501 + :rtype: TapiNotificationNameAndValueChange + """ + return util.deserialize_model(dikt, cls) + + @property + def value_name(self) -> str: + """Gets the value_name of this TapiNotificationNameAndValueChange. + + The name of the value. The value need not have a name. # noqa: E501 + + :return: The value_name of this TapiNotificationNameAndValueChange. + :rtype: str + """ + return self._value_name + + @value_name.setter + def value_name(self, value_name: str): + """Sets the value_name of this TapiNotificationNameAndValueChange. + + The name of the value. The value need not have a name. # noqa: E501 + + :param value_name: The value_name of this TapiNotificationNameAndValueChange. + :type value_name: str + """ + + self._value_name = value_name + + @property + def old_value(self) -> str: + """Gets the old_value of this TapiNotificationNameAndValueChange. + + The value # noqa: E501 + + :return: The old_value of this TapiNotificationNameAndValueChange. + :rtype: str + """ + return self._old_value + + @old_value.setter + def old_value(self, old_value: str): + """Sets the old_value of this TapiNotificationNameAndValueChange. + + The value # noqa: E501 + + :param old_value: The old_value of this TapiNotificationNameAndValueChange. + :type old_value: str + """ + + self._old_value = old_value + + @property + def new_value(self) -> str: + """Gets the new_value of this TapiNotificationNameAndValueChange. + + The value # noqa: E501 + + :return: The new_value of this TapiNotificationNameAndValueChange. + :rtype: str + """ + return self._new_value + + @new_value.setter + def new_value(self, new_value: str): + """Sets the new_value of this TapiNotificationNameAndValueChange. + + The value # noqa: E501 + + :param new_value: The new_value of this TapiNotificationNameAndValueChange. + :type new_value: str + """ + + self._new_value = new_value diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_name_and_value_change_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_name_and_value_change_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..3911ae8b9deb9df8b2116a8bf88657b8a30b0b73 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_name_and_value_change_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_name_and_value_change import TapiNotificationNameAndValueChange # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNameAndValueChangeWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, changed_attributes: TapiNotificationNameAndValueChange=None): # noqa: E501 + """TapiNotificationNameAndValueChangeWrapper - a model defined in Swagger + + :param changed_attributes: The changed_attributes of this TapiNotificationNameAndValueChangeWrapper. # noqa: E501 + :type changed_attributes: TapiNotificationNameAndValueChange + """ + self.swagger_types = { + 'changed_attributes': TapiNotificationNameAndValueChange + } + + self.attribute_map = { + 'changed_attributes': 'changed-attributes' + } + self._changed_attributes = changed_attributes + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNameAndValueChangeWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NameAndValueChangeWrapper of this TapiNotificationNameAndValueChangeWrapper. # noqa: E501 + :rtype: TapiNotificationNameAndValueChangeWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def changed_attributes(self) -> TapiNotificationNameAndValueChange: + """Gets the changed_attributes of this TapiNotificationNameAndValueChangeWrapper. + + + :return: The changed_attributes of this TapiNotificationNameAndValueChangeWrapper. + :rtype: TapiNotificationNameAndValueChange + """ + return self._changed_attributes + + @changed_attributes.setter + def changed_attributes(self, changed_attributes: TapiNotificationNameAndValueChange): + """Sets the changed_attributes of this TapiNotificationNameAndValueChangeWrapper. + + + :param changed_attributes: The changed_attributes of this TapiNotificationNameAndValueChangeWrapper. + :type changed_attributes: TapiNotificationNameAndValueChange + """ + + self._changed_attributes = changed_attributes diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification.py new file mode 100644 index 0000000000000000000000000000000000000000..df83fd5889de69dfe5774363d25caa0be0053784 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification.py @@ -0,0 +1,453 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_notification_alarm_info import TapiNotificationAlarmInfo # noqa: F401,E501 +from tapi_server.models.tapi_notification_name_and_value_change import TapiNotificationNameAndValueChange # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification_type import TapiNotificationNotificationType # noqa: F401,E501 +from tapi_server.models.tapi_notification_object_type import TapiNotificationObjectType # noqa: F401,E501 +from tapi_server.models.tapi_notification_source_indicator import TapiNotificationSourceIndicator # noqa: F401,E501 +from tapi_server.models.tapi_notification_tca_info import TapiNotificationTcaInfo # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotification(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, target_object_type: TapiNotificationObjectType=None, additional_text: str=None, event_time_stamp: str=None, additional_info: List[TapiCommonNameAndValue]=None, sequence_number: int=None, tca_info: TapiNotificationTcaInfo=None, target_object_identifier: str=None, notification_type: TapiNotificationNotificationType=None, target_object_name: List[TapiCommonNameAndValue]=None, layer_protocol_name: TapiCommonLayerProtocolName=None, source_indicator: TapiNotificationSourceIndicator=None, alarm_info: TapiNotificationAlarmInfo=None, changed_attributes: List[TapiNotificationNameAndValueChange]=None): # noqa: E501 + """TapiNotificationNotification - a model defined in Swagger + + :param name: The name of this TapiNotificationNotification. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiNotificationNotification. # noqa: E501 + :type uuid: str + :param target_object_type: The target_object_type of this TapiNotificationNotification. # noqa: E501 + :type target_object_type: TapiNotificationObjectType + :param additional_text: The additional_text of this TapiNotificationNotification. # noqa: E501 + :type additional_text: str + :param event_time_stamp: The event_time_stamp of this TapiNotificationNotification. # noqa: E501 + :type event_time_stamp: str + :param additional_info: The additional_info of this TapiNotificationNotification. # noqa: E501 + :type additional_info: List[TapiCommonNameAndValue] + :param sequence_number: The sequence_number of this TapiNotificationNotification. # noqa: E501 + :type sequence_number: int + :param tca_info: The tca_info of this TapiNotificationNotification. # noqa: E501 + :type tca_info: TapiNotificationTcaInfo + :param target_object_identifier: The target_object_identifier of this TapiNotificationNotification. # noqa: E501 + :type target_object_identifier: str + :param notification_type: The notification_type of this TapiNotificationNotification. # noqa: E501 + :type notification_type: TapiNotificationNotificationType + :param target_object_name: The target_object_name of this TapiNotificationNotification. # noqa: E501 + :type target_object_name: List[TapiCommonNameAndValue] + :param layer_protocol_name: The layer_protocol_name of this TapiNotificationNotification. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param source_indicator: The source_indicator of this TapiNotificationNotification. # noqa: E501 + :type source_indicator: TapiNotificationSourceIndicator + :param alarm_info: The alarm_info of this TapiNotificationNotification. # noqa: E501 + :type alarm_info: TapiNotificationAlarmInfo + :param changed_attributes: The changed_attributes of this TapiNotificationNotification. # noqa: E501 + :type changed_attributes: List[TapiNotificationNameAndValueChange] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'target_object_type': TapiNotificationObjectType, + 'additional_text': str, + 'event_time_stamp': str, + 'additional_info': List[TapiCommonNameAndValue], + 'sequence_number': int, + 'tca_info': TapiNotificationTcaInfo, + 'target_object_identifier': str, + 'notification_type': TapiNotificationNotificationType, + 'target_object_name': List[TapiCommonNameAndValue], + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'source_indicator': TapiNotificationSourceIndicator, + 'alarm_info': TapiNotificationAlarmInfo, + 'changed_attributes': List[TapiNotificationNameAndValueChange] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'target_object_type': 'target-object-type', + 'additional_text': 'additional-text', + 'event_time_stamp': 'event-time-stamp', + 'additional_info': 'additional-info', + 'sequence_number': 'sequence-number', + 'tca_info': 'tca-info', + 'target_object_identifier': 'target-object-identifier', + 'notification_type': 'notification-type', + 'target_object_name': 'target-object-name', + 'layer_protocol_name': 'layer-protocol-name', + 'source_indicator': 'source-indicator', + 'alarm_info': 'alarm-info', + 'changed_attributes': 'changed-attributes' + } + self._name = name + self._uuid = uuid + self._target_object_type = target_object_type + self._additional_text = additional_text + self._event_time_stamp = event_time_stamp + self._additional_info = additional_info + self._sequence_number = sequence_number + self._tca_info = tca_info + self._target_object_identifier = target_object_identifier + self._notification_type = notification_type + self._target_object_name = target_object_name + self._layer_protocol_name = layer_protocol_name + self._source_indicator = source_indicator + self._alarm_info = alarm_info + self._changed_attributes = changed_attributes + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotification': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.Notification of this TapiNotificationNotification. # noqa: E501 + :rtype: TapiNotificationNotification + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiNotificationNotification. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiNotificationNotification. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiNotificationNotification. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiNotificationNotification. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiNotificationNotification. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiNotificationNotification. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiNotificationNotification. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiNotificationNotification. + :type uuid: str + """ + + self._uuid = uuid + + @property + def target_object_type(self) -> TapiNotificationObjectType: + """Gets the target_object_type of this TapiNotificationNotification. + + + :return: The target_object_type of this TapiNotificationNotification. + :rtype: TapiNotificationObjectType + """ + return self._target_object_type + + @target_object_type.setter + def target_object_type(self, target_object_type: TapiNotificationObjectType): + """Sets the target_object_type of this TapiNotificationNotification. + + + :param target_object_type: The target_object_type of this TapiNotificationNotification. + :type target_object_type: TapiNotificationObjectType + """ + + self._target_object_type = target_object_type + + @property + def additional_text(self) -> str: + """Gets the additional_text of this TapiNotificationNotification. + + none # noqa: E501 + + :return: The additional_text of this TapiNotificationNotification. + :rtype: str + """ + return self._additional_text + + @additional_text.setter + def additional_text(self, additional_text: str): + """Sets the additional_text of this TapiNotificationNotification. + + none # noqa: E501 + + :param additional_text: The additional_text of this TapiNotificationNotification. + :type additional_text: str + """ + + self._additional_text = additional_text + + @property + def event_time_stamp(self) -> str: + """Gets the event_time_stamp of this TapiNotificationNotification. + + none # noqa: E501 + + :return: The event_time_stamp of this TapiNotificationNotification. + :rtype: str + """ + return self._event_time_stamp + + @event_time_stamp.setter + def event_time_stamp(self, event_time_stamp: str): + """Sets the event_time_stamp of this TapiNotificationNotification. + + none # noqa: E501 + + :param event_time_stamp: The event_time_stamp of this TapiNotificationNotification. + :type event_time_stamp: str + """ + + self._event_time_stamp = event_time_stamp + + @property + def additional_info(self) -> List[TapiCommonNameAndValue]: + """Gets the additional_info of this TapiNotificationNotification. + + none # noqa: E501 + + :return: The additional_info of this TapiNotificationNotification. + :rtype: List[TapiCommonNameAndValue] + """ + return self._additional_info + + @additional_info.setter + def additional_info(self, additional_info: List[TapiCommonNameAndValue]): + """Sets the additional_info of this TapiNotificationNotification. + + none # noqa: E501 + + :param additional_info: The additional_info of this TapiNotificationNotification. + :type additional_info: List[TapiCommonNameAndValue] + """ + + self._additional_info = additional_info + + @property + def sequence_number(self) -> int: + """Gets the sequence_number of this TapiNotificationNotification. + + A monotonous increasing sequence number associated with the notification. The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined. # noqa: E501 + + :return: The sequence_number of this TapiNotificationNotification. + :rtype: int + """ + return self._sequence_number + + @sequence_number.setter + def sequence_number(self, sequence_number: int): + """Sets the sequence_number of this TapiNotificationNotification. + + A monotonous increasing sequence number associated with the notification. The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined. # noqa: E501 + + :param sequence_number: The sequence_number of this TapiNotificationNotification. + :type sequence_number: int + """ + + self._sequence_number = sequence_number + + @property + def tca_info(self) -> TapiNotificationTcaInfo: + """Gets the tca_info of this TapiNotificationNotification. + + + :return: The tca_info of this TapiNotificationNotification. + :rtype: TapiNotificationTcaInfo + """ + return self._tca_info + + @tca_info.setter + def tca_info(self, tca_info: TapiNotificationTcaInfo): + """Sets the tca_info of this TapiNotificationNotification. + + + :param tca_info: The tca_info of this TapiNotificationNotification. + :type tca_info: TapiNotificationTcaInfo + """ + + self._tca_info = tca_info + + @property + def target_object_identifier(self) -> str: + """Gets the target_object_identifier of this TapiNotificationNotification. + + none # noqa: E501 + + :return: The target_object_identifier of this TapiNotificationNotification. + :rtype: str + """ + return self._target_object_identifier + + @target_object_identifier.setter + def target_object_identifier(self, target_object_identifier: str): + """Sets the target_object_identifier of this TapiNotificationNotification. + + none # noqa: E501 + + :param target_object_identifier: The target_object_identifier of this TapiNotificationNotification. + :type target_object_identifier: str + """ + + self._target_object_identifier = target_object_identifier + + @property + def notification_type(self) -> TapiNotificationNotificationType: + """Gets the notification_type of this TapiNotificationNotification. + + + :return: The notification_type of this TapiNotificationNotification. + :rtype: TapiNotificationNotificationType + """ + return self._notification_type + + @notification_type.setter + def notification_type(self, notification_type: TapiNotificationNotificationType): + """Sets the notification_type of this TapiNotificationNotification. + + + :param notification_type: The notification_type of this TapiNotificationNotification. + :type notification_type: TapiNotificationNotificationType + """ + + self._notification_type = notification_type + + @property + def target_object_name(self) -> List[TapiCommonNameAndValue]: + """Gets the target_object_name of this TapiNotificationNotification. + + none # noqa: E501 + + :return: The target_object_name of this TapiNotificationNotification. + :rtype: List[TapiCommonNameAndValue] + """ + return self._target_object_name + + @target_object_name.setter + def target_object_name(self, target_object_name: List[TapiCommonNameAndValue]): + """Sets the target_object_name of this TapiNotificationNotification. + + none # noqa: E501 + + :param target_object_name: The target_object_name of this TapiNotificationNotification. + :type target_object_name: List[TapiCommonNameAndValue] + """ + + self._target_object_name = target_object_name + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiNotificationNotification. + + + :return: The layer_protocol_name of this TapiNotificationNotification. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiNotificationNotification. + + + :param layer_protocol_name: The layer_protocol_name of this TapiNotificationNotification. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def source_indicator(self) -> TapiNotificationSourceIndicator: + """Gets the source_indicator of this TapiNotificationNotification. + + + :return: The source_indicator of this TapiNotificationNotification. + :rtype: TapiNotificationSourceIndicator + """ + return self._source_indicator + + @source_indicator.setter + def source_indicator(self, source_indicator: TapiNotificationSourceIndicator): + """Sets the source_indicator of this TapiNotificationNotification. + + + :param source_indicator: The source_indicator of this TapiNotificationNotification. + :type source_indicator: TapiNotificationSourceIndicator + """ + + self._source_indicator = source_indicator + + @property + def alarm_info(self) -> TapiNotificationAlarmInfo: + """Gets the alarm_info of this TapiNotificationNotification. + + + :return: The alarm_info of this TapiNotificationNotification. + :rtype: TapiNotificationAlarmInfo + """ + return self._alarm_info + + @alarm_info.setter + def alarm_info(self, alarm_info: TapiNotificationAlarmInfo): + """Sets the alarm_info of this TapiNotificationNotification. + + + :param alarm_info: The alarm_info of this TapiNotificationNotification. + :type alarm_info: TapiNotificationAlarmInfo + """ + + self._alarm_info = alarm_info + + @property + def changed_attributes(self) -> List[TapiNotificationNameAndValueChange]: + """Gets the changed_attributes of this TapiNotificationNotification. + + none # noqa: E501 + + :return: The changed_attributes of this TapiNotificationNotification. + :rtype: List[TapiNotificationNameAndValueChange] + """ + return self._changed_attributes + + @changed_attributes.setter + def changed_attributes(self, changed_attributes: List[TapiNotificationNameAndValueChange]): + """Sets the changed_attributes of this TapiNotificationNotification. + + none # noqa: E501 + + :param changed_attributes: The changed_attributes of this TapiNotificationNotification. + :type changed_attributes: List[TapiNotificationNameAndValueChange] + """ + + self._changed_attributes = changed_attributes diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_channel.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_channel.py new file mode 100644 index 0000000000000000000000000000000000000000..c5d7bb6a11f7015ca6cdc224d359a3c43ddb09d3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_channel.py @@ -0,0 +1,150 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationChannel(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, next_sequence_no: int=None, stream_address: str=None): # noqa: E501 + """TapiNotificationNotificationChannel - a model defined in Swagger + + :param name: The name of this TapiNotificationNotificationChannel. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiNotificationNotificationChannel. # noqa: E501 + :type local_id: str + :param next_sequence_no: The next_sequence_no of this TapiNotificationNotificationChannel. # noqa: E501 + :type next_sequence_no: int + :param stream_address: The stream_address of this TapiNotificationNotificationChannel. # noqa: E501 + :type stream_address: str + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'next_sequence_no': int, + 'stream_address': str + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'next_sequence_no': 'next-sequence-no', + 'stream_address': 'stream-address' + } + self._name = name + self._local_id = local_id + self._next_sequence_no = next_sequence_no + self._stream_address = stream_address + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationChannel': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationChannel of this TapiNotificationNotificationChannel. # noqa: E501 + :rtype: TapiNotificationNotificationChannel + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiNotificationNotificationChannel. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiNotificationNotificationChannel. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiNotificationNotificationChannel. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiNotificationNotificationChannel. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiNotificationNotificationChannel. + + none # noqa: E501 + + :return: The local_id of this TapiNotificationNotificationChannel. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiNotificationNotificationChannel. + + none # noqa: E501 + + :param local_id: The local_id of this TapiNotificationNotificationChannel. + :type local_id: str + """ + + self._local_id = local_id + + @property + def next_sequence_no(self) -> int: + """Gets the next_sequence_no of this TapiNotificationNotificationChannel. + + The sequence number of the next notification that will be published on the channel # noqa: E501 + + :return: The next_sequence_no of this TapiNotificationNotificationChannel. + :rtype: int + """ + return self._next_sequence_no + + @next_sequence_no.setter + def next_sequence_no(self, next_sequence_no: int): + """Sets the next_sequence_no of this TapiNotificationNotificationChannel. + + The sequence number of the next notification that will be published on the channel # noqa: E501 + + :param next_sequence_no: The next_sequence_no of this TapiNotificationNotificationChannel. + :type next_sequence_no: int + """ + + self._next_sequence_no = next_sequence_no + + @property + def stream_address(self) -> str: + """Gets the stream_address of this TapiNotificationNotificationChannel. + + The address/location/URI of the channel/stream to which the subscribed notifications are published. This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string. # noqa: E501 + + :return: The stream_address of this TapiNotificationNotificationChannel. + :rtype: str + """ + return self._stream_address + + @stream_address.setter + def stream_address(self, stream_address: str): + """Sets the stream_address of this TapiNotificationNotificationChannel. + + The address/location/URI of the channel/stream to which the subscribed notifications are published. This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string. # noqa: E501 + + :param stream_address: The stream_address of this TapiNotificationNotificationChannel. + :type stream_address: str + """ + + self._stream_address = stream_address diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_channel_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_channel_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..1176a018926ae06c53d76ceaa6b62e22822866b2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_channel_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_channel import TapiNotificationNotificationChannel # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationChannelWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, notification_channel: TapiNotificationNotificationChannel=None): # noqa: E501 + """TapiNotificationNotificationChannelWrapper - a model defined in Swagger + + :param notification_channel: The notification_channel of this TapiNotificationNotificationChannelWrapper. # noqa: E501 + :type notification_channel: TapiNotificationNotificationChannel + """ + self.swagger_types = { + 'notification_channel': TapiNotificationNotificationChannel + } + + self.attribute_map = { + 'notification_channel': 'notification-channel' + } + self._notification_channel = notification_channel + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationChannelWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationChannelWrapper of this TapiNotificationNotificationChannelWrapper. # noqa: E501 + :rtype: TapiNotificationNotificationChannelWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def notification_channel(self) -> TapiNotificationNotificationChannel: + """Gets the notification_channel of this TapiNotificationNotificationChannelWrapper. + + + :return: The notification_channel of this TapiNotificationNotificationChannelWrapper. + :rtype: TapiNotificationNotificationChannel + """ + return self._notification_channel + + @notification_channel.setter + def notification_channel(self, notification_channel: TapiNotificationNotificationChannel): + """Sets the notification_channel of this TapiNotificationNotificationChannelWrapper. + + + :param notification_channel: The notification_channel of this TapiNotificationNotificationChannelWrapper. + :type notification_channel: TapiNotificationNotificationChannel + """ + + self._notification_channel = notification_channel diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_context.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_context.py new file mode 100644 index 0000000000000000000000000000000000000000..595ddd8312eb2fe6cf28cfccf5853759d1419ada --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_context.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification import TapiNotificationNotification # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationContext(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, notif_subscription: List[TapiNotificationNotificationSubscriptionService]=None, notification: List[TapiNotificationNotification]=None): # noqa: E501 + """TapiNotificationNotificationContext - a model defined in Swagger + + :param notif_subscription: The notif_subscription of this TapiNotificationNotificationContext. # noqa: E501 + :type notif_subscription: List[TapiNotificationNotificationSubscriptionService] + :param notification: The notification of this TapiNotificationNotificationContext. # noqa: E501 + :type notification: List[TapiNotificationNotification] + """ + self.swagger_types = { + 'notif_subscription': List[TapiNotificationNotificationSubscriptionService], + 'notification': List[TapiNotificationNotification] + } + + self.attribute_map = { + 'notif_subscription': 'notif-subscription', + 'notification': 'notification' + } + self._notif_subscription = notif_subscription + self._notification = notification + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationContext': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationContext of this TapiNotificationNotificationContext. # noqa: E501 + :rtype: TapiNotificationNotificationContext + """ + return util.deserialize_model(dikt, cls) + + @property + def notif_subscription(self) -> List[TapiNotificationNotificationSubscriptionService]: + """Gets the notif_subscription of this TapiNotificationNotificationContext. + + none # noqa: E501 + + :return: The notif_subscription of this TapiNotificationNotificationContext. + :rtype: List[TapiNotificationNotificationSubscriptionService] + """ + return self._notif_subscription + + @notif_subscription.setter + def notif_subscription(self, notif_subscription: List[TapiNotificationNotificationSubscriptionService]): + """Sets the notif_subscription of this TapiNotificationNotificationContext. + + none # noqa: E501 + + :param notif_subscription: The notif_subscription of this TapiNotificationNotificationContext. + :type notif_subscription: List[TapiNotificationNotificationSubscriptionService] + """ + + self._notif_subscription = notif_subscription + + @property + def notification(self) -> List[TapiNotificationNotification]: + """Gets the notification of this TapiNotificationNotificationContext. + + none # noqa: E501 + + :return: The notification of this TapiNotificationNotificationContext. + :rtype: List[TapiNotificationNotification] + """ + return self._notification + + @notification.setter + def notification(self, notification: List[TapiNotificationNotification]): + """Sets the notification of this TapiNotificationNotificationContext. + + none # noqa: E501 + + :param notification: The notification of this TapiNotificationNotificationContext. + :type notification: List[TapiNotificationNotification] + """ + + self._notification = notification diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_context_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_context_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..fb0bf9abb2397c121f005757e5da48701132bdfe --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_context_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_context import TapiNotificationNotificationContext # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationContextWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tapi_notificationnotification_context: TapiNotificationNotificationContext=None): # noqa: E501 + """TapiNotificationNotificationContextWrapper - a model defined in Swagger + + :param tapi_notificationnotification_context: The tapi_notificationnotification_context of this TapiNotificationNotificationContextWrapper. # noqa: E501 + :type tapi_notificationnotification_context: TapiNotificationNotificationContext + """ + self.swagger_types = { + 'tapi_notificationnotification_context': TapiNotificationNotificationContext + } + + self.attribute_map = { + 'tapi_notificationnotification_context': 'tapi-notification:notification-context' + } + self._tapi_notificationnotification_context = tapi_notificationnotification_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationContextWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationContextWrapper of this TapiNotificationNotificationContextWrapper. # noqa: E501 + :rtype: TapiNotificationNotificationContextWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tapi_notificationnotification_context(self) -> TapiNotificationNotificationContext: + """Gets the tapi_notificationnotification_context of this TapiNotificationNotificationContextWrapper. + + + :return: The tapi_notificationnotification_context of this TapiNotificationNotificationContextWrapper. + :rtype: TapiNotificationNotificationContext + """ + return self._tapi_notificationnotification_context + + @tapi_notificationnotification_context.setter + def tapi_notificationnotification_context(self, tapi_notificationnotification_context: TapiNotificationNotificationContext): + """Sets the tapi_notificationnotification_context of this TapiNotificationNotificationContextWrapper. + + + :param tapi_notificationnotification_context: The tapi_notificationnotification_context of this TapiNotificationNotificationContextWrapper. + :type tapi_notificationnotification_context: TapiNotificationNotificationContext + """ + + self._tapi_notificationnotification_context = tapi_notificationnotification_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_subscription_service.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_subscription_service.py new file mode 100644 index 0000000000000000000000000000000000000000..10e6128e52392a42a3472c82a6ca2894c6820ad1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_subscription_service.py @@ -0,0 +1,262 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification import TapiNotificationNotification # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification_channel import TapiNotificationNotificationChannel # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification_type import TapiNotificationNotificationType # noqa: F401,E501 +from tapi_server.models.tapi_notification_object_type import TapiNotificationObjectType # noqa: F401,E501 +from tapi_server.models.tapi_notification_subscription_filter import TapiNotificationSubscriptionFilter # noqa: F401,E501 +from tapi_server.models.tapi_notification_subscription_state import TapiNotificationSubscriptionState # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationSubscriptionService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, notification: List[TapiNotificationNotification]=None, notification_channel: TapiNotificationNotificationChannel=None, subscription_state: TapiNotificationSubscriptionState=None, supported_object_types: List[TapiNotificationObjectType]=None, supported_notification_types: List[TapiNotificationNotificationType]=None, subscription_filter: TapiNotificationSubscriptionFilter=None): # noqa: E501 + """TapiNotificationNotificationSubscriptionService - a model defined in Swagger + + :param name: The name of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type uuid: str + :param notification: The notification of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type notification: List[TapiNotificationNotification] + :param notification_channel: The notification_channel of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type notification_channel: TapiNotificationNotificationChannel + :param subscription_state: The subscription_state of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type subscription_state: TapiNotificationSubscriptionState + :param supported_object_types: The supported_object_types of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type supported_object_types: List[TapiNotificationObjectType] + :param supported_notification_types: The supported_notification_types of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type supported_notification_types: List[TapiNotificationNotificationType] + :param subscription_filter: The subscription_filter of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'notification': List[TapiNotificationNotification], + 'notification_channel': TapiNotificationNotificationChannel, + 'subscription_state': TapiNotificationSubscriptionState, + 'supported_object_types': List[TapiNotificationObjectType], + 'supported_notification_types': List[TapiNotificationNotificationType], + 'subscription_filter': TapiNotificationSubscriptionFilter + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'notification': 'notification', + 'notification_channel': 'notification-channel', + 'subscription_state': 'subscription-state', + 'supported_object_types': 'supported-object-types', + 'supported_notification_types': 'supported-notification-types', + 'subscription_filter': 'subscription-filter' + } + self._name = name + self._uuid = uuid + self._notification = notification + self._notification_channel = notification_channel + self._subscription_state = subscription_state + self._supported_object_types = supported_object_types + self._supported_notification_types = supported_notification_types + self._subscription_filter = subscription_filter + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationSubscriptionService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationSubscriptionService of this TapiNotificationNotificationSubscriptionService. # noqa: E501 + :rtype: TapiNotificationNotificationSubscriptionService + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiNotificationNotificationSubscriptionService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiNotificationNotificationSubscriptionService. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiNotificationNotificationSubscriptionService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiNotificationNotificationSubscriptionService. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiNotificationNotificationSubscriptionService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiNotificationNotificationSubscriptionService. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiNotificationNotificationSubscriptionService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiNotificationNotificationSubscriptionService. + :type uuid: str + """ + + self._uuid = uuid + + @property + def notification(self) -> List[TapiNotificationNotification]: + """Gets the notification of this TapiNotificationNotificationSubscriptionService. + + none # noqa: E501 + + :return: The notification of this TapiNotificationNotificationSubscriptionService. + :rtype: List[TapiNotificationNotification] + """ + return self._notification + + @notification.setter + def notification(self, notification: List[TapiNotificationNotification]): + """Sets the notification of this TapiNotificationNotificationSubscriptionService. + + none # noqa: E501 + + :param notification: The notification of this TapiNotificationNotificationSubscriptionService. + :type notification: List[TapiNotificationNotification] + """ + + self._notification = notification + + @property + def notification_channel(self) -> TapiNotificationNotificationChannel: + """Gets the notification_channel of this TapiNotificationNotificationSubscriptionService. + + + :return: The notification_channel of this TapiNotificationNotificationSubscriptionService. + :rtype: TapiNotificationNotificationChannel + """ + return self._notification_channel + + @notification_channel.setter + def notification_channel(self, notification_channel: TapiNotificationNotificationChannel): + """Sets the notification_channel of this TapiNotificationNotificationSubscriptionService. + + + :param notification_channel: The notification_channel of this TapiNotificationNotificationSubscriptionService. + :type notification_channel: TapiNotificationNotificationChannel + """ + + self._notification_channel = notification_channel + + @property + def subscription_state(self) -> TapiNotificationSubscriptionState: + """Gets the subscription_state of this TapiNotificationNotificationSubscriptionService. + + + :return: The subscription_state of this TapiNotificationNotificationSubscriptionService. + :rtype: TapiNotificationSubscriptionState + """ + return self._subscription_state + + @subscription_state.setter + def subscription_state(self, subscription_state: TapiNotificationSubscriptionState): + """Sets the subscription_state of this TapiNotificationNotificationSubscriptionService. + + + :param subscription_state: The subscription_state of this TapiNotificationNotificationSubscriptionService. + :type subscription_state: TapiNotificationSubscriptionState + """ + + self._subscription_state = subscription_state + + @property + def supported_object_types(self) -> List[TapiNotificationObjectType]: + """Gets the supported_object_types of this TapiNotificationNotificationSubscriptionService. + + none # noqa: E501 + + :return: The supported_object_types of this TapiNotificationNotificationSubscriptionService. + :rtype: List[TapiNotificationObjectType] + """ + return self._supported_object_types + + @supported_object_types.setter + def supported_object_types(self, supported_object_types: List[TapiNotificationObjectType]): + """Sets the supported_object_types of this TapiNotificationNotificationSubscriptionService. + + none # noqa: E501 + + :param supported_object_types: The supported_object_types of this TapiNotificationNotificationSubscriptionService. + :type supported_object_types: List[TapiNotificationObjectType] + """ + + self._supported_object_types = supported_object_types + + @property + def supported_notification_types(self) -> List[TapiNotificationNotificationType]: + """Gets the supported_notification_types of this TapiNotificationNotificationSubscriptionService. + + none # noqa: E501 + + :return: The supported_notification_types of this TapiNotificationNotificationSubscriptionService. + :rtype: List[TapiNotificationNotificationType] + """ + return self._supported_notification_types + + @supported_notification_types.setter + def supported_notification_types(self, supported_notification_types: List[TapiNotificationNotificationType]): + """Sets the supported_notification_types of this TapiNotificationNotificationSubscriptionService. + + none # noqa: E501 + + :param supported_notification_types: The supported_notification_types of this TapiNotificationNotificationSubscriptionService. + :type supported_notification_types: List[TapiNotificationNotificationType] + """ + + self._supported_notification_types = supported_notification_types + + @property + def subscription_filter(self) -> TapiNotificationSubscriptionFilter: + """Gets the subscription_filter of this TapiNotificationNotificationSubscriptionService. + + + :return: The subscription_filter of this TapiNotificationNotificationSubscriptionService. + :rtype: TapiNotificationSubscriptionFilter + """ + return self._subscription_filter + + @subscription_filter.setter + def subscription_filter(self, subscription_filter: TapiNotificationSubscriptionFilter): + """Sets the subscription_filter of this TapiNotificationNotificationSubscriptionService. + + + :param subscription_filter: The subscription_filter of this TapiNotificationNotificationSubscriptionService. + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + + self._subscription_filter = subscription_filter diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_subscription_service_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_subscription_service_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..ec809bd51070beb022d5f089a5d1826af4f15ad9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_subscription_service_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationSubscriptionServiceWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, notif_subscription: TapiNotificationNotificationSubscriptionService=None): # noqa: E501 + """TapiNotificationNotificationSubscriptionServiceWrapper - a model defined in Swagger + + :param notif_subscription: The notif_subscription of this TapiNotificationNotificationSubscriptionServiceWrapper. # noqa: E501 + :type notif_subscription: TapiNotificationNotificationSubscriptionService + """ + self.swagger_types = { + 'notif_subscription': TapiNotificationNotificationSubscriptionService + } + + self.attribute_map = { + 'notif_subscription': 'notif-subscription' + } + self._notif_subscription = notif_subscription + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationSubscriptionServiceWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationSubscriptionServiceWrapper of this TapiNotificationNotificationSubscriptionServiceWrapper. # noqa: E501 + :rtype: TapiNotificationNotificationSubscriptionServiceWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def notif_subscription(self) -> TapiNotificationNotificationSubscriptionService: + """Gets the notif_subscription of this TapiNotificationNotificationSubscriptionServiceWrapper. + + + :return: The notif_subscription of this TapiNotificationNotificationSubscriptionServiceWrapper. + :rtype: TapiNotificationNotificationSubscriptionService + """ + return self._notif_subscription + + @notif_subscription.setter + def notif_subscription(self, notif_subscription: TapiNotificationNotificationSubscriptionService): + """Sets the notif_subscription of this TapiNotificationNotificationSubscriptionServiceWrapper. + + + :param notif_subscription: The notif_subscription of this TapiNotificationNotificationSubscriptionServiceWrapper. + :type notif_subscription: TapiNotificationNotificationSubscriptionService + """ + + self._notif_subscription = notif_subscription diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_type.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_type.py new file mode 100644 index 0000000000000000000000000000000000000000..176f3661feded5e423c2fddb5346602eab9f5692 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_type.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationNotificationType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + OBJECT_CREATION = "OBJECT_CREATION" + OBJECT_DELETION = "OBJECT_DELETION" + ATTRIBUTE_VALUE_CHANGE = "ATTRIBUTE_VALUE_CHANGE" + ALARM_EVENT = "ALARM_EVENT" + THRESHOLD_CROSSING_ALERT = "THRESHOLD_CROSSING_ALERT" + def __init__(self): # noqa: E501 + """TapiNotificationNotificationType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationType of this TapiNotificationNotificationType. # noqa: E501 + :rtype: TapiNotificationNotificationType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..eb2d9a1ed6dad8fa90c0ef097e40d80d1c4e6e67 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_notification_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification import TapiNotificationNotification # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationNotificationWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, notification: TapiNotificationNotification=None): # noqa: E501 + """TapiNotificationNotificationWrapper - a model defined in Swagger + + :param notification: The notification of this TapiNotificationNotificationWrapper. # noqa: E501 + :type notification: TapiNotificationNotification + """ + self.swagger_types = { + 'notification': TapiNotificationNotification + } + + self.attribute_map = { + 'notification': 'notification' + } + self._notification = notification + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationNotificationWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.NotificationWrapper of this TapiNotificationNotificationWrapper. # noqa: E501 + :rtype: TapiNotificationNotificationWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def notification(self) -> TapiNotificationNotification: + """Gets the notification of this TapiNotificationNotificationWrapper. + + + :return: The notification of this TapiNotificationNotificationWrapper. + :rtype: TapiNotificationNotification + """ + return self._notification + + @notification.setter + def notification(self, notification: TapiNotificationNotification): + """Sets the notification of this TapiNotificationNotificationWrapper. + + + :param notification: The notification of this TapiNotificationNotificationWrapper. + :type notification: TapiNotificationNotification + """ + + self._notification = notification diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_object_type.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_object_type.py new file mode 100644 index 0000000000000000000000000000000000000000..973801635db2cfe8682a4d04cd38d928f33895f9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_object_type.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationObjectType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + TOPOLOGY = "TOPOLOGY" + NODE = "NODE" + LINK = "LINK" + CONNECTION = "CONNECTION" + PATH = "PATH" + CONNECTIVITY_SERVICE = "CONNECTIVITY_SERVICE" + VIRTUAL_NETWORK_SERVICE = "VIRTUAL_NETWORK_SERVICE" + PATH_COMPUTATION_SERVICE = "PATH_COMPUTATION_SERVICE" + NODE_EDGE_POINT = "NODE_EDGE_POINT" + SERVICE_INTERFACE_POINT = "SERVICE_INTERFACE_POINT" + CONNECTION_END_POINT = "CONNECTION_END_POINT" + MAINTENANCE_ENTITY_GROUP = "MAINTENANCE_ENTITY_GROUP" + MAINTENANCE_ENTITY = "MAINTENANCE_ENTITY" + MEG_END_POINT = "MEG_END_POINT" + MEG_INTERMEDIATE_POINT = "MEG_INTERMEDIATE_POINT" + SWITCH_CONTROL = "SWITCH_CONTROL" + SWITCH = "SWITCH" + ROUTE = "ROUTE" + NODE_RULE_GROUP = "NODE_RULE_GROUP" + INTER_RULE_GROUP = "INTER_RULE_GROUP" + RULE = "RULE" + OAM_JOB = "OAM_JOB" + ACCESS_PORT = "ACCESS_PORT" + EQUIPMENT = "EQUIPMENT" + HOLDER = "HOLDER" + PHYSICAL_SPAN = "PHYSICAL_SPAN" + ABSTRACT_STRAND = "ABSTRACT_STRAND" + DEVICE = "DEVICE" + def __init__(self): # noqa: E501 + """TapiNotificationObjectType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationObjectType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.ObjectType of this TapiNotificationObjectType. # noqa: E501 + :rtype: TapiNotificationObjectType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_perceived_severity_type.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_perceived_severity_type.py new file mode 100644 index 0000000000000000000000000000000000000000..fb852664e1016543af88543c85e1103ee9e64959 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_perceived_severity_type.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationPerceivedSeverityType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + CRITICAL = "CRITICAL" + MAJOR = "MAJOR" + MINOR = "MINOR" + WARNING = "WARNING" + CLEARED = "CLEARED" + def __init__(self): # noqa: E501 + """TapiNotificationPerceivedSeverityType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationPerceivedSeverityType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.PerceivedSeverityType of this TapiNotificationPerceivedSeverityType. # noqa: E501 + :rtype: TapiNotificationPerceivedSeverityType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_perceived_tca_severity.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_perceived_tca_severity.py new file mode 100644 index 0000000000000000000000000000000000000000..0dc2e13a4765af8537b95728cb630396b2c8ba01 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_perceived_tca_severity.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationPerceivedTcaSeverity(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + WARNING = "WARNING" + CLEAR = "CLEAR" + def __init__(self): # noqa: E501 + """TapiNotificationPerceivedTcaSeverity - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationPerceivedTcaSeverity': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.PerceivedTcaSeverity of this TapiNotificationPerceivedTcaSeverity. # noqa: E501 + :rtype: TapiNotificationPerceivedTcaSeverity + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_service_affecting.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_service_affecting.py new file mode 100644 index 0000000000000000000000000000000000000000..fb2253894af156e17ede625ae8c703e9fb3e5521 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_service_affecting.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationServiceAffecting(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + SERVICE_AFFECTING = "SERVICE_AFFECTING" + NOT_SERVICE_AFFECTING = "NOT_SERVICE_AFFECTING" + UNKNOWN = "UNKNOWN" + def __init__(self): # noqa: E501 + """TapiNotificationServiceAffecting - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationServiceAffecting': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.ServiceAffecting of this TapiNotificationServiceAffecting. # noqa: E501 + :rtype: TapiNotificationServiceAffecting + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_source_indicator.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_source_indicator.py new file mode 100644 index 0000000000000000000000000000000000000000..5f0bcedbfd814966fe5dbdc9063f4c65e68da66e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_source_indicator.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationSourceIndicator(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + RESOURCE_OPERATION = "RESOURCE_OPERATION" + MANAGEMENT_OPERATION = "MANAGEMENT_OPERATION" + UNKNOWN = "UNKNOWN" + def __init__(self): # noqa: E501 + """TapiNotificationSourceIndicator - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationSourceIndicator': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.SourceIndicator of this TapiNotificationSourceIndicator. # noqa: E501 + :rtype: TapiNotificationSourceIndicator + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_filter.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_filter.py new file mode 100644 index 0000000000000000000000000000000000000000..e26921ceffedf65344e70c477fcc5d998c14fcf5 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_filter.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_notification_notification_type import TapiNotificationNotificationType # noqa: F401,E501 +from tapi_server.models.tapi_notification_object_type import TapiNotificationObjectType # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationSubscriptionFilter(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, requested_notification_types: List[TapiNotificationNotificationType]=None, requested_object_identifier: List[str]=None, requested_layer_protocols: List[TapiCommonLayerProtocolName]=None, include_content: bool=False, requested_object_types: List[TapiNotificationObjectType]=None): # noqa: E501 + """TapiNotificationSubscriptionFilter - a model defined in Swagger + + :param name: The name of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type local_id: str + :param requested_notification_types: The requested_notification_types of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type requested_notification_types: List[TapiNotificationNotificationType] + :param requested_object_identifier: The requested_object_identifier of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type requested_object_identifier: List[str] + :param requested_layer_protocols: The requested_layer_protocols of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type requested_layer_protocols: List[TapiCommonLayerProtocolName] + :param include_content: The include_content of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type include_content: bool + :param requested_object_types: The requested_object_types of this TapiNotificationSubscriptionFilter. # noqa: E501 + :type requested_object_types: List[TapiNotificationObjectType] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'requested_notification_types': List[TapiNotificationNotificationType], + 'requested_object_identifier': List[str], + 'requested_layer_protocols': List[TapiCommonLayerProtocolName], + 'include_content': bool, + 'requested_object_types': List[TapiNotificationObjectType] + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'requested_notification_types': 'requested-notification-types', + 'requested_object_identifier': 'requested-object-identifier', + 'requested_layer_protocols': 'requested-layer-protocols', + 'include_content': 'include-content', + 'requested_object_types': 'requested-object-types' + } + self._name = name + self._local_id = local_id + self._requested_notification_types = requested_notification_types + self._requested_object_identifier = requested_object_identifier + self._requested_layer_protocols = requested_layer_protocols + self._include_content = include_content + self._requested_object_types = requested_object_types + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationSubscriptionFilter': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.SubscriptionFilter of this TapiNotificationSubscriptionFilter. # noqa: E501 + :rtype: TapiNotificationSubscriptionFilter + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiNotificationSubscriptionFilter. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiNotificationSubscriptionFilter. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiNotificationSubscriptionFilter. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiNotificationSubscriptionFilter. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :return: The local_id of this TapiNotificationSubscriptionFilter. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :param local_id: The local_id of this TapiNotificationSubscriptionFilter. + :type local_id: str + """ + + self._local_id = local_id + + @property + def requested_notification_types(self) -> List[TapiNotificationNotificationType]: + """Gets the requested_notification_types of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :return: The requested_notification_types of this TapiNotificationSubscriptionFilter. + :rtype: List[TapiNotificationNotificationType] + """ + return self._requested_notification_types + + @requested_notification_types.setter + def requested_notification_types(self, requested_notification_types: List[TapiNotificationNotificationType]): + """Sets the requested_notification_types of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :param requested_notification_types: The requested_notification_types of this TapiNotificationSubscriptionFilter. + :type requested_notification_types: List[TapiNotificationNotificationType] + """ + + self._requested_notification_types = requested_notification_types + + @property + def requested_object_identifier(self) -> List[str]: + """Gets the requested_object_identifier of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :return: The requested_object_identifier of this TapiNotificationSubscriptionFilter. + :rtype: List[str] + """ + return self._requested_object_identifier + + @requested_object_identifier.setter + def requested_object_identifier(self, requested_object_identifier: List[str]): + """Sets the requested_object_identifier of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :param requested_object_identifier: The requested_object_identifier of this TapiNotificationSubscriptionFilter. + :type requested_object_identifier: List[str] + """ + + self._requested_object_identifier = requested_object_identifier + + @property + def requested_layer_protocols(self) -> List[TapiCommonLayerProtocolName]: + """Gets the requested_layer_protocols of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :return: The requested_layer_protocols of this TapiNotificationSubscriptionFilter. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._requested_layer_protocols + + @requested_layer_protocols.setter + def requested_layer_protocols(self, requested_layer_protocols: List[TapiCommonLayerProtocolName]): + """Sets the requested_layer_protocols of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :param requested_layer_protocols: The requested_layer_protocols of this TapiNotificationSubscriptionFilter. + :type requested_layer_protocols: List[TapiCommonLayerProtocolName] + """ + + self._requested_layer_protocols = requested_layer_protocols + + @property + def include_content(self) -> bool: + """Gets the include_content of this TapiNotificationSubscriptionFilter. + + Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage) # noqa: E501 + + :return: The include_content of this TapiNotificationSubscriptionFilter. + :rtype: bool + """ + return self._include_content + + @include_content.setter + def include_content(self, include_content: bool): + """Sets the include_content of this TapiNotificationSubscriptionFilter. + + Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage) # noqa: E501 + + :param include_content: The include_content of this TapiNotificationSubscriptionFilter. + :type include_content: bool + """ + + self._include_content = include_content + + @property + def requested_object_types(self) -> List[TapiNotificationObjectType]: + """Gets the requested_object_types of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :return: The requested_object_types of this TapiNotificationSubscriptionFilter. + :rtype: List[TapiNotificationObjectType] + """ + return self._requested_object_types + + @requested_object_types.setter + def requested_object_types(self, requested_object_types: List[TapiNotificationObjectType]): + """Sets the requested_object_types of this TapiNotificationSubscriptionFilter. + + none # noqa: E501 + + :param requested_object_types: The requested_object_types of this TapiNotificationSubscriptionFilter. + :type requested_object_types: List[TapiNotificationObjectType] + """ + + self._requested_object_types = requested_object_types diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_filter_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_filter_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..4320001ca23ebb84f774f3c9e634523439f90423 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_filter_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_subscription_filter import TapiNotificationSubscriptionFilter # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationSubscriptionFilterWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_filter: TapiNotificationSubscriptionFilter=None): # noqa: E501 + """TapiNotificationSubscriptionFilterWrapper - a model defined in Swagger + + :param subscription_filter: The subscription_filter of this TapiNotificationSubscriptionFilterWrapper. # noqa: E501 + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + self.swagger_types = { + 'subscription_filter': TapiNotificationSubscriptionFilter + } + + self.attribute_map = { + 'subscription_filter': 'subscription-filter' + } + self._subscription_filter = subscription_filter + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationSubscriptionFilterWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.SubscriptionFilterWrapper of this TapiNotificationSubscriptionFilterWrapper. # noqa: E501 + :rtype: TapiNotificationSubscriptionFilterWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_filter(self) -> TapiNotificationSubscriptionFilter: + """Gets the subscription_filter of this TapiNotificationSubscriptionFilterWrapper. + + + :return: The subscription_filter of this TapiNotificationSubscriptionFilterWrapper. + :rtype: TapiNotificationSubscriptionFilter + """ + return self._subscription_filter + + @subscription_filter.setter + def subscription_filter(self, subscription_filter: TapiNotificationSubscriptionFilter): + """Sets the subscription_filter of this TapiNotificationSubscriptionFilterWrapper. + + + :param subscription_filter: The subscription_filter of this TapiNotificationSubscriptionFilterWrapper. + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + + self._subscription_filter = subscription_filter diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_state.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_state.py new file mode 100644 index 0000000000000000000000000000000000000000..80f69c5f51085ca4512a622ca253dd634ac2360f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_subscription_state.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationSubscriptionState(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + SUSPENDED = "SUSPENDED" + ACTIVE = "ACTIVE" + def __init__(self): # noqa: E501 + """TapiNotificationSubscriptionState - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationSubscriptionState': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.SubscriptionState of this TapiNotificationSubscriptionState. # noqa: E501 + :rtype: TapiNotificationSubscriptionState + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_tca_info.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_tca_info.py new file mode 100644 index 0000000000000000000000000000000000000000..9043ceee54d8c6c18dc58ef10f77fa1e1efd5b4b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_tca_info.py @@ -0,0 +1,230 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_perceived_tca_severity import TapiNotificationPerceivedTcaSeverity # noqa: F401,E501 +from tapi_server.models.tapi_notification_threshold_crossing_type import TapiNotificationThresholdCrossingType # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationTcaInfo(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, threshold_crossing: TapiNotificationThresholdCrossingType=None, threshold_parameter: str=None, is_transient: bool=False, threshold_value: int=None, perceived_severity: TapiNotificationPerceivedTcaSeverity=None, suspect_interval_flag: bool=False, measurement_interval: str=None): # noqa: E501 + """TapiNotificationTcaInfo - a model defined in Swagger + + :param threshold_crossing: The threshold_crossing of this TapiNotificationTcaInfo. # noqa: E501 + :type threshold_crossing: TapiNotificationThresholdCrossingType + :param threshold_parameter: The threshold_parameter of this TapiNotificationTcaInfo. # noqa: E501 + :type threshold_parameter: str + :param is_transient: The is_transient of this TapiNotificationTcaInfo. # noqa: E501 + :type is_transient: bool + :param threshold_value: The threshold_value of this TapiNotificationTcaInfo. # noqa: E501 + :type threshold_value: int + :param perceived_severity: The perceived_severity of this TapiNotificationTcaInfo. # noqa: E501 + :type perceived_severity: TapiNotificationPerceivedTcaSeverity + :param suspect_interval_flag: The suspect_interval_flag of this TapiNotificationTcaInfo. # noqa: E501 + :type suspect_interval_flag: bool + :param measurement_interval: The measurement_interval of this TapiNotificationTcaInfo. # noqa: E501 + :type measurement_interval: str + """ + self.swagger_types = { + 'threshold_crossing': TapiNotificationThresholdCrossingType, + 'threshold_parameter': str, + 'is_transient': bool, + 'threshold_value': int, + 'perceived_severity': TapiNotificationPerceivedTcaSeverity, + 'suspect_interval_flag': bool, + 'measurement_interval': str + } + + self.attribute_map = { + 'threshold_crossing': 'threshold-crossing', + 'threshold_parameter': 'threshold-parameter', + 'is_transient': 'is-transient', + 'threshold_value': 'threshold-value', + 'perceived_severity': 'perceived-severity', + 'suspect_interval_flag': 'suspect-interval-flag', + 'measurement_interval': 'measurement-interval' + } + self._threshold_crossing = threshold_crossing + self._threshold_parameter = threshold_parameter + self._is_transient = is_transient + self._threshold_value = threshold_value + self._perceived_severity = perceived_severity + self._suspect_interval_flag = suspect_interval_flag + self._measurement_interval = measurement_interval + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationTcaInfo': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.TcaInfo of this TapiNotificationTcaInfo. # noqa: E501 + :rtype: TapiNotificationTcaInfo + """ + return util.deserialize_model(dikt, cls) + + @property + def threshold_crossing(self) -> TapiNotificationThresholdCrossingType: + """Gets the threshold_crossing of this TapiNotificationTcaInfo. + + + :return: The threshold_crossing of this TapiNotificationTcaInfo. + :rtype: TapiNotificationThresholdCrossingType + """ + return self._threshold_crossing + + @threshold_crossing.setter + def threshold_crossing(self, threshold_crossing: TapiNotificationThresholdCrossingType): + """Sets the threshold_crossing of this TapiNotificationTcaInfo. + + + :param threshold_crossing: The threshold_crossing of this TapiNotificationTcaInfo. + :type threshold_crossing: TapiNotificationThresholdCrossingType + """ + + self._threshold_crossing = threshold_crossing + + @property + def threshold_parameter(self) -> str: + """Gets the threshold_parameter of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :return: The threshold_parameter of this TapiNotificationTcaInfo. + :rtype: str + """ + return self._threshold_parameter + + @threshold_parameter.setter + def threshold_parameter(self, threshold_parameter: str): + """Sets the threshold_parameter of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :param threshold_parameter: The threshold_parameter of this TapiNotificationTcaInfo. + :type threshold_parameter: str + """ + + self._threshold_parameter = threshold_parameter + + @property + def is_transient(self) -> bool: + """Gets the is_transient of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :return: The is_transient of this TapiNotificationTcaInfo. + :rtype: bool + """ + return self._is_transient + + @is_transient.setter + def is_transient(self, is_transient: bool): + """Sets the is_transient of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :param is_transient: The is_transient of this TapiNotificationTcaInfo. + :type is_transient: bool + """ + + self._is_transient = is_transient + + @property + def threshold_value(self) -> int: + """Gets the threshold_value of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :return: The threshold_value of this TapiNotificationTcaInfo. + :rtype: int + """ + return self._threshold_value + + @threshold_value.setter + def threshold_value(self, threshold_value: int): + """Sets the threshold_value of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :param threshold_value: The threshold_value of this TapiNotificationTcaInfo. + :type threshold_value: int + """ + + self._threshold_value = threshold_value + + @property + def perceived_severity(self) -> TapiNotificationPerceivedTcaSeverity: + """Gets the perceived_severity of this TapiNotificationTcaInfo. + + + :return: The perceived_severity of this TapiNotificationTcaInfo. + :rtype: TapiNotificationPerceivedTcaSeverity + """ + return self._perceived_severity + + @perceived_severity.setter + def perceived_severity(self, perceived_severity: TapiNotificationPerceivedTcaSeverity): + """Sets the perceived_severity of this TapiNotificationTcaInfo. + + + :param perceived_severity: The perceived_severity of this TapiNotificationTcaInfo. + :type perceived_severity: TapiNotificationPerceivedTcaSeverity + """ + + self._perceived_severity = perceived_severity + + @property + def suspect_interval_flag(self) -> bool: + """Gets the suspect_interval_flag of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :return: The suspect_interval_flag of this TapiNotificationTcaInfo. + :rtype: bool + """ + return self._suspect_interval_flag + + @suspect_interval_flag.setter + def suspect_interval_flag(self, suspect_interval_flag: bool): + """Sets the suspect_interval_flag of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :param suspect_interval_flag: The suspect_interval_flag of this TapiNotificationTcaInfo. + :type suspect_interval_flag: bool + """ + + self._suspect_interval_flag = suspect_interval_flag + + @property + def measurement_interval(self) -> str: + """Gets the measurement_interval of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :return: The measurement_interval of this TapiNotificationTcaInfo. + :rtype: str + """ + return self._measurement_interval + + @measurement_interval.setter + def measurement_interval(self, measurement_interval: str): + """Sets the measurement_interval of this TapiNotificationTcaInfo. + + none # noqa: E501 + + :param measurement_interval: The measurement_interval of this TapiNotificationTcaInfo. + :type measurement_interval: str + """ + + self._measurement_interval = measurement_interval diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_tca_info_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_tca_info_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..b607e088d46fd14cbb5deb37df8f9f02a0bfc22b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_tca_info_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_tca_info import TapiNotificationTcaInfo # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationTcaInfoWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tca_info: TapiNotificationTcaInfo=None): # noqa: E501 + """TapiNotificationTcaInfoWrapper - a model defined in Swagger + + :param tca_info: The tca_info of this TapiNotificationTcaInfoWrapper. # noqa: E501 + :type tca_info: TapiNotificationTcaInfo + """ + self.swagger_types = { + 'tca_info': TapiNotificationTcaInfo + } + + self.attribute_map = { + 'tca_info': 'tca-info' + } + self._tca_info = tca_info + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationTcaInfoWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.TcaInfoWrapper of this TapiNotificationTcaInfoWrapper. # noqa: E501 + :rtype: TapiNotificationTcaInfoWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tca_info(self) -> TapiNotificationTcaInfo: + """Gets the tca_info of this TapiNotificationTcaInfoWrapper. + + + :return: The tca_info of this TapiNotificationTcaInfoWrapper. + :rtype: TapiNotificationTcaInfo + """ + return self._tca_info + + @tca_info.setter + def tca_info(self, tca_info: TapiNotificationTcaInfo): + """Sets the tca_info of this TapiNotificationTcaInfoWrapper. + + + :param tca_info: The tca_info of this TapiNotificationTcaInfoWrapper. + :type tca_info: TapiNotificationTcaInfo + """ + + self._tca_info = tca_info diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_threshold_crossing_type.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_threshold_crossing_type.py new file mode 100644 index 0000000000000000000000000000000000000000..7082427638817227cbdb964d0c7d55459376938e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_threshold_crossing_type.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiNotificationThresholdCrossingType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + THRESHOLD_ABOVE = "THRESHOLD_ABOVE" + THRESHOLD_BELOW = "THRESHOLD_BELOW" + CLEARED = "CLEARED" + def __init__(self): # noqa: E501 + """TapiNotificationThresholdCrossingType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationThresholdCrossingType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.ThresholdCrossingType of this TapiNotificationThresholdCrossingType. # noqa: E501 + :rtype: TapiNotificationThresholdCrossingType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_update_notification_subscription_service.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_update_notification_subscription_service.py new file mode 100644 index 0000000000000000000000000000000000000000..a784b067a36151c912470b2c234b31cdc33e4762 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_update_notification_subscription_service.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_updatenotificationsubscriptionservice_output import TapiNotificationUpdatenotificationsubscriptionserviceOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationUpdateNotificationSubscriptionService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiNotificationUpdatenotificationsubscriptionserviceOutput=None): # noqa: E501 + """TapiNotificationUpdateNotificationSubscriptionService - a model defined in Swagger + + :param output: The output of this TapiNotificationUpdateNotificationSubscriptionService. # noqa: E501 + :type output: TapiNotificationUpdatenotificationsubscriptionserviceOutput + """ + self.swagger_types = { + 'output': TapiNotificationUpdatenotificationsubscriptionserviceOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationUpdateNotificationSubscriptionService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.UpdateNotificationSubscriptionService of this TapiNotificationUpdateNotificationSubscriptionService. # noqa: E501 + :rtype: TapiNotificationUpdateNotificationSubscriptionService + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiNotificationUpdatenotificationsubscriptionserviceOutput: + """Gets the output of this TapiNotificationUpdateNotificationSubscriptionService. + + + :return: The output of this TapiNotificationUpdateNotificationSubscriptionService. + :rtype: TapiNotificationUpdatenotificationsubscriptionserviceOutput + """ + return self._output + + @output.setter + def output(self, output: TapiNotificationUpdatenotificationsubscriptionserviceOutput): + """Sets the output of this TapiNotificationUpdateNotificationSubscriptionService. + + + :param output: The output of this TapiNotificationUpdateNotificationSubscriptionService. + :type output: TapiNotificationUpdatenotificationsubscriptionserviceOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_updatenotificationsubscriptionservice_input.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_updatenotificationsubscriptionservice_input.py new file mode 100644 index 0000000000000000000000000000000000000000..c6a1b1e4e980157be32a71692fe6a40b2e098bfd --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_updatenotificationsubscriptionservice_input.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_subscription_filter import TapiNotificationSubscriptionFilter # noqa: F401,E501 +from tapi_server.models.tapi_notification_subscription_state import TapiNotificationSubscriptionState # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationUpdatenotificationsubscriptionserviceInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_state: TapiNotificationSubscriptionState=None, subscription_filter: TapiNotificationSubscriptionFilter=None, subscription_id_or_name: str=None): # noqa: E501 + """TapiNotificationUpdatenotificationsubscriptionserviceInput - a model defined in Swagger + + :param subscription_state: The subscription_state of this TapiNotificationUpdatenotificationsubscriptionserviceInput. # noqa: E501 + :type subscription_state: TapiNotificationSubscriptionState + :param subscription_filter: The subscription_filter of this TapiNotificationUpdatenotificationsubscriptionserviceInput. # noqa: E501 + :type subscription_filter: TapiNotificationSubscriptionFilter + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationUpdatenotificationsubscriptionserviceInput. # noqa: E501 + :type subscription_id_or_name: str + """ + self.swagger_types = { + 'subscription_state': TapiNotificationSubscriptionState, + 'subscription_filter': TapiNotificationSubscriptionFilter, + 'subscription_id_or_name': str + } + + self.attribute_map = { + 'subscription_state': 'subscription-state', + 'subscription_filter': 'subscription-filter', + 'subscription_id_or_name': 'subscription-id-or-name' + } + self._subscription_state = subscription_state + self._subscription_filter = subscription_filter + self._subscription_id_or_name = subscription_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationUpdatenotificationsubscriptionserviceInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.updatenotificationsubscriptionservice.Input of this TapiNotificationUpdatenotificationsubscriptionserviceInput. # noqa: E501 + :rtype: TapiNotificationUpdatenotificationsubscriptionserviceInput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_state(self) -> TapiNotificationSubscriptionState: + """Gets the subscription_state of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + + + :return: The subscription_state of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + :rtype: TapiNotificationSubscriptionState + """ + return self._subscription_state + + @subscription_state.setter + def subscription_state(self, subscription_state: TapiNotificationSubscriptionState): + """Sets the subscription_state of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + + + :param subscription_state: The subscription_state of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + :type subscription_state: TapiNotificationSubscriptionState + """ + + self._subscription_state = subscription_state + + @property + def subscription_filter(self) -> TapiNotificationSubscriptionFilter: + """Gets the subscription_filter of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + + + :return: The subscription_filter of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + :rtype: TapiNotificationSubscriptionFilter + """ + return self._subscription_filter + + @subscription_filter.setter + def subscription_filter(self, subscription_filter: TapiNotificationSubscriptionFilter): + """Sets the subscription_filter of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + + + :param subscription_filter: The subscription_filter of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + :type subscription_filter: TapiNotificationSubscriptionFilter + """ + + self._subscription_filter = subscription_filter + + @property + def subscription_id_or_name(self) -> str: + """Gets the subscription_id_or_name of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + + none # noqa: E501 + + :return: The subscription_id_or_name of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + :rtype: str + """ + return self._subscription_id_or_name + + @subscription_id_or_name.setter + def subscription_id_or_name(self, subscription_id_or_name: str): + """Sets the subscription_id_or_name of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + + none # noqa: E501 + + :param subscription_id_or_name: The subscription_id_or_name of this TapiNotificationUpdatenotificationsubscriptionserviceInput. + :type subscription_id_or_name: str + """ + + self._subscription_id_or_name = subscription_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_notification_updatenotificationsubscriptionservice_output.py b/hackfest/tapi/server/tapi_server/models/tapi_notification_updatenotificationsubscriptionservice_output.py new file mode 100644 index 0000000000000000000000000000000000000000..fc0ba68399d51b381faa2adcb6a2899fcc0a8554 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_notification_updatenotificationsubscriptionservice_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_notification_notification_subscription_service import TapiNotificationNotificationSubscriptionService # noqa: F401,E501 +from tapi_server import util + + +class TapiNotificationUpdatenotificationsubscriptionserviceOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, subscription_service: TapiNotificationNotificationSubscriptionService=None): # noqa: E501 + """TapiNotificationUpdatenotificationsubscriptionserviceOutput - a model defined in Swagger + + :param subscription_service: The subscription_service of this TapiNotificationUpdatenotificationsubscriptionserviceOutput. # noqa: E501 + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + self.swagger_types = { + 'subscription_service': TapiNotificationNotificationSubscriptionService + } + + self.attribute_map = { + 'subscription_service': 'subscription-service' + } + self._subscription_service = subscription_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiNotificationUpdatenotificationsubscriptionserviceOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.notification.updatenotificationsubscriptionservice.Output of this TapiNotificationUpdatenotificationsubscriptionserviceOutput. # noqa: E501 + :rtype: TapiNotificationUpdatenotificationsubscriptionserviceOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def subscription_service(self) -> TapiNotificationNotificationSubscriptionService: + """Gets the subscription_service of this TapiNotificationUpdatenotificationsubscriptionserviceOutput. + + + :return: The subscription_service of this TapiNotificationUpdatenotificationsubscriptionserviceOutput. + :rtype: TapiNotificationNotificationSubscriptionService + """ + return self._subscription_service + + @subscription_service.setter + def subscription_service(self, subscription_service: TapiNotificationNotificationSubscriptionService): + """Sets the subscription_service of this TapiNotificationUpdatenotificationsubscriptionserviceOutput. + + + :param subscription_service: The subscription_service of this TapiNotificationUpdatenotificationsubscriptionserviceOutput. + :type subscription_service: TapiNotificationNotificationSubscriptionService + """ + + self._subscription_service = subscription_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_compute_p2_p_path.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_compute_p2_p_path.py new file mode 100644 index 0000000000000000000000000000000000000000..a3630b3b370eda154618831f0e399d9f2df8cde1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_compute_p2_p_path.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_computep2ppath_output import TapiPathComputationComputep2ppathOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationComputeP2PPath(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiPathComputationComputep2ppathOutput=None): # noqa: E501 + """TapiPathComputationComputeP2PPath - a model defined in Swagger + + :param output: The output of this TapiPathComputationComputeP2PPath. # noqa: E501 + :type output: TapiPathComputationComputep2ppathOutput + """ + self.swagger_types = { + 'output': TapiPathComputationComputep2ppathOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationComputeP2PPath': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.ComputeP2PPath of this TapiPathComputationComputeP2PPath. # noqa: E501 + :rtype: TapiPathComputationComputeP2PPath + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiPathComputationComputep2ppathOutput: + """Gets the output of this TapiPathComputationComputeP2PPath. + + + :return: The output of this TapiPathComputationComputeP2PPath. + :rtype: TapiPathComputationComputep2ppathOutput + """ + return self._output + + @output.setter + def output(self, output: TapiPathComputationComputep2ppathOutput): + """Sets the output of this TapiPathComputationComputeP2PPath. + + + :param output: The output of this TapiPathComputationComputeP2PPath. + :type output: TapiPathComputationComputep2ppathOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_computep2ppath_input.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_computep2ppath_input.py new file mode 100644 index 0000000000000000000000000000000000000000..1e934cbdca0d23f23ef282da4e0863f14badc972 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_computep2ppath_input.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_objective_function import TapiPathComputationPathObjectiveFunction # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_service_end_point import TapiPathComputationPathServiceEndPoint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationComputep2ppathInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_constraint: TapiPathComputationTopologyConstraint=None, routing_constraint: TapiPathComputationRoutingConstraint=None, objective_function: TapiPathComputationPathObjectiveFunction=None, sep: List[TapiPathComputationPathServiceEndPoint]=None): # noqa: E501 + """TapiPathComputationComputep2ppathInput - a model defined in Swagger + + :param topology_constraint: The topology_constraint of this TapiPathComputationComputep2ppathInput. # noqa: E501 + :type topology_constraint: TapiPathComputationTopologyConstraint + :param routing_constraint: The routing_constraint of this TapiPathComputationComputep2ppathInput. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + :param objective_function: The objective_function of this TapiPathComputationComputep2ppathInput. # noqa: E501 + :type objective_function: TapiPathComputationPathObjectiveFunction + :param sep: The sep of this TapiPathComputationComputep2ppathInput. # noqa: E501 + :type sep: List[TapiPathComputationPathServiceEndPoint] + """ + self.swagger_types = { + 'topology_constraint': TapiPathComputationTopologyConstraint, + 'routing_constraint': TapiPathComputationRoutingConstraint, + 'objective_function': TapiPathComputationPathObjectiveFunction, + 'sep': List[TapiPathComputationPathServiceEndPoint] + } + + self.attribute_map = { + 'topology_constraint': 'topology-constraint', + 'routing_constraint': 'routing-constraint', + 'objective_function': 'objective-function', + 'sep': 'sep' + } + self._topology_constraint = topology_constraint + self._routing_constraint = routing_constraint + self._objective_function = objective_function + self._sep = sep + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationComputep2ppathInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.computep2ppath.Input of this TapiPathComputationComputep2ppathInput. # noqa: E501 + :rtype: TapiPathComputationComputep2ppathInput + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_constraint(self) -> TapiPathComputationTopologyConstraint: + """Gets the topology_constraint of this TapiPathComputationComputep2ppathInput. + + + :return: The topology_constraint of this TapiPathComputationComputep2ppathInput. + :rtype: TapiPathComputationTopologyConstraint + """ + return self._topology_constraint + + @topology_constraint.setter + def topology_constraint(self, topology_constraint: TapiPathComputationTopologyConstraint): + """Sets the topology_constraint of this TapiPathComputationComputep2ppathInput. + + + :param topology_constraint: The topology_constraint of this TapiPathComputationComputep2ppathInput. + :type topology_constraint: TapiPathComputationTopologyConstraint + """ + + self._topology_constraint = topology_constraint + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiPathComputationComputep2ppathInput. + + + :return: The routing_constraint of this TapiPathComputationComputep2ppathInput. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiPathComputationComputep2ppathInput. + + + :param routing_constraint: The routing_constraint of this TapiPathComputationComputep2ppathInput. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint + + @property + def objective_function(self) -> TapiPathComputationPathObjectiveFunction: + """Gets the objective_function of this TapiPathComputationComputep2ppathInput. + + + :return: The objective_function of this TapiPathComputationComputep2ppathInput. + :rtype: TapiPathComputationPathObjectiveFunction + """ + return self._objective_function + + @objective_function.setter + def objective_function(self, objective_function: TapiPathComputationPathObjectiveFunction): + """Sets the objective_function of this TapiPathComputationComputep2ppathInput. + + + :param objective_function: The objective_function of this TapiPathComputationComputep2ppathInput. + :type objective_function: TapiPathComputationPathObjectiveFunction + """ + + self._objective_function = objective_function + + @property + def sep(self) -> List[TapiPathComputationPathServiceEndPoint]: + """Gets the sep of this TapiPathComputationComputep2ppathInput. + + none # noqa: E501 + + :return: The sep of this TapiPathComputationComputep2ppathInput. + :rtype: List[TapiPathComputationPathServiceEndPoint] + """ + return self._sep + + @sep.setter + def sep(self, sep: List[TapiPathComputationPathServiceEndPoint]): + """Sets the sep of this TapiPathComputationComputep2ppathInput. + + none # noqa: E501 + + :param sep: The sep of this TapiPathComputationComputep2ppathInput. + :type sep: List[TapiPathComputationPathServiceEndPoint] + """ + + self._sep = sep diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_computep2ppath_output.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_computep2ppath_output.py new file mode 100644 index 0000000000000000000000000000000000000000..a89dc2657d6b17d654cead1a40e5d7d46a2b420d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_computep2ppath_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_computation_service import TapiPathComputationPathComputationService # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationComputep2ppathOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: TapiPathComputationPathComputationService=None): # noqa: E501 + """TapiPathComputationComputep2ppathOutput - a model defined in Swagger + + :param service: The service of this TapiPathComputationComputep2ppathOutput. # noqa: E501 + :type service: TapiPathComputationPathComputationService + """ + self.swagger_types = { + 'service': TapiPathComputationPathComputationService + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationComputep2ppathOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.computep2ppath.Output of this TapiPathComputationComputep2ppathOutput. # noqa: E501 + :rtype: TapiPathComputationComputep2ppathOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> TapiPathComputationPathComputationService: + """Gets the service of this TapiPathComputationComputep2ppathOutput. + + + :return: The service of this TapiPathComputationComputep2ppathOutput. + :rtype: TapiPathComputationPathComputationService + """ + return self._service + + @service.setter + def service(self, service: TapiPathComputationPathComputationService): + """Sets the service of this TapiPathComputationComputep2ppathOutput. + + + :param service: The service of this TapiPathComputationComputep2ppathOutput. + :type service: TapiPathComputationPathComputationService + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_context_augmentation2.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_context_augmentation2.py new file mode 100644 index 0000000000000000000000000000000000000000..846fd8190406e4e88a9a7151f50200a8caf3059f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_context_augmentation2.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_computation_context import TapiPathComputationPathComputationContext # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationContextAugmentation2(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path_computation_context: TapiPathComputationPathComputationContext=None): # noqa: E501 + """TapiPathComputationContextAugmentation2 - a model defined in Swagger + + :param path_computation_context: The path_computation_context of this TapiPathComputationContextAugmentation2. # noqa: E501 + :type path_computation_context: TapiPathComputationPathComputationContext + """ + self.swagger_types = { + 'path_computation_context': TapiPathComputationPathComputationContext + } + + self.attribute_map = { + 'path_computation_context': 'path-computation-context' + } + self._path_computation_context = path_computation_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationContextAugmentation2': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.ContextAugmentation2 of this TapiPathComputationContextAugmentation2. # noqa: E501 + :rtype: TapiPathComputationContextAugmentation2 + """ + return util.deserialize_model(dikt, cls) + + @property + def path_computation_context(self) -> TapiPathComputationPathComputationContext: + """Gets the path_computation_context of this TapiPathComputationContextAugmentation2. + + + :return: The path_computation_context of this TapiPathComputationContextAugmentation2. + :rtype: TapiPathComputationPathComputationContext + """ + return self._path_computation_context + + @path_computation_context.setter + def path_computation_context(self, path_computation_context: TapiPathComputationPathComputationContext): + """Sets the path_computation_context of this TapiPathComputationContextAugmentation2. + + + :param path_computation_context: The path_computation_context of this TapiPathComputationContextAugmentation2. + :type path_computation_context: TapiPathComputationPathComputationContext + """ + + self._path_computation_context = path_computation_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_delete_p2_p_path.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_delete_p2_p_path.py new file mode 100644 index 0000000000000000000000000000000000000000..5af4467a2927cde5085f14bb97270b1b962fa105 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_delete_p2_p_path.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_deletep2ppath_output import TapiPathComputationDeletep2ppathOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationDeleteP2PPath(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiPathComputationDeletep2ppathOutput=None): # noqa: E501 + """TapiPathComputationDeleteP2PPath - a model defined in Swagger + + :param output: The output of this TapiPathComputationDeleteP2PPath. # noqa: E501 + :type output: TapiPathComputationDeletep2ppathOutput + """ + self.swagger_types = { + 'output': TapiPathComputationDeletep2ppathOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationDeleteP2PPath': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.DeleteP2PPath of this TapiPathComputationDeleteP2PPath. # noqa: E501 + :rtype: TapiPathComputationDeleteP2PPath + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiPathComputationDeletep2ppathOutput: + """Gets the output of this TapiPathComputationDeleteP2PPath. + + + :return: The output of this TapiPathComputationDeleteP2PPath. + :rtype: TapiPathComputationDeletep2ppathOutput + """ + return self._output + + @output.setter + def output(self, output: TapiPathComputationDeletep2ppathOutput): + """Sets the output of this TapiPathComputationDeleteP2PPath. + + + :param output: The output of this TapiPathComputationDeleteP2PPath. + :type output: TapiPathComputationDeletep2ppathOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_deletep2ppath_input.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_deletep2ppath_input.py new file mode 100644 index 0000000000000000000000000000000000000000..e09c60312cd29b8005ad7dcc1cc2c2b526ab478e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_deletep2ppath_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiPathComputationDeletep2ppathInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path_id_or_name: str=None): # noqa: E501 + """TapiPathComputationDeletep2ppathInput - a model defined in Swagger + + :param path_id_or_name: The path_id_or_name of this TapiPathComputationDeletep2ppathInput. # noqa: E501 + :type path_id_or_name: str + """ + self.swagger_types = { + 'path_id_or_name': str + } + + self.attribute_map = { + 'path_id_or_name': 'path-id-or-name' + } + self._path_id_or_name = path_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationDeletep2ppathInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.deletep2ppath.Input of this TapiPathComputationDeletep2ppathInput. # noqa: E501 + :rtype: TapiPathComputationDeletep2ppathInput + """ + return util.deserialize_model(dikt, cls) + + @property + def path_id_or_name(self) -> str: + """Gets the path_id_or_name of this TapiPathComputationDeletep2ppathInput. + + none # noqa: E501 + + :return: The path_id_or_name of this TapiPathComputationDeletep2ppathInput. + :rtype: str + """ + return self._path_id_or_name + + @path_id_or_name.setter + def path_id_or_name(self, path_id_or_name: str): + """Sets the path_id_or_name of this TapiPathComputationDeletep2ppathInput. + + none # noqa: E501 + + :param path_id_or_name: The path_id_or_name of this TapiPathComputationDeletep2ppathInput. + :type path_id_or_name: str + """ + + self._path_id_or_name = path_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_deletep2ppath_output.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_deletep2ppath_output.py new file mode 100644 index 0000000000000000000000000000000000000000..fab025bea92a859f23fe917e3bead9101b7b45a1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_deletep2ppath_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_computation_service import TapiPathComputationPathComputationService # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationDeletep2ppathOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: TapiPathComputationPathComputationService=None): # noqa: E501 + """TapiPathComputationDeletep2ppathOutput - a model defined in Swagger + + :param service: The service of this TapiPathComputationDeletep2ppathOutput. # noqa: E501 + :type service: TapiPathComputationPathComputationService + """ + self.swagger_types = { + 'service': TapiPathComputationPathComputationService + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationDeletep2ppathOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.deletep2ppath.Output of this TapiPathComputationDeletep2ppathOutput. # noqa: E501 + :rtype: TapiPathComputationDeletep2ppathOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> TapiPathComputationPathComputationService: + """Gets the service of this TapiPathComputationDeletep2ppathOutput. + + + :return: The service of this TapiPathComputationDeletep2ppathOutput. + :rtype: TapiPathComputationPathComputationService + """ + return self._service + + @service.setter + def service(self, service: TapiPathComputationPathComputationService): + """Sets the service of this TapiPathComputationDeletep2ppathOutput. + + + :param service: The service of this TapiPathComputationDeletep2ppathOutput. + :type service: TapiPathComputationPathComputationService + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_diversity_policy.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_diversity_policy.py new file mode 100644 index 0000000000000000000000000000000000000000..fb26c95763424c8168c33752246365696d331175 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_diversity_policy.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiPathComputationDiversityPolicy(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + SRLG = "SRLG" + SRNG = "SRNG" + SNG = "SNG" + NODE = "NODE" + LINK = "LINK" + def __init__(self): # noqa: E501 + """TapiPathComputationDiversityPolicy - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationDiversityPolicy': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.DiversityPolicy of this TapiPathComputationDiversityPolicy. # noqa: E501 + :rtype: TapiPathComputationDiversityPolicy + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimize_p2_ppath.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimize_p2_ppath.py new file mode 100644 index 0000000000000000000000000000000000000000..33673e284aa5574a1fd4285a2ac3e947c58e3027 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimize_p2_ppath.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_optimizep2ppath_output import TapiPathComputationOptimizep2ppathOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationOptimizeP2Ppath(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiPathComputationOptimizep2ppathOutput=None): # noqa: E501 + """TapiPathComputationOptimizeP2Ppath - a model defined in Swagger + + :param output: The output of this TapiPathComputationOptimizeP2Ppath. # noqa: E501 + :type output: TapiPathComputationOptimizep2ppathOutput + """ + self.swagger_types = { + 'output': TapiPathComputationOptimizep2ppathOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationOptimizeP2Ppath': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.OptimizeP2Ppath of this TapiPathComputationOptimizeP2Ppath. # noqa: E501 + :rtype: TapiPathComputationOptimizeP2Ppath + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiPathComputationOptimizep2ppathOutput: + """Gets the output of this TapiPathComputationOptimizeP2Ppath. + + + :return: The output of this TapiPathComputationOptimizeP2Ppath. + :rtype: TapiPathComputationOptimizep2ppathOutput + """ + return self._output + + @output.setter + def output(self, output: TapiPathComputationOptimizep2ppathOutput): + """Sets the output of this TapiPathComputationOptimizeP2Ppath. + + + :param output: The output of this TapiPathComputationOptimizeP2Ppath. + :type output: TapiPathComputationOptimizep2ppathOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimizep2ppath_input.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimizep2ppath_input.py new file mode 100644 index 0000000000000000000000000000000000000000..8d156745236d27b6d9a96514f6c463f009096d11 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimizep2ppath_input.py @@ -0,0 +1,145 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_objective_function import TapiPathComputationPathObjectiveFunction # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_optimization_constraint import TapiPathComputationPathOptimizationConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationOptimizep2ppathInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, routing_constraint: TapiPathComputationRoutingConstraint=None, path_id_or_name: str=None, optimization_constraint: TapiPathComputationPathOptimizationConstraint=None, objective_function: TapiPathComputationPathObjectiveFunction=None): # noqa: E501 + """TapiPathComputationOptimizep2ppathInput - a model defined in Swagger + + :param routing_constraint: The routing_constraint of this TapiPathComputationOptimizep2ppathInput. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + :param path_id_or_name: The path_id_or_name of this TapiPathComputationOptimizep2ppathInput. # noqa: E501 + :type path_id_or_name: str + :param optimization_constraint: The optimization_constraint of this TapiPathComputationOptimizep2ppathInput. # noqa: E501 + :type optimization_constraint: TapiPathComputationPathOptimizationConstraint + :param objective_function: The objective_function of this TapiPathComputationOptimizep2ppathInput. # noqa: E501 + :type objective_function: TapiPathComputationPathObjectiveFunction + """ + self.swagger_types = { + 'routing_constraint': TapiPathComputationRoutingConstraint, + 'path_id_or_name': str, + 'optimization_constraint': TapiPathComputationPathOptimizationConstraint, + 'objective_function': TapiPathComputationPathObjectiveFunction + } + + self.attribute_map = { + 'routing_constraint': 'routing-constraint', + 'path_id_or_name': 'path-id-or-name', + 'optimization_constraint': 'optimization-constraint', + 'objective_function': 'objective-function' + } + self._routing_constraint = routing_constraint + self._path_id_or_name = path_id_or_name + self._optimization_constraint = optimization_constraint + self._objective_function = objective_function + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationOptimizep2ppathInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.optimizep2ppath.Input of this TapiPathComputationOptimizep2ppathInput. # noqa: E501 + :rtype: TapiPathComputationOptimizep2ppathInput + """ + return util.deserialize_model(dikt, cls) + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiPathComputationOptimizep2ppathInput. + + + :return: The routing_constraint of this TapiPathComputationOptimizep2ppathInput. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiPathComputationOptimizep2ppathInput. + + + :param routing_constraint: The routing_constraint of this TapiPathComputationOptimizep2ppathInput. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint + + @property + def path_id_or_name(self) -> str: + """Gets the path_id_or_name of this TapiPathComputationOptimizep2ppathInput. + + none # noqa: E501 + + :return: The path_id_or_name of this TapiPathComputationOptimizep2ppathInput. + :rtype: str + """ + return self._path_id_or_name + + @path_id_or_name.setter + def path_id_or_name(self, path_id_or_name: str): + """Sets the path_id_or_name of this TapiPathComputationOptimizep2ppathInput. + + none # noqa: E501 + + :param path_id_or_name: The path_id_or_name of this TapiPathComputationOptimizep2ppathInput. + :type path_id_or_name: str + """ + + self._path_id_or_name = path_id_or_name + + @property + def optimization_constraint(self) -> TapiPathComputationPathOptimizationConstraint: + """Gets the optimization_constraint of this TapiPathComputationOptimizep2ppathInput. + + + :return: The optimization_constraint of this TapiPathComputationOptimizep2ppathInput. + :rtype: TapiPathComputationPathOptimizationConstraint + """ + return self._optimization_constraint + + @optimization_constraint.setter + def optimization_constraint(self, optimization_constraint: TapiPathComputationPathOptimizationConstraint): + """Sets the optimization_constraint of this TapiPathComputationOptimizep2ppathInput. + + + :param optimization_constraint: The optimization_constraint of this TapiPathComputationOptimizep2ppathInput. + :type optimization_constraint: TapiPathComputationPathOptimizationConstraint + """ + + self._optimization_constraint = optimization_constraint + + @property + def objective_function(self) -> TapiPathComputationPathObjectiveFunction: + """Gets the objective_function of this TapiPathComputationOptimizep2ppathInput. + + + :return: The objective_function of this TapiPathComputationOptimizep2ppathInput. + :rtype: TapiPathComputationPathObjectiveFunction + """ + return self._objective_function + + @objective_function.setter + def objective_function(self, objective_function: TapiPathComputationPathObjectiveFunction): + """Sets the objective_function of this TapiPathComputationOptimizep2ppathInput. + + + :param objective_function: The objective_function of this TapiPathComputationOptimizep2ppathInput. + :type objective_function: TapiPathComputationPathObjectiveFunction + """ + + self._objective_function = objective_function diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimizep2ppath_output.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimizep2ppath_output.py new file mode 100644 index 0000000000000000000000000000000000000000..70447a61f7d388f7c9c755bdd09ba922a64aa4f3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_optimizep2ppath_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_computation_service import TapiPathComputationPathComputationService # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationOptimizep2ppathOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, service: TapiPathComputationPathComputationService=None): # noqa: E501 + """TapiPathComputationOptimizep2ppathOutput - a model defined in Swagger + + :param service: The service of this TapiPathComputationOptimizep2ppathOutput. # noqa: E501 + :type service: TapiPathComputationPathComputationService + """ + self.swagger_types = { + 'service': TapiPathComputationPathComputationService + } + + self.attribute_map = { + 'service': 'service' + } + self._service = service + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationOptimizep2ppathOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.optimizep2ppath.Output of this TapiPathComputationOptimizep2ppathOutput. # noqa: E501 + :rtype: TapiPathComputationOptimizep2ppathOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def service(self) -> TapiPathComputationPathComputationService: + """Gets the service of this TapiPathComputationOptimizep2ppathOutput. + + + :return: The service of this TapiPathComputationOptimizep2ppathOutput. + :rtype: TapiPathComputationPathComputationService + """ + return self._service + + @service.setter + def service(self, service: TapiPathComputationPathComputationService): + """Sets the service of this TapiPathComputationOptimizep2ppathOutput. + + + :param service: The service of this TapiPathComputationOptimizep2ppathOutput. + :type service: TapiPathComputationPathComputationService + """ + + self._service = service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path.py new file mode 100644 index 0000000000000000000000000000000000000000..a522aed2a66c61eea616d528ea089d0fab9ccf34 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path.py @@ -0,0 +1,204 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server.models.tapi_topology_link_ref import TapiTopologyLinkRef # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPath(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, layer_protocol_name: TapiCommonLayerProtocolName=None, link: List[TapiTopologyLinkRef]=None, routing_constraint: TapiPathComputationRoutingConstraint=None, direction: TapiCommonForwardingDirection=None): # noqa: E501 + """TapiPathComputationPath - a model defined in Swagger + + :param name: The name of this TapiPathComputationPath. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiPathComputationPath. # noqa: E501 + :type uuid: str + :param layer_protocol_name: The layer_protocol_name of this TapiPathComputationPath. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param link: The link of this TapiPathComputationPath. # noqa: E501 + :type link: List[TapiTopologyLinkRef] + :param routing_constraint: The routing_constraint of this TapiPathComputationPath. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + :param direction: The direction of this TapiPathComputationPath. # noqa: E501 + :type direction: TapiCommonForwardingDirection + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'link': List[TapiTopologyLinkRef], + 'routing_constraint': TapiPathComputationRoutingConstraint, + 'direction': TapiCommonForwardingDirection + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'layer_protocol_name': 'layer-protocol-name', + 'link': 'link', + 'routing_constraint': 'routing-constraint', + 'direction': 'direction' + } + self._name = name + self._uuid = uuid + self._layer_protocol_name = layer_protocol_name + self._link = link + self._routing_constraint = routing_constraint + self._direction = direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPath': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.Path of this TapiPathComputationPath. # noqa: E501 + :rtype: TapiPathComputationPath + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiPathComputationPath. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiPathComputationPath. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiPathComputationPath. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiPathComputationPath. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiPathComputationPath. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiPathComputationPath. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiPathComputationPath. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiPathComputationPath. + :type uuid: str + """ + + self._uuid = uuid + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiPathComputationPath. + + + :return: The layer_protocol_name of this TapiPathComputationPath. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiPathComputationPath. + + + :param layer_protocol_name: The layer_protocol_name of this TapiPathComputationPath. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def link(self) -> List[TapiTopologyLinkRef]: + """Gets the link of this TapiPathComputationPath. + + none # noqa: E501 + + :return: The link of this TapiPathComputationPath. + :rtype: List[TapiTopologyLinkRef] + """ + return self._link + + @link.setter + def link(self, link: List[TapiTopologyLinkRef]): + """Sets the link of this TapiPathComputationPath. + + none # noqa: E501 + + :param link: The link of this TapiPathComputationPath. + :type link: List[TapiTopologyLinkRef] + """ + + self._link = link + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiPathComputationPath. + + + :return: The routing_constraint of this TapiPathComputationPath. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiPathComputationPath. + + + :param routing_constraint: The routing_constraint of this TapiPathComputationPath. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint + + @property + def direction(self) -> TapiCommonForwardingDirection: + """Gets the direction of this TapiPathComputationPath. + + + :return: The direction of this TapiPathComputationPath. + :rtype: TapiCommonForwardingDirection + """ + return self._direction + + @direction.setter + def direction(self, direction: TapiCommonForwardingDirection): + """Sets the direction of this TapiPathComputationPath. + + + :param direction: The direction of this TapiPathComputationPath. + :type direction: TapiCommonForwardingDirection + """ + + self._direction = direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_context.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_context.py new file mode 100644 index 0000000000000000000000000000000000000000..7a1b72f7947633a822a77c41a6cb2b271f4ae536 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_context.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path import TapiPathComputationPath # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_computation_service import TapiPathComputationPathComputationService # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathComputationContext(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path_comp_service: List[TapiPathComputationPathComputationService]=None, path: List[TapiPathComputationPath]=None): # noqa: E501 + """TapiPathComputationPathComputationContext - a model defined in Swagger + + :param path_comp_service: The path_comp_service of this TapiPathComputationPathComputationContext. # noqa: E501 + :type path_comp_service: List[TapiPathComputationPathComputationService] + :param path: The path of this TapiPathComputationPathComputationContext. # noqa: E501 + :type path: List[TapiPathComputationPath] + """ + self.swagger_types = { + 'path_comp_service': List[TapiPathComputationPathComputationService], + 'path': List[TapiPathComputationPath] + } + + self.attribute_map = { + 'path_comp_service': 'path-comp-service', + 'path': 'path' + } + self._path_comp_service = path_comp_service + self._path = path + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathComputationContext': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathComputationContext of this TapiPathComputationPathComputationContext. # noqa: E501 + :rtype: TapiPathComputationPathComputationContext + """ + return util.deserialize_model(dikt, cls) + + @property + def path_comp_service(self) -> List[TapiPathComputationPathComputationService]: + """Gets the path_comp_service of this TapiPathComputationPathComputationContext. + + none # noqa: E501 + + :return: The path_comp_service of this TapiPathComputationPathComputationContext. + :rtype: List[TapiPathComputationPathComputationService] + """ + return self._path_comp_service + + @path_comp_service.setter + def path_comp_service(self, path_comp_service: List[TapiPathComputationPathComputationService]): + """Sets the path_comp_service of this TapiPathComputationPathComputationContext. + + none # noqa: E501 + + :param path_comp_service: The path_comp_service of this TapiPathComputationPathComputationContext. + :type path_comp_service: List[TapiPathComputationPathComputationService] + """ + + self._path_comp_service = path_comp_service + + @property + def path(self) -> List[TapiPathComputationPath]: + """Gets the path of this TapiPathComputationPathComputationContext. + + none # noqa: E501 + + :return: The path of this TapiPathComputationPathComputationContext. + :rtype: List[TapiPathComputationPath] + """ + return self._path + + @path.setter + def path(self, path: List[TapiPathComputationPath]): + """Sets the path of this TapiPathComputationPathComputationContext. + + none # noqa: E501 + + :param path: The path of this TapiPathComputationPathComputationContext. + :type path: List[TapiPathComputationPath] + """ + + self._path = path diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_context_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_context_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..1363e893605826a02fc4139cfebc905fde456b5d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_context_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_computation_context import TapiPathComputationPathComputationContext # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathComputationContextWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tapi_path_computationpath_computation_context: TapiPathComputationPathComputationContext=None): # noqa: E501 + """TapiPathComputationPathComputationContextWrapper - a model defined in Swagger + + :param tapi_path_computationpath_computation_context: The tapi_path_computationpath_computation_context of this TapiPathComputationPathComputationContextWrapper. # noqa: E501 + :type tapi_path_computationpath_computation_context: TapiPathComputationPathComputationContext + """ + self.swagger_types = { + 'tapi_path_computationpath_computation_context': TapiPathComputationPathComputationContext + } + + self.attribute_map = { + 'tapi_path_computationpath_computation_context': 'tapi-path-computation:path-computation-context' + } + self._tapi_path_computationpath_computation_context = tapi_path_computationpath_computation_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathComputationContextWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathComputationContextWrapper of this TapiPathComputationPathComputationContextWrapper. # noqa: E501 + :rtype: TapiPathComputationPathComputationContextWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tapi_path_computationpath_computation_context(self) -> TapiPathComputationPathComputationContext: + """Gets the tapi_path_computationpath_computation_context of this TapiPathComputationPathComputationContextWrapper. + + + :return: The tapi_path_computationpath_computation_context of this TapiPathComputationPathComputationContextWrapper. + :rtype: TapiPathComputationPathComputationContext + """ + return self._tapi_path_computationpath_computation_context + + @tapi_path_computationpath_computation_context.setter + def tapi_path_computationpath_computation_context(self, tapi_path_computationpath_computation_context: TapiPathComputationPathComputationContext): + """Sets the tapi_path_computationpath_computation_context of this TapiPathComputationPathComputationContextWrapper. + + + :param tapi_path_computationpath_computation_context: The tapi_path_computationpath_computation_context of this TapiPathComputationPathComputationContextWrapper. + :type tapi_path_computationpath_computation_context: TapiPathComputationPathComputationContext + """ + + self._tapi_path_computationpath_computation_context = tapi_path_computationpath_computation_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_service.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_service.py new file mode 100644 index 0000000000000000000000000000000000000000..f940cab7e89979fbb631a66e164f9ca1525cc179 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_service.py @@ -0,0 +1,260 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_objective_function import TapiPathComputationPathObjectiveFunction # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_optimization_constraint import TapiPathComputationPathOptimizationConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_ref import TapiPathComputationPathRef # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_path_service_end_point import TapiPathComputationPathServiceEndPoint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathComputationService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, topology_constraint: TapiPathComputationTopologyConstraint=None, path: List[TapiPathComputationPathRef]=None, objective_function: TapiPathComputationPathObjectiveFunction=None, end_point: List[TapiPathComputationPathServiceEndPoint]=None, routing_constraint: TapiPathComputationRoutingConstraint=None, optimization_constraint: TapiPathComputationPathOptimizationConstraint=None): # noqa: E501 + """TapiPathComputationPathComputationService - a model defined in Swagger + + :param name: The name of this TapiPathComputationPathComputationService. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiPathComputationPathComputationService. # noqa: E501 + :type uuid: str + :param topology_constraint: The topology_constraint of this TapiPathComputationPathComputationService. # noqa: E501 + :type topology_constraint: TapiPathComputationTopologyConstraint + :param path: The path of this TapiPathComputationPathComputationService. # noqa: E501 + :type path: List[TapiPathComputationPathRef] + :param objective_function: The objective_function of this TapiPathComputationPathComputationService. # noqa: E501 + :type objective_function: TapiPathComputationPathObjectiveFunction + :param end_point: The end_point of this TapiPathComputationPathComputationService. # noqa: E501 + :type end_point: List[TapiPathComputationPathServiceEndPoint] + :param routing_constraint: The routing_constraint of this TapiPathComputationPathComputationService. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + :param optimization_constraint: The optimization_constraint of this TapiPathComputationPathComputationService. # noqa: E501 + :type optimization_constraint: TapiPathComputationPathOptimizationConstraint + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'topology_constraint': TapiPathComputationTopologyConstraint, + 'path': List[TapiPathComputationPathRef], + 'objective_function': TapiPathComputationPathObjectiveFunction, + 'end_point': List[TapiPathComputationPathServiceEndPoint], + 'routing_constraint': TapiPathComputationRoutingConstraint, + 'optimization_constraint': TapiPathComputationPathOptimizationConstraint + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'topology_constraint': 'topology-constraint', + 'path': 'path', + 'objective_function': 'objective-function', + 'end_point': 'end-point', + 'routing_constraint': 'routing-constraint', + 'optimization_constraint': 'optimization-constraint' + } + self._name = name + self._uuid = uuid + self._topology_constraint = topology_constraint + self._path = path + self._objective_function = objective_function + self._end_point = end_point + self._routing_constraint = routing_constraint + self._optimization_constraint = optimization_constraint + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathComputationService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathComputationService of this TapiPathComputationPathComputationService. # noqa: E501 + :rtype: TapiPathComputationPathComputationService + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiPathComputationPathComputationService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiPathComputationPathComputationService. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiPathComputationPathComputationService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiPathComputationPathComputationService. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiPathComputationPathComputationService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiPathComputationPathComputationService. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiPathComputationPathComputationService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiPathComputationPathComputationService. + :type uuid: str + """ + + self._uuid = uuid + + @property + def topology_constraint(self) -> TapiPathComputationTopologyConstraint: + """Gets the topology_constraint of this TapiPathComputationPathComputationService. + + + :return: The topology_constraint of this TapiPathComputationPathComputationService. + :rtype: TapiPathComputationTopologyConstraint + """ + return self._topology_constraint + + @topology_constraint.setter + def topology_constraint(self, topology_constraint: TapiPathComputationTopologyConstraint): + """Sets the topology_constraint of this TapiPathComputationPathComputationService. + + + :param topology_constraint: The topology_constraint of this TapiPathComputationPathComputationService. + :type topology_constraint: TapiPathComputationTopologyConstraint + """ + + self._topology_constraint = topology_constraint + + @property + def path(self) -> List[TapiPathComputationPathRef]: + """Gets the path of this TapiPathComputationPathComputationService. + + none # noqa: E501 + + :return: The path of this TapiPathComputationPathComputationService. + :rtype: List[TapiPathComputationPathRef] + """ + return self._path + + @path.setter + def path(self, path: List[TapiPathComputationPathRef]): + """Sets the path of this TapiPathComputationPathComputationService. + + none # noqa: E501 + + :param path: The path of this TapiPathComputationPathComputationService. + :type path: List[TapiPathComputationPathRef] + """ + + self._path = path + + @property + def objective_function(self) -> TapiPathComputationPathObjectiveFunction: + """Gets the objective_function of this TapiPathComputationPathComputationService. + + + :return: The objective_function of this TapiPathComputationPathComputationService. + :rtype: TapiPathComputationPathObjectiveFunction + """ + return self._objective_function + + @objective_function.setter + def objective_function(self, objective_function: TapiPathComputationPathObjectiveFunction): + """Sets the objective_function of this TapiPathComputationPathComputationService. + + + :param objective_function: The objective_function of this TapiPathComputationPathComputationService. + :type objective_function: TapiPathComputationPathObjectiveFunction + """ + + self._objective_function = objective_function + + @property + def end_point(self) -> List[TapiPathComputationPathServiceEndPoint]: + """Gets the end_point of this TapiPathComputationPathComputationService. + + none # noqa: E501 + + :return: The end_point of this TapiPathComputationPathComputationService. + :rtype: List[TapiPathComputationPathServiceEndPoint] + """ + return self._end_point + + @end_point.setter + def end_point(self, end_point: List[TapiPathComputationPathServiceEndPoint]): + """Sets the end_point of this TapiPathComputationPathComputationService. + + none # noqa: E501 + + :param end_point: The end_point of this TapiPathComputationPathComputationService. + :type end_point: List[TapiPathComputationPathServiceEndPoint] + """ + + self._end_point = end_point + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiPathComputationPathComputationService. + + + :return: The routing_constraint of this TapiPathComputationPathComputationService. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiPathComputationPathComputationService. + + + :param routing_constraint: The routing_constraint of this TapiPathComputationPathComputationService. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint + + @property + def optimization_constraint(self) -> TapiPathComputationPathOptimizationConstraint: + """Gets the optimization_constraint of this TapiPathComputationPathComputationService. + + + :return: The optimization_constraint of this TapiPathComputationPathComputationService. + :rtype: TapiPathComputationPathOptimizationConstraint + """ + return self._optimization_constraint + + @optimization_constraint.setter + def optimization_constraint(self, optimization_constraint: TapiPathComputationPathOptimizationConstraint): + """Sets the optimization_constraint of this TapiPathComputationPathComputationService. + + + :param optimization_constraint: The optimization_constraint of this TapiPathComputationPathComputationService. + :type optimization_constraint: TapiPathComputationPathOptimizationConstraint + """ + + self._optimization_constraint = optimization_constraint diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_service_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_service_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..0f6457979d7c102c2c5e0e5003469eb4d06d407a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_computation_service_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_computation_service import TapiPathComputationPathComputationService # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathComputationServiceWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path_comp_service: TapiPathComputationPathComputationService=None): # noqa: E501 + """TapiPathComputationPathComputationServiceWrapper - a model defined in Swagger + + :param path_comp_service: The path_comp_service of this TapiPathComputationPathComputationServiceWrapper. # noqa: E501 + :type path_comp_service: TapiPathComputationPathComputationService + """ + self.swagger_types = { + 'path_comp_service': TapiPathComputationPathComputationService + } + + self.attribute_map = { + 'path_comp_service': 'path-comp-service' + } + self._path_comp_service = path_comp_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathComputationServiceWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathComputationServiceWrapper of this TapiPathComputationPathComputationServiceWrapper. # noqa: E501 + :rtype: TapiPathComputationPathComputationServiceWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def path_comp_service(self) -> TapiPathComputationPathComputationService: + """Gets the path_comp_service of this TapiPathComputationPathComputationServiceWrapper. + + + :return: The path_comp_service of this TapiPathComputationPathComputationServiceWrapper. + :rtype: TapiPathComputationPathComputationService + """ + return self._path_comp_service + + @path_comp_service.setter + def path_comp_service(self, path_comp_service: TapiPathComputationPathComputationService): + """Sets the path_comp_service of this TapiPathComputationPathComputationServiceWrapper. + + + :param path_comp_service: The path_comp_service of this TapiPathComputationPathComputationServiceWrapper. + :type path_comp_service: TapiPathComputationPathComputationService + """ + + self._path_comp_service = path_comp_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_objective_function.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_objective_function.py new file mode 100644 index 0000000000000000000000000000000000000000..4b6262b176ff0063a10996d08c332b325a7bf64d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_objective_function.py @@ -0,0 +1,225 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_directive_value import TapiCommonDirectiveValue # noqa: F401,E501 +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathObjectiveFunction(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, link_utilization: TapiCommonDirectiveValue=None, bandwidth_optimization: TapiCommonDirectiveValue=None, cost_optimization: TapiCommonDirectiveValue=None, resource_sharing: TapiCommonDirectiveValue=None, concurrent_paths: TapiCommonDirectiveValue=None): # noqa: E501 + """TapiPathComputationPathObjectiveFunction - a model defined in Swagger + + :param name: The name of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type local_id: str + :param link_utilization: The link_utilization of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type link_utilization: TapiCommonDirectiveValue + :param bandwidth_optimization: The bandwidth_optimization of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type bandwidth_optimization: TapiCommonDirectiveValue + :param cost_optimization: The cost_optimization of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type cost_optimization: TapiCommonDirectiveValue + :param resource_sharing: The resource_sharing of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type resource_sharing: TapiCommonDirectiveValue + :param concurrent_paths: The concurrent_paths of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :type concurrent_paths: TapiCommonDirectiveValue + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'link_utilization': TapiCommonDirectiveValue, + 'bandwidth_optimization': TapiCommonDirectiveValue, + 'cost_optimization': TapiCommonDirectiveValue, + 'resource_sharing': TapiCommonDirectiveValue, + 'concurrent_paths': TapiCommonDirectiveValue + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'link_utilization': 'link-utilization', + 'bandwidth_optimization': 'bandwidth-optimization', + 'cost_optimization': 'cost-optimization', + 'resource_sharing': 'resource-sharing', + 'concurrent_paths': 'concurrent-paths' + } + self._name = name + self._local_id = local_id + self._link_utilization = link_utilization + self._bandwidth_optimization = bandwidth_optimization + self._cost_optimization = cost_optimization + self._resource_sharing = resource_sharing + self._concurrent_paths = concurrent_paths + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathObjectiveFunction': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathObjectiveFunction of this TapiPathComputationPathObjectiveFunction. # noqa: E501 + :rtype: TapiPathComputationPathObjectiveFunction + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiPathComputationPathObjectiveFunction. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiPathComputationPathObjectiveFunction. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiPathComputationPathObjectiveFunction. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiPathComputationPathObjectiveFunction. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiPathComputationPathObjectiveFunction. + + none # noqa: E501 + + :return: The local_id of this TapiPathComputationPathObjectiveFunction. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiPathComputationPathObjectiveFunction. + + none # noqa: E501 + + :param local_id: The local_id of this TapiPathComputationPathObjectiveFunction. + :type local_id: str + """ + + self._local_id = local_id + + @property + def link_utilization(self) -> TapiCommonDirectiveValue: + """Gets the link_utilization of this TapiPathComputationPathObjectiveFunction. + + + :return: The link_utilization of this TapiPathComputationPathObjectiveFunction. + :rtype: TapiCommonDirectiveValue + """ + return self._link_utilization + + @link_utilization.setter + def link_utilization(self, link_utilization: TapiCommonDirectiveValue): + """Sets the link_utilization of this TapiPathComputationPathObjectiveFunction. + + + :param link_utilization: The link_utilization of this TapiPathComputationPathObjectiveFunction. + :type link_utilization: TapiCommonDirectiveValue + """ + + self._link_utilization = link_utilization + + @property + def bandwidth_optimization(self) -> TapiCommonDirectiveValue: + """Gets the bandwidth_optimization of this TapiPathComputationPathObjectiveFunction. + + + :return: The bandwidth_optimization of this TapiPathComputationPathObjectiveFunction. + :rtype: TapiCommonDirectiveValue + """ + return self._bandwidth_optimization + + @bandwidth_optimization.setter + def bandwidth_optimization(self, bandwidth_optimization: TapiCommonDirectiveValue): + """Sets the bandwidth_optimization of this TapiPathComputationPathObjectiveFunction. + + + :param bandwidth_optimization: The bandwidth_optimization of this TapiPathComputationPathObjectiveFunction. + :type bandwidth_optimization: TapiCommonDirectiveValue + """ + + self._bandwidth_optimization = bandwidth_optimization + + @property + def cost_optimization(self) -> TapiCommonDirectiveValue: + """Gets the cost_optimization of this TapiPathComputationPathObjectiveFunction. + + + :return: The cost_optimization of this TapiPathComputationPathObjectiveFunction. + :rtype: TapiCommonDirectiveValue + """ + return self._cost_optimization + + @cost_optimization.setter + def cost_optimization(self, cost_optimization: TapiCommonDirectiveValue): + """Sets the cost_optimization of this TapiPathComputationPathObjectiveFunction. + + + :param cost_optimization: The cost_optimization of this TapiPathComputationPathObjectiveFunction. + :type cost_optimization: TapiCommonDirectiveValue + """ + + self._cost_optimization = cost_optimization + + @property + def resource_sharing(self) -> TapiCommonDirectiveValue: + """Gets the resource_sharing of this TapiPathComputationPathObjectiveFunction. + + + :return: The resource_sharing of this TapiPathComputationPathObjectiveFunction. + :rtype: TapiCommonDirectiveValue + """ + return self._resource_sharing + + @resource_sharing.setter + def resource_sharing(self, resource_sharing: TapiCommonDirectiveValue): + """Sets the resource_sharing of this TapiPathComputationPathObjectiveFunction. + + + :param resource_sharing: The resource_sharing of this TapiPathComputationPathObjectiveFunction. + :type resource_sharing: TapiCommonDirectiveValue + """ + + self._resource_sharing = resource_sharing + + @property + def concurrent_paths(self) -> TapiCommonDirectiveValue: + """Gets the concurrent_paths of this TapiPathComputationPathObjectiveFunction. + + + :return: The concurrent_paths of this TapiPathComputationPathObjectiveFunction. + :rtype: TapiCommonDirectiveValue + """ + return self._concurrent_paths + + @concurrent_paths.setter + def concurrent_paths(self, concurrent_paths: TapiCommonDirectiveValue): + """Sets the concurrent_paths of this TapiPathComputationPathObjectiveFunction. + + + :param concurrent_paths: The concurrent_paths of this TapiPathComputationPathObjectiveFunction. + :type concurrent_paths: TapiCommonDirectiveValue + """ + + self._concurrent_paths = concurrent_paths diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_objective_function_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_objective_function_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..789ba09af03b210a9ddd3486f25fcdb62bd12c08 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_objective_function_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_objective_function import TapiPathComputationPathObjectiveFunction # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathObjectiveFunctionWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, objective_function: TapiPathComputationPathObjectiveFunction=None): # noqa: E501 + """TapiPathComputationPathObjectiveFunctionWrapper - a model defined in Swagger + + :param objective_function: The objective_function of this TapiPathComputationPathObjectiveFunctionWrapper. # noqa: E501 + :type objective_function: TapiPathComputationPathObjectiveFunction + """ + self.swagger_types = { + 'objective_function': TapiPathComputationPathObjectiveFunction + } + + self.attribute_map = { + 'objective_function': 'objective-function' + } + self._objective_function = objective_function + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathObjectiveFunctionWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathObjectiveFunctionWrapper of this TapiPathComputationPathObjectiveFunctionWrapper. # noqa: E501 + :rtype: TapiPathComputationPathObjectiveFunctionWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def objective_function(self) -> TapiPathComputationPathObjectiveFunction: + """Gets the objective_function of this TapiPathComputationPathObjectiveFunctionWrapper. + + + :return: The objective_function of this TapiPathComputationPathObjectiveFunctionWrapper. + :rtype: TapiPathComputationPathObjectiveFunction + """ + return self._objective_function + + @objective_function.setter + def objective_function(self, objective_function: TapiPathComputationPathObjectiveFunction): + """Sets the objective_function of this TapiPathComputationPathObjectiveFunctionWrapper. + + + :param objective_function: The objective_function of this TapiPathComputationPathObjectiveFunctionWrapper. + :type objective_function: TapiPathComputationPathObjectiveFunction + """ + + self._objective_function = objective_function diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_optimization_constraint.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_optimization_constraint.py new file mode 100644 index 0000000000000000000000000000000000000000..4de4ec31cc47493696f8abaf7dd86359336c6b4a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_optimization_constraint.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_directive_value import TapiCommonDirectiveValue # noqa: F401,E501 +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathOptimizationConstraint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, traffic_interruption: TapiCommonDirectiveValue=None): # noqa: E501 + """TapiPathComputationPathOptimizationConstraint - a model defined in Swagger + + :param name: The name of this TapiPathComputationPathOptimizationConstraint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiPathComputationPathOptimizationConstraint. # noqa: E501 + :type local_id: str + :param traffic_interruption: The traffic_interruption of this TapiPathComputationPathOptimizationConstraint. # noqa: E501 + :type traffic_interruption: TapiCommonDirectiveValue + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'traffic_interruption': TapiCommonDirectiveValue + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'traffic_interruption': 'traffic-interruption' + } + self._name = name + self._local_id = local_id + self._traffic_interruption = traffic_interruption + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathOptimizationConstraint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathOptimizationConstraint of this TapiPathComputationPathOptimizationConstraint. # noqa: E501 + :rtype: TapiPathComputationPathOptimizationConstraint + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiPathComputationPathOptimizationConstraint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiPathComputationPathOptimizationConstraint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiPathComputationPathOptimizationConstraint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiPathComputationPathOptimizationConstraint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiPathComputationPathOptimizationConstraint. + + none # noqa: E501 + + :return: The local_id of this TapiPathComputationPathOptimizationConstraint. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiPathComputationPathOptimizationConstraint. + + none # noqa: E501 + + :param local_id: The local_id of this TapiPathComputationPathOptimizationConstraint. + :type local_id: str + """ + + self._local_id = local_id + + @property + def traffic_interruption(self) -> TapiCommonDirectiveValue: + """Gets the traffic_interruption of this TapiPathComputationPathOptimizationConstraint. + + + :return: The traffic_interruption of this TapiPathComputationPathOptimizationConstraint. + :rtype: TapiCommonDirectiveValue + """ + return self._traffic_interruption + + @traffic_interruption.setter + def traffic_interruption(self, traffic_interruption: TapiCommonDirectiveValue): + """Sets the traffic_interruption of this TapiPathComputationPathOptimizationConstraint. + + + :param traffic_interruption: The traffic_interruption of this TapiPathComputationPathOptimizationConstraint. + :type traffic_interruption: TapiCommonDirectiveValue + """ + + self._traffic_interruption = traffic_interruption diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_optimization_constraint_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_optimization_constraint_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..006f1b27bdd42ef3f82f0a96dd2a5d6fd522dd5d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_optimization_constraint_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_optimization_constraint import TapiPathComputationPathOptimizationConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathOptimizationConstraintWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, optimization_constraint: TapiPathComputationPathOptimizationConstraint=None): # noqa: E501 + """TapiPathComputationPathOptimizationConstraintWrapper - a model defined in Swagger + + :param optimization_constraint: The optimization_constraint of this TapiPathComputationPathOptimizationConstraintWrapper. # noqa: E501 + :type optimization_constraint: TapiPathComputationPathOptimizationConstraint + """ + self.swagger_types = { + 'optimization_constraint': TapiPathComputationPathOptimizationConstraint + } + + self.attribute_map = { + 'optimization_constraint': 'optimization-constraint' + } + self._optimization_constraint = optimization_constraint + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathOptimizationConstraintWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathOptimizationConstraintWrapper of this TapiPathComputationPathOptimizationConstraintWrapper. # noqa: E501 + :rtype: TapiPathComputationPathOptimizationConstraintWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def optimization_constraint(self) -> TapiPathComputationPathOptimizationConstraint: + """Gets the optimization_constraint of this TapiPathComputationPathOptimizationConstraintWrapper. + + + :return: The optimization_constraint of this TapiPathComputationPathOptimizationConstraintWrapper. + :rtype: TapiPathComputationPathOptimizationConstraint + """ + return self._optimization_constraint + + @optimization_constraint.setter + def optimization_constraint(self, optimization_constraint: TapiPathComputationPathOptimizationConstraint): + """Sets the optimization_constraint of this TapiPathComputationPathOptimizationConstraintWrapper. + + + :param optimization_constraint: The optimization_constraint of this TapiPathComputationPathOptimizationConstraintWrapper. + :type optimization_constraint: TapiPathComputationPathOptimizationConstraint + """ + + self._optimization_constraint = optimization_constraint diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..4ce08ac953777c972d033cad916ee3f61eed8001 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_ref.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiPathComputationPathRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path_uuid: str=None): # noqa: E501 + """TapiPathComputationPathRef - a model defined in Swagger + + :param path_uuid: The path_uuid of this TapiPathComputationPathRef. # noqa: E501 + :type path_uuid: str + """ + self.swagger_types = { + 'path_uuid': str + } + + self.attribute_map = { + 'path_uuid': 'path-uuid' + } + self._path_uuid = path_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathRef of this TapiPathComputationPathRef. # noqa: E501 + :rtype: TapiPathComputationPathRef + """ + return util.deserialize_model(dikt, cls) + + @property + def path_uuid(self) -> str: + """Gets the path_uuid of this TapiPathComputationPathRef. + + none # noqa: E501 + + :return: The path_uuid of this TapiPathComputationPathRef. + :rtype: str + """ + return self._path_uuid + + @path_uuid.setter + def path_uuid(self, path_uuid: str): + """Sets the path_uuid of this TapiPathComputationPathRef. + + none # noqa: E501 + + :param path_uuid: The path_uuid of this TapiPathComputationPathRef. + :type path_uuid: str + """ + + self._path_uuid = path_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..95abec7140eef27ede5e523a6d9db298a6f5952d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_ref import TapiPathComputationPathRef # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path: TapiPathComputationPathRef=None): # noqa: E501 + """TapiPathComputationPathRefWrapper - a model defined in Swagger + + :param path: The path of this TapiPathComputationPathRefWrapper. # noqa: E501 + :type path: TapiPathComputationPathRef + """ + self.swagger_types = { + 'path': TapiPathComputationPathRef + } + + self.attribute_map = { + 'path': 'path' + } + self._path = path + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathRefWrapper of this TapiPathComputationPathRefWrapper. # noqa: E501 + :rtype: TapiPathComputationPathRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def path(self) -> TapiPathComputationPathRef: + """Gets the path of this TapiPathComputationPathRefWrapper. + + + :return: The path of this TapiPathComputationPathRefWrapper. + :rtype: TapiPathComputationPathRef + """ + return self._path + + @path.setter + def path(self, path: TapiPathComputationPathRef): + """Sets the path of this TapiPathComputationPathRefWrapper. + + + :param path: The path of this TapiPathComputationPathRefWrapper. + :type path: TapiPathComputationPathRef + """ + + self._path = path diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_service_end_point.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_service_end_point.py new file mode 100644 index 0000000000000000000000000000000000000000..7db4a9374c1b8f1b9648613e43cc47edbb0c0c41 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_service_end_point.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_port_role import TapiCommonPortRole # noqa: F401,E501 +from tapi_server.models.tapi_common_service_interface_point_ref import TapiCommonServiceInterfacePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathServiceEndPoint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, role: TapiCommonPortRole=None, service_interface_point: TapiCommonServiceInterfacePointRef=None, layer_protocol_name: TapiCommonLayerProtocolName=None, layer_protocol_qualifier: str=None, direction: TapiCommonPortDirection=None, capacity: TapiCommonCapacity=None): # noqa: E501 + """TapiPathComputationPathServiceEndPoint - a model defined in Swagger + + :param name: The name of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type local_id: str + :param role: The role of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type role: TapiCommonPortRole + :param service_interface_point: The service_interface_point of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type service_interface_point: TapiCommonServiceInterfacePointRef + :param layer_protocol_name: The layer_protocol_name of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type layer_protocol_qualifier: str + :param direction: The direction of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type direction: TapiCommonPortDirection + :param capacity: The capacity of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :type capacity: TapiCommonCapacity + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'role': TapiCommonPortRole, + 'service_interface_point': TapiCommonServiceInterfacePointRef, + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'layer_protocol_qualifier': str, + 'direction': TapiCommonPortDirection, + 'capacity': TapiCommonCapacity + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'role': 'role', + 'service_interface_point': 'service-interface-point', + 'layer_protocol_name': 'layer-protocol-name', + 'layer_protocol_qualifier': 'layer-protocol-qualifier', + 'direction': 'direction', + 'capacity': 'capacity' + } + self._name = name + self._local_id = local_id + self._role = role + self._service_interface_point = service_interface_point + self._layer_protocol_name = layer_protocol_name + self._layer_protocol_qualifier = layer_protocol_qualifier + self._direction = direction + self._capacity = capacity + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathServiceEndPoint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathServiceEndPoint of this TapiPathComputationPathServiceEndPoint. # noqa: E501 + :rtype: TapiPathComputationPathServiceEndPoint + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiPathComputationPathServiceEndPoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiPathComputationPathServiceEndPoint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiPathComputationPathServiceEndPoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiPathComputationPathServiceEndPoint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiPathComputationPathServiceEndPoint. + + none # noqa: E501 + + :return: The local_id of this TapiPathComputationPathServiceEndPoint. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiPathComputationPathServiceEndPoint. + + none # noqa: E501 + + :param local_id: The local_id of this TapiPathComputationPathServiceEndPoint. + :type local_id: str + """ + + self._local_id = local_id + + @property + def role(self) -> TapiCommonPortRole: + """Gets the role of this TapiPathComputationPathServiceEndPoint. + + + :return: The role of this TapiPathComputationPathServiceEndPoint. + :rtype: TapiCommonPortRole + """ + return self._role + + @role.setter + def role(self, role: TapiCommonPortRole): + """Sets the role of this TapiPathComputationPathServiceEndPoint. + + + :param role: The role of this TapiPathComputationPathServiceEndPoint. + :type role: TapiCommonPortRole + """ + + self._role = role + + @property + def service_interface_point(self) -> TapiCommonServiceInterfacePointRef: + """Gets the service_interface_point of this TapiPathComputationPathServiceEndPoint. + + + :return: The service_interface_point of this TapiPathComputationPathServiceEndPoint. + :rtype: TapiCommonServiceInterfacePointRef + """ + return self._service_interface_point + + @service_interface_point.setter + def service_interface_point(self, service_interface_point: TapiCommonServiceInterfacePointRef): + """Sets the service_interface_point of this TapiPathComputationPathServiceEndPoint. + + + :param service_interface_point: The service_interface_point of this TapiPathComputationPathServiceEndPoint. + :type service_interface_point: TapiCommonServiceInterfacePointRef + """ + + self._service_interface_point = service_interface_point + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiPathComputationPathServiceEndPoint. + + + :return: The layer_protocol_name of this TapiPathComputationPathServiceEndPoint. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiPathComputationPathServiceEndPoint. + + + :param layer_protocol_name: The layer_protocol_name of this TapiPathComputationPathServiceEndPoint. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def layer_protocol_qualifier(self) -> str: + """Gets the layer_protocol_qualifier of this TapiPathComputationPathServiceEndPoint. + + none # noqa: E501 + + :return: The layer_protocol_qualifier of this TapiPathComputationPathServiceEndPoint. + :rtype: str + """ + return self._layer_protocol_qualifier + + @layer_protocol_qualifier.setter + def layer_protocol_qualifier(self, layer_protocol_qualifier: str): + """Sets the layer_protocol_qualifier of this TapiPathComputationPathServiceEndPoint. + + none # noqa: E501 + + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiPathComputationPathServiceEndPoint. + :type layer_protocol_qualifier: str + """ + + self._layer_protocol_qualifier = layer_protocol_qualifier + + @property + def direction(self) -> TapiCommonPortDirection: + """Gets the direction of this TapiPathComputationPathServiceEndPoint. + + + :return: The direction of this TapiPathComputationPathServiceEndPoint. + :rtype: TapiCommonPortDirection + """ + return self._direction + + @direction.setter + def direction(self, direction: TapiCommonPortDirection): + """Sets the direction of this TapiPathComputationPathServiceEndPoint. + + + :param direction: The direction of this TapiPathComputationPathServiceEndPoint. + :type direction: TapiCommonPortDirection + """ + + self._direction = direction + + @property + def capacity(self) -> TapiCommonCapacity: + """Gets the capacity of this TapiPathComputationPathServiceEndPoint. + + + :return: The capacity of this TapiPathComputationPathServiceEndPoint. + :rtype: TapiCommonCapacity + """ + return self._capacity + + @capacity.setter + def capacity(self, capacity: TapiCommonCapacity): + """Sets the capacity of this TapiPathComputationPathServiceEndPoint. + + + :param capacity: The capacity of this TapiPathComputationPathServiceEndPoint. + :type capacity: TapiCommonCapacity + """ + + self._capacity = capacity diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_service_end_point_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_service_end_point_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..5a342c91362908b00bef8bd32cd07fa18cc14612 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_service_end_point_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path_service_end_point import TapiPathComputationPathServiceEndPoint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathServiceEndPointWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, end_point: TapiPathComputationPathServiceEndPoint=None): # noqa: E501 + """TapiPathComputationPathServiceEndPointWrapper - a model defined in Swagger + + :param end_point: The end_point of this TapiPathComputationPathServiceEndPointWrapper. # noqa: E501 + :type end_point: TapiPathComputationPathServiceEndPoint + """ + self.swagger_types = { + 'end_point': TapiPathComputationPathServiceEndPoint + } + + self.attribute_map = { + 'end_point': 'end-point' + } + self._end_point = end_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathServiceEndPointWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathServiceEndPointWrapper of this TapiPathComputationPathServiceEndPointWrapper. # noqa: E501 + :rtype: TapiPathComputationPathServiceEndPointWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def end_point(self) -> TapiPathComputationPathServiceEndPoint: + """Gets the end_point of this TapiPathComputationPathServiceEndPointWrapper. + + + :return: The end_point of this TapiPathComputationPathServiceEndPointWrapper. + :rtype: TapiPathComputationPathServiceEndPoint + """ + return self._end_point + + @end_point.setter + def end_point(self, end_point: TapiPathComputationPathServiceEndPoint): + """Sets the end_point of this TapiPathComputationPathServiceEndPointWrapper. + + + :param end_point: The end_point of this TapiPathComputationPathServiceEndPointWrapper. + :type end_point: TapiPathComputationPathServiceEndPoint + """ + + self._end_point = end_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..8efa8661aaabb60a857c63e480138bed5b61a50f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_path_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_path import TapiPathComputationPath # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationPathWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, path: TapiPathComputationPath=None): # noqa: E501 + """TapiPathComputationPathWrapper - a model defined in Swagger + + :param path: The path of this TapiPathComputationPathWrapper. # noqa: E501 + :type path: TapiPathComputationPath + """ + self.swagger_types = { + 'path': TapiPathComputationPath + } + + self.attribute_map = { + 'path': 'path' + } + self._path = path + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationPathWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.PathWrapper of this TapiPathComputationPathWrapper. # noqa: E501 + :rtype: TapiPathComputationPathWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def path(self) -> TapiPathComputationPath: + """Gets the path of this TapiPathComputationPathWrapper. + + + :return: The path of this TapiPathComputationPathWrapper. + :rtype: TapiPathComputationPath + """ + return self._path + + @path.setter + def path(self, path: TapiPathComputationPath): + """Sets the path of this TapiPathComputationPathWrapper. + + + :param path: The path of this TapiPathComputationPathWrapper. + :type path: TapiPathComputationPath + """ + + self._path = path diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_route_objective_function.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_route_objective_function.py new file mode 100644 index 0000000000000000000000000000000000000000..8822be5acd8cbcbfdacb7bd0cef7c8aea23dabdd --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_route_objective_function.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiPathComputationRouteObjectiveFunction(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + MIN_WORK_ROUTE_HOP = "MIN_WORK_ROUTE_HOP" + MIN_WORK_ROUTE_COST = "MIN_WORK_ROUTE_COST" + MIN_WORK_ROUTE_LATENCY = "MIN_WORK_ROUTE_LATENCY" + MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP = "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP" + MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST = "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST" + MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY = "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY" + LOAD_BALANCE_MAX_UNUSED_CAPACITY = "LOAD_BALANCE_MAX_UNUSED_CAPACITY" + def __init__(self): # noqa: E501 + """TapiPathComputationRouteObjectiveFunction - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationRouteObjectiveFunction': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.RouteObjectiveFunction of this TapiPathComputationRouteObjectiveFunction. # noqa: E501 + :rtype: TapiPathComputationRouteObjectiveFunction + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_routing_constraint.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_routing_constraint.py new file mode 100644 index 0000000000000000000000000000000000000000..ac423f8899419eb94b09c5d92183ea52b8e125ea --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_routing_constraint.py @@ -0,0 +1,311 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_diversity_policy import TapiPathComputationDiversityPolicy # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_route_objective_function import TapiPathComputationRouteObjectiveFunction # noqa: F401,E501 +from tapi_server.models.tapi_path_computation_value_or_priority import TapiPathComputationValueOrPriority # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationRoutingConstraint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, is_exclusive: bool=True, max_allowed_cost: TapiPathComputationValueOrPriority=None, diversity_policy: TapiPathComputationDiversityPolicy=None, route_objective_function: TapiPathComputationRouteObjectiveFunction=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, max_allowed_hops: TapiPathComputationValueOrPriority=None, max_allowed_delay: TapiPathComputationValueOrPriority=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic]=None, route_direction: TapiCommonForwardingDirection=None): # noqa: E501 + """TapiPathComputationRoutingConstraint - a model defined in Swagger + + :param is_exclusive: The is_exclusive of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type is_exclusive: bool + :param max_allowed_cost: The max_allowed_cost of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type max_allowed_cost: TapiPathComputationValueOrPriority + :param diversity_policy: The diversity_policy of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type diversity_policy: TapiPathComputationDiversityPolicy + :param route_objective_function: The route_objective_function of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type route_objective_function: TapiPathComputationRouteObjectiveFunction + :param cost_characteristic: The cost_characteristic of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param max_allowed_hops: The max_allowed_hops of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type max_allowed_hops: TapiPathComputationValueOrPriority + :param max_allowed_delay: The max_allowed_delay of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type max_allowed_delay: TapiPathComputationValueOrPriority + :param latency_characteristic: The latency_characteristic of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param risk_diversity_characteristic: The risk_diversity_characteristic of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic] + :param route_direction: The route_direction of this TapiPathComputationRoutingConstraint. # noqa: E501 + :type route_direction: TapiCommonForwardingDirection + """ + self.swagger_types = { + 'is_exclusive': bool, + 'max_allowed_cost': TapiPathComputationValueOrPriority, + 'diversity_policy': TapiPathComputationDiversityPolicy, + 'route_objective_function': TapiPathComputationRouteObjectiveFunction, + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'max_allowed_hops': TapiPathComputationValueOrPriority, + 'max_allowed_delay': TapiPathComputationValueOrPriority, + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'risk_diversity_characteristic': List[TapiTopologyRiskCharacteristic], + 'route_direction': TapiCommonForwardingDirection + } + + self.attribute_map = { + 'is_exclusive': 'is-exclusive', + 'max_allowed_cost': 'max-allowed-cost', + 'diversity_policy': 'diversity-policy', + 'route_objective_function': 'route-objective-function', + 'cost_characteristic': 'cost-characteristic', + 'max_allowed_hops': 'max-allowed-hops', + 'max_allowed_delay': 'max-allowed-delay', + 'latency_characteristic': 'latency-characteristic', + 'risk_diversity_characteristic': 'risk-diversity-characteristic', + 'route_direction': 'route-direction' + } + self._is_exclusive = is_exclusive + self._max_allowed_cost = max_allowed_cost + self._diversity_policy = diversity_policy + self._route_objective_function = route_objective_function + self._cost_characteristic = cost_characteristic + self._max_allowed_hops = max_allowed_hops + self._max_allowed_delay = max_allowed_delay + self._latency_characteristic = latency_characteristic + self._risk_diversity_characteristic = risk_diversity_characteristic + self._route_direction = route_direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationRoutingConstraint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.RoutingConstraint of this TapiPathComputationRoutingConstraint. # noqa: E501 + :rtype: TapiPathComputationRoutingConstraint + """ + return util.deserialize_model(dikt, cls) + + @property + def is_exclusive(self) -> bool: + """Gets the is_exclusive of this TapiPathComputationRoutingConstraint. + + To distinguish if the resources are to be exclusive to the service # noqa: E501 + + :return: The is_exclusive of this TapiPathComputationRoutingConstraint. + :rtype: bool + """ + return self._is_exclusive + + @is_exclusive.setter + def is_exclusive(self, is_exclusive: bool): + """Sets the is_exclusive of this TapiPathComputationRoutingConstraint. + + To distinguish if the resources are to be exclusive to the service # noqa: E501 + + :param is_exclusive: The is_exclusive of this TapiPathComputationRoutingConstraint. + :type is_exclusive: bool + """ + + self._is_exclusive = is_exclusive + + @property + def max_allowed_cost(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_cost of this TapiPathComputationRoutingConstraint. + + + :return: The max_allowed_cost of this TapiPathComputationRoutingConstraint. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_cost + + @max_allowed_cost.setter + def max_allowed_cost(self, max_allowed_cost: TapiPathComputationValueOrPriority): + """Sets the max_allowed_cost of this TapiPathComputationRoutingConstraint. + + + :param max_allowed_cost: The max_allowed_cost of this TapiPathComputationRoutingConstraint. + :type max_allowed_cost: TapiPathComputationValueOrPriority + """ + + self._max_allowed_cost = max_allowed_cost + + @property + def diversity_policy(self) -> TapiPathComputationDiversityPolicy: + """Gets the diversity_policy of this TapiPathComputationRoutingConstraint. + + + :return: The diversity_policy of this TapiPathComputationRoutingConstraint. + :rtype: TapiPathComputationDiversityPolicy + """ + return self._diversity_policy + + @diversity_policy.setter + def diversity_policy(self, diversity_policy: TapiPathComputationDiversityPolicy): + """Sets the diversity_policy of this TapiPathComputationRoutingConstraint. + + + :param diversity_policy: The diversity_policy of this TapiPathComputationRoutingConstraint. + :type diversity_policy: TapiPathComputationDiversityPolicy + """ + + self._diversity_policy = diversity_policy + + @property + def route_objective_function(self) -> TapiPathComputationRouteObjectiveFunction: + """Gets the route_objective_function of this TapiPathComputationRoutingConstraint. + + + :return: The route_objective_function of this TapiPathComputationRoutingConstraint. + :rtype: TapiPathComputationRouteObjectiveFunction + """ + return self._route_objective_function + + @route_objective_function.setter + def route_objective_function(self, route_objective_function: TapiPathComputationRouteObjectiveFunction): + """Sets the route_objective_function of this TapiPathComputationRoutingConstraint. + + + :param route_objective_function: The route_objective_function of this TapiPathComputationRoutingConstraint. + :type route_objective_function: TapiPathComputationRouteObjectiveFunction + """ + + self._route_objective_function = route_objective_function + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiPathComputationRoutingConstraint. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiPathComputationRoutingConstraint. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiPathComputationRoutingConstraint. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiPathComputationRoutingConstraint. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def max_allowed_hops(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_hops of this TapiPathComputationRoutingConstraint. + + + :return: The max_allowed_hops of this TapiPathComputationRoutingConstraint. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_hops + + @max_allowed_hops.setter + def max_allowed_hops(self, max_allowed_hops: TapiPathComputationValueOrPriority): + """Sets the max_allowed_hops of this TapiPathComputationRoutingConstraint. + + + :param max_allowed_hops: The max_allowed_hops of this TapiPathComputationRoutingConstraint. + :type max_allowed_hops: TapiPathComputationValueOrPriority + """ + + self._max_allowed_hops = max_allowed_hops + + @property + def max_allowed_delay(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_delay of this TapiPathComputationRoutingConstraint. + + + :return: The max_allowed_delay of this TapiPathComputationRoutingConstraint. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_delay + + @max_allowed_delay.setter + def max_allowed_delay(self, max_allowed_delay: TapiPathComputationValueOrPriority): + """Sets the max_allowed_delay of this TapiPathComputationRoutingConstraint. + + + :param max_allowed_delay: The max_allowed_delay of this TapiPathComputationRoutingConstraint. + :type max_allowed_delay: TapiPathComputationValueOrPriority + """ + + self._max_allowed_delay = max_allowed_delay + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiPathComputationRoutingConstraint. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiPathComputationRoutingConstraint. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiPathComputationRoutingConstraint. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiPathComputationRoutingConstraint. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def risk_diversity_characteristic(self) -> List[TapiTopologyRiskCharacteristic]: + """Gets the risk_diversity_characteristic of this TapiPathComputationRoutingConstraint. + + none # noqa: E501 + + :return: The risk_diversity_characteristic of this TapiPathComputationRoutingConstraint. + :rtype: List[TapiTopologyRiskCharacteristic] + """ + return self._risk_diversity_characteristic + + @risk_diversity_characteristic.setter + def risk_diversity_characteristic(self, risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic]): + """Sets the risk_diversity_characteristic of this TapiPathComputationRoutingConstraint. + + none # noqa: E501 + + :param risk_diversity_characteristic: The risk_diversity_characteristic of this TapiPathComputationRoutingConstraint. + :type risk_diversity_characteristic: List[TapiTopologyRiskCharacteristic] + """ + + self._risk_diversity_characteristic = risk_diversity_characteristic + + @property + def route_direction(self) -> TapiCommonForwardingDirection: + """Gets the route_direction of this TapiPathComputationRoutingConstraint. + + + :return: The route_direction of this TapiPathComputationRoutingConstraint. + :rtype: TapiCommonForwardingDirection + """ + return self._route_direction + + @route_direction.setter + def route_direction(self, route_direction: TapiCommonForwardingDirection): + """Sets the route_direction of this TapiPathComputationRoutingConstraint. + + + :param route_direction: The route_direction of this TapiPathComputationRoutingConstraint. + :type route_direction: TapiCommonForwardingDirection + """ + + self._route_direction = route_direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_routing_constraint_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_routing_constraint_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..83d0b2ea73efe78e6490787bd3644149363338cc --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_routing_constraint_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_routing_constraint import TapiPathComputationRoutingConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationRoutingConstraintWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, routing_constraint: TapiPathComputationRoutingConstraint=None): # noqa: E501 + """TapiPathComputationRoutingConstraintWrapper - a model defined in Swagger + + :param routing_constraint: The routing_constraint of this TapiPathComputationRoutingConstraintWrapper. # noqa: E501 + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + self.swagger_types = { + 'routing_constraint': TapiPathComputationRoutingConstraint + } + + self.attribute_map = { + 'routing_constraint': 'routing-constraint' + } + self._routing_constraint = routing_constraint + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationRoutingConstraintWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.RoutingConstraintWrapper of this TapiPathComputationRoutingConstraintWrapper. # noqa: E501 + :rtype: TapiPathComputationRoutingConstraintWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def routing_constraint(self) -> TapiPathComputationRoutingConstraint: + """Gets the routing_constraint of this TapiPathComputationRoutingConstraintWrapper. + + + :return: The routing_constraint of this TapiPathComputationRoutingConstraintWrapper. + :rtype: TapiPathComputationRoutingConstraint + """ + return self._routing_constraint + + @routing_constraint.setter + def routing_constraint(self, routing_constraint: TapiPathComputationRoutingConstraint): + """Sets the routing_constraint of this TapiPathComputationRoutingConstraintWrapper. + + + :param routing_constraint: The routing_constraint of this TapiPathComputationRoutingConstraintWrapper. + :type routing_constraint: TapiPathComputationRoutingConstraint + """ + + self._routing_constraint = routing_constraint diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_topology_constraint.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_topology_constraint.py new file mode 100644 index 0000000000000000000000000000000000000000..b55c2a0d51fb74f7023aa8d03223d45804d9e2de --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_topology_constraint.py @@ -0,0 +1,289 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationTopologyConstraint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, include_node: List[str]=None, exclude_link: List[str]=None, avoid_topology: List[str]=None, exclude_path: List[str]=None, include_link: List[str]=None, preferred_transport_layer: List[TapiCommonLayerProtocolName]=None, exclude_node: List[str]=None, include_topology: List[str]=None, include_path: List[str]=None): # noqa: E501 + """TapiPathComputationTopologyConstraint - a model defined in Swagger + + :param include_node: The include_node of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type include_node: List[str] + :param exclude_link: The exclude_link of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type exclude_link: List[str] + :param avoid_topology: The avoid_topology of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type avoid_topology: List[str] + :param exclude_path: The exclude_path of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type exclude_path: List[str] + :param include_link: The include_link of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type include_link: List[str] + :param preferred_transport_layer: The preferred_transport_layer of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type preferred_transport_layer: List[TapiCommonLayerProtocolName] + :param exclude_node: The exclude_node of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type exclude_node: List[str] + :param include_topology: The include_topology of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type include_topology: List[str] + :param include_path: The include_path of this TapiPathComputationTopologyConstraint. # noqa: E501 + :type include_path: List[str] + """ + self.swagger_types = { + 'include_node': List[str], + 'exclude_link': List[str], + 'avoid_topology': List[str], + 'exclude_path': List[str], + 'include_link': List[str], + 'preferred_transport_layer': List[TapiCommonLayerProtocolName], + 'exclude_node': List[str], + 'include_topology': List[str], + 'include_path': List[str] + } + + self.attribute_map = { + 'include_node': 'include-node', + 'exclude_link': 'exclude-link', + 'avoid_topology': 'avoid-topology', + 'exclude_path': 'exclude-path', + 'include_link': 'include-link', + 'preferred_transport_layer': 'preferred-transport-layer', + 'exclude_node': 'exclude-node', + 'include_topology': 'include-topology', + 'include_path': 'include-path' + } + self._include_node = include_node + self._exclude_link = exclude_link + self._avoid_topology = avoid_topology + self._exclude_path = exclude_path + self._include_link = include_link + self._preferred_transport_layer = preferred_transport_layer + self._exclude_node = exclude_node + self._include_topology = include_topology + self._include_path = include_path + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationTopologyConstraint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.TopologyConstraint of this TapiPathComputationTopologyConstraint. # noqa: E501 + :rtype: TapiPathComputationTopologyConstraint + """ + return util.deserialize_model(dikt, cls) + + @property + def include_node(self) -> List[str]: + """Gets the include_node of this TapiPathComputationTopologyConstraint. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :return: The include_node of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._include_node + + @include_node.setter + def include_node(self, include_node: List[str]): + """Sets the include_node of this TapiPathComputationTopologyConstraint. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :param include_node: The include_node of this TapiPathComputationTopologyConstraint. + :type include_node: List[str] + """ + + self._include_node = include_node + + @property + def exclude_link(self) -> List[str]: + """Gets the exclude_link of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :return: The exclude_link of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._exclude_link + + @exclude_link.setter + def exclude_link(self, exclude_link: List[str]): + """Sets the exclude_link of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :param exclude_link: The exclude_link of this TapiPathComputationTopologyConstraint. + :type exclude_link: List[str] + """ + + self._exclude_link = exclude_link + + @property + def avoid_topology(self) -> List[str]: + """Gets the avoid_topology of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :return: The avoid_topology of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._avoid_topology + + @avoid_topology.setter + def avoid_topology(self, avoid_topology: List[str]): + """Sets the avoid_topology of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :param avoid_topology: The avoid_topology of this TapiPathComputationTopologyConstraint. + :type avoid_topology: List[str] + """ + + self._avoid_topology = avoid_topology + + @property + def exclude_path(self) -> List[str]: + """Gets the exclude_path of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :return: The exclude_path of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._exclude_path + + @exclude_path.setter + def exclude_path(self, exclude_path: List[str]): + """Sets the exclude_path of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :param exclude_path: The exclude_path of this TapiPathComputationTopologyConstraint. + :type exclude_path: List[str] + """ + + self._exclude_path = exclude_path + + @property + def include_link(self) -> List[str]: + """Gets the include_link of this TapiPathComputationTopologyConstraint. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :return: The include_link of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._include_link + + @include_link.setter + def include_link(self, include_link: List[str]): + """Sets the include_link of this TapiPathComputationTopologyConstraint. + + This is a loose constraint - that is it is unordered and could be a partial list # noqa: E501 + + :param include_link: The include_link of this TapiPathComputationTopologyConstraint. + :type include_link: List[str] + """ + + self._include_link = include_link + + @property + def preferred_transport_layer(self) -> List[TapiCommonLayerProtocolName]: + """Gets the preferred_transport_layer of this TapiPathComputationTopologyConstraint. + + soft constraint requested by client to indicate the layer(s) of transport connection that it prefers to carry the service. This could be same as the service layer or one of the supported server layers # noqa: E501 + + :return: The preferred_transport_layer of this TapiPathComputationTopologyConstraint. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._preferred_transport_layer + + @preferred_transport_layer.setter + def preferred_transport_layer(self, preferred_transport_layer: List[TapiCommonLayerProtocolName]): + """Sets the preferred_transport_layer of this TapiPathComputationTopologyConstraint. + + soft constraint requested by client to indicate the layer(s) of transport connection that it prefers to carry the service. This could be same as the service layer or one of the supported server layers # noqa: E501 + + :param preferred_transport_layer: The preferred_transport_layer of this TapiPathComputationTopologyConstraint. + :type preferred_transport_layer: List[TapiCommonLayerProtocolName] + """ + + self._preferred_transport_layer = preferred_transport_layer + + @property + def exclude_node(self) -> List[str]: + """Gets the exclude_node of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :return: The exclude_node of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._exclude_node + + @exclude_node.setter + def exclude_node(self, exclude_node: List[str]): + """Sets the exclude_node of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :param exclude_node: The exclude_node of this TapiPathComputationTopologyConstraint. + :type exclude_node: List[str] + """ + + self._exclude_node = exclude_node + + @property + def include_topology(self) -> List[str]: + """Gets the include_topology of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :return: The include_topology of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._include_topology + + @include_topology.setter + def include_topology(self, include_topology: List[str]): + """Sets the include_topology of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :param include_topology: The include_topology of this TapiPathComputationTopologyConstraint. + :type include_topology: List[str] + """ + + self._include_topology = include_topology + + @property + def include_path(self) -> List[str]: + """Gets the include_path of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :return: The include_path of this TapiPathComputationTopologyConstraint. + :rtype: List[str] + """ + return self._include_path + + @include_path.setter + def include_path(self, include_path: List[str]): + """Sets the include_path of this TapiPathComputationTopologyConstraint. + + none # noqa: E501 + + :param include_path: The include_path of this TapiPathComputationTopologyConstraint. + :type include_path: List[str] + """ + + self._include_path = include_path diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_topology_constraint_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_topology_constraint_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..441c005304f7e2d56174271c3680074d5fbee9bc --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_topology_constraint_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_topology_constraint import TapiPathComputationTopologyConstraint # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationTopologyConstraintWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_constraint: TapiPathComputationTopologyConstraint=None): # noqa: E501 + """TapiPathComputationTopologyConstraintWrapper - a model defined in Swagger + + :param topology_constraint: The topology_constraint of this TapiPathComputationTopologyConstraintWrapper. # noqa: E501 + :type topology_constraint: TapiPathComputationTopologyConstraint + """ + self.swagger_types = { + 'topology_constraint': TapiPathComputationTopologyConstraint + } + + self.attribute_map = { + 'topology_constraint': 'topology-constraint' + } + self._topology_constraint = topology_constraint + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationTopologyConstraintWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.TopologyConstraintWrapper of this TapiPathComputationTopologyConstraintWrapper. # noqa: E501 + :rtype: TapiPathComputationTopologyConstraintWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_constraint(self) -> TapiPathComputationTopologyConstraint: + """Gets the topology_constraint of this TapiPathComputationTopologyConstraintWrapper. + + + :return: The topology_constraint of this TapiPathComputationTopologyConstraintWrapper. + :rtype: TapiPathComputationTopologyConstraint + """ + return self._topology_constraint + + @topology_constraint.setter + def topology_constraint(self, topology_constraint: TapiPathComputationTopologyConstraint): + """Sets the topology_constraint of this TapiPathComputationTopologyConstraintWrapper. + + + :param topology_constraint: The topology_constraint of this TapiPathComputationTopologyConstraintWrapper. + :type topology_constraint: TapiPathComputationTopologyConstraint + """ + + self._topology_constraint = topology_constraint diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_value_or_priority.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_value_or_priority.py new file mode 100644 index 0000000000000000000000000000000000000000..b53d84e70763f38213e41c7c71448e58bdfd3929 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_value_or_priority.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiPathComputationValueOrPriority(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, priority: int=None, value: int=None): # noqa: E501 + """TapiPathComputationValueOrPriority - a model defined in Swagger + + :param priority: The priority of this TapiPathComputationValueOrPriority. # noqa: E501 + :type priority: int + :param value: The value of this TapiPathComputationValueOrPriority. # noqa: E501 + :type value: int + """ + self.swagger_types = { + 'priority': int, + 'value': int + } + + self.attribute_map = { + 'priority': 'priority', + 'value': 'value' + } + self._priority = priority + self._value = value + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationValueOrPriority': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.ValueOrPriority of this TapiPathComputationValueOrPriority. # noqa: E501 + :rtype: TapiPathComputationValueOrPriority + """ + return util.deserialize_model(dikt, cls) + + @property + def priority(self) -> int: + """Gets the priority of this TapiPathComputationValueOrPriority. + + none # noqa: E501 + + :return: The priority of this TapiPathComputationValueOrPriority. + :rtype: int + """ + return self._priority + + @priority.setter + def priority(self, priority: int): + """Sets the priority of this TapiPathComputationValueOrPriority. + + none # noqa: E501 + + :param priority: The priority of this TapiPathComputationValueOrPriority. + :type priority: int + """ + + self._priority = priority + + @property + def value(self) -> int: + """Gets the value of this TapiPathComputationValueOrPriority. + + none # noqa: E501 + + :return: The value of this TapiPathComputationValueOrPriority. + :rtype: int + """ + return self._value + + @value.setter + def value(self, value: int): + """Sets the value of this TapiPathComputationValueOrPriority. + + none # noqa: E501 + + :param value: The value of this TapiPathComputationValueOrPriority. + :type value: int + """ + + self._value = value diff --git a/hackfest/tapi/server/tapi_server/models/tapi_path_computation_value_or_priority_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_value_or_priority_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..d2ea24076e98c830ac0a29acd6bf1d2880d9394b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_path_computation_value_or_priority_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_path_computation_value_or_priority import TapiPathComputationValueOrPriority # noqa: F401,E501 +from tapi_server import util + + +class TapiPathComputationValueOrPriorityWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, max_allowed_cost: TapiPathComputationValueOrPriority=None): # noqa: E501 + """TapiPathComputationValueOrPriorityWrapper - a model defined in Swagger + + :param max_allowed_cost: The max_allowed_cost of this TapiPathComputationValueOrPriorityWrapper. # noqa: E501 + :type max_allowed_cost: TapiPathComputationValueOrPriority + """ + self.swagger_types = { + 'max_allowed_cost': TapiPathComputationValueOrPriority + } + + self.attribute_map = { + 'max_allowed_cost': 'max-allowed-cost' + } + self._max_allowed_cost = max_allowed_cost + + @classmethod + def from_dict(cls, dikt) -> 'TapiPathComputationValueOrPriorityWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.path.computation.ValueOrPriorityWrapper of this TapiPathComputationValueOrPriorityWrapper. # noqa: E501 + :rtype: TapiPathComputationValueOrPriorityWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def max_allowed_cost(self) -> TapiPathComputationValueOrPriority: + """Gets the max_allowed_cost of this TapiPathComputationValueOrPriorityWrapper. + + + :return: The max_allowed_cost of this TapiPathComputationValueOrPriorityWrapper. + :rtype: TapiPathComputationValueOrPriority + """ + return self._max_allowed_cost + + @max_allowed_cost.setter + def max_allowed_cost(self, max_allowed_cost: TapiPathComputationValueOrPriority): + """Sets the max_allowed_cost of this TapiPathComputationValueOrPriorityWrapper. + + + :param max_allowed_cost: The max_allowed_cost of this TapiPathComputationValueOrPriorityWrapper. + :type max_allowed_cost: TapiPathComputationValueOrPriority + """ + + self._max_allowed_cost = max_allowed_cost diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_connection_spec_reference.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_connection_spec_reference.py new file mode 100644 index 0000000000000000000000000000000000000000..e759188d47a927436ed70a256e2063935a03013d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_connection_spec_reference.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyConnectionSpecReference(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_spec_name: str=None, connection_spec_id: str=None): # noqa: E501 + """TapiTopologyConnectionSpecReference - a model defined in Swagger + + :param connection_spec_name: The connection_spec_name of this TapiTopologyConnectionSpecReference. # noqa: E501 + :type connection_spec_name: str + :param connection_spec_id: The connection_spec_id of this TapiTopologyConnectionSpecReference. # noqa: E501 + :type connection_spec_id: str + """ + self.swagger_types = { + 'connection_spec_name': str, + 'connection_spec_id': str + } + + self.attribute_map = { + 'connection_spec_name': 'connection-spec-name', + 'connection_spec_id': 'connection-spec-id' + } + self._connection_spec_name = connection_spec_name + self._connection_spec_id = connection_spec_id + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyConnectionSpecReference': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ConnectionSpecReference of this TapiTopologyConnectionSpecReference. # noqa: E501 + :rtype: TapiTopologyConnectionSpecReference + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_spec_name(self) -> str: + """Gets the connection_spec_name of this TapiTopologyConnectionSpecReference. + + The name of the connection type spec. This can be used as a reference to a paper document where full formal machine interpretable specs are not supported. # noqa: E501 + + :return: The connection_spec_name of this TapiTopologyConnectionSpecReference. + :rtype: str + """ + return self._connection_spec_name + + @connection_spec_name.setter + def connection_spec_name(self, connection_spec_name: str): + """Sets the connection_spec_name of this TapiTopologyConnectionSpecReference. + + The name of the connection type spec. This can be used as a reference to a paper document where full formal machine interpretable specs are not supported. # noqa: E501 + + :param connection_spec_name: The connection_spec_name of this TapiTopologyConnectionSpecReference. + :type connection_spec_name: str + """ + + self._connection_spec_name = connection_spec_name + + @property + def connection_spec_id(self) -> str: + """Gets the connection_spec_id of this TapiTopologyConnectionSpecReference. + + The reference to a formal spec. This reference need not be provided (e.g., where there is no formal machine interpretable spec for the type of connection). # noqa: E501 + + :return: The connection_spec_id of this TapiTopologyConnectionSpecReference. + :rtype: str + """ + return self._connection_spec_id + + @connection_spec_id.setter + def connection_spec_id(self, connection_spec_id: str): + """Sets the connection_spec_id of this TapiTopologyConnectionSpecReference. + + The reference to a formal spec. This reference need not be provided (e.g., where there is no formal machine interpretable spec for the type of connection). # noqa: E501 + + :param connection_spec_id: The connection_spec_id of this TapiTopologyConnectionSpecReference. + :type connection_spec_id: str + """ + + self._connection_spec_id = connection_spec_id diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_connection_spec_reference_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_connection_spec_reference_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..67365cb2bf8416211ed7cb2e6e115ff3c6136dfb --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_connection_spec_reference_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_connection_spec_reference import TapiTopologyConnectionSpecReference # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyConnectionSpecReferenceWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, connection_spec_reference: TapiTopologyConnectionSpecReference=None): # noqa: E501 + """TapiTopologyConnectionSpecReferenceWrapper - a model defined in Swagger + + :param connection_spec_reference: The connection_spec_reference of this TapiTopologyConnectionSpecReferenceWrapper. # noqa: E501 + :type connection_spec_reference: TapiTopologyConnectionSpecReference + """ + self.swagger_types = { + 'connection_spec_reference': TapiTopologyConnectionSpecReference + } + + self.attribute_map = { + 'connection_spec_reference': 'connection-spec-reference' + } + self._connection_spec_reference = connection_spec_reference + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyConnectionSpecReferenceWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ConnectionSpecReferenceWrapper of this TapiTopologyConnectionSpecReferenceWrapper. # noqa: E501 + :rtype: TapiTopologyConnectionSpecReferenceWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def connection_spec_reference(self) -> TapiTopologyConnectionSpecReference: + """Gets the connection_spec_reference of this TapiTopologyConnectionSpecReferenceWrapper. + + + :return: The connection_spec_reference of this TapiTopologyConnectionSpecReferenceWrapper. + :rtype: TapiTopologyConnectionSpecReference + """ + return self._connection_spec_reference + + @connection_spec_reference.setter + def connection_spec_reference(self, connection_spec_reference: TapiTopologyConnectionSpecReference): + """Sets the connection_spec_reference of this TapiTopologyConnectionSpecReferenceWrapper. + + + :param connection_spec_reference: The connection_spec_reference of this TapiTopologyConnectionSpecReferenceWrapper. + :type connection_spec_reference: TapiTopologyConnectionSpecReference + """ + + self._connection_spec_reference = connection_spec_reference diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_context_augmentation4.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_context_augmentation4.py new file mode 100644 index 0000000000000000000000000000000000000000..873d348406861edcad45039aec1bdf9a4acc939e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_context_augmentation4.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology_context import TapiTopologyTopologyContext # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyContextAugmentation4(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_context: TapiTopologyTopologyContext=None): # noqa: E501 + """TapiTopologyContextAugmentation4 - a model defined in Swagger + + :param topology_context: The topology_context of this TapiTopologyContextAugmentation4. # noqa: E501 + :type topology_context: TapiTopologyTopologyContext + """ + self.swagger_types = { + 'topology_context': TapiTopologyTopologyContext + } + + self.attribute_map = { + 'topology_context': 'topology-context' + } + self._topology_context = topology_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyContextAugmentation4': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ContextAugmentation4 of this TapiTopologyContextAugmentation4. # noqa: E501 + :rtype: TapiTopologyContextAugmentation4 + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_context(self) -> TapiTopologyTopologyContext: + """Gets the topology_context of this TapiTopologyContextAugmentation4. + + + :return: The topology_context of this TapiTopologyContextAugmentation4. + :rtype: TapiTopologyTopologyContext + """ + return self._topology_context + + @topology_context.setter + def topology_context(self, topology_context: TapiTopologyTopologyContext): + """Sets the topology_context of this TapiTopologyContextAugmentation4. + + + :param topology_context: The topology_context of this TapiTopologyContextAugmentation4. + :type topology_context: TapiTopologyTopologyContext + """ + + self._topology_context = topology_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_cost_characteristic.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_cost_characteristic.py new file mode 100644 index 0000000000000000000000000000000000000000..86b11fe77c24191f115a83a449a40f303b341a2e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_cost_characteristic.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyCostCharacteristic(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cost_value: str=None, cost_algorithm: str=None, cost_name: str=None): # noqa: E501 + """TapiTopologyCostCharacteristic - a model defined in Swagger + + :param cost_value: The cost_value of this TapiTopologyCostCharacteristic. # noqa: E501 + :type cost_value: str + :param cost_algorithm: The cost_algorithm of this TapiTopologyCostCharacteristic. # noqa: E501 + :type cost_algorithm: str + :param cost_name: The cost_name of this TapiTopologyCostCharacteristic. # noqa: E501 + :type cost_name: str + """ + self.swagger_types = { + 'cost_value': str, + 'cost_algorithm': str, + 'cost_name': str + } + + self.attribute_map = { + 'cost_value': 'cost-value', + 'cost_algorithm': 'cost-algorithm', + 'cost_name': 'cost-name' + } + self._cost_value = cost_value + self._cost_algorithm = cost_algorithm + self._cost_name = cost_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyCostCharacteristic': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.CostCharacteristic of this TapiTopologyCostCharacteristic. # noqa: E501 + :rtype: TapiTopologyCostCharacteristic + """ + return util.deserialize_model(dikt, cls) + + @property + def cost_value(self) -> str: + """Gets the cost_value of this TapiTopologyCostCharacteristic. + + The specific cost. # noqa: E501 + + :return: The cost_value of this TapiTopologyCostCharacteristic. + :rtype: str + """ + return self._cost_value + + @cost_value.setter + def cost_value(self, cost_value: str): + """Sets the cost_value of this TapiTopologyCostCharacteristic. + + The specific cost. # noqa: E501 + + :param cost_value: The cost_value of this TapiTopologyCostCharacteristic. + :type cost_value: str + """ + + self._cost_value = cost_value + + @property + def cost_algorithm(self) -> str: + """Gets the cost_algorithm of this TapiTopologyCostCharacteristic. + + The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm. # noqa: E501 + + :return: The cost_algorithm of this TapiTopologyCostCharacteristic. + :rtype: str + """ + return self._cost_algorithm + + @cost_algorithm.setter + def cost_algorithm(self, cost_algorithm: str): + """Sets the cost_algorithm of this TapiTopologyCostCharacteristic. + + The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm. # noqa: E501 + + :param cost_algorithm: The cost_algorithm of this TapiTopologyCostCharacteristic. + :type cost_algorithm: str + """ + + self._cost_algorithm = cost_algorithm + + @property + def cost_name(self) -> str: + """Gets the cost_name of this TapiTopologyCostCharacteristic. + + The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName. # noqa: E501 + + :return: The cost_name of this TapiTopologyCostCharacteristic. + :rtype: str + """ + return self._cost_name + + @cost_name.setter + def cost_name(self, cost_name: str): + """Sets the cost_name of this TapiTopologyCostCharacteristic. + + The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName. # noqa: E501 + + :param cost_name: The cost_name of this TapiTopologyCostCharacteristic. + :type cost_name: str + """ + + self._cost_name = cost_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_cost_characteristic_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_cost_characteristic_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..360442c00da909c10f61f24482013195560d5c35 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_cost_characteristic_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyCostCharacteristicWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cost_characteristic: TapiTopologyCostCharacteristic=None): # noqa: E501 + """TapiTopologyCostCharacteristicWrapper - a model defined in Swagger + + :param cost_characteristic: The cost_characteristic of this TapiTopologyCostCharacteristicWrapper. # noqa: E501 + :type cost_characteristic: TapiTopologyCostCharacteristic + """ + self.swagger_types = { + 'cost_characteristic': TapiTopologyCostCharacteristic + } + + self.attribute_map = { + 'cost_characteristic': 'cost-characteristic' + } + self._cost_characteristic = cost_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyCostCharacteristicWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.CostCharacteristicWrapper of this TapiTopologyCostCharacteristicWrapper. # noqa: E501 + :rtype: TapiTopologyCostCharacteristicWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def cost_characteristic(self) -> TapiTopologyCostCharacteristic: + """Gets the cost_characteristic of this TapiTopologyCostCharacteristicWrapper. + + + :return: The cost_characteristic of this TapiTopologyCostCharacteristicWrapper. + :rtype: TapiTopologyCostCharacteristic + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: TapiTopologyCostCharacteristic): + """Sets the cost_characteristic of this TapiTopologyCostCharacteristicWrapper. + + + :param cost_characteristic: The cost_characteristic of this TapiTopologyCostCharacteristicWrapper. + :type cost_characteristic: TapiTopologyCostCharacteristic + """ + + self._cost_characteristic = cost_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_forwarding_rule.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_forwarding_rule.py new file mode 100644 index 0000000000000000000000000000000000000000..d976ccfb79aade750bf5798dd8bef4d827956327 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_forwarding_rule.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyForwardingRule(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + MAY_FORWARD_ACROSS_GROUP = "MAY_FORWARD_ACROSS_GROUP" + MUST_FORWARD_ACROSS_GROUP = "MUST_FORWARD_ACROSS_GROUP" + CANNOT_FORWARD_ACROSS_GROUP = "CANNOT_FORWARD_ACROSS_GROUP" + NO_STATEMENT_ON_FORWARDING = "NO_STATEMENT_ON_FORWARDING" + INTER_CONNECTION_CONTENTION = "INTER_CONNECTION_CONTENTION" + def __init__(self): # noqa: E501 + """TapiTopologyForwardingRule - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyForwardingRule': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ForwardingRule of this TapiTopologyForwardingRule. # noqa: E501 + :rtype: TapiTopologyForwardingRule + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_get_link_details.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_link_details.py new file mode 100644 index 0000000000000000000000000000000000000000..3b480a1fb2da271966e241548bd3db08646fe9f3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_link_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_getlinkdetails_output import TapiTopologyGetlinkdetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetLinkDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiTopologyGetlinkdetailsOutput=None): # noqa: E501 + """TapiTopologyGetLinkDetails - a model defined in Swagger + + :param output: The output of this TapiTopologyGetLinkDetails. # noqa: E501 + :type output: TapiTopologyGetlinkdetailsOutput + """ + self.swagger_types = { + 'output': TapiTopologyGetlinkdetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetLinkDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.GetLinkDetails of this TapiTopologyGetLinkDetails. # noqa: E501 + :rtype: TapiTopologyGetLinkDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiTopologyGetlinkdetailsOutput: + """Gets the output of this TapiTopologyGetLinkDetails. + + + :return: The output of this TapiTopologyGetLinkDetails. + :rtype: TapiTopologyGetlinkdetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiTopologyGetlinkdetailsOutput): + """Sets the output of this TapiTopologyGetLinkDetails. + + + :param output: The output of this TapiTopologyGetLinkDetails. + :type output: TapiTopologyGetlinkdetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_get_node_details.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_node_details.py new file mode 100644 index 0000000000000000000000000000000000000000..b60d9cc9a2e9b7c15bdeebd3ac1b1fffbd335c90 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_node_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_getnodedetails_output import TapiTopologyGetnodedetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetNodeDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiTopologyGetnodedetailsOutput=None): # noqa: E501 + """TapiTopologyGetNodeDetails - a model defined in Swagger + + :param output: The output of this TapiTopologyGetNodeDetails. # noqa: E501 + :type output: TapiTopologyGetnodedetailsOutput + """ + self.swagger_types = { + 'output': TapiTopologyGetnodedetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetNodeDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.GetNodeDetails of this TapiTopologyGetNodeDetails. # noqa: E501 + :rtype: TapiTopologyGetNodeDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiTopologyGetnodedetailsOutput: + """Gets the output of this TapiTopologyGetNodeDetails. + + + :return: The output of this TapiTopologyGetNodeDetails. + :rtype: TapiTopologyGetnodedetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiTopologyGetnodedetailsOutput): + """Sets the output of this TapiTopologyGetNodeDetails. + + + :param output: The output of this TapiTopologyGetNodeDetails. + :type output: TapiTopologyGetnodedetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_get_node_edge_point_details.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_node_edge_point_details.py new file mode 100644 index 0000000000000000000000000000000000000000..bf0fc4167dd95fc7f8b5ba5eb65f5508b0fe05c9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_node_edge_point_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_getnodeedgepointdetails_output import TapiTopologyGetnodeedgepointdetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetNodeEdgePointDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiTopologyGetnodeedgepointdetailsOutput=None): # noqa: E501 + """TapiTopologyGetNodeEdgePointDetails - a model defined in Swagger + + :param output: The output of this TapiTopologyGetNodeEdgePointDetails. # noqa: E501 + :type output: TapiTopologyGetnodeedgepointdetailsOutput + """ + self.swagger_types = { + 'output': TapiTopologyGetnodeedgepointdetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetNodeEdgePointDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.GetNodeEdgePointDetails of this TapiTopologyGetNodeEdgePointDetails. # noqa: E501 + :rtype: TapiTopologyGetNodeEdgePointDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiTopologyGetnodeedgepointdetailsOutput: + """Gets the output of this TapiTopologyGetNodeEdgePointDetails. + + + :return: The output of this TapiTopologyGetNodeEdgePointDetails. + :rtype: TapiTopologyGetnodeedgepointdetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiTopologyGetnodeedgepointdetailsOutput): + """Sets the output of this TapiTopologyGetNodeEdgePointDetails. + + + :param output: The output of this TapiTopologyGetNodeEdgePointDetails. + :type output: TapiTopologyGetnodeedgepointdetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_get_topology_details.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_topology_details.py new file mode 100644 index 0000000000000000000000000000000000000000..0a68c6e4dbd2f0376fed41e4efc3baf18bc4880e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_topology_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_gettopologydetails_output import TapiTopologyGettopologydetailsOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetTopologyDetails(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiTopologyGettopologydetailsOutput=None): # noqa: E501 + """TapiTopologyGetTopologyDetails - a model defined in Swagger + + :param output: The output of this TapiTopologyGetTopologyDetails. # noqa: E501 + :type output: TapiTopologyGettopologydetailsOutput + """ + self.swagger_types = { + 'output': TapiTopologyGettopologydetailsOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetTopologyDetails': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.GetTopologyDetails of this TapiTopologyGetTopologyDetails. # noqa: E501 + :rtype: TapiTopologyGetTopologyDetails + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiTopologyGettopologydetailsOutput: + """Gets the output of this TapiTopologyGetTopologyDetails. + + + :return: The output of this TapiTopologyGetTopologyDetails. + :rtype: TapiTopologyGettopologydetailsOutput + """ + return self._output + + @output.setter + def output(self, output: TapiTopologyGettopologydetailsOutput): + """Sets the output of this TapiTopologyGetTopologyDetails. + + + :param output: The output of this TapiTopologyGetTopologyDetails. + :type output: TapiTopologyGettopologydetailsOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_get_topology_list.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_topology_list.py new file mode 100644 index 0000000000000000000000000000000000000000..88a3eceddd0d54b21db6102e7cf83c85c47edbdf --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_get_topology_list.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_gettopologylist_output import TapiTopologyGettopologylistOutput # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetTopologyList(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, output: TapiTopologyGettopologylistOutput=None): # noqa: E501 + """TapiTopologyGetTopologyList - a model defined in Swagger + + :param output: The output of this TapiTopologyGetTopologyList. # noqa: E501 + :type output: TapiTopologyGettopologylistOutput + """ + self.swagger_types = { + 'output': TapiTopologyGettopologylistOutput + } + + self.attribute_map = { + 'output': 'output' + } + self._output = output + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetTopologyList': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.GetTopologyList of this TapiTopologyGetTopologyList. # noqa: E501 + :rtype: TapiTopologyGetTopologyList + """ + return util.deserialize_model(dikt, cls) + + @property + def output(self) -> TapiTopologyGettopologylistOutput: + """Gets the output of this TapiTopologyGetTopologyList. + + + :return: The output of this TapiTopologyGetTopologyList. + :rtype: TapiTopologyGettopologylistOutput + """ + return self._output + + @output.setter + def output(self, output: TapiTopologyGettopologylistOutput): + """Sets the output of this TapiTopologyGetTopologyList. + + + :param output: The output of this TapiTopologyGetTopologyList. + :type output: TapiTopologyGettopologylistOutput + """ + + self._output = output diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_getlinkdetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_getlinkdetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..f838f3d4707f34153b17ac45c5063907171ee38f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_getlinkdetails_input.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyGetlinkdetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, link_id_or_name: str=None, topology_id_or_name: str=None): # noqa: E501 + """TapiTopologyGetlinkdetailsInput - a model defined in Swagger + + :param link_id_or_name: The link_id_or_name of this TapiTopologyGetlinkdetailsInput. # noqa: E501 + :type link_id_or_name: str + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGetlinkdetailsInput. # noqa: E501 + :type topology_id_or_name: str + """ + self.swagger_types = { + 'link_id_or_name': str, + 'topology_id_or_name': str + } + + self.attribute_map = { + 'link_id_or_name': 'link-id-or-name', + 'topology_id_or_name': 'topology-id-or-name' + } + self._link_id_or_name = link_id_or_name + self._topology_id_or_name = topology_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetlinkdetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.getlinkdetails.Input of this TapiTopologyGetlinkdetailsInput. # noqa: E501 + :rtype: TapiTopologyGetlinkdetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def link_id_or_name(self) -> str: + """Gets the link_id_or_name of this TapiTopologyGetlinkdetailsInput. + + none # noqa: E501 + + :return: The link_id_or_name of this TapiTopologyGetlinkdetailsInput. + :rtype: str + """ + return self._link_id_or_name + + @link_id_or_name.setter + def link_id_or_name(self, link_id_or_name: str): + """Sets the link_id_or_name of this TapiTopologyGetlinkdetailsInput. + + none # noqa: E501 + + :param link_id_or_name: The link_id_or_name of this TapiTopologyGetlinkdetailsInput. + :type link_id_or_name: str + """ + + self._link_id_or_name = link_id_or_name + + @property + def topology_id_or_name(self) -> str: + """Gets the topology_id_or_name of this TapiTopologyGetlinkdetailsInput. + + none # noqa: E501 + + :return: The topology_id_or_name of this TapiTopologyGetlinkdetailsInput. + :rtype: str + """ + return self._topology_id_or_name + + @topology_id_or_name.setter + def topology_id_or_name(self, topology_id_or_name: str): + """Sets the topology_id_or_name of this TapiTopologyGetlinkdetailsInput. + + none # noqa: E501 + + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGetlinkdetailsInput. + :type topology_id_or_name: str + """ + + self._topology_id_or_name = topology_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_getlinkdetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_getlinkdetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..95b662e2fecc9f78ee17c15b8ee9bc84943ce119 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_getlinkdetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_link import TapiTopologyLink # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetlinkdetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, link: TapiTopologyLink=None): # noqa: E501 + """TapiTopologyGetlinkdetailsOutput - a model defined in Swagger + + :param link: The link of this TapiTopologyGetlinkdetailsOutput. # noqa: E501 + :type link: TapiTopologyLink + """ + self.swagger_types = { + 'link': TapiTopologyLink + } + + self.attribute_map = { + 'link': 'link' + } + self._link = link + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetlinkdetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.getlinkdetails.Output of this TapiTopologyGetlinkdetailsOutput. # noqa: E501 + :rtype: TapiTopologyGetlinkdetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def link(self) -> TapiTopologyLink: + """Gets the link of this TapiTopologyGetlinkdetailsOutput. + + + :return: The link of this TapiTopologyGetlinkdetailsOutput. + :rtype: TapiTopologyLink + """ + return self._link + + @link.setter + def link(self, link: TapiTopologyLink): + """Sets the link of this TapiTopologyGetlinkdetailsOutput. + + + :param link: The link of this TapiTopologyGetlinkdetailsOutput. + :type link: TapiTopologyLink + """ + + self._link = link diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodedetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodedetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..d125b2539b228e1160ddf6c5a1bcf68d97ca6797 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodedetails_input.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyGetnodedetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_id_or_name: str=None, topology_id_or_name: str=None): # noqa: E501 + """TapiTopologyGetnodedetailsInput - a model defined in Swagger + + :param node_id_or_name: The node_id_or_name of this TapiTopologyGetnodedetailsInput. # noqa: E501 + :type node_id_or_name: str + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGetnodedetailsInput. # noqa: E501 + :type topology_id_or_name: str + """ + self.swagger_types = { + 'node_id_or_name': str, + 'topology_id_or_name': str + } + + self.attribute_map = { + 'node_id_or_name': 'node-id-or-name', + 'topology_id_or_name': 'topology-id-or-name' + } + self._node_id_or_name = node_id_or_name + self._topology_id_or_name = topology_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetnodedetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.getnodedetails.Input of this TapiTopologyGetnodedetailsInput. # noqa: E501 + :rtype: TapiTopologyGetnodedetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def node_id_or_name(self) -> str: + """Gets the node_id_or_name of this TapiTopologyGetnodedetailsInput. + + none # noqa: E501 + + :return: The node_id_or_name of this TapiTopologyGetnodedetailsInput. + :rtype: str + """ + return self._node_id_or_name + + @node_id_or_name.setter + def node_id_or_name(self, node_id_or_name: str): + """Sets the node_id_or_name of this TapiTopologyGetnodedetailsInput. + + none # noqa: E501 + + :param node_id_or_name: The node_id_or_name of this TapiTopologyGetnodedetailsInput. + :type node_id_or_name: str + """ + + self._node_id_or_name = node_id_or_name + + @property + def topology_id_or_name(self) -> str: + """Gets the topology_id_or_name of this TapiTopologyGetnodedetailsInput. + + none # noqa: E501 + + :return: The topology_id_or_name of this TapiTopologyGetnodedetailsInput. + :rtype: str + """ + return self._topology_id_or_name + + @topology_id_or_name.setter + def topology_id_or_name(self, topology_id_or_name: str): + """Sets the topology_id_or_name of this TapiTopologyGetnodedetailsInput. + + none # noqa: E501 + + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGetnodedetailsInput. + :type topology_id_or_name: str + """ + + self._topology_id_or_name = topology_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodedetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodedetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..49e0042763a40a064620d869f9e60c1f3e68a92e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodedetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node import TapiTopologyNode # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetnodedetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node: TapiTopologyNode=None): # noqa: E501 + """TapiTopologyGetnodedetailsOutput - a model defined in Swagger + + :param node: The node of this TapiTopologyGetnodedetailsOutput. # noqa: E501 + :type node: TapiTopologyNode + """ + self.swagger_types = { + 'node': TapiTopologyNode + } + + self.attribute_map = { + 'node': 'node' + } + self._node = node + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetnodedetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.getnodedetails.Output of this TapiTopologyGetnodedetailsOutput. # noqa: E501 + :rtype: TapiTopologyGetnodedetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def node(self) -> TapiTopologyNode: + """Gets the node of this TapiTopologyGetnodedetailsOutput. + + + :return: The node of this TapiTopologyGetnodedetailsOutput. + :rtype: TapiTopologyNode + """ + return self._node + + @node.setter + def node(self, node: TapiTopologyNode): + """Sets the node of this TapiTopologyGetnodedetailsOutput. + + + :param node: The node of this TapiTopologyGetnodedetailsOutput. + :type node: TapiTopologyNode + """ + + self._node = node diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodeedgepointdetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodeedgepointdetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..dc7f65ad32056fad5c8f6c1e7f6d9be5c2c7f0fc --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodeedgepointdetails_input.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyGetnodeedgepointdetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, ep_id_or_name: str=None, node_id_or_name: str=None, topology_id_or_name: str=None): # noqa: E501 + """TapiTopologyGetnodeedgepointdetailsInput - a model defined in Swagger + + :param ep_id_or_name: The ep_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. # noqa: E501 + :type ep_id_or_name: str + :param node_id_or_name: The node_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. # noqa: E501 + :type node_id_or_name: str + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. # noqa: E501 + :type topology_id_or_name: str + """ + self.swagger_types = { + 'ep_id_or_name': str, + 'node_id_or_name': str, + 'topology_id_or_name': str + } + + self.attribute_map = { + 'ep_id_or_name': 'ep-id-or-name', + 'node_id_or_name': 'node-id-or-name', + 'topology_id_or_name': 'topology-id-or-name' + } + self._ep_id_or_name = ep_id_or_name + self._node_id_or_name = node_id_or_name + self._topology_id_or_name = topology_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetnodeedgepointdetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.getnodeedgepointdetails.Input of this TapiTopologyGetnodeedgepointdetailsInput. # noqa: E501 + :rtype: TapiTopologyGetnodeedgepointdetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def ep_id_or_name(self) -> str: + """Gets the ep_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + + none # noqa: E501 + + :return: The ep_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + :rtype: str + """ + return self._ep_id_or_name + + @ep_id_or_name.setter + def ep_id_or_name(self, ep_id_or_name: str): + """Sets the ep_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + + none # noqa: E501 + + :param ep_id_or_name: The ep_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + :type ep_id_or_name: str + """ + + self._ep_id_or_name = ep_id_or_name + + @property + def node_id_or_name(self) -> str: + """Gets the node_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + + none # noqa: E501 + + :return: The node_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + :rtype: str + """ + return self._node_id_or_name + + @node_id_or_name.setter + def node_id_or_name(self, node_id_or_name: str): + """Sets the node_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + + none # noqa: E501 + + :param node_id_or_name: The node_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + :type node_id_or_name: str + """ + + self._node_id_or_name = node_id_or_name + + @property + def topology_id_or_name(self) -> str: + """Gets the topology_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + + none # noqa: E501 + + :return: The topology_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + :rtype: str + """ + return self._topology_id_or_name + + @topology_id_or_name.setter + def topology_id_or_name(self, topology_id_or_name: str): + """Sets the topology_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + + none # noqa: E501 + + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGetnodeedgepointdetailsInput. + :type topology_id_or_name: str + """ + + self._topology_id_or_name = topology_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodeedgepointdetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodeedgepointdetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..8506c3a6abe447726a8affbb0edd319bb1f80e0d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_getnodeedgepointdetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_edge_point import TapiTopologyNodeEdgePoint # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGetnodeedgepointdetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_edge_point: TapiTopologyNodeEdgePoint=None): # noqa: E501 + """TapiTopologyGetnodeedgepointdetailsOutput - a model defined in Swagger + + :param node_edge_point: The node_edge_point of this TapiTopologyGetnodeedgepointdetailsOutput. # noqa: E501 + :type node_edge_point: TapiTopologyNodeEdgePoint + """ + self.swagger_types = { + 'node_edge_point': TapiTopologyNodeEdgePoint + } + + self.attribute_map = { + 'node_edge_point': 'node-edge-point' + } + self._node_edge_point = node_edge_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGetnodeedgepointdetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.getnodeedgepointdetails.Output of this TapiTopologyGetnodeedgepointdetailsOutput. # noqa: E501 + :rtype: TapiTopologyGetnodeedgepointdetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def node_edge_point(self) -> TapiTopologyNodeEdgePoint: + """Gets the node_edge_point of this TapiTopologyGetnodeedgepointdetailsOutput. + + + :return: The node_edge_point of this TapiTopologyGetnodeedgepointdetailsOutput. + :rtype: TapiTopologyNodeEdgePoint + """ + return self._node_edge_point + + @node_edge_point.setter + def node_edge_point(self, node_edge_point: TapiTopologyNodeEdgePoint): + """Sets the node_edge_point of this TapiTopologyGetnodeedgepointdetailsOutput. + + + :param node_edge_point: The node_edge_point of this TapiTopologyGetnodeedgepointdetailsOutput. + :type node_edge_point: TapiTopologyNodeEdgePoint + """ + + self._node_edge_point = node_edge_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologydetails_input.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologydetails_input.py new file mode 100644 index 0000000000000000000000000000000000000000..766155919ed803e8097d01ce1052d85e7c4900c6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologydetails_input.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyGettopologydetailsInput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_id_or_name: str=None): # noqa: E501 + """TapiTopologyGettopologydetailsInput - a model defined in Swagger + + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGettopologydetailsInput. # noqa: E501 + :type topology_id_or_name: str + """ + self.swagger_types = { + 'topology_id_or_name': str + } + + self.attribute_map = { + 'topology_id_or_name': 'topology-id-or-name' + } + self._topology_id_or_name = topology_id_or_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGettopologydetailsInput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.gettopologydetails.Input of this TapiTopologyGettopologydetailsInput. # noqa: E501 + :rtype: TapiTopologyGettopologydetailsInput + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_id_or_name(self) -> str: + """Gets the topology_id_or_name of this TapiTopologyGettopologydetailsInput. + + none # noqa: E501 + + :return: The topology_id_or_name of this TapiTopologyGettopologydetailsInput. + :rtype: str + """ + return self._topology_id_or_name + + @topology_id_or_name.setter + def topology_id_or_name(self, topology_id_or_name: str): + """Sets the topology_id_or_name of this TapiTopologyGettopologydetailsInput. + + none # noqa: E501 + + :param topology_id_or_name: The topology_id_or_name of this TapiTopologyGettopologydetailsInput. + :type topology_id_or_name: str + """ + + self._topology_id_or_name = topology_id_or_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologydetails_output.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologydetails_output.py new file mode 100644 index 0000000000000000000000000000000000000000..5e2186dbedaae0d3c48d22f377d84cc82d7fc614 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologydetails_output.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology import TapiTopologyTopology # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGettopologydetailsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology: TapiTopologyTopology=None): # noqa: E501 + """TapiTopologyGettopologydetailsOutput - a model defined in Swagger + + :param topology: The topology of this TapiTopologyGettopologydetailsOutput. # noqa: E501 + :type topology: TapiTopologyTopology + """ + self.swagger_types = { + 'topology': TapiTopologyTopology + } + + self.attribute_map = { + 'topology': 'topology' + } + self._topology = topology + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGettopologydetailsOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.gettopologydetails.Output of this TapiTopologyGettopologydetailsOutput. # noqa: E501 + :rtype: TapiTopologyGettopologydetailsOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def topology(self) -> TapiTopologyTopology: + """Gets the topology of this TapiTopologyGettopologydetailsOutput. + + + :return: The topology of this TapiTopologyGettopologydetailsOutput. + :rtype: TapiTopologyTopology + """ + return self._topology + + @topology.setter + def topology(self, topology: TapiTopologyTopology): + """Sets the topology of this TapiTopologyGettopologydetailsOutput. + + + :param topology: The topology of this TapiTopologyGettopologydetailsOutput. + :type topology: TapiTopologyTopology + """ + + self._topology = topology diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologylist_output.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologylist_output.py new file mode 100644 index 0000000000000000000000000000000000000000..45a88d2770a8ccdd0c9e345795cd0dfb401d6691 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_gettopologylist_output.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology import TapiTopologyTopology # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyGettopologylistOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology: List[TapiTopologyTopology]=None): # noqa: E501 + """TapiTopologyGettopologylistOutput - a model defined in Swagger + + :param topology: The topology of this TapiTopologyGettopologylistOutput. # noqa: E501 + :type topology: List[TapiTopologyTopology] + """ + self.swagger_types = { + 'topology': List[TapiTopologyTopology] + } + + self.attribute_map = { + 'topology': 'topology' + } + self._topology = topology + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyGettopologylistOutput': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.gettopologylist.Output of this TapiTopologyGettopologylistOutput. # noqa: E501 + :rtype: TapiTopologyGettopologylistOutput + """ + return util.deserialize_model(dikt, cls) + + @property + def topology(self) -> List[TapiTopologyTopology]: + """Gets the topology of this TapiTopologyGettopologylistOutput. + + none # noqa: E501 + + :return: The topology of this TapiTopologyGettopologylistOutput. + :rtype: List[TapiTopologyTopology] + """ + return self._topology + + @topology.setter + def topology(self, topology: List[TapiTopologyTopology]): + """Sets the topology of this TapiTopologyGettopologylistOutput. + + none # noqa: E501 + + :param topology: The topology of this TapiTopologyGettopologylistOutput. + :type topology: List[TapiTopologyTopology] + """ + + self._topology = topology diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_inter_rule_group.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_inter_rule_group.py new file mode 100644 index 0000000000000000000000000000000000000000..aaf71e657c13304e4bd5a7cc2eb1ce3597030b7d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_inter_rule_group.py @@ -0,0 +1,296 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_rule_group_ref import TapiTopologyNodeRuleGroupRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_parameter_pac import TapiTopologyRiskParameterPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_rule import TapiTopologyRule # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_cost_pac import TapiTopologyTransferCostPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_timing_pac import TapiTopologyTransferTimingPac # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyInterRuleGroup(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, risk_characteristic: List[TapiTopologyRiskCharacteristic]=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, associated_node_rule_group: List[TapiTopologyNodeRuleGroupRef]=None, rule: List[TapiTopologyRule]=None): # noqa: E501 + """TapiTopologyInterRuleGroup - a model defined in Swagger + + :param name: The name of this TapiTopologyInterRuleGroup. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyInterRuleGroup. # noqa: E501 + :type uuid: str + :param risk_characteristic: The risk_characteristic of this TapiTopologyInterRuleGroup. # noqa: E501 + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + :param cost_characteristic: The cost_characteristic of this TapiTopologyInterRuleGroup. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param latency_characteristic: The latency_characteristic of this TapiTopologyInterRuleGroup. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param available_capacity: The available_capacity of this TapiTopologyInterRuleGroup. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyInterRuleGroup. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param associated_node_rule_group: The associated_node_rule_group of this TapiTopologyInterRuleGroup. # noqa: E501 + :type associated_node_rule_group: List[TapiTopologyNodeRuleGroupRef] + :param rule: The rule of this TapiTopologyInterRuleGroup. # noqa: E501 + :type rule: List[TapiTopologyRule] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'risk_characteristic': List[TapiTopologyRiskCharacteristic], + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'associated_node_rule_group': List[TapiTopologyNodeRuleGroupRef], + 'rule': List[TapiTopologyRule] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'risk_characteristic': 'risk-characteristic', + 'cost_characteristic': 'cost-characteristic', + 'latency_characteristic': 'latency-characteristic', + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'associated_node_rule_group': 'associated-node-rule-group', + 'rule': 'rule' + } + self._name = name + self._uuid = uuid + self._risk_characteristic = risk_characteristic + self._cost_characteristic = cost_characteristic + self._latency_characteristic = latency_characteristic + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._associated_node_rule_group = associated_node_rule_group + self._rule = rule + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyInterRuleGroup': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.InterRuleGroup of this TapiTopologyInterRuleGroup. # noqa: E501 + :rtype: TapiTopologyInterRuleGroup + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyInterRuleGroup. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyInterRuleGroup. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyInterRuleGroup. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyInterRuleGroup. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyInterRuleGroup. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyInterRuleGroup. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyInterRuleGroup. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyInterRuleGroup. + :type uuid: str + """ + + self._uuid = uuid + + @property + def risk_characteristic(self) -> List[TapiTopologyRiskCharacteristic]: + """Gets the risk_characteristic of this TapiTopologyInterRuleGroup. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :return: The risk_characteristic of this TapiTopologyInterRuleGroup. + :rtype: List[TapiTopologyRiskCharacteristic] + """ + return self._risk_characteristic + + @risk_characteristic.setter + def risk_characteristic(self, risk_characteristic: List[TapiTopologyRiskCharacteristic]): + """Sets the risk_characteristic of this TapiTopologyInterRuleGroup. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param risk_characteristic: The risk_characteristic of this TapiTopologyInterRuleGroup. + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + """ + + self._risk_characteristic = risk_characteristic + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiTopologyInterRuleGroup. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiTopologyInterRuleGroup. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiTopologyInterRuleGroup. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiTopologyInterRuleGroup. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiTopologyInterRuleGroup. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiTopologyInterRuleGroup. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiTopologyInterRuleGroup. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiTopologyInterRuleGroup. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyInterRuleGroup. + + + :return: The available_capacity of this TapiTopologyInterRuleGroup. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyInterRuleGroup. + + + :param available_capacity: The available_capacity of this TapiTopologyInterRuleGroup. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyInterRuleGroup. + + + :return: The total_potential_capacity of this TapiTopologyInterRuleGroup. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyInterRuleGroup. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyInterRuleGroup. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def associated_node_rule_group(self) -> List[TapiTopologyNodeRuleGroupRef]: + """Gets the associated_node_rule_group of this TapiTopologyInterRuleGroup. + + The NodeRuleGroups that the InterRuleGroup constrains interconnection between. The CEPs of the NEPs of a referenced NodeRuleGroup can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup constrained by the rules of the InterRuleGroup. # noqa: E501 + + :return: The associated_node_rule_group of this TapiTopologyInterRuleGroup. + :rtype: List[TapiTopologyNodeRuleGroupRef] + """ + return self._associated_node_rule_group + + @associated_node_rule_group.setter + def associated_node_rule_group(self, associated_node_rule_group: List[TapiTopologyNodeRuleGroupRef]): + """Sets the associated_node_rule_group of this TapiTopologyInterRuleGroup. + + The NodeRuleGroups that the InterRuleGroup constrains interconnection between. The CEPs of the NEPs of a referenced NodeRuleGroup can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup constrained by the rules of the InterRuleGroup. # noqa: E501 + + :param associated_node_rule_group: The associated_node_rule_group of this TapiTopologyInterRuleGroup. + :type associated_node_rule_group: List[TapiTopologyNodeRuleGroupRef] + """ + + self._associated_node_rule_group = associated_node_rule_group + + @property + def rule(self) -> List[TapiTopologyRule]: + """Gets the rule of this TapiTopologyInterRuleGroup. + + The list of rules of the InterRuleGroup. # noqa: E501 + + :return: The rule of this TapiTopologyInterRuleGroup. + :rtype: List[TapiTopologyRule] + """ + return self._rule + + @rule.setter + def rule(self, rule: List[TapiTopologyRule]): + """Sets the rule of this TapiTopologyInterRuleGroup. + + The list of rules of the InterRuleGroup. # noqa: E501 + + :param rule: The rule of this TapiTopologyInterRuleGroup. + :type rule: List[TapiTopologyRule] + """ + + self._rule = rule diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_inter_rule_group_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_inter_rule_group_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..b28c05707efed2d485d496cd9b4c646c4b00c607 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_inter_rule_group_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_inter_rule_group import TapiTopologyInterRuleGroup # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyInterRuleGroupWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, inter_rule_group: TapiTopologyInterRuleGroup=None): # noqa: E501 + """TapiTopologyInterRuleGroupWrapper - a model defined in Swagger + + :param inter_rule_group: The inter_rule_group of this TapiTopologyInterRuleGroupWrapper. # noqa: E501 + :type inter_rule_group: TapiTopologyInterRuleGroup + """ + self.swagger_types = { + 'inter_rule_group': TapiTopologyInterRuleGroup + } + + self.attribute_map = { + 'inter_rule_group': 'inter-rule-group' + } + self._inter_rule_group = inter_rule_group + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyInterRuleGroupWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.InterRuleGroupWrapper of this TapiTopologyInterRuleGroupWrapper. # noqa: E501 + :rtype: TapiTopologyInterRuleGroupWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def inter_rule_group(self) -> TapiTopologyInterRuleGroup: + """Gets the inter_rule_group of this TapiTopologyInterRuleGroupWrapper. + + + :return: The inter_rule_group of this TapiTopologyInterRuleGroupWrapper. + :rtype: TapiTopologyInterRuleGroup + """ + return self._inter_rule_group + + @inter_rule_group.setter + def inter_rule_group(self, inter_rule_group: TapiTopologyInterRuleGroup): + """Sets the inter_rule_group of this TapiTopologyInterRuleGroupWrapper. + + + :param inter_rule_group: The inter_rule_group of this TapiTopologyInterRuleGroupWrapper. + :type inter_rule_group: TapiTopologyInterRuleGroup + """ + + self._inter_rule_group = inter_rule_group diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_latency_characteristic.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_latency_characteristic.py new file mode 100644 index 0000000000000000000000000000000000000000..014790461ff1fed768ba6518426bdbad8e175f11 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_latency_characteristic.py @@ -0,0 +1,176 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyLatencyCharacteristic(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, traffic_property_name: str=None, jitter_characteristic: str=None, fixed_latency_characteristic: str=None, wander_characteristic: str=None, queing_latency_characteristic: str=None): # noqa: E501 + """TapiTopologyLatencyCharacteristic - a model defined in Swagger + + :param traffic_property_name: The traffic_property_name of this TapiTopologyLatencyCharacteristic. # noqa: E501 + :type traffic_property_name: str + :param jitter_characteristic: The jitter_characteristic of this TapiTopologyLatencyCharacteristic. # noqa: E501 + :type jitter_characteristic: str + :param fixed_latency_characteristic: The fixed_latency_characteristic of this TapiTopologyLatencyCharacteristic. # noqa: E501 + :type fixed_latency_characteristic: str + :param wander_characteristic: The wander_characteristic of this TapiTopologyLatencyCharacteristic. # noqa: E501 + :type wander_characteristic: str + :param queing_latency_characteristic: The queing_latency_characteristic of this TapiTopologyLatencyCharacteristic. # noqa: E501 + :type queing_latency_characteristic: str + """ + self.swagger_types = { + 'traffic_property_name': str, + 'jitter_characteristic': str, + 'fixed_latency_characteristic': str, + 'wander_characteristic': str, + 'queing_latency_characteristic': str + } + + self.attribute_map = { + 'traffic_property_name': 'traffic-property-name', + 'jitter_characteristic': 'jitter-characteristic', + 'fixed_latency_characteristic': 'fixed-latency-characteristic', + 'wander_characteristic': 'wander-characteristic', + 'queing_latency_characteristic': 'queing-latency-characteristic' + } + self._traffic_property_name = traffic_property_name + self._jitter_characteristic = jitter_characteristic + self._fixed_latency_characteristic = fixed_latency_characteristic + self._wander_characteristic = wander_characteristic + self._queing_latency_characteristic = queing_latency_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLatencyCharacteristic': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.LatencyCharacteristic of this TapiTopologyLatencyCharacteristic. # noqa: E501 + :rtype: TapiTopologyLatencyCharacteristic + """ + return util.deserialize_model(dikt, cls) + + @property + def traffic_property_name(self) -> str: + """Gets the traffic_property_name of this TapiTopologyLatencyCharacteristic. + + The identifier of the specific traffic property to which the queuing latency applies. # noqa: E501 + + :return: The traffic_property_name of this TapiTopologyLatencyCharacteristic. + :rtype: str + """ + return self._traffic_property_name + + @traffic_property_name.setter + def traffic_property_name(self, traffic_property_name: str): + """Sets the traffic_property_name of this TapiTopologyLatencyCharacteristic. + + The identifier of the specific traffic property to which the queuing latency applies. # noqa: E501 + + :param traffic_property_name: The traffic_property_name of this TapiTopologyLatencyCharacteristic. + :type traffic_property_name: str + """ + + self._traffic_property_name = traffic_property_name + + @property + def jitter_characteristic(self) -> str: + """Gets the jitter_characteristic of this TapiTopologyLatencyCharacteristic. + + High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency. Applies to TDM systems (and not packet). # noqa: E501 + + :return: The jitter_characteristic of this TapiTopologyLatencyCharacteristic. + :rtype: str + """ + return self._jitter_characteristic + + @jitter_characteristic.setter + def jitter_characteristic(self, jitter_characteristic: str): + """Sets the jitter_characteristic of this TapiTopologyLatencyCharacteristic. + + High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency. Applies to TDM systems (and not packet). # noqa: E501 + + :param jitter_characteristic: The jitter_characteristic of this TapiTopologyLatencyCharacteristic. + :type jitter_characteristic: str + """ + + self._jitter_characteristic = jitter_characteristic + + @property + def fixed_latency_characteristic(self) -> str: + """Gets the fixed_latency_characteristic of this TapiTopologyLatencyCharacteristic. + + A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity # noqa: E501 + + :return: The fixed_latency_characteristic of this TapiTopologyLatencyCharacteristic. + :rtype: str + """ + return self._fixed_latency_characteristic + + @fixed_latency_characteristic.setter + def fixed_latency_characteristic(self, fixed_latency_characteristic: str): + """Sets the fixed_latency_characteristic of this TapiTopologyLatencyCharacteristic. + + A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity # noqa: E501 + + :param fixed_latency_characteristic: The fixed_latency_characteristic of this TapiTopologyLatencyCharacteristic. + :type fixed_latency_characteristic: str + """ + + self._fixed_latency_characteristic = fixed_latency_characteristic + + @property + def wander_characteristic(self) -> str: + """Gets the wander_characteristic of this TapiTopologyLatencyCharacteristic. + + Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency. Applies to TDM systems (and not packet). # noqa: E501 + + :return: The wander_characteristic of this TapiTopologyLatencyCharacteristic. + :rtype: str + """ + return self._wander_characteristic + + @wander_characteristic.setter + def wander_characteristic(self, wander_characteristic: str): + """Sets the wander_characteristic of this TapiTopologyLatencyCharacteristic. + + Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency. Applies to TDM systems (and not packet). # noqa: E501 + + :param wander_characteristic: The wander_characteristic of this TapiTopologyLatencyCharacteristic. + :type wander_characteristic: str + """ + + self._wander_characteristic = wander_characteristic + + @property + def queing_latency_characteristic(self) -> str: + """Gets the queing_latency_characteristic of this TapiTopologyLatencyCharacteristic. + + The specific queuing latency for the traffic property. # noqa: E501 + + :return: The queing_latency_characteristic of this TapiTopologyLatencyCharacteristic. + :rtype: str + """ + return self._queing_latency_characteristic + + @queing_latency_characteristic.setter + def queing_latency_characteristic(self, queing_latency_characteristic: str): + """Sets the queing_latency_characteristic of this TapiTopologyLatencyCharacteristic. + + The specific queuing latency for the traffic property. # noqa: E501 + + :param queing_latency_characteristic: The queing_latency_characteristic of this TapiTopologyLatencyCharacteristic. + :type queing_latency_characteristic: str + """ + + self._queing_latency_characteristic = queing_latency_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_latency_characteristic_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_latency_characteristic_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..faf48fcb4f91fe044c27bde449eb5c78ae3b36ec --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_latency_characteristic_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyLatencyCharacteristicWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, latency_characteristic: TapiTopologyLatencyCharacteristic=None): # noqa: E501 + """TapiTopologyLatencyCharacteristicWrapper - a model defined in Swagger + + :param latency_characteristic: The latency_characteristic of this TapiTopologyLatencyCharacteristicWrapper. # noqa: E501 + :type latency_characteristic: TapiTopologyLatencyCharacteristic + """ + self.swagger_types = { + 'latency_characteristic': TapiTopologyLatencyCharacteristic + } + + self.attribute_map = { + 'latency_characteristic': 'latency-characteristic' + } + self._latency_characteristic = latency_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLatencyCharacteristicWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.LatencyCharacteristicWrapper of this TapiTopologyLatencyCharacteristicWrapper. # noqa: E501 + :rtype: TapiTopologyLatencyCharacteristicWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def latency_characteristic(self) -> TapiTopologyLatencyCharacteristic: + """Gets the latency_characteristic of this TapiTopologyLatencyCharacteristicWrapper. + + + :return: The latency_characteristic of this TapiTopologyLatencyCharacteristicWrapper. + :rtype: TapiTopologyLatencyCharacteristic + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: TapiTopologyLatencyCharacteristic): + """Sets the latency_characteristic of this TapiTopologyLatencyCharacteristicWrapper. + + + :param latency_characteristic: The latency_characteristic of this TapiTopologyLatencyCharacteristicWrapper. + :type latency_characteristic: TapiTopologyLatencyCharacteristic + """ + + self._latency_characteristic = latency_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_layer_protocol_transition_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_layer_protocol_transition_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..3b3cda712be5b822740c7deb404ee17c32b6e264 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_layer_protocol_transition_pac.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyLayerProtocolTransitionPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, transitioned_layer_protocol_name: List[str]=None): # noqa: E501 + """TapiTopologyLayerProtocolTransitionPac - a model defined in Swagger + + :param transitioned_layer_protocol_name: The transitioned_layer_protocol_name of this TapiTopologyLayerProtocolTransitionPac. # noqa: E501 + :type transitioned_layer_protocol_name: List[str] + """ + self.swagger_types = { + 'transitioned_layer_protocol_name': List[str] + } + + self.attribute_map = { + 'transitioned_layer_protocol_name': 'transitioned-layer-protocol-name' + } + self._transitioned_layer_protocol_name = transitioned_layer_protocol_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLayerProtocolTransitionPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.LayerProtocolTransitionPac of this TapiTopologyLayerProtocolTransitionPac. # noqa: E501 + :rtype: TapiTopologyLayerProtocolTransitionPac + """ + return util.deserialize_model(dikt, cls) + + @property + def transitioned_layer_protocol_name(self) -> List[str]: + """Gets the transitioned_layer_protocol_name of this TapiTopologyLayerProtocolTransitionPac. + + Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role. # noqa: E501 + + :return: The transitioned_layer_protocol_name of this TapiTopologyLayerProtocolTransitionPac. + :rtype: List[str] + """ + return self._transitioned_layer_protocol_name + + @transitioned_layer_protocol_name.setter + def transitioned_layer_protocol_name(self, transitioned_layer_protocol_name: List[str]): + """Sets the transitioned_layer_protocol_name of this TapiTopologyLayerProtocolTransitionPac. + + Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role. # noqa: E501 + + :param transitioned_layer_protocol_name: The transitioned_layer_protocol_name of this TapiTopologyLayerProtocolTransitionPac. + :type transitioned_layer_protocol_name: List[str] + """ + + self._transitioned_layer_protocol_name = transitioned_layer_protocol_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_link.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_link.py new file mode 100644 index 0000000000000000000000000000000000000000..0bf0baf8e189132d6b6a0e76e9f0852acdd02746 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_link.py @@ -0,0 +1,660 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_forwarding_direction import TapiCommonForwardingDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_layer_protocol_transition_pac import TapiTopologyLayerProtocolTransitionPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_resilience_type import TapiTopologyResilienceType # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_parameter_pac import TapiTopologyRiskParameterPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_cost_pac import TapiTopologyTransferCostPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_integrity_pac import TapiTopologyTransferIntegrityPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_timing_pac import TapiTopologyTransferTimingPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_validation_mechanism import TapiTopologyValidationMechanism # noqa: F401,E501 +from tapi_server.models.tapi_topology_validation_pac import TapiTopologyValidationPac # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyLink(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, transitioned_layer_protocol_name: List[str]=None, risk_characteristic: List[TapiTopologyRiskCharacteristic]=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, error_characteristic: str=None, unavailable_time_characteristic: str=None, server_integrity_process_characteristic: str=None, delivery_order_characteristic: str=None, repeat_delivery_characteristic: str=None, loss_characteristic: str=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, validation_mechanism: List[TapiTopologyValidationMechanism]=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, layer_protocol_name: List[TapiCommonLayerProtocolName]=None, resilience_type: TapiTopologyResilienceType=None, node_edge_point: List[TapiTopologyNodeEdgePointRef]=None, direction: TapiCommonForwardingDirection=None): # noqa: E501 + """TapiTopologyLink - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiTopologyLink. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyLink. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param name: The name of this TapiTopologyLink. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyLink. # noqa: E501 + :type uuid: str + :param transitioned_layer_protocol_name: The transitioned_layer_protocol_name of this TapiTopologyLink. # noqa: E501 + :type transitioned_layer_protocol_name: List[str] + :param risk_characteristic: The risk_characteristic of this TapiTopologyLink. # noqa: E501 + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + :param cost_characteristic: The cost_characteristic of this TapiTopologyLink. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param error_characteristic: The error_characteristic of this TapiTopologyLink. # noqa: E501 + :type error_characteristic: str + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyLink. # noqa: E501 + :type unavailable_time_characteristic: str + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyLink. # noqa: E501 + :type server_integrity_process_characteristic: str + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyLink. # noqa: E501 + :type delivery_order_characteristic: str + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyLink. # noqa: E501 + :type repeat_delivery_characteristic: str + :param loss_characteristic: The loss_characteristic of this TapiTopologyLink. # noqa: E501 + :type loss_characteristic: str + :param latency_characteristic: The latency_characteristic of this TapiTopologyLink. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param validation_mechanism: The validation_mechanism of this TapiTopologyLink. # noqa: E501 + :type validation_mechanism: List[TapiTopologyValidationMechanism] + :param operational_state: The operational_state of this TapiTopologyLink. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiTopologyLink. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiTopologyLink. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyLink. # noqa: E501 + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + :param resilience_type: The resilience_type of this TapiTopologyLink. # noqa: E501 + :type resilience_type: TapiTopologyResilienceType + :param node_edge_point: The node_edge_point of this TapiTopologyLink. # noqa: E501 + :type node_edge_point: List[TapiTopologyNodeEdgePointRef] + :param direction: The direction of this TapiTopologyLink. # noqa: E501 + :type direction: TapiCommonForwardingDirection + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'transitioned_layer_protocol_name': List[str], + 'risk_characteristic': List[TapiTopologyRiskCharacteristic], + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'error_characteristic': str, + 'unavailable_time_characteristic': str, + 'server_integrity_process_characteristic': str, + 'delivery_order_characteristic': str, + 'repeat_delivery_characteristic': str, + 'loss_characteristic': str, + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'validation_mechanism': List[TapiTopologyValidationMechanism], + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'layer_protocol_name': List[TapiCommonLayerProtocolName], + 'resilience_type': TapiTopologyResilienceType, + 'node_edge_point': List[TapiTopologyNodeEdgePointRef], + 'direction': TapiCommonForwardingDirection + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'name': 'name', + 'uuid': 'uuid', + 'transitioned_layer_protocol_name': 'transitioned-layer-protocol-name', + 'risk_characteristic': 'risk-characteristic', + 'cost_characteristic': 'cost-characteristic', + 'error_characteristic': 'error-characteristic', + 'unavailable_time_characteristic': 'unavailable-time-characteristic', + 'server_integrity_process_characteristic': 'server-integrity-process-characteristic', + 'delivery_order_characteristic': 'delivery-order-characteristic', + 'repeat_delivery_characteristic': 'repeat-delivery-characteristic', + 'loss_characteristic': 'loss-characteristic', + 'latency_characteristic': 'latency-characteristic', + 'validation_mechanism': 'validation-mechanism', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'layer_protocol_name': 'layer-protocol-name', + 'resilience_type': 'resilience-type', + 'node_edge_point': 'node-edge-point', + 'direction': 'direction' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._name = name + self._uuid = uuid + self._transitioned_layer_protocol_name = transitioned_layer_protocol_name + self._risk_characteristic = risk_characteristic + self._cost_characteristic = cost_characteristic + self._error_characteristic = error_characteristic + self._unavailable_time_characteristic = unavailable_time_characteristic + self._server_integrity_process_characteristic = server_integrity_process_characteristic + self._delivery_order_characteristic = delivery_order_characteristic + self._repeat_delivery_characteristic = repeat_delivery_characteristic + self._loss_characteristic = loss_characteristic + self._latency_characteristic = latency_characteristic + self._validation_mechanism = validation_mechanism + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._layer_protocol_name = layer_protocol_name + self._resilience_type = resilience_type + self._node_edge_point = node_edge_point + self._direction = direction + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLink': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.Link of this TapiTopologyLink. # noqa: E501 + :rtype: TapiTopologyLink + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyLink. + + + :return: The available_capacity of this TapiTopologyLink. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyLink. + + + :param available_capacity: The available_capacity of this TapiTopologyLink. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyLink. + + + :return: The total_potential_capacity of this TapiTopologyLink. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyLink. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyLink. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyLink. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyLink. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyLink. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyLink. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyLink. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyLink. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyLink. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyLink. + :type uuid: str + """ + + self._uuid = uuid + + @property + def transitioned_layer_protocol_name(self) -> List[str]: + """Gets the transitioned_layer_protocol_name of this TapiTopologyLink. + + Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role. # noqa: E501 + + :return: The transitioned_layer_protocol_name of this TapiTopologyLink. + :rtype: List[str] + """ + return self._transitioned_layer_protocol_name + + @transitioned_layer_protocol_name.setter + def transitioned_layer_protocol_name(self, transitioned_layer_protocol_name: List[str]): + """Sets the transitioned_layer_protocol_name of this TapiTopologyLink. + + Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role. # noqa: E501 + + :param transitioned_layer_protocol_name: The transitioned_layer_protocol_name of this TapiTopologyLink. + :type transitioned_layer_protocol_name: List[str] + """ + + self._transitioned_layer_protocol_name = transitioned_layer_protocol_name + + @property + def risk_characteristic(self) -> List[TapiTopologyRiskCharacteristic]: + """Gets the risk_characteristic of this TapiTopologyLink. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :return: The risk_characteristic of this TapiTopologyLink. + :rtype: List[TapiTopologyRiskCharacteristic] + """ + return self._risk_characteristic + + @risk_characteristic.setter + def risk_characteristic(self, risk_characteristic: List[TapiTopologyRiskCharacteristic]): + """Sets the risk_characteristic of this TapiTopologyLink. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param risk_characteristic: The risk_characteristic of this TapiTopologyLink. + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + """ + + self._risk_characteristic = risk_characteristic + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiTopologyLink. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiTopologyLink. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiTopologyLink. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiTopologyLink. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def error_characteristic(self) -> str: + """Gets the error_characteristic of this TapiTopologyLink. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :return: The error_characteristic of this TapiTopologyLink. + :rtype: str + """ + return self._error_characteristic + + @error_characteristic.setter + def error_characteristic(self, error_characteristic: str): + """Sets the error_characteristic of this TapiTopologyLink. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :param error_characteristic: The error_characteristic of this TapiTopologyLink. + :type error_characteristic: str + """ + + self._error_characteristic = error_characteristic + + @property + def unavailable_time_characteristic(self) -> str: + """Gets the unavailable_time_characteristic of this TapiTopologyLink. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :return: The unavailable_time_characteristic of this TapiTopologyLink. + :rtype: str + """ + return self._unavailable_time_characteristic + + @unavailable_time_characteristic.setter + def unavailable_time_characteristic(self, unavailable_time_characteristic: str): + """Sets the unavailable_time_characteristic of this TapiTopologyLink. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyLink. + :type unavailable_time_characteristic: str + """ + + self._unavailable_time_characteristic = unavailable_time_characteristic + + @property + def server_integrity_process_characteristic(self) -> str: + """Gets the server_integrity_process_characteristic of this TapiTopologyLink. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :return: The server_integrity_process_characteristic of this TapiTopologyLink. + :rtype: str + """ + return self._server_integrity_process_characteristic + + @server_integrity_process_characteristic.setter + def server_integrity_process_characteristic(self, server_integrity_process_characteristic: str): + """Sets the server_integrity_process_characteristic of this TapiTopologyLink. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyLink. + :type server_integrity_process_characteristic: str + """ + + self._server_integrity_process_characteristic = server_integrity_process_characteristic + + @property + def delivery_order_characteristic(self) -> str: + """Gets the delivery_order_characteristic of this TapiTopologyLink. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :return: The delivery_order_characteristic of this TapiTopologyLink. + :rtype: str + """ + return self._delivery_order_characteristic + + @delivery_order_characteristic.setter + def delivery_order_characteristic(self, delivery_order_characteristic: str): + """Sets the delivery_order_characteristic of this TapiTopologyLink. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyLink. + :type delivery_order_characteristic: str + """ + + self._delivery_order_characteristic = delivery_order_characteristic + + @property + def repeat_delivery_characteristic(self) -> str: + """Gets the repeat_delivery_characteristic of this TapiTopologyLink. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :return: The repeat_delivery_characteristic of this TapiTopologyLink. + :rtype: str + """ + return self._repeat_delivery_characteristic + + @repeat_delivery_characteristic.setter + def repeat_delivery_characteristic(self, repeat_delivery_characteristic: str): + """Sets the repeat_delivery_characteristic of this TapiTopologyLink. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyLink. + :type repeat_delivery_characteristic: str + """ + + self._repeat_delivery_characteristic = repeat_delivery_characteristic + + @property + def loss_characteristic(self) -> str: + """Gets the loss_characteristic of this TapiTopologyLink. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :return: The loss_characteristic of this TapiTopologyLink. + :rtype: str + """ + return self._loss_characteristic + + @loss_characteristic.setter + def loss_characteristic(self, loss_characteristic: str): + """Sets the loss_characteristic of this TapiTopologyLink. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :param loss_characteristic: The loss_characteristic of this TapiTopologyLink. + :type loss_characteristic: str + """ + + self._loss_characteristic = loss_characteristic + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiTopologyLink. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiTopologyLink. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiTopologyLink. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiTopologyLink. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def validation_mechanism(self) -> List[TapiTopologyValidationMechanism]: + """Gets the validation_mechanism of this TapiTopologyLink. + + Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity. # noqa: E501 + + :return: The validation_mechanism of this TapiTopologyLink. + :rtype: List[TapiTopologyValidationMechanism] + """ + return self._validation_mechanism + + @validation_mechanism.setter + def validation_mechanism(self, validation_mechanism: List[TapiTopologyValidationMechanism]): + """Sets the validation_mechanism of this TapiTopologyLink. + + Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity. # noqa: E501 + + :param validation_mechanism: The validation_mechanism of this TapiTopologyLink. + :type validation_mechanism: List[TapiTopologyValidationMechanism] + """ + + self._validation_mechanism = validation_mechanism + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiTopologyLink. + + + :return: The operational_state of this TapiTopologyLink. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiTopologyLink. + + + :param operational_state: The operational_state of this TapiTopologyLink. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiTopologyLink. + + + :return: The lifecycle_state of this TapiTopologyLink. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiTopologyLink. + + + :param lifecycle_state: The lifecycle_state of this TapiTopologyLink. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiTopologyLink. + + + :return: The administrative_state of this TapiTopologyLink. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiTopologyLink. + + + :param administrative_state: The administrative_state of this TapiTopologyLink. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def layer_protocol_name(self) -> List[TapiCommonLayerProtocolName]: + """Gets the layer_protocol_name of this TapiTopologyLink. + + none # noqa: E501 + + :return: The layer_protocol_name of this TapiTopologyLink. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: List[TapiCommonLayerProtocolName]): + """Sets the layer_protocol_name of this TapiTopologyLink. + + none # noqa: E501 + + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyLink. + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def resilience_type(self) -> TapiTopologyResilienceType: + """Gets the resilience_type of this TapiTopologyLink. + + + :return: The resilience_type of this TapiTopologyLink. + :rtype: TapiTopologyResilienceType + """ + return self._resilience_type + + @resilience_type.setter + def resilience_type(self, resilience_type: TapiTopologyResilienceType): + """Sets the resilience_type of this TapiTopologyLink. + + + :param resilience_type: The resilience_type of this TapiTopologyLink. + :type resilience_type: TapiTopologyResilienceType + """ + + self._resilience_type = resilience_type + + @property + def node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the node_edge_point of this TapiTopologyLink. + + none # noqa: E501 + + :return: The node_edge_point of this TapiTopologyLink. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._node_edge_point + + @node_edge_point.setter + def node_edge_point(self, node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the node_edge_point of this TapiTopologyLink. + + none # noqa: E501 + + :param node_edge_point: The node_edge_point of this TapiTopologyLink. + :type node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._node_edge_point = node_edge_point + + @property + def direction(self) -> TapiCommonForwardingDirection: + """Gets the direction of this TapiTopologyLink. + + + :return: The direction of this TapiTopologyLink. + :rtype: TapiCommonForwardingDirection + """ + return self._direction + + @direction.setter + def direction(self, direction: TapiCommonForwardingDirection): + """Sets the direction of this TapiTopologyLink. + + + :param direction: The direction of this TapiTopologyLink. + :type direction: TapiCommonForwardingDirection + """ + + self._direction = direction diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_link_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_link_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..ed81e9066a240509083b220e1984ff2b85d97b81 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_link_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyLinkRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_uuid: str=None, link_uuid: str=None): # noqa: E501 + """TapiTopologyLinkRef - a model defined in Swagger + + :param topology_uuid: The topology_uuid of this TapiTopologyLinkRef. # noqa: E501 + :type topology_uuid: str + :param link_uuid: The link_uuid of this TapiTopologyLinkRef. # noqa: E501 + :type link_uuid: str + """ + self.swagger_types = { + 'topology_uuid': str, + 'link_uuid': str + } + + self.attribute_map = { + 'topology_uuid': 'topology-uuid', + 'link_uuid': 'link-uuid' + } + self._topology_uuid = topology_uuid + self._link_uuid = link_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLinkRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.LinkRef of this TapiTopologyLinkRef. # noqa: E501 + :rtype: TapiTopologyLinkRef + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_uuid(self) -> str: + """Gets the topology_uuid of this TapiTopologyLinkRef. + + none # noqa: E501 + + :return: The topology_uuid of this TapiTopologyLinkRef. + :rtype: str + """ + return self._topology_uuid + + @topology_uuid.setter + def topology_uuid(self, topology_uuid: str): + """Sets the topology_uuid of this TapiTopologyLinkRef. + + none # noqa: E501 + + :param topology_uuid: The topology_uuid of this TapiTopologyLinkRef. + :type topology_uuid: str + """ + + self._topology_uuid = topology_uuid + + @property + def link_uuid(self) -> str: + """Gets the link_uuid of this TapiTopologyLinkRef. + + none # noqa: E501 + + :return: The link_uuid of this TapiTopologyLinkRef. + :rtype: str + """ + return self._link_uuid + + @link_uuid.setter + def link_uuid(self, link_uuid: str): + """Sets the link_uuid of this TapiTopologyLinkRef. + + none # noqa: E501 + + :param link_uuid: The link_uuid of this TapiTopologyLinkRef. + :type link_uuid: str + """ + + self._link_uuid = link_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_link_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_link_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..0b73647c83674ef1cd7b349eb3805583600c77d6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_link_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_link_ref import TapiTopologyLinkRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyLinkRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, supported_client_link: TapiTopologyLinkRef=None): # noqa: E501 + """TapiTopologyLinkRefWrapper - a model defined in Swagger + + :param supported_client_link: The supported_client_link of this TapiTopologyLinkRefWrapper. # noqa: E501 + :type supported_client_link: TapiTopologyLinkRef + """ + self.swagger_types = { + 'supported_client_link': TapiTopologyLinkRef + } + + self.attribute_map = { + 'supported_client_link': 'supported-client-link' + } + self._supported_client_link = supported_client_link + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLinkRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.LinkRefWrapper of this TapiTopologyLinkRefWrapper. # noqa: E501 + :rtype: TapiTopologyLinkRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def supported_client_link(self) -> TapiTopologyLinkRef: + """Gets the supported_client_link of this TapiTopologyLinkRefWrapper. + + + :return: The supported_client_link of this TapiTopologyLinkRefWrapper. + :rtype: TapiTopologyLinkRef + """ + return self._supported_client_link + + @supported_client_link.setter + def supported_client_link(self, supported_client_link: TapiTopologyLinkRef): + """Sets the supported_client_link of this TapiTopologyLinkRefWrapper. + + + :param supported_client_link: The supported_client_link of this TapiTopologyLinkRefWrapper. + :type supported_client_link: TapiTopologyLinkRef + """ + + self._supported_client_link = supported_client_link diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_link_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_link_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..5d58250c466930153cb01f9ef08fea18a5948ac7 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_link_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_link import TapiTopologyLink # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyLinkWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, link: TapiTopologyLink=None): # noqa: E501 + """TapiTopologyLinkWrapper - a model defined in Swagger + + :param link: The link of this TapiTopologyLinkWrapper. # noqa: E501 + :type link: TapiTopologyLink + """ + self.swagger_types = { + 'link': TapiTopologyLink + } + + self.attribute_map = { + 'link': 'link' + } + self._link = link + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyLinkWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.LinkWrapper of this TapiTopologyLinkWrapper. # noqa: E501 + :rtype: TapiTopologyLinkWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def link(self) -> TapiTopologyLink: + """Gets the link of this TapiTopologyLinkWrapper. + + + :return: The link of this TapiTopologyLinkWrapper. + :rtype: TapiTopologyLink + """ + return self._link + + @link.setter + def link(self, link: TapiTopologyLink): + """Sets the link of this TapiTopologyLinkWrapper. + + + :param link: The link of this TapiTopologyLinkWrapper. + :type link: TapiTopologyLink + """ + + self._link = link diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_network_topology_service.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_network_topology_service.py new file mode 100644 index 0000000000000000000000000000000000000000..10efcf4cff885aa9f3b55a9fe8aad87ab2c9579e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_network_topology_service.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNetworkTopologyService(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, topology: List[TapiTopologyTopologyRef]=None): # noqa: E501 + """TapiTopologyNetworkTopologyService - a model defined in Swagger + + :param name: The name of this TapiTopologyNetworkTopologyService. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyNetworkTopologyService. # noqa: E501 + :type uuid: str + :param topology: The topology of this TapiTopologyNetworkTopologyService. # noqa: E501 + :type topology: List[TapiTopologyTopologyRef] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'topology': List[TapiTopologyTopologyRef] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'topology': 'topology' + } + self._name = name + self._uuid = uuid + self._topology = topology + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNetworkTopologyService': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NetworkTopologyService of this TapiTopologyNetworkTopologyService. # noqa: E501 + :rtype: TapiTopologyNetworkTopologyService + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyNetworkTopologyService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyNetworkTopologyService. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyNetworkTopologyService. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyNetworkTopologyService. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyNetworkTopologyService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyNetworkTopologyService. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyNetworkTopologyService. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyNetworkTopologyService. + :type uuid: str + """ + + self._uuid = uuid + + @property + def topology(self) -> List[TapiTopologyTopologyRef]: + """Gets the topology of this TapiTopologyNetworkTopologyService. + + none # noqa: E501 + + :return: The topology of this TapiTopologyNetworkTopologyService. + :rtype: List[TapiTopologyTopologyRef] + """ + return self._topology + + @topology.setter + def topology(self, topology: List[TapiTopologyTopologyRef]): + """Sets the topology of this TapiTopologyNetworkTopologyService. + + none # noqa: E501 + + :param topology: The topology of this TapiTopologyNetworkTopologyService. + :type topology: List[TapiTopologyTopologyRef] + """ + + self._topology = topology diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_network_topology_service_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_network_topology_service_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..94f5e23596501a016982cf55464d33b1bf2ccb90 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_network_topology_service_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_network_topology_service import TapiTopologyNetworkTopologyService # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNetworkTopologyServiceWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, nw_topology_service: TapiTopologyNetworkTopologyService=None): # noqa: E501 + """TapiTopologyNetworkTopologyServiceWrapper - a model defined in Swagger + + :param nw_topology_service: The nw_topology_service of this TapiTopologyNetworkTopologyServiceWrapper. # noqa: E501 + :type nw_topology_service: TapiTopologyNetworkTopologyService + """ + self.swagger_types = { + 'nw_topology_service': TapiTopologyNetworkTopologyService + } + + self.attribute_map = { + 'nw_topology_service': 'nw-topology-service' + } + self._nw_topology_service = nw_topology_service + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNetworkTopologyServiceWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NetworkTopologyServiceWrapper of this TapiTopologyNetworkTopologyServiceWrapper. # noqa: E501 + :rtype: TapiTopologyNetworkTopologyServiceWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def nw_topology_service(self) -> TapiTopologyNetworkTopologyService: + """Gets the nw_topology_service of this TapiTopologyNetworkTopologyServiceWrapper. + + + :return: The nw_topology_service of this TapiTopologyNetworkTopologyServiceWrapper. + :rtype: TapiTopologyNetworkTopologyService + """ + return self._nw_topology_service + + @nw_topology_service.setter + def nw_topology_service(self, nw_topology_service: TapiTopologyNetworkTopologyService): + """Sets the nw_topology_service of this TapiTopologyNetworkTopologyServiceWrapper. + + + :param nw_topology_service: The nw_topology_service of this TapiTopologyNetworkTopologyServiceWrapper. + :type nw_topology_service: TapiTopologyNetworkTopologyService + """ + + self._nw_topology_service = nw_topology_service diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node.py new file mode 100644 index 0000000000000000000000000000000000000000..2a71716d759bcf98749188ccb630be0ad29472d4 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node.py @@ -0,0 +1,602 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point import TapiTopologyNodeEdgePoint # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_rule_group import TapiTopologyNodeRuleGroup # noqa: F401,E501 +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_cost_pac import TapiTopologyTransferCostPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_integrity_pac import TapiTopologyTransferIntegrityPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_timing_pac import TapiTopologyTransferTimingPac # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNode(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, error_characteristic: str=None, unavailable_time_characteristic: str=None, server_integrity_process_characteristic: str=None, delivery_order_characteristic: str=None, repeat_delivery_characteristic: str=None, loss_characteristic: str=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, layer_protocol_name: List[TapiCommonLayerProtocolName]=None, encap_topology: TapiTopologyTopologyRef=None, owned_node_edge_point: List[TapiTopologyNodeEdgePoint]=None, node_rule_group: List[TapiTopologyNodeRuleGroup]=None, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]=None): # noqa: E501 + """TapiTopologyNode - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiTopologyNode. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNode. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param name: The name of this TapiTopologyNode. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyNode. # noqa: E501 + :type uuid: str + :param cost_characteristic: The cost_characteristic of this TapiTopologyNode. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param error_characteristic: The error_characteristic of this TapiTopologyNode. # noqa: E501 + :type error_characteristic: str + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyNode. # noqa: E501 + :type unavailable_time_characteristic: str + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyNode. # noqa: E501 + :type server_integrity_process_characteristic: str + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyNode. # noqa: E501 + :type delivery_order_characteristic: str + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyNode. # noqa: E501 + :type repeat_delivery_characteristic: str + :param loss_characteristic: The loss_characteristic of this TapiTopologyNode. # noqa: E501 + :type loss_characteristic: str + :param latency_characteristic: The latency_characteristic of this TapiTopologyNode. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param operational_state: The operational_state of this TapiTopologyNode. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiTopologyNode. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiTopologyNode. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyNode. # noqa: E501 + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + :param encap_topology: The encap_topology of this TapiTopologyNode. # noqa: E501 + :type encap_topology: TapiTopologyTopologyRef + :param owned_node_edge_point: The owned_node_edge_point of this TapiTopologyNode. # noqa: E501 + :type owned_node_edge_point: List[TapiTopologyNodeEdgePoint] + :param node_rule_group: The node_rule_group of this TapiTopologyNode. # noqa: E501 + :type node_rule_group: List[TapiTopologyNodeRuleGroup] + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyNode. # noqa: E501 + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'error_characteristic': str, + 'unavailable_time_characteristic': str, + 'server_integrity_process_characteristic': str, + 'delivery_order_characteristic': str, + 'repeat_delivery_characteristic': str, + 'loss_characteristic': str, + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'layer_protocol_name': List[TapiCommonLayerProtocolName], + 'encap_topology': TapiTopologyTopologyRef, + 'owned_node_edge_point': List[TapiTopologyNodeEdgePoint], + 'node_rule_group': List[TapiTopologyNodeRuleGroup], + 'aggregated_node_edge_point': List[TapiTopologyNodeEdgePointRef] + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'name': 'name', + 'uuid': 'uuid', + 'cost_characteristic': 'cost-characteristic', + 'error_characteristic': 'error-characteristic', + 'unavailable_time_characteristic': 'unavailable-time-characteristic', + 'server_integrity_process_characteristic': 'server-integrity-process-characteristic', + 'delivery_order_characteristic': 'delivery-order-characteristic', + 'repeat_delivery_characteristic': 'repeat-delivery-characteristic', + 'loss_characteristic': 'loss-characteristic', + 'latency_characteristic': 'latency-characteristic', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'layer_protocol_name': 'layer-protocol-name', + 'encap_topology': 'encap-topology', + 'owned_node_edge_point': 'owned-node-edge-point', + 'node_rule_group': 'node-rule-group', + 'aggregated_node_edge_point': 'aggregated-node-edge-point' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._name = name + self._uuid = uuid + self._cost_characteristic = cost_characteristic + self._error_characteristic = error_characteristic + self._unavailable_time_characteristic = unavailable_time_characteristic + self._server_integrity_process_characteristic = server_integrity_process_characteristic + self._delivery_order_characteristic = delivery_order_characteristic + self._repeat_delivery_characteristic = repeat_delivery_characteristic + self._loss_characteristic = loss_characteristic + self._latency_characteristic = latency_characteristic + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._layer_protocol_name = layer_protocol_name + self._encap_topology = encap_topology + self._owned_node_edge_point = owned_node_edge_point + self._node_rule_group = node_rule_group + self._aggregated_node_edge_point = aggregated_node_edge_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNode': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.Node of this TapiTopologyNode. # noqa: E501 + :rtype: TapiTopologyNode + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyNode. + + + :return: The available_capacity of this TapiTopologyNode. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyNode. + + + :param available_capacity: The available_capacity of this TapiTopologyNode. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyNode. + + + :return: The total_potential_capacity of this TapiTopologyNode. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyNode. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNode. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyNode. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyNode. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyNode. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyNode. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyNode. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyNode. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyNode. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyNode. + :type uuid: str + """ + + self._uuid = uuid + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiTopologyNode. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiTopologyNode. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiTopologyNode. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiTopologyNode. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def error_characteristic(self) -> str: + """Gets the error_characteristic of this TapiTopologyNode. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :return: The error_characteristic of this TapiTopologyNode. + :rtype: str + """ + return self._error_characteristic + + @error_characteristic.setter + def error_characteristic(self, error_characteristic: str): + """Sets the error_characteristic of this TapiTopologyNode. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :param error_characteristic: The error_characteristic of this TapiTopologyNode. + :type error_characteristic: str + """ + + self._error_characteristic = error_characteristic + + @property + def unavailable_time_characteristic(self) -> str: + """Gets the unavailable_time_characteristic of this TapiTopologyNode. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :return: The unavailable_time_characteristic of this TapiTopologyNode. + :rtype: str + """ + return self._unavailable_time_characteristic + + @unavailable_time_characteristic.setter + def unavailable_time_characteristic(self, unavailable_time_characteristic: str): + """Sets the unavailable_time_characteristic of this TapiTopologyNode. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyNode. + :type unavailable_time_characteristic: str + """ + + self._unavailable_time_characteristic = unavailable_time_characteristic + + @property + def server_integrity_process_characteristic(self) -> str: + """Gets the server_integrity_process_characteristic of this TapiTopologyNode. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :return: The server_integrity_process_characteristic of this TapiTopologyNode. + :rtype: str + """ + return self._server_integrity_process_characteristic + + @server_integrity_process_characteristic.setter + def server_integrity_process_characteristic(self, server_integrity_process_characteristic: str): + """Sets the server_integrity_process_characteristic of this TapiTopologyNode. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyNode. + :type server_integrity_process_characteristic: str + """ + + self._server_integrity_process_characteristic = server_integrity_process_characteristic + + @property + def delivery_order_characteristic(self) -> str: + """Gets the delivery_order_characteristic of this TapiTopologyNode. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :return: The delivery_order_characteristic of this TapiTopologyNode. + :rtype: str + """ + return self._delivery_order_characteristic + + @delivery_order_characteristic.setter + def delivery_order_characteristic(self, delivery_order_characteristic: str): + """Sets the delivery_order_characteristic of this TapiTopologyNode. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyNode. + :type delivery_order_characteristic: str + """ + + self._delivery_order_characteristic = delivery_order_characteristic + + @property + def repeat_delivery_characteristic(self) -> str: + """Gets the repeat_delivery_characteristic of this TapiTopologyNode. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :return: The repeat_delivery_characteristic of this TapiTopologyNode. + :rtype: str + """ + return self._repeat_delivery_characteristic + + @repeat_delivery_characteristic.setter + def repeat_delivery_characteristic(self, repeat_delivery_characteristic: str): + """Sets the repeat_delivery_characteristic of this TapiTopologyNode. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyNode. + :type repeat_delivery_characteristic: str + """ + + self._repeat_delivery_characteristic = repeat_delivery_characteristic + + @property + def loss_characteristic(self) -> str: + """Gets the loss_characteristic of this TapiTopologyNode. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :return: The loss_characteristic of this TapiTopologyNode. + :rtype: str + """ + return self._loss_characteristic + + @loss_characteristic.setter + def loss_characteristic(self, loss_characteristic: str): + """Sets the loss_characteristic of this TapiTopologyNode. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :param loss_characteristic: The loss_characteristic of this TapiTopologyNode. + :type loss_characteristic: str + """ + + self._loss_characteristic = loss_characteristic + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiTopologyNode. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiTopologyNode. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiTopologyNode. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiTopologyNode. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiTopologyNode. + + + :return: The operational_state of this TapiTopologyNode. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiTopologyNode. + + + :param operational_state: The operational_state of this TapiTopologyNode. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiTopologyNode. + + + :return: The lifecycle_state of this TapiTopologyNode. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiTopologyNode. + + + :param lifecycle_state: The lifecycle_state of this TapiTopologyNode. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiTopologyNode. + + + :return: The administrative_state of this TapiTopologyNode. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiTopologyNode. + + + :param administrative_state: The administrative_state of this TapiTopologyNode. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def layer_protocol_name(self) -> List[TapiCommonLayerProtocolName]: + """Gets the layer_protocol_name of this TapiTopologyNode. + + none # noqa: E501 + + :return: The layer_protocol_name of this TapiTopologyNode. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: List[TapiCommonLayerProtocolName]): + """Sets the layer_protocol_name of this TapiTopologyNode. + + none # noqa: E501 + + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyNode. + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def encap_topology(self) -> TapiTopologyTopologyRef: + """Gets the encap_topology of this TapiTopologyNode. + + + :return: The encap_topology of this TapiTopologyNode. + :rtype: TapiTopologyTopologyRef + """ + return self._encap_topology + + @encap_topology.setter + def encap_topology(self, encap_topology: TapiTopologyTopologyRef): + """Sets the encap_topology of this TapiTopologyNode. + + + :param encap_topology: The encap_topology of this TapiTopologyNode. + :type encap_topology: TapiTopologyTopologyRef + """ + + self._encap_topology = encap_topology + + @property + def owned_node_edge_point(self) -> List[TapiTopologyNodeEdgePoint]: + """Gets the owned_node_edge_point of this TapiTopologyNode. + + none # noqa: E501 + + :return: The owned_node_edge_point of this TapiTopologyNode. + :rtype: List[TapiTopologyNodeEdgePoint] + """ + return self._owned_node_edge_point + + @owned_node_edge_point.setter + def owned_node_edge_point(self, owned_node_edge_point: List[TapiTopologyNodeEdgePoint]): + """Sets the owned_node_edge_point of this TapiTopologyNode. + + none # noqa: E501 + + :param owned_node_edge_point: The owned_node_edge_point of this TapiTopologyNode. + :type owned_node_edge_point: List[TapiTopologyNodeEdgePoint] + """ + + self._owned_node_edge_point = owned_node_edge_point + + @property + def node_rule_group(self) -> List[TapiTopologyNodeRuleGroup]: + """Gets the node_rule_group of this TapiTopologyNode. + + none # noqa: E501 + + :return: The node_rule_group of this TapiTopologyNode. + :rtype: List[TapiTopologyNodeRuleGroup] + """ + return self._node_rule_group + + @node_rule_group.setter + def node_rule_group(self, node_rule_group: List[TapiTopologyNodeRuleGroup]): + """Sets the node_rule_group of this TapiTopologyNode. + + none # noqa: E501 + + :param node_rule_group: The node_rule_group of this TapiTopologyNode. + :type node_rule_group: List[TapiTopologyNodeRuleGroup] + """ + + self._node_rule_group = node_rule_group + + @property + def aggregated_node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the aggregated_node_edge_point of this TapiTopologyNode. + + none # noqa: E501 + + :return: The aggregated_node_edge_point of this TapiTopologyNode. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._aggregated_node_edge_point + + @aggregated_node_edge_point.setter + def aggregated_node_edge_point(self, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the aggregated_node_edge_point of this TapiTopologyNode. + + none # noqa: E501 + + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyNode. + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._aggregated_node_edge_point = aggregated_node_edge_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point.py new file mode 100644 index 0000000000000000000000000000000000000000..7e87f23fb2e57a164b4c597d6892cf98fcb91819 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point.py @@ -0,0 +1,452 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_port_role import TapiCommonPortRole # noqa: F401,E501 +from tapi_server.models.tapi_common_service_interface_point_ref import TapiCommonServiceInterfacePointRef # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_direction import TapiCommonTerminationDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_pac import TapiCommonTerminationPac # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_state import TapiCommonTerminationState # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeEdgePoint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, termination_direction: TapiCommonTerminationDirection=None, termination_state: TapiCommonTerminationState=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, link_port_role: TapiCommonPortRole=None, mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef]=None, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]=None, layer_protocol_name: TapiCommonLayerProtocolName=None, link_port_direction: TapiCommonPortDirection=None, supported_cep_layer_protocol_qualifier: List[str]=None): # noqa: E501 + """TapiTopologyNodeEdgePoint - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param name: The name of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type uuid: str + :param termination_direction: The termination_direction of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type termination_direction: TapiCommonTerminationDirection + :param termination_state: The termination_state of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type termination_state: TapiCommonTerminationState + :param operational_state: The operational_state of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param link_port_role: The link_port_role of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type link_port_role: TapiCommonPortRole + :param mapped_service_interface_point: The mapped_service_interface_point of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef] + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param link_port_direction: The link_port_direction of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type link_port_direction: TapiCommonPortDirection + :param supported_cep_layer_protocol_qualifier: The supported_cep_layer_protocol_qualifier of this TapiTopologyNodeEdgePoint. # noqa: E501 + :type supported_cep_layer_protocol_qualifier: List[str] + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'termination_direction': TapiCommonTerminationDirection, + 'termination_state': TapiCommonTerminationState, + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'link_port_role': TapiCommonPortRole, + 'mapped_service_interface_point': List[TapiCommonServiceInterfacePointRef], + 'aggregated_node_edge_point': List[TapiTopologyNodeEdgePointRef], + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'link_port_direction': TapiCommonPortDirection, + 'supported_cep_layer_protocol_qualifier': List[str] + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'name': 'name', + 'uuid': 'uuid', + 'termination_direction': 'termination-direction', + 'termination_state': 'termination-state', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'link_port_role': 'link-port-role', + 'mapped_service_interface_point': 'mapped-service-interface-point', + 'aggregated_node_edge_point': 'aggregated-node-edge-point', + 'layer_protocol_name': 'layer-protocol-name', + 'link_port_direction': 'link-port-direction', + 'supported_cep_layer_protocol_qualifier': 'supported-cep-layer-protocol-qualifier' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._name = name + self._uuid = uuid + self._termination_direction = termination_direction + self._termination_state = termination_state + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._link_port_role = link_port_role + self._mapped_service_interface_point = mapped_service_interface_point + self._aggregated_node_edge_point = aggregated_node_edge_point + self._layer_protocol_name = layer_protocol_name + self._link_port_direction = link_port_direction + self._supported_cep_layer_protocol_qualifier = supported_cep_layer_protocol_qualifier + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeEdgePoint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeEdgePoint of this TapiTopologyNodeEdgePoint. # noqa: E501 + :rtype: TapiTopologyNodeEdgePoint + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyNodeEdgePoint. + + + :return: The available_capacity of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyNodeEdgePoint. + + + :param available_capacity: The available_capacity of this TapiTopologyNodeEdgePoint. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyNodeEdgePoint. + + + :return: The total_potential_capacity of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyNodeEdgePoint. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNodeEdgePoint. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyNodeEdgePoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyNodeEdgePoint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyNodeEdgePoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyNodeEdgePoint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyNodeEdgePoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyNodeEdgePoint. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyNodeEdgePoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyNodeEdgePoint. + :type uuid: str + """ + + self._uuid = uuid + + @property + def termination_direction(self) -> TapiCommonTerminationDirection: + """Gets the termination_direction of this TapiTopologyNodeEdgePoint. + + + :return: The termination_direction of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonTerminationDirection + """ + return self._termination_direction + + @termination_direction.setter + def termination_direction(self, termination_direction: TapiCommonTerminationDirection): + """Sets the termination_direction of this TapiTopologyNodeEdgePoint. + + + :param termination_direction: The termination_direction of this TapiTopologyNodeEdgePoint. + :type termination_direction: TapiCommonTerminationDirection + """ + + self._termination_direction = termination_direction + + @property + def termination_state(self) -> TapiCommonTerminationState: + """Gets the termination_state of this TapiTopologyNodeEdgePoint. + + + :return: The termination_state of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonTerminationState + """ + return self._termination_state + + @termination_state.setter + def termination_state(self, termination_state: TapiCommonTerminationState): + """Sets the termination_state of this TapiTopologyNodeEdgePoint. + + + :param termination_state: The termination_state of this TapiTopologyNodeEdgePoint. + :type termination_state: TapiCommonTerminationState + """ + + self._termination_state = termination_state + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiTopologyNodeEdgePoint. + + + :return: The operational_state of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiTopologyNodeEdgePoint. + + + :param operational_state: The operational_state of this TapiTopologyNodeEdgePoint. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiTopologyNodeEdgePoint. + + + :return: The lifecycle_state of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiTopologyNodeEdgePoint. + + + :param lifecycle_state: The lifecycle_state of this TapiTopologyNodeEdgePoint. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiTopologyNodeEdgePoint. + + + :return: The administrative_state of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiTopologyNodeEdgePoint. + + + :param administrative_state: The administrative_state of this TapiTopologyNodeEdgePoint. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def link_port_role(self) -> TapiCommonPortRole: + """Gets the link_port_role of this TapiTopologyNodeEdgePoint. + + + :return: The link_port_role of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonPortRole + """ + return self._link_port_role + + @link_port_role.setter + def link_port_role(self, link_port_role: TapiCommonPortRole): + """Sets the link_port_role of this TapiTopologyNodeEdgePoint. + + + :param link_port_role: The link_port_role of this TapiTopologyNodeEdgePoint. + :type link_port_role: TapiCommonPortRole + """ + + self._link_port_role = link_port_role + + @property + def mapped_service_interface_point(self) -> List[TapiCommonServiceInterfacePointRef]: + """Gets the mapped_service_interface_point of this TapiTopologyNodeEdgePoint. + + NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental # noqa: E501 + + :return: The mapped_service_interface_point of this TapiTopologyNodeEdgePoint. + :rtype: List[TapiCommonServiceInterfacePointRef] + """ + return self._mapped_service_interface_point + + @mapped_service_interface_point.setter + def mapped_service_interface_point(self, mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef]): + """Sets the mapped_service_interface_point of this TapiTopologyNodeEdgePoint. + + NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental # noqa: E501 + + :param mapped_service_interface_point: The mapped_service_interface_point of this TapiTopologyNodeEdgePoint. + :type mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef] + """ + + self._mapped_service_interface_point = mapped_service_interface_point + + @property + def aggregated_node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the aggregated_node_edge_point of this TapiTopologyNodeEdgePoint. + + none # noqa: E501 + + :return: The aggregated_node_edge_point of this TapiTopologyNodeEdgePoint. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._aggregated_node_edge_point + + @aggregated_node_edge_point.setter + def aggregated_node_edge_point(self, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the aggregated_node_edge_point of this TapiTopologyNodeEdgePoint. + + none # noqa: E501 + + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyNodeEdgePoint. + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._aggregated_node_edge_point = aggregated_node_edge_point + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiTopologyNodeEdgePoint. + + + :return: The layer_protocol_name of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiTopologyNodeEdgePoint. + + + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyNodeEdgePoint. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def link_port_direction(self) -> TapiCommonPortDirection: + """Gets the link_port_direction of this TapiTopologyNodeEdgePoint. + + + :return: The link_port_direction of this TapiTopologyNodeEdgePoint. + :rtype: TapiCommonPortDirection + """ + return self._link_port_direction + + @link_port_direction.setter + def link_port_direction(self, link_port_direction: TapiCommonPortDirection): + """Sets the link_port_direction of this TapiTopologyNodeEdgePoint. + + + :param link_port_direction: The link_port_direction of this TapiTopologyNodeEdgePoint. + :type link_port_direction: TapiCommonPortDirection + """ + + self._link_port_direction = link_port_direction + + @property + def supported_cep_layer_protocol_qualifier(self) -> List[str]: + """Gets the supported_cep_layer_protocol_qualifier of this TapiTopologyNodeEdgePoint. + + none # noqa: E501 + + :return: The supported_cep_layer_protocol_qualifier of this TapiTopologyNodeEdgePoint. + :rtype: List[str] + """ + return self._supported_cep_layer_protocol_qualifier + + @supported_cep_layer_protocol_qualifier.setter + def supported_cep_layer_protocol_qualifier(self, supported_cep_layer_protocol_qualifier: List[str]): + """Sets the supported_cep_layer_protocol_qualifier of this TapiTopologyNodeEdgePoint. + + none # noqa: E501 + + :param supported_cep_layer_protocol_qualifier: The supported_cep_layer_protocol_qualifier of this TapiTopologyNodeEdgePoint. + :type supported_cep_layer_protocol_qualifier: List[str] + """ + + self._supported_cep_layer_protocol_qualifier = supported_cep_layer_protocol_qualifier diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..5780fe383116f0b8c377e2a92b7e54013dd07273 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_ref import TapiTopologyNodeRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeEdgePointRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_uuid: str=None, node_edge_point_uuid: str=None): # noqa: E501 + """TapiTopologyNodeEdgePointRef - a model defined in Swagger + + :param node_uuid: The node_uuid of this TapiTopologyNodeEdgePointRef. # noqa: E501 + :type node_uuid: str + :param node_edge_point_uuid: The node_edge_point_uuid of this TapiTopologyNodeEdgePointRef. # noqa: E501 + :type node_edge_point_uuid: str + """ + self.swagger_types = { + 'node_uuid': str, + 'node_edge_point_uuid': str + } + + self.attribute_map = { + 'node_uuid': 'node-uuid', + 'node_edge_point_uuid': 'node-edge-point-uuid' + } + self._node_uuid = node_uuid + self._node_edge_point_uuid = node_edge_point_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeEdgePointRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeEdgePointRef of this TapiTopologyNodeEdgePointRef. # noqa: E501 + :rtype: TapiTopologyNodeEdgePointRef + """ + return util.deserialize_model(dikt, cls) + + @property + def node_uuid(self) -> str: + """Gets the node_uuid of this TapiTopologyNodeEdgePointRef. + + none # noqa: E501 + + :return: The node_uuid of this TapiTopologyNodeEdgePointRef. + :rtype: str + """ + return self._node_uuid + + @node_uuid.setter + def node_uuid(self, node_uuid: str): + """Sets the node_uuid of this TapiTopologyNodeEdgePointRef. + + none # noqa: E501 + + :param node_uuid: The node_uuid of this TapiTopologyNodeEdgePointRef. + :type node_uuid: str + """ + + self._node_uuid = node_uuid + + @property + def node_edge_point_uuid(self) -> str: + """Gets the node_edge_point_uuid of this TapiTopologyNodeEdgePointRef. + + none # noqa: E501 + + :return: The node_edge_point_uuid of this TapiTopologyNodeEdgePointRef. + :rtype: str + """ + return self._node_edge_point_uuid + + @node_edge_point_uuid.setter + def node_edge_point_uuid(self, node_edge_point_uuid: str): + """Sets the node_edge_point_uuid of this TapiTopologyNodeEdgePointRef. + + none # noqa: E501 + + :param node_edge_point_uuid: The node_edge_point_uuid of this TapiTopologyNodeEdgePointRef. + :type node_edge_point_uuid: str + """ + + self._node_edge_point_uuid = node_edge_point_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..750dd69251bf55f4b1f839b141293d37fcb84ba8 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_edge_point_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeEdgePointRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_edge_point: TapiTopologyNodeEdgePointRef=None): # noqa: E501 + """TapiTopologyNodeEdgePointRefWrapper - a model defined in Swagger + + :param node_edge_point: The node_edge_point of this TapiTopologyNodeEdgePointRefWrapper. # noqa: E501 + :type node_edge_point: TapiTopologyNodeEdgePointRef + """ + self.swagger_types = { + 'node_edge_point': TapiTopologyNodeEdgePointRef + } + + self.attribute_map = { + 'node_edge_point': 'node-edge-point' + } + self._node_edge_point = node_edge_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeEdgePointRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeEdgePointRefWrapper of this TapiTopologyNodeEdgePointRefWrapper. # noqa: E501 + :rtype: TapiTopologyNodeEdgePointRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def node_edge_point(self) -> TapiTopologyNodeEdgePointRef: + """Gets the node_edge_point of this TapiTopologyNodeEdgePointRefWrapper. + + + :return: The node_edge_point of this TapiTopologyNodeEdgePointRefWrapper. + :rtype: TapiTopologyNodeEdgePointRef + """ + return self._node_edge_point + + @node_edge_point.setter + def node_edge_point(self, node_edge_point: TapiTopologyNodeEdgePointRef): + """Sets the node_edge_point of this TapiTopologyNodeEdgePointRefWrapper. + + + :param node_edge_point: The node_edge_point of this TapiTopologyNodeEdgePointRefWrapper. + :type node_edge_point: TapiTopologyNodeEdgePointRef + """ + + self._node_edge_point = node_edge_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_owned_node_edge_point.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_owned_node_edge_point.py new file mode 100644 index 0000000000000000000000000000000000000000..ca6356844176a105e7b6d970680a78a21d307772 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_owned_node_edge_point.py @@ -0,0 +1,396 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_port_role import TapiCommonPortRole # noqa: F401,E501 +from tapi_server.models.tapi_common_service_interface_point_ref import TapiCommonServiceInterfacePointRef # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_direction import TapiCommonTerminationDirection # noqa: F401,E501 +from tapi_server.models.tapi_common_termination_state import TapiCommonTerminationState # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_cep_list import TapiConnectivityCepList # noqa: F401,E501 +from tapi_server.models.tapi_connectivity_owned_node_edge_point_augmentation1 import TapiConnectivityOwnedNodeEdgePointAugmentation1 # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point import TapiTopologyNodeEdgePoint # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeOwnedNodeEdgePoint(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, termination_direction: TapiCommonTerminationDirection=None, termination_state: TapiCommonTerminationState=None, link_port_role: TapiCommonPortRole=None, mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef]=None, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]=None, layer_protocol_name: TapiCommonLayerProtocolName=None, link_port_direction: TapiCommonPortDirection=None, supported_cep_layer_protocol_qualifier: List[str]=None, cep_list: TapiConnectivityCepList=None): # noqa: E501 + """TapiTopologyNodeOwnedNodeEdgePoint - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param name: The name of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type uuid: str + :param termination_direction: The termination_direction of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type termination_direction: TapiCommonTerminationDirection + :param termination_state: The termination_state of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type termination_state: TapiCommonTerminationState + :param link_port_role: The link_port_role of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type link_port_role: TapiCommonPortRole + :param mapped_service_interface_point: The mapped_service_interface_point of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef] + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type layer_protocol_name: TapiCommonLayerProtocolName + :param link_port_direction: The link_port_direction of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type link_port_direction: TapiCommonPortDirection + :param supported_cep_layer_protocol_qualifier: The supported_cep_layer_protocol_qualifier of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type supported_cep_layer_protocol_qualifier: List[str] + :param cep_list: The cep_list of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :type cep_list: TapiConnectivityCepList + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'termination_direction': TapiCommonTerminationDirection, + 'termination_state': TapiCommonTerminationState, + 'link_port_role': TapiCommonPortRole, + 'mapped_service_interface_point': List[TapiCommonServiceInterfacePointRef], + 'aggregated_node_edge_point': List[TapiTopologyNodeEdgePointRef], + 'layer_protocol_name': TapiCommonLayerProtocolName, + 'link_port_direction': TapiCommonPortDirection, + 'supported_cep_layer_protocol_qualifier': List[str], + 'cep_list': TapiConnectivityCepList + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'name': 'name', + 'uuid': 'uuid', + 'termination_direction': 'termination-direction', + 'termination_state': 'termination-state', + 'link_port_role': 'link-port-role', + 'mapped_service_interface_point': 'mapped-service-interface-point', + 'aggregated_node_edge_point': 'aggregated-node-edge-point', + 'layer_protocol_name': 'layer-protocol-name', + 'link_port_direction': 'link-port-direction', + 'supported_cep_layer_protocol_qualifier': 'supported-cep-layer-protocol-qualifier', + 'cep_list': 'cep-list' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._name = name + self._uuid = uuid + self._termination_direction = termination_direction + self._termination_state = termination_state + self._link_port_role = link_port_role + self._mapped_service_interface_point = mapped_service_interface_point + self._aggregated_node_edge_point = aggregated_node_edge_point + self._layer_protocol_name = layer_protocol_name + self._link_port_direction = link_port_direction + self._supported_cep_layer_protocol_qualifier = supported_cep_layer_protocol_qualifier + self._cep_list = cep_list + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeOwnedNodeEdgePoint': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.node.OwnedNodeEdgePoint of this TapiTopologyNodeOwnedNodeEdgePoint. # noqa: E501 + :rtype: TapiTopologyNodeOwnedNodeEdgePoint + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The available_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param available_capacity: The available_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The total_potential_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNodeOwnedNodeEdgePoint. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyNodeOwnedNodeEdgePoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyNodeOwnedNodeEdgePoint. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyNodeOwnedNodeEdgePoint. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyNodeOwnedNodeEdgePoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyNodeOwnedNodeEdgePoint. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyNodeOwnedNodeEdgePoint. + :type uuid: str + """ + + self._uuid = uuid + + @property + def termination_direction(self) -> TapiCommonTerminationDirection: + """Gets the termination_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The termination_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonTerminationDirection + """ + return self._termination_direction + + @termination_direction.setter + def termination_direction(self, termination_direction: TapiCommonTerminationDirection): + """Sets the termination_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param termination_direction: The termination_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + :type termination_direction: TapiCommonTerminationDirection + """ + + self._termination_direction = termination_direction + + @property + def termination_state(self) -> TapiCommonTerminationState: + """Gets the termination_state of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The termination_state of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonTerminationState + """ + return self._termination_state + + @termination_state.setter + def termination_state(self, termination_state: TapiCommonTerminationState): + """Sets the termination_state of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param termination_state: The termination_state of this TapiTopologyNodeOwnedNodeEdgePoint. + :type termination_state: TapiCommonTerminationState + """ + + self._termination_state = termination_state + + @property + def link_port_role(self) -> TapiCommonPortRole: + """Gets the link_port_role of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The link_port_role of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonPortRole + """ + return self._link_port_role + + @link_port_role.setter + def link_port_role(self, link_port_role: TapiCommonPortRole): + """Sets the link_port_role of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param link_port_role: The link_port_role of this TapiTopologyNodeOwnedNodeEdgePoint. + :type link_port_role: TapiCommonPortRole + """ + + self._link_port_role = link_port_role + + @property + def mapped_service_interface_point(self) -> List[TapiCommonServiceInterfacePointRef]: + """Gets the mapped_service_interface_point of this TapiTopologyNodeOwnedNodeEdgePoint. + + NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental # noqa: E501 + + :return: The mapped_service_interface_point of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: List[TapiCommonServiceInterfacePointRef] + """ + return self._mapped_service_interface_point + + @mapped_service_interface_point.setter + def mapped_service_interface_point(self, mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef]): + """Sets the mapped_service_interface_point of this TapiTopologyNodeOwnedNodeEdgePoint. + + NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental # noqa: E501 + + :param mapped_service_interface_point: The mapped_service_interface_point of this TapiTopologyNodeOwnedNodeEdgePoint. + :type mapped_service_interface_point: List[TapiCommonServiceInterfacePointRef] + """ + + self._mapped_service_interface_point = mapped_service_interface_point + + @property + def aggregated_node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the aggregated_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePoint. + + none # noqa: E501 + + :return: The aggregated_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._aggregated_node_edge_point + + @aggregated_node_edge_point.setter + def aggregated_node_edge_point(self, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the aggregated_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePoint. + + none # noqa: E501 + + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePoint. + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._aggregated_node_edge_point = aggregated_node_edge_point + + @property + def layer_protocol_name(self) -> TapiCommonLayerProtocolName: + """Gets the layer_protocol_name of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The layer_protocol_name of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonLayerProtocolName + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: TapiCommonLayerProtocolName): + """Sets the layer_protocol_name of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyNodeOwnedNodeEdgePoint. + :type layer_protocol_name: TapiCommonLayerProtocolName + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def link_port_direction(self) -> TapiCommonPortDirection: + """Gets the link_port_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The link_port_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiCommonPortDirection + """ + return self._link_port_direction + + @link_port_direction.setter + def link_port_direction(self, link_port_direction: TapiCommonPortDirection): + """Sets the link_port_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param link_port_direction: The link_port_direction of this TapiTopologyNodeOwnedNodeEdgePoint. + :type link_port_direction: TapiCommonPortDirection + """ + + self._link_port_direction = link_port_direction + + @property + def supported_cep_layer_protocol_qualifier(self) -> List[str]: + """Gets the supported_cep_layer_protocol_qualifier of this TapiTopologyNodeOwnedNodeEdgePoint. + + none # noqa: E501 + + :return: The supported_cep_layer_protocol_qualifier of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: List[str] + """ + return self._supported_cep_layer_protocol_qualifier + + @supported_cep_layer_protocol_qualifier.setter + def supported_cep_layer_protocol_qualifier(self, supported_cep_layer_protocol_qualifier: List[str]): + """Sets the supported_cep_layer_protocol_qualifier of this TapiTopologyNodeOwnedNodeEdgePoint. + + none # noqa: E501 + + :param supported_cep_layer_protocol_qualifier: The supported_cep_layer_protocol_qualifier of this TapiTopologyNodeOwnedNodeEdgePoint. + :type supported_cep_layer_protocol_qualifier: List[str] + """ + + self._supported_cep_layer_protocol_qualifier = supported_cep_layer_protocol_qualifier + + @property + def cep_list(self) -> TapiConnectivityCepList: + """Gets the cep_list of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :return: The cep_list of this TapiTopologyNodeOwnedNodeEdgePoint. + :rtype: TapiConnectivityCepList + """ + return self._cep_list + + @cep_list.setter + def cep_list(self, cep_list: TapiConnectivityCepList): + """Sets the cep_list of this TapiTopologyNodeOwnedNodeEdgePoint. + + + :param cep_list: The cep_list of this TapiTopologyNodeOwnedNodeEdgePoint. + :type cep_list: TapiConnectivityCepList + """ + + self._cep_list = cep_list diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_owned_node_edge_point_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_owned_node_edge_point_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..625b248341e9a782de2da647ba2cc5c870346971 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_owned_node_edge_point_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_owned_node_edge_point import TapiTopologyNodeOwnedNodeEdgePoint # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeOwnedNodeEdgePointWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, owned_node_edge_point: TapiTopologyNodeOwnedNodeEdgePoint=None): # noqa: E501 + """TapiTopologyNodeOwnedNodeEdgePointWrapper - a model defined in Swagger + + :param owned_node_edge_point: The owned_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePointWrapper. # noqa: E501 + :type owned_node_edge_point: TapiTopologyNodeOwnedNodeEdgePoint + """ + self.swagger_types = { + 'owned_node_edge_point': TapiTopologyNodeOwnedNodeEdgePoint + } + + self.attribute_map = { + 'owned_node_edge_point': 'owned-node-edge-point' + } + self._owned_node_edge_point = owned_node_edge_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeOwnedNodeEdgePointWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.node.OwnedNodeEdgePointWrapper of this TapiTopologyNodeOwnedNodeEdgePointWrapper. # noqa: E501 + :rtype: TapiTopologyNodeOwnedNodeEdgePointWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def owned_node_edge_point(self) -> TapiTopologyNodeOwnedNodeEdgePoint: + """Gets the owned_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePointWrapper. + + + :return: The owned_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePointWrapper. + :rtype: TapiTopologyNodeOwnedNodeEdgePoint + """ + return self._owned_node_edge_point + + @owned_node_edge_point.setter + def owned_node_edge_point(self, owned_node_edge_point: TapiTopologyNodeOwnedNodeEdgePoint): + """Sets the owned_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePointWrapper. + + + :param owned_node_edge_point: The owned_node_edge_point of this TapiTopologyNodeOwnedNodeEdgePointWrapper. + :type owned_node_edge_point: TapiTopologyNodeOwnedNodeEdgePoint + """ + + self._owned_node_edge_point = owned_node_edge_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..28ada09fba172a38d556cdc208e73e55d3df2c3c --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_uuid: str=None, node_uuid: str=None): # noqa: E501 + """TapiTopologyNodeRef - a model defined in Swagger + + :param topology_uuid: The topology_uuid of this TapiTopologyNodeRef. # noqa: E501 + :type topology_uuid: str + :param node_uuid: The node_uuid of this TapiTopologyNodeRef. # noqa: E501 + :type node_uuid: str + """ + self.swagger_types = { + 'topology_uuid': str, + 'node_uuid': str + } + + self.attribute_map = { + 'topology_uuid': 'topology-uuid', + 'node_uuid': 'node-uuid' + } + self._topology_uuid = topology_uuid + self._node_uuid = node_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeRef of this TapiTopologyNodeRef. # noqa: E501 + :rtype: TapiTopologyNodeRef + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_uuid(self) -> str: + """Gets the topology_uuid of this TapiTopologyNodeRef. + + none # noqa: E501 + + :return: The topology_uuid of this TapiTopologyNodeRef. + :rtype: str + """ + return self._topology_uuid + + @topology_uuid.setter + def topology_uuid(self, topology_uuid: str): + """Sets the topology_uuid of this TapiTopologyNodeRef. + + none # noqa: E501 + + :param topology_uuid: The topology_uuid of this TapiTopologyNodeRef. + :type topology_uuid: str + """ + + self._topology_uuid = topology_uuid + + @property + def node_uuid(self) -> str: + """Gets the node_uuid of this TapiTopologyNodeRef. + + none # noqa: E501 + + :return: The node_uuid of this TapiTopologyNodeRef. + :rtype: str + """ + return self._node_uuid + + @node_uuid.setter + def node_uuid(self, node_uuid: str): + """Sets the node_uuid of this TapiTopologyNodeRef. + + none # noqa: E501 + + :param node_uuid: The node_uuid of this TapiTopologyNodeRef. + :type node_uuid: str + """ + + self._node_uuid = node_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group.py new file mode 100644 index 0000000000000000000000000000000000000000..af337f38d2a13f58990907fc25061e9007445726 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group.py @@ -0,0 +1,354 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_inter_rule_group import TapiTopologyInterRuleGroup # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_rule_group_ref import TapiTopologyNodeRuleGroupRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_risk_parameter_pac import TapiTopologyRiskParameterPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_rule import TapiTopologyRule # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_cost_pac import TapiTopologyTransferCostPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_timing_pac import TapiTopologyTransferTimingPac # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeRuleGroup(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, risk_characteristic: List[TapiTopologyRiskCharacteristic]=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, inter_rule_group: List[TapiTopologyInterRuleGroup]=None, rule: List[TapiTopologyRule]=None, node_rule_group: List[TapiTopologyNodeRuleGroupRef]=None, node_edge_point: List[TapiTopologyNodeEdgePointRef]=None): # noqa: E501 + """TapiTopologyNodeRuleGroup - a model defined in Swagger + + :param name: The name of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type uuid: str + :param risk_characteristic: The risk_characteristic of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + :param cost_characteristic: The cost_characteristic of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param latency_characteristic: The latency_characteristic of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param available_capacity: The available_capacity of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param inter_rule_group: The inter_rule_group of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type inter_rule_group: List[TapiTopologyInterRuleGroup] + :param rule: The rule of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type rule: List[TapiTopologyRule] + :param node_rule_group: The node_rule_group of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type node_rule_group: List[TapiTopologyNodeRuleGroupRef] + :param node_edge_point: The node_edge_point of this TapiTopologyNodeRuleGroup. # noqa: E501 + :type node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'risk_characteristic': List[TapiTopologyRiskCharacteristic], + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'inter_rule_group': List[TapiTopologyInterRuleGroup], + 'rule': List[TapiTopologyRule], + 'node_rule_group': List[TapiTopologyNodeRuleGroupRef], + 'node_edge_point': List[TapiTopologyNodeEdgePointRef] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'risk_characteristic': 'risk-characteristic', + 'cost_characteristic': 'cost-characteristic', + 'latency_characteristic': 'latency-characteristic', + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'inter_rule_group': 'inter-rule-group', + 'rule': 'rule', + 'node_rule_group': 'node-rule-group', + 'node_edge_point': 'node-edge-point' + } + self._name = name + self._uuid = uuid + self._risk_characteristic = risk_characteristic + self._cost_characteristic = cost_characteristic + self._latency_characteristic = latency_characteristic + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._inter_rule_group = inter_rule_group + self._rule = rule + self._node_rule_group = node_rule_group + self._node_edge_point = node_edge_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeRuleGroup': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeRuleGroup of this TapiTopologyNodeRuleGroup. # noqa: E501 + :rtype: TapiTopologyNodeRuleGroup + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyNodeRuleGroup. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyNodeRuleGroup. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyNodeRuleGroup. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyNodeRuleGroup. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyNodeRuleGroup. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyNodeRuleGroup. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyNodeRuleGroup. + :type uuid: str + """ + + self._uuid = uuid + + @property + def risk_characteristic(self) -> List[TapiTopologyRiskCharacteristic]: + """Gets the risk_characteristic of this TapiTopologyNodeRuleGroup. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :return: The risk_characteristic of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyRiskCharacteristic] + """ + return self._risk_characteristic + + @risk_characteristic.setter + def risk_characteristic(self, risk_characteristic: List[TapiTopologyRiskCharacteristic]): + """Sets the risk_characteristic of this TapiTopologyNodeRuleGroup. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param risk_characteristic: The risk_characteristic of this TapiTopologyNodeRuleGroup. + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + """ + + self._risk_characteristic = risk_characteristic + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiTopologyNodeRuleGroup. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiTopologyNodeRuleGroup. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiTopologyNodeRuleGroup. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiTopologyNodeRuleGroup. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiTopologyNodeRuleGroup. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiTopologyNodeRuleGroup. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyNodeRuleGroup. + + + :return: The available_capacity of this TapiTopologyNodeRuleGroup. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyNodeRuleGroup. + + + :param available_capacity: The available_capacity of this TapiTopologyNodeRuleGroup. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyNodeRuleGroup. + + + :return: The total_potential_capacity of this TapiTopologyNodeRuleGroup. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyNodeRuleGroup. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyNodeRuleGroup. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def inter_rule_group(self) -> List[TapiTopologyInterRuleGroup]: + """Gets the inter_rule_group of this TapiTopologyNodeRuleGroup. + + Nested NodeRuleGroups may have InterRuleGroups. The Superior NodeRuleGroup contains the nested NodeRuleGroups and their associated InterRuleGroups. This is equivalent to the Node-Topology hierarchy. # noqa: E501 + + :return: The inter_rule_group of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyInterRuleGroup] + """ + return self._inter_rule_group + + @inter_rule_group.setter + def inter_rule_group(self, inter_rule_group: List[TapiTopologyInterRuleGroup]): + """Sets the inter_rule_group of this TapiTopologyNodeRuleGroup. + + Nested NodeRuleGroups may have InterRuleGroups. The Superior NodeRuleGroup contains the nested NodeRuleGroups and their associated InterRuleGroups. This is equivalent to the Node-Topology hierarchy. # noqa: E501 + + :param inter_rule_group: The inter_rule_group of this TapiTopologyNodeRuleGroup. + :type inter_rule_group: List[TapiTopologyInterRuleGroup] + """ + + self._inter_rule_group = inter_rule_group + + @property + def rule(self) -> List[TapiTopologyRule]: + """Gets the rule of this TapiTopologyNodeRuleGroup. + + The list of rules of the NodeRuleGroup. # noqa: E501 + + :return: The rule of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyRule] + """ + return self._rule + + @rule.setter + def rule(self, rule: List[TapiTopologyRule]): + """Sets the rule of this TapiTopologyNodeRuleGroup. + + The list of rules of the NodeRuleGroup. # noqa: E501 + + :param rule: The rule of this TapiTopologyNodeRuleGroup. + :type rule: List[TapiTopologyRule] + """ + + self._rule = rule + + @property + def node_rule_group(self) -> List[TapiTopologyNodeRuleGroupRef]: + """Gets the node_rule_group of this TapiTopologyNodeRuleGroup. + + NodeRuleGroups may be nested such that finer grained rules may be applied. A nested rule group should have a subset of the NEPs of the superior rule group. # noqa: E501 + + :return: The node_rule_group of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyNodeRuleGroupRef] + """ + return self._node_rule_group + + @node_rule_group.setter + def node_rule_group(self, node_rule_group: List[TapiTopologyNodeRuleGroupRef]): + """Sets the node_rule_group of this TapiTopologyNodeRuleGroup. + + NodeRuleGroups may be nested such that finer grained rules may be applied. A nested rule group should have a subset of the NEPs of the superior rule group. # noqa: E501 + + :param node_rule_group: The node_rule_group of this TapiTopologyNodeRuleGroup. + :type node_rule_group: List[TapiTopologyNodeRuleGroupRef] + """ + + self._node_rule_group = node_rule_group + + @property + def node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the node_edge_point of this TapiTopologyNodeRuleGroup. + + NEPs and their client CEPs that the rules apply to. # noqa: E501 + + :return: The node_edge_point of this TapiTopologyNodeRuleGroup. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._node_edge_point + + @node_edge_point.setter + def node_edge_point(self, node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the node_edge_point of this TapiTopologyNodeRuleGroup. + + NEPs and their client CEPs that the rules apply to. # noqa: E501 + + :param node_edge_point: The node_edge_point of this TapiTopologyNodeRuleGroup. + :type node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._node_edge_point = node_edge_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..0f093a2582774e1476092243e60694de5f0229d1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_ref.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_ref import TapiTopologyNodeRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeRuleGroupRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_uuid: str=None, node_rule_group_uuid: str=None): # noqa: E501 + """TapiTopologyNodeRuleGroupRef - a model defined in Swagger + + :param node_uuid: The node_uuid of this TapiTopologyNodeRuleGroupRef. # noqa: E501 + :type node_uuid: str + :param node_rule_group_uuid: The node_rule_group_uuid of this TapiTopologyNodeRuleGroupRef. # noqa: E501 + :type node_rule_group_uuid: str + """ + self.swagger_types = { + 'node_uuid': str, + 'node_rule_group_uuid': str + } + + self.attribute_map = { + 'node_uuid': 'node-uuid', + 'node_rule_group_uuid': 'node-rule-group-uuid' + } + self._node_uuid = node_uuid + self._node_rule_group_uuid = node_rule_group_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeRuleGroupRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeRuleGroupRef of this TapiTopologyNodeRuleGroupRef. # noqa: E501 + :rtype: TapiTopologyNodeRuleGroupRef + """ + return util.deserialize_model(dikt, cls) + + @property + def node_uuid(self) -> str: + """Gets the node_uuid of this TapiTopologyNodeRuleGroupRef. + + none # noqa: E501 + + :return: The node_uuid of this TapiTopologyNodeRuleGroupRef. + :rtype: str + """ + return self._node_uuid + + @node_uuid.setter + def node_uuid(self, node_uuid: str): + """Sets the node_uuid of this TapiTopologyNodeRuleGroupRef. + + none # noqa: E501 + + :param node_uuid: The node_uuid of this TapiTopologyNodeRuleGroupRef. + :type node_uuid: str + """ + + self._node_uuid = node_uuid + + @property + def node_rule_group_uuid(self) -> str: + """Gets the node_rule_group_uuid of this TapiTopologyNodeRuleGroupRef. + + none # noqa: E501 + + :return: The node_rule_group_uuid of this TapiTopologyNodeRuleGroupRef. + :rtype: str + """ + return self._node_rule_group_uuid + + @node_rule_group_uuid.setter + def node_rule_group_uuid(self, node_rule_group_uuid: str): + """Sets the node_rule_group_uuid of this TapiTopologyNodeRuleGroupRef. + + none # noqa: E501 + + :param node_rule_group_uuid: The node_rule_group_uuid of this TapiTopologyNodeRuleGroupRef. + :type node_rule_group_uuid: str + """ + + self._node_rule_group_uuid = node_rule_group_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..ffc2990318100152ad49a3f5c5abd531d4f47f34 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_rule_group_ref import TapiTopologyNodeRuleGroupRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeRuleGroupRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, associated_node_rule_group: TapiTopologyNodeRuleGroupRef=None): # noqa: E501 + """TapiTopologyNodeRuleGroupRefWrapper - a model defined in Swagger + + :param associated_node_rule_group: The associated_node_rule_group of this TapiTopologyNodeRuleGroupRefWrapper. # noqa: E501 + :type associated_node_rule_group: TapiTopologyNodeRuleGroupRef + """ + self.swagger_types = { + 'associated_node_rule_group': TapiTopologyNodeRuleGroupRef + } + + self.attribute_map = { + 'associated_node_rule_group': 'associated-node-rule-group' + } + self._associated_node_rule_group = associated_node_rule_group + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeRuleGroupRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeRuleGroupRefWrapper of this TapiTopologyNodeRuleGroupRefWrapper. # noqa: E501 + :rtype: TapiTopologyNodeRuleGroupRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def associated_node_rule_group(self) -> TapiTopologyNodeRuleGroupRef: + """Gets the associated_node_rule_group of this TapiTopologyNodeRuleGroupRefWrapper. + + + :return: The associated_node_rule_group of this TapiTopologyNodeRuleGroupRefWrapper. + :rtype: TapiTopologyNodeRuleGroupRef + """ + return self._associated_node_rule_group + + @associated_node_rule_group.setter + def associated_node_rule_group(self, associated_node_rule_group: TapiTopologyNodeRuleGroupRef): + """Sets the associated_node_rule_group of this TapiTopologyNodeRuleGroupRefWrapper. + + + :param associated_node_rule_group: The associated_node_rule_group of this TapiTopologyNodeRuleGroupRefWrapper. + :type associated_node_rule_group: TapiTopologyNodeRuleGroupRef + """ + + self._associated_node_rule_group = associated_node_rule_group diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..1ce586e129a21b56da19b1a78cdec528d8fde549 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_node_rule_group_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_node_rule_group import TapiTopologyNodeRuleGroup # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyNodeRuleGroupWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node_rule_group: TapiTopologyNodeRuleGroup=None): # noqa: E501 + """TapiTopologyNodeRuleGroupWrapper - a model defined in Swagger + + :param node_rule_group: The node_rule_group of this TapiTopologyNodeRuleGroupWrapper. # noqa: E501 + :type node_rule_group: TapiTopologyNodeRuleGroup + """ + self.swagger_types = { + 'node_rule_group': TapiTopologyNodeRuleGroup + } + + self.attribute_map = { + 'node_rule_group': 'node-rule-group' + } + self._node_rule_group = node_rule_group + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyNodeRuleGroupWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.NodeRuleGroupWrapper of this TapiTopologyNodeRuleGroupWrapper. # noqa: E501 + :rtype: TapiTopologyNodeRuleGroupWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def node_rule_group(self) -> TapiTopologyNodeRuleGroup: + """Gets the node_rule_group of this TapiTopologyNodeRuleGroupWrapper. + + + :return: The node_rule_group of this TapiTopologyNodeRuleGroupWrapper. + :rtype: TapiTopologyNodeRuleGroup + """ + return self._node_rule_group + + @node_rule_group.setter + def node_rule_group(self, node_rule_group: TapiTopologyNodeRuleGroup): + """Sets the node_rule_group of this TapiTopologyNodeRuleGroupWrapper. + + + :param node_rule_group: The node_rule_group of this TapiTopologyNodeRuleGroupWrapper. + :type node_rule_group: TapiTopologyNodeRuleGroup + """ + + self._node_rule_group = node_rule_group diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_port_role_rule.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_port_role_rule.py new file mode 100644 index 0000000000000000000000000000000000000000..d5bfbe10ef4b23ebc54db30535e78d06786b3fd2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_port_role_rule.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyPortRoleRule(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, port_role_rule: List[str]=None, port_role: List[str]=None): # noqa: E501 + """TapiTopologyPortRoleRule - a model defined in Swagger + + :param port_role_rule: The port_role_rule of this TapiTopologyPortRoleRule. # noqa: E501 + :type port_role_rule: List[str] + :param port_role: The port_role of this TapiTopologyPortRoleRule. # noqa: E501 + :type port_role: List[str] + """ + self.swagger_types = { + 'port_role_rule': List[str], + 'port_role': List[str] + } + + self.attribute_map = { + 'port_role_rule': 'port-role-rule', + 'port_role': 'port-role' + } + self._port_role_rule = port_role_rule + self._port_role = port_role + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyPortRoleRule': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.PortRoleRule of this TapiTopologyPortRoleRule. # noqa: E501 + :rtype: TapiTopologyPortRoleRule + """ + return util.deserialize_model(dikt, cls) + + @property + def port_role_rule(self) -> List[str]: + """Gets the port_role_rule of this TapiTopologyPortRoleRule. + + Where the rule references more than one port role or where there are rule intersections either as a result of overlay of rules or inter rule group usage indicates role matching criteria for a connection following the rules. For example if two port roles, 'a' and 'b', are listed and the port role rule is 'different', this means that a connection connecting points in that group must have port roles that are different for each CEP in that group. In the example if a connection can have n ports of role 'a' and m ports of role 'b' then a maximum of two ports can be drawn from the NEPs of the group and where there are two, one must be role 'a' and one must be role 'b'. # noqa: E501 + + :return: The port_role_rule of this TapiTopologyPortRoleRule. + :rtype: List[str] + """ + return self._port_role_rule + + @port_role_rule.setter + def port_role_rule(self, port_role_rule: List[str]): + """Sets the port_role_rule of this TapiTopologyPortRoleRule. + + Where the rule references more than one port role or where there are rule intersections either as a result of overlay of rules or inter rule group usage indicates role matching criteria for a connection following the rules. For example if two port roles, 'a' and 'b', are listed and the port role rule is 'different', this means that a connection connecting points in that group must have port roles that are different for each CEP in that group. In the example if a connection can have n ports of role 'a' and m ports of role 'b' then a maximum of two ports can be drawn from the NEPs of the group and where there are two, one must be role 'a' and one must be role 'b'. # noqa: E501 + + :param port_role_rule: The port_role_rule of this TapiTopologyPortRoleRule. + :type port_role_rule: List[str] + """ + + self._port_role_rule = port_role_rule + + @property + def port_role(self) -> List[str]: + """Gets the port_role of this TapiTopologyPortRoleRule. + + The role(s) of the port(s) considered in the rule. # noqa: E501 + + :return: The port_role of this TapiTopologyPortRoleRule. + :rtype: List[str] + """ + return self._port_role + + @port_role.setter + def port_role(self, port_role: List[str]): + """Sets the port_role of this TapiTopologyPortRoleRule. + + The role(s) of the port(s) considered in the rule. # noqa: E501 + + :param port_role: The port_role of this TapiTopologyPortRoleRule. + :type port_role: List[str] + """ + + self._port_role = port_role diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_port_role_rule_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_port_role_rule_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..a711600a972f892a0b9dfa0bf950f2fbbb019cfa --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_port_role_rule_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_port_role_rule import TapiTopologyPortRoleRule # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyPortRoleRuleWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cep_port_role: TapiTopologyPortRoleRule=None): # noqa: E501 + """TapiTopologyPortRoleRuleWrapper - a model defined in Swagger + + :param cep_port_role: The cep_port_role of this TapiTopologyPortRoleRuleWrapper. # noqa: E501 + :type cep_port_role: TapiTopologyPortRoleRule + """ + self.swagger_types = { + 'cep_port_role': TapiTopologyPortRoleRule + } + + self.attribute_map = { + 'cep_port_role': 'cep-port-role' + } + self._cep_port_role = cep_port_role + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyPortRoleRuleWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.PortRoleRuleWrapper of this TapiTopologyPortRoleRuleWrapper. # noqa: E501 + :rtype: TapiTopologyPortRoleRuleWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def cep_port_role(self) -> TapiTopologyPortRoleRule: + """Gets the cep_port_role of this TapiTopologyPortRoleRuleWrapper. + + + :return: The cep_port_role of this TapiTopologyPortRoleRuleWrapper. + :rtype: TapiTopologyPortRoleRule + """ + return self._cep_port_role + + @cep_port_role.setter + def cep_port_role(self, cep_port_role: TapiTopologyPortRoleRule): + """Sets the cep_port_role of this TapiTopologyPortRoleRuleWrapper. + + + :param cep_port_role: The cep_port_role of this TapiTopologyPortRoleRuleWrapper. + :type cep_port_role: TapiTopologyPortRoleRule + """ + + self._cep_port_role = cep_port_role diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_protection_type.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_protection_type.py new file mode 100644 index 0000000000000000000000000000000000000000..ae81d84505a51f0c6ecec89d87644427a2ecddb2 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_protection_type.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyProtectionType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + NO_PROTECTON = "NO_PROTECTON" + ONE_PLUS_ONE_PROTECTION = "ONE_PLUS_ONE_PROTECTION" + ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION = "ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION" + PERMANENT_ONE_PLUS_ONE_PROTECTION = "PERMANENT_ONE_PLUS_ONE_PROTECTION" + ONE_FOR_ONE_PROTECTION = "ONE_FOR_ONE_PROTECTION" + DYNAMIC_RESTORATION = "DYNAMIC_RESTORATION" + PRE_COMPUTED_RESTORATION = "PRE_COMPUTED_RESTORATION" + ONE_PLUS_ONE_PROTECTION_WITH_PRE_COMPUTED_RESTORATION = "ONE_PLUS_ONE_PROTECTION_WITH_PRE_COMPUTED_RESTORATION" + def __init__(self): # noqa: E501 + """TapiTopologyProtectionType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyProtectionType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ProtectionType of this TapiTopologyProtectionType. # noqa: E501 + :rtype: TapiTopologyProtectionType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_resilience_type.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_resilience_type.py new file mode 100644 index 0000000000000000000000000000000000000000..21634e71cd123631577bd2bc8b8dde2632d87d9e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_resilience_type.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_protection_type import TapiTopologyProtectionType # noqa: F401,E501 +from tapi_server.models.tapi_topology_restoration_policy import TapiTopologyRestorationPolicy # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyResilienceType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, restoration_policy: TapiTopologyRestorationPolicy=None, protection_type: TapiTopologyProtectionType=None): # noqa: E501 + """TapiTopologyResilienceType - a model defined in Swagger + + :param restoration_policy: The restoration_policy of this TapiTopologyResilienceType. # noqa: E501 + :type restoration_policy: TapiTopologyRestorationPolicy + :param protection_type: The protection_type of this TapiTopologyResilienceType. # noqa: E501 + :type protection_type: TapiTopologyProtectionType + """ + self.swagger_types = { + 'restoration_policy': TapiTopologyRestorationPolicy, + 'protection_type': TapiTopologyProtectionType + } + + self.attribute_map = { + 'restoration_policy': 'restoration-policy', + 'protection_type': 'protection-type' + } + self._restoration_policy = restoration_policy + self._protection_type = protection_type + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyResilienceType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ResilienceType of this TapiTopologyResilienceType. # noqa: E501 + :rtype: TapiTopologyResilienceType + """ + return util.deserialize_model(dikt, cls) + + @property + def restoration_policy(self) -> TapiTopologyRestorationPolicy: + """Gets the restoration_policy of this TapiTopologyResilienceType. + + + :return: The restoration_policy of this TapiTopologyResilienceType. + :rtype: TapiTopologyRestorationPolicy + """ + return self._restoration_policy + + @restoration_policy.setter + def restoration_policy(self, restoration_policy: TapiTopologyRestorationPolicy): + """Sets the restoration_policy of this TapiTopologyResilienceType. + + + :param restoration_policy: The restoration_policy of this TapiTopologyResilienceType. + :type restoration_policy: TapiTopologyRestorationPolicy + """ + + self._restoration_policy = restoration_policy + + @property + def protection_type(self) -> TapiTopologyProtectionType: + """Gets the protection_type of this TapiTopologyResilienceType. + + + :return: The protection_type of this TapiTopologyResilienceType. + :rtype: TapiTopologyProtectionType + """ + return self._protection_type + + @protection_type.setter + def protection_type(self, protection_type: TapiTopologyProtectionType): + """Sets the protection_type of this TapiTopologyResilienceType. + + + :param protection_type: The protection_type of this TapiTopologyResilienceType. + :type protection_type: TapiTopologyProtectionType + """ + + self._protection_type = protection_type diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_resilience_type_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_resilience_type_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..0aee9c035b3611c5f03716101aa0a0b0c7683ef7 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_resilience_type_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_resilience_type import TapiTopologyResilienceType # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyResilienceTypeWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, resilience_type: TapiTopologyResilienceType=None): # noqa: E501 + """TapiTopologyResilienceTypeWrapper - a model defined in Swagger + + :param resilience_type: The resilience_type of this TapiTopologyResilienceTypeWrapper. # noqa: E501 + :type resilience_type: TapiTopologyResilienceType + """ + self.swagger_types = { + 'resilience_type': TapiTopologyResilienceType + } + + self.attribute_map = { + 'resilience_type': 'resilience-type' + } + self._resilience_type = resilience_type + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyResilienceTypeWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ResilienceTypeWrapper of this TapiTopologyResilienceTypeWrapper. # noqa: E501 + :rtype: TapiTopologyResilienceTypeWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def resilience_type(self) -> TapiTopologyResilienceType: + """Gets the resilience_type of this TapiTopologyResilienceTypeWrapper. + + + :return: The resilience_type of this TapiTopologyResilienceTypeWrapper. + :rtype: TapiTopologyResilienceType + """ + return self._resilience_type + + @resilience_type.setter + def resilience_type(self, resilience_type: TapiTopologyResilienceType): + """Sets the resilience_type of this TapiTopologyResilienceTypeWrapper. + + + :param resilience_type: The resilience_type of this TapiTopologyResilienceTypeWrapper. + :type resilience_type: TapiTopologyResilienceType + """ + + self._resilience_type = resilience_type diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_restoration_policy.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_restoration_policy.py new file mode 100644 index 0000000000000000000000000000000000000000..0986e10693a23a54f1a6fb26fca981ecc376d473 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_restoration_policy.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyRestorationPolicy(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + PER_DOMAIN_RESTORATION = "PER_DOMAIN_RESTORATION" + END_TO_END_RESTORATION = "END_TO_END_RESTORATION" + NA = "NA" + def __init__(self): # noqa: E501 + """TapiTopologyRestorationPolicy - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRestorationPolicy': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.RestorationPolicy of this TapiTopologyRestorationPolicy. # noqa: E501 + :rtype: TapiTopologyRestorationPolicy + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_characteristic.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_characteristic.py new file mode 100644 index 0000000000000000000000000000000000000000..8e65e521e5cb653b379fd648e15aff18876c5375 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_characteristic.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyRiskCharacteristic(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, risk_characteristic_name: str=None, risk_identifier_list: List[str]=None): # noqa: E501 + """TapiTopologyRiskCharacteristic - a model defined in Swagger + + :param risk_characteristic_name: The risk_characteristic_name of this TapiTopologyRiskCharacteristic. # noqa: E501 + :type risk_characteristic_name: str + :param risk_identifier_list: The risk_identifier_list of this TapiTopologyRiskCharacteristic. # noqa: E501 + :type risk_identifier_list: List[str] + """ + self.swagger_types = { + 'risk_characteristic_name': str, + 'risk_identifier_list': List[str] + } + + self.attribute_map = { + 'risk_characteristic_name': 'risk-characteristic-name', + 'risk_identifier_list': 'risk-identifier-list' + } + self._risk_characteristic_name = risk_characteristic_name + self._risk_identifier_list = risk_identifier_list + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRiskCharacteristic': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.RiskCharacteristic of this TapiTopologyRiskCharacteristic. # noqa: E501 + :rtype: TapiTopologyRiskCharacteristic + """ + return util.deserialize_model(dikt, cls) + + @property + def risk_characteristic_name(self) -> str: + """Gets the risk_characteristic_name of this TapiTopologyRiskCharacteristic. + + The name of the risk characteristic. The characteristic may be related to a specific degree of closeness. For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge). Depending upon the importance of the traffic being routed different risk characteristics will be evaluated. # noqa: E501 + + :return: The risk_characteristic_name of this TapiTopologyRiskCharacteristic. + :rtype: str + """ + return self._risk_characteristic_name + + @risk_characteristic_name.setter + def risk_characteristic_name(self, risk_characteristic_name: str): + """Sets the risk_characteristic_name of this TapiTopologyRiskCharacteristic. + + The name of the risk characteristic. The characteristic may be related to a specific degree of closeness. For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge). Depending upon the importance of the traffic being routed different risk characteristics will be evaluated. # noqa: E501 + + :param risk_characteristic_name: The risk_characteristic_name of this TapiTopologyRiskCharacteristic. + :type risk_characteristic_name: str + """ + + self._risk_characteristic_name = risk_characteristic_name + + @property + def risk_identifier_list(self) -> List[str]: + """Gets the risk_identifier_list of this TapiTopologyRiskCharacteristic. + + A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity. # noqa: E501 + + :return: The risk_identifier_list of this TapiTopologyRiskCharacteristic. + :rtype: List[str] + """ + return self._risk_identifier_list + + @risk_identifier_list.setter + def risk_identifier_list(self, risk_identifier_list: List[str]): + """Sets the risk_identifier_list of this TapiTopologyRiskCharacteristic. + + A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity. # noqa: E501 + + :param risk_identifier_list: The risk_identifier_list of this TapiTopologyRiskCharacteristic. + :type risk_identifier_list: List[str] + """ + + self._risk_identifier_list = risk_identifier_list diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_characteristic_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_characteristic_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..030e148e23f6dde64eed41f2986a50088359c3f6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_characteristic_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyRiskCharacteristicWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, risk_diversity_characteristic: TapiTopologyRiskCharacteristic=None): # noqa: E501 + """TapiTopologyRiskCharacteristicWrapper - a model defined in Swagger + + :param risk_diversity_characteristic: The risk_diversity_characteristic of this TapiTopologyRiskCharacteristicWrapper. # noqa: E501 + :type risk_diversity_characteristic: TapiTopologyRiskCharacteristic + """ + self.swagger_types = { + 'risk_diversity_characteristic': TapiTopologyRiskCharacteristic + } + + self.attribute_map = { + 'risk_diversity_characteristic': 'risk-diversity-characteristic' + } + self._risk_diversity_characteristic = risk_diversity_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRiskCharacteristicWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.RiskCharacteristicWrapper of this TapiTopologyRiskCharacteristicWrapper. # noqa: E501 + :rtype: TapiTopologyRiskCharacteristicWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def risk_diversity_characteristic(self) -> TapiTopologyRiskCharacteristic: + """Gets the risk_diversity_characteristic of this TapiTopologyRiskCharacteristicWrapper. + + + :return: The risk_diversity_characteristic of this TapiTopologyRiskCharacteristicWrapper. + :rtype: TapiTopologyRiskCharacteristic + """ + return self._risk_diversity_characteristic + + @risk_diversity_characteristic.setter + def risk_diversity_characteristic(self, risk_diversity_characteristic: TapiTopologyRiskCharacteristic): + """Sets the risk_diversity_characteristic of this TapiTopologyRiskCharacteristicWrapper. + + + :param risk_diversity_characteristic: The risk_diversity_characteristic of this TapiTopologyRiskCharacteristicWrapper. + :type risk_diversity_characteristic: TapiTopologyRiskCharacteristic + """ + + self._risk_diversity_characteristic = risk_diversity_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_parameter_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_parameter_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..0aa546ad8ff49aa299c9a90174c9cb912269c725 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_risk_parameter_pac.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_risk_characteristic import TapiTopologyRiskCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyRiskParameterPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, risk_characteristic: List[TapiTopologyRiskCharacteristic]=None): # noqa: E501 + """TapiTopologyRiskParameterPac - a model defined in Swagger + + :param risk_characteristic: The risk_characteristic of this TapiTopologyRiskParameterPac. # noqa: E501 + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + """ + self.swagger_types = { + 'risk_characteristic': List[TapiTopologyRiskCharacteristic] + } + + self.attribute_map = { + 'risk_characteristic': 'risk-characteristic' + } + self._risk_characteristic = risk_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRiskParameterPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.RiskParameterPac of this TapiTopologyRiskParameterPac. # noqa: E501 + :rtype: TapiTopologyRiskParameterPac + """ + return util.deserialize_model(dikt, cls) + + @property + def risk_characteristic(self) -> List[TapiTopologyRiskCharacteristic]: + """Gets the risk_characteristic of this TapiTopologyRiskParameterPac. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :return: The risk_characteristic of this TapiTopologyRiskParameterPac. + :rtype: List[TapiTopologyRiskCharacteristic] + """ + return self._risk_characteristic + + @risk_characteristic.setter + def risk_characteristic(self, risk_characteristic: List[TapiTopologyRiskCharacteristic]): + """Sets the risk_characteristic of this TapiTopologyRiskParameterPac. + + A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration. # noqa: E501 + + :param risk_characteristic: The risk_characteristic of this TapiTopologyRiskParameterPac. + :type risk_characteristic: List[TapiTopologyRiskCharacteristic] + """ + + self._risk_characteristic = risk_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_rule.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_rule.py new file mode 100644 index 0000000000000000000000000000000000000000..8d087fefb918b7fb167522f3964a96fb8519cd3f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_rule.py @@ -0,0 +1,346 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_local_class import TapiCommonLocalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_port_direction import TapiCommonPortDirection # noqa: F401,E501 +from tapi_server.models.tapi_topology_connection_spec_reference import TapiTopologyConnectionSpecReference # noqa: F401,E501 +from tapi_server.models.tapi_topology_forwarding_rule import TapiTopologyForwardingRule # noqa: F401,E501 +from tapi_server.models.tapi_topology_port_role_rule import TapiTopologyPortRoleRule # noqa: F401,E501 +from tapi_server.models.tapi_topology_rule_type import TapiTopologyRuleType # noqa: F401,E501 +from tapi_server.models.tapi_topology_signal_property_rule import TapiTopologySignalPropertyRule # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyRule(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, local_id: str=None, complex_rule: List[str]=None, rule_type: TapiTopologyRuleType=None, signal_property: TapiTopologySignalPropertyRule=None, connection_spec_reference: List[TapiTopologyConnectionSpecReference]=None, cep_port_role: List[TapiTopologyPortRoleRule]=None, cep_direction: List[TapiCommonPortDirection]=None, override_priority: int=None, layer_protocol_qualifier: List[str]=None, forwarding_rule: TapiTopologyForwardingRule=None): # noqa: E501 + """TapiTopologyRule - a model defined in Swagger + + :param name: The name of this TapiTopologyRule. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param local_id: The local_id of this TapiTopologyRule. # noqa: E501 + :type local_id: str + :param complex_rule: The complex_rule of this TapiTopologyRule. # noqa: E501 + :type complex_rule: List[str] + :param rule_type: The rule_type of this TapiTopologyRule. # noqa: E501 + :type rule_type: TapiTopologyRuleType + :param signal_property: The signal_property of this TapiTopologyRule. # noqa: E501 + :type signal_property: TapiTopologySignalPropertyRule + :param connection_spec_reference: The connection_spec_reference of this TapiTopologyRule. # noqa: E501 + :type connection_spec_reference: List[TapiTopologyConnectionSpecReference] + :param cep_port_role: The cep_port_role of this TapiTopologyRule. # noqa: E501 + :type cep_port_role: List[TapiTopologyPortRoleRule] + :param cep_direction: The cep_direction of this TapiTopologyRule. # noqa: E501 + :type cep_direction: List[TapiCommonPortDirection] + :param override_priority: The override_priority of this TapiTopologyRule. # noqa: E501 + :type override_priority: int + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiTopologyRule. # noqa: E501 + :type layer_protocol_qualifier: List[str] + :param forwarding_rule: The forwarding_rule of this TapiTopologyRule. # noqa: E501 + :type forwarding_rule: TapiTopologyForwardingRule + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'local_id': str, + 'complex_rule': List[str], + 'rule_type': TapiTopologyRuleType, + 'signal_property': TapiTopologySignalPropertyRule, + 'connection_spec_reference': List[TapiTopologyConnectionSpecReference], + 'cep_port_role': List[TapiTopologyPortRoleRule], + 'cep_direction': List[TapiCommonPortDirection], + 'override_priority': int, + 'layer_protocol_qualifier': List[str], + 'forwarding_rule': TapiTopologyForwardingRule + } + + self.attribute_map = { + 'name': 'name', + 'local_id': 'local-id', + 'complex_rule': 'complex-rule', + 'rule_type': 'rule-type', + 'signal_property': 'signal-property', + 'connection_spec_reference': 'connection-spec-reference', + 'cep_port_role': 'cep-port-role', + 'cep_direction': 'cep-direction', + 'override_priority': 'override-priority', + 'layer_protocol_qualifier': 'layer-protocol-qualifier', + 'forwarding_rule': 'forwarding-rule' + } + self._name = name + self._local_id = local_id + self._complex_rule = complex_rule + self._rule_type = rule_type + self._signal_property = signal_property + self._connection_spec_reference = connection_spec_reference + self._cep_port_role = cep_port_role + self._cep_direction = cep_direction + self._override_priority = override_priority + self._layer_protocol_qualifier = layer_protocol_qualifier + self._forwarding_rule = forwarding_rule + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRule': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.Rule of this TapiTopologyRule. # noqa: E501 + :rtype: TapiTopologyRule + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyRule. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyRule. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyRule. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyRule. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def local_id(self) -> str: + """Gets the local_id of this TapiTopologyRule. + + none # noqa: E501 + + :return: The local_id of this TapiTopologyRule. + :rtype: str + """ + return self._local_id + + @local_id.setter + def local_id(self, local_id: str): + """Sets the local_id of this TapiTopologyRule. + + none # noqa: E501 + + :param local_id: The local_id of this TapiTopologyRule. + :type local_id: str + """ + + self._local_id = local_id + + @property + def complex_rule(self) -> List[str]: + """Gets the complex_rule of this TapiTopologyRule. + + Allows for more complex rules where the basic rule system is not sufficient. # noqa: E501 + + :return: The complex_rule of this TapiTopologyRule. + :rtype: List[str] + """ + return self._complex_rule + + @complex_rule.setter + def complex_rule(self, complex_rule: List[str]): + """Sets the complex_rule of this TapiTopologyRule. + + Allows for more complex rules where the basic rule system is not sufficient. # noqa: E501 + + :param complex_rule: The complex_rule of this TapiTopologyRule. + :type complex_rule: List[str] + """ + + self._complex_rule = complex_rule + + @property + def rule_type(self) -> TapiTopologyRuleType: + """Gets the rule_type of this TapiTopologyRule. + + + :return: The rule_type of this TapiTopologyRule. + :rtype: TapiTopologyRuleType + """ + return self._rule_type + + @rule_type.setter + def rule_type(self, rule_type: TapiTopologyRuleType): + """Sets the rule_type of this TapiTopologyRule. + + + :param rule_type: The rule_type of this TapiTopologyRule. + :type rule_type: TapiTopologyRuleType + """ + + self._rule_type = rule_type + + @property + def signal_property(self) -> TapiTopologySignalPropertyRule: + """Gets the signal_property of this TapiTopologyRule. + + + :return: The signal_property of this TapiTopologyRule. + :rtype: TapiTopologySignalPropertyRule + """ + return self._signal_property + + @signal_property.setter + def signal_property(self, signal_property: TapiTopologySignalPropertyRule): + """Sets the signal_property of this TapiTopologyRule. + + + :param signal_property: The signal_property of this TapiTopologyRule. + :type signal_property: TapiTopologySignalPropertyRule + """ + + self._signal_property = signal_property + + @property + def connection_spec_reference(self) -> List[TapiTopologyConnectionSpecReference]: + """Gets the connection_spec_reference of this TapiTopologyRule. + + Identifies the type of connection that the rule applies to. If the attribute is not present then the rule applies to all types of connection supported by the device. # noqa: E501 + + :return: The connection_spec_reference of this TapiTopologyRule. + :rtype: List[TapiTopologyConnectionSpecReference] + """ + return self._connection_spec_reference + + @connection_spec_reference.setter + def connection_spec_reference(self, connection_spec_reference: List[TapiTopologyConnectionSpecReference]): + """Sets the connection_spec_reference of this TapiTopologyRule. + + Identifies the type of connection that the rule applies to. If the attribute is not present then the rule applies to all types of connection supported by the device. # noqa: E501 + + :param connection_spec_reference: The connection_spec_reference of this TapiTopologyRule. + :type connection_spec_reference: List[TapiTopologyConnectionSpecReference] + """ + + self._connection_spec_reference = connection_spec_reference + + @property + def cep_port_role(self) -> List[TapiTopologyPortRoleRule]: + """Gets the cep_port_role of this TapiTopologyRule. + + Indicates the port role to which the rule applies. The port role is interpreted in the context of the connection type which is identified by the connection spec. The port role is not meaningful in the absence of a connection spec reference. If a node rule group carries a port role, that role applies also to the associated inter rule where the combination of the roles in the node rule groups at the ends of the inter group rule define the connection orientation. For example a root-and-leaf connection may be used in a node where a node rule group collects one set of NEPs has the port role 'root' and another node rule group collects another set of NEPs has the port role 'leaf' where these are joined by an inter rule group. This combination specifies an allowed orientation of the root-and-leaf connection. No port role statement means all port roles are allowed. # noqa: E501 + + :return: The cep_port_role of this TapiTopologyRule. + :rtype: List[TapiTopologyPortRoleRule] + """ + return self._cep_port_role + + @cep_port_role.setter + def cep_port_role(self, cep_port_role: List[TapiTopologyPortRoleRule]): + """Sets the cep_port_role of this TapiTopologyRule. + + Indicates the port role to which the rule applies. The port role is interpreted in the context of the connection type which is identified by the connection spec. The port role is not meaningful in the absence of a connection spec reference. If a node rule group carries a port role, that role applies also to the associated inter rule where the combination of the roles in the node rule groups at the ends of the inter group rule define the connection orientation. For example a root-and-leaf connection may be used in a node where a node rule group collects one set of NEPs has the port role 'root' and another node rule group collects another set of NEPs has the port role 'leaf' where these are joined by an inter rule group. This combination specifies an allowed orientation of the root-and-leaf connection. No port role statement means all port roles are allowed. # noqa: E501 + + :param cep_port_role: The cep_port_role of this TapiTopologyRule. + :type cep_port_role: List[TapiTopologyPortRoleRule] + """ + + self._cep_port_role = cep_port_role + + @property + def cep_direction(self) -> List[TapiCommonPortDirection]: + """Gets the cep_direction of this TapiTopologyRule. + + cep direction is a list of port directions that the rule applies to. No entry means all cep directions. # noqa: E501 + + :return: The cep_direction of this TapiTopologyRule. + :rtype: List[TapiCommonPortDirection] + """ + return self._cep_direction + + @cep_direction.setter + def cep_direction(self, cep_direction: List[TapiCommonPortDirection]): + """Sets the cep_direction of this TapiTopologyRule. + + cep direction is a list of port directions that the rule applies to. No entry means all cep directions. # noqa: E501 + + :param cep_direction: The cep_direction of this TapiTopologyRule. + :type cep_direction: List[TapiCommonPortDirection] + """ + + self._cep_direction = cep_direction + + @property + def override_priority(self) -> int: + """Gets the override_priority of this TapiTopologyRule. + + The overridePriority allows for one rule in a rule group to override another. Priority n rules override priority n+1 rules. Rules of the same priority override as follows (n overrides n+1): 1 - MustNot 2 - Must 3 - May 4 - Null Within a rule the flexibility rules (signal, port role...) override as follows (n overriedes n+1): 1 - Any 2 - Same 3 - Different Where there are two or more 'Same' rules, they will form an intersection where all must be met. # noqa: E501 + + :return: The override_priority of this TapiTopologyRule. + :rtype: int + """ + return self._override_priority + + @override_priority.setter + def override_priority(self, override_priority: int): + """Sets the override_priority of this TapiTopologyRule. + + The overridePriority allows for one rule in a rule group to override another. Priority n rules override priority n+1 rules. Rules of the same priority override as follows (n overrides n+1): 1 - MustNot 2 - Must 3 - May 4 - Null Within a rule the flexibility rules (signal, port role...) override as follows (n overriedes n+1): 1 - Any 2 - Same 3 - Different Where there are two or more 'Same' rules, they will form an intersection where all must be met. # noqa: E501 + + :param override_priority: The override_priority of this TapiTopologyRule. + :type override_priority: int + """ + + self._override_priority = override_priority + + @property + def layer_protocol_qualifier(self) -> List[str]: + """Gets the layer_protocol_qualifier of this TapiTopologyRule. + + Qualifies a rule for a particular layerProtocol identifying the qualifiers that the rule apples to. If the attribute is not present then the rule applies to all relevant qualifiers of the layer protocol of the parent entity. # noqa: E501 + + :return: The layer_protocol_qualifier of this TapiTopologyRule. + :rtype: List[str] + """ + return self._layer_protocol_qualifier + + @layer_protocol_qualifier.setter + def layer_protocol_qualifier(self, layer_protocol_qualifier: List[str]): + """Sets the layer_protocol_qualifier of this TapiTopologyRule. + + Qualifies a rule for a particular layerProtocol identifying the qualifiers that the rule apples to. If the attribute is not present then the rule applies to all relevant qualifiers of the layer protocol of the parent entity. # noqa: E501 + + :param layer_protocol_qualifier: The layer_protocol_qualifier of this TapiTopologyRule. + :type layer_protocol_qualifier: List[str] + """ + + self._layer_protocol_qualifier = layer_protocol_qualifier + + @property + def forwarding_rule(self) -> TapiTopologyForwardingRule: + """Gets the forwarding_rule of this TapiTopologyRule. + + + :return: The forwarding_rule of this TapiTopologyRule. + :rtype: TapiTopologyForwardingRule + """ + return self._forwarding_rule + + @forwarding_rule.setter + def forwarding_rule(self, forwarding_rule: TapiTopologyForwardingRule): + """Sets the forwarding_rule of this TapiTopologyRule. + + + :param forwarding_rule: The forwarding_rule of this TapiTopologyRule. + :type forwarding_rule: TapiTopologyForwardingRule + """ + + self._forwarding_rule = forwarding_rule diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_rule_type.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_rule_type.py new file mode 100644 index 0000000000000000000000000000000000000000..3cdfeafe5ebe9d8af5deb7efeaf0ae5c8d33af87 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_rule_type.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyRuleType(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + allowed enum values + """ + FORWARDING = "FORWARDING" + CAPACITY = "CAPACITY" + COST = "COST" + TIMING = "TIMING" + RISK = "RISK" + GROUPING = "GROUPING" + def __init__(self): # noqa: E501 + """TapiTopologyRuleType - a model defined in Swagger + + """ + self.swagger_types = { + } + + self.attribute_map = { + } + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRuleType': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.RuleType of this TapiTopologyRuleType. # noqa: E501 + :rtype: TapiTopologyRuleType + """ + return util.deserialize_model(dikt, cls) diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_rule_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_rule_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..1ce9e5fa2ada44897b31ff611934196d26a1179e --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_rule_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_rule import TapiTopologyRule # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyRuleWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, rule: TapiTopologyRule=None): # noqa: E501 + """TapiTopologyRuleWrapper - a model defined in Swagger + + :param rule: The rule of this TapiTopologyRuleWrapper. # noqa: E501 + :type rule: TapiTopologyRule + """ + self.swagger_types = { + 'rule': TapiTopologyRule + } + + self.attribute_map = { + 'rule': 'rule' + } + self._rule = rule + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyRuleWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.RuleWrapper of this TapiTopologyRuleWrapper. # noqa: E501 + :rtype: TapiTopologyRuleWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def rule(self) -> TapiTopologyRule: + """Gets the rule of this TapiTopologyRuleWrapper. + + + :return: The rule of this TapiTopologyRuleWrapper. + :rtype: TapiTopologyRule + """ + return self._rule + + @rule.setter + def rule(self, rule: TapiTopologyRule): + """Sets the rule of this TapiTopologyRuleWrapper. + + + :param rule: The rule of this TapiTopologyRuleWrapper. + :type rule: TapiTopologyRule + """ + + self._rule = rule diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_signal_property_rule.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_signal_property_rule.py new file mode 100644 index 0000000000000000000000000000000000000000..a7faecd16ebe8be8ed974a565d1c4efd79615a05 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_signal_property_rule.py @@ -0,0 +1,148 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologySignalPropertyRule(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, number_of_signal_values: int=None, applicable_signal_value: List[str]=None, signal_property_value_rule: str=None, signal_property_name: str=None): # noqa: E501 + """TapiTopologySignalPropertyRule - a model defined in Swagger + + :param number_of_signal_values: The number_of_signal_values of this TapiTopologySignalPropertyRule. # noqa: E501 + :type number_of_signal_values: int + :param applicable_signal_value: The applicable_signal_value of this TapiTopologySignalPropertyRule. # noqa: E501 + :type applicable_signal_value: List[str] + :param signal_property_value_rule: The signal_property_value_rule of this TapiTopologySignalPropertyRule. # noqa: E501 + :type signal_property_value_rule: str + :param signal_property_name: The signal_property_name of this TapiTopologySignalPropertyRule. # noqa: E501 + :type signal_property_name: str + """ + self.swagger_types = { + 'number_of_signal_values': int, + 'applicable_signal_value': List[str], + 'signal_property_value_rule': str, + 'signal_property_name': str + } + + self.attribute_map = { + 'number_of_signal_values': 'number-of-signal-values', + 'applicable_signal_value': 'applicable-signal-value', + 'signal_property_value_rule': 'signal-property-value-rule', + 'signal_property_name': 'signal-property-name' + } + self._number_of_signal_values = number_of_signal_values + self._applicable_signal_value = applicable_signal_value + self._signal_property_value_rule = signal_property_value_rule + self._signal_property_name = signal_property_name + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologySignalPropertyRule': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.SignalPropertyRule of this TapiTopologySignalPropertyRule. # noqa: E501 + :rtype: TapiTopologySignalPropertyRule + """ + return util.deserialize_model(dikt, cls) + + @property + def number_of_signal_values(self) -> int: + """Gets the number_of_signal_values of this TapiTopologySignalPropertyRule. + + The number of instances of this specific property that can be supported by the group. # noqa: E501 + + :return: The number_of_signal_values of this TapiTopologySignalPropertyRule. + :rtype: int + """ + return self._number_of_signal_values + + @number_of_signal_values.setter + def number_of_signal_values(self, number_of_signal_values: int): + """Sets the number_of_signal_values of this TapiTopologySignalPropertyRule. + + The number of instances of this specific property that can be supported by the group. # noqa: E501 + + :param number_of_signal_values: The number_of_signal_values of this TapiTopologySignalPropertyRule. + :type number_of_signal_values: int + """ + + self._number_of_signal_values = number_of_signal_values + + @property + def applicable_signal_value(self) -> List[str]: + """Gets the applicable_signal_value of this TapiTopologySignalPropertyRule. + + Specific values of the signal property to which the rule applies. # noqa: E501 + + :return: The applicable_signal_value of this TapiTopologySignalPropertyRule. + :rtype: List[str] + """ + return self._applicable_signal_value + + @applicable_signal_value.setter + def applicable_signal_value(self, applicable_signal_value: List[str]): + """Sets the applicable_signal_value of this TapiTopologySignalPropertyRule. + + Specific values of the signal property to which the rule applies. # noqa: E501 + + :param applicable_signal_value: The applicable_signal_value of this TapiTopologySignalPropertyRule. + :type applicable_signal_value: List[str] + """ + + self._applicable_signal_value = applicable_signal_value + + @property + def signal_property_value_rule(self) -> str: + """Gets the signal_property_value_rule of this TapiTopologySignalPropertyRule. + + Indicates how the signal properties should be accounted for. # noqa: E501 + + :return: The signal_property_value_rule of this TapiTopologySignalPropertyRule. + :rtype: str + """ + return self._signal_property_value_rule + + @signal_property_value_rule.setter + def signal_property_value_rule(self, signal_property_value_rule: str): + """Sets the signal_property_value_rule of this TapiTopologySignalPropertyRule. + + Indicates how the signal properties should be accounted for. # noqa: E501 + + :param signal_property_value_rule: The signal_property_value_rule of this TapiTopologySignalPropertyRule. + :type signal_property_value_rule: str + """ + + self._signal_property_value_rule = signal_property_value_rule + + @property + def signal_property_name(self) -> str: + """Gets the signal_property_name of this TapiTopologySignalPropertyRule. + + The name of the signal property to which the rule applies. # noqa: E501 + + :return: The signal_property_name of this TapiTopologySignalPropertyRule. + :rtype: str + """ + return self._signal_property_name + + @signal_property_name.setter + def signal_property_name(self, signal_property_name: str): + """Sets the signal_property_name of this TapiTopologySignalPropertyRule. + + The name of the signal property to which the rule applies. # noqa: E501 + + :param signal_property_name: The signal_property_name of this TapiTopologySignalPropertyRule. + :type signal_property_name: str + """ + + self._signal_property_name = signal_property_name diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_signal_property_rule_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_signal_property_rule_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..a6553cbd1a1ecfbefa77f9ef95e870709656ca5d --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_signal_property_rule_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_signal_property_rule import TapiTopologySignalPropertyRule # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologySignalPropertyRuleWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, signal_property: TapiTopologySignalPropertyRule=None): # noqa: E501 + """TapiTopologySignalPropertyRuleWrapper - a model defined in Swagger + + :param signal_property: The signal_property of this TapiTopologySignalPropertyRuleWrapper. # noqa: E501 + :type signal_property: TapiTopologySignalPropertyRule + """ + self.swagger_types = { + 'signal_property': TapiTopologySignalPropertyRule + } + + self.attribute_map = { + 'signal_property': 'signal-property' + } + self._signal_property = signal_property + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologySignalPropertyRuleWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.SignalPropertyRuleWrapper of this TapiTopologySignalPropertyRuleWrapper. # noqa: E501 + :rtype: TapiTopologySignalPropertyRuleWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def signal_property(self) -> TapiTopologySignalPropertyRule: + """Gets the signal_property of this TapiTopologySignalPropertyRuleWrapper. + + + :return: The signal_property of this TapiTopologySignalPropertyRuleWrapper. + :rtype: TapiTopologySignalPropertyRule + """ + return self._signal_property + + @signal_property.setter + def signal_property(self, signal_property: TapiTopologySignalPropertyRule): + """Sets the signal_property of this TapiTopologySignalPropertyRuleWrapper. + + + :param signal_property: The signal_property of this TapiTopologySignalPropertyRuleWrapper. + :type signal_property: TapiTopologySignalPropertyRule + """ + + self._signal_property = signal_property diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..4cbfa914c30ce5d536c239f99b26f76e63f7679a --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology.py @@ -0,0 +1,181 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_topology_link import TapiTopologyLink # noqa: F401,E501 +from tapi_server.models.tapi_topology_node import TapiTopologyNode # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopology(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, name: List[TapiCommonNameAndValue]=None, uuid: str=None, layer_protocol_name: List[TapiCommonLayerProtocolName]=None, link: List[TapiTopologyLink]=None, node: List[TapiTopologyNode]=None): # noqa: E501 + """TapiTopologyTopology - a model defined in Swagger + + :param name: The name of this TapiTopologyTopology. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyTopology. # noqa: E501 + :type uuid: str + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyTopology. # noqa: E501 + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + :param link: The link of this TapiTopologyTopology. # noqa: E501 + :type link: List[TapiTopologyLink] + :param node: The node of this TapiTopologyTopology. # noqa: E501 + :type node: List[TapiTopologyNode] + """ + self.swagger_types = { + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'layer_protocol_name': List[TapiCommonLayerProtocolName], + 'link': List[TapiTopologyLink], + 'node': List[TapiTopologyNode] + } + + self.attribute_map = { + 'name': 'name', + 'uuid': 'uuid', + 'layer_protocol_name': 'layer-protocol-name', + 'link': 'link', + 'node': 'node' + } + self._name = name + self._uuid = uuid + self._layer_protocol_name = layer_protocol_name + self._link = link + self._node = node + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopology': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.Topology of this TapiTopologyTopology. # noqa: E501 + :rtype: TapiTopologyTopology + """ + return util.deserialize_model(dikt, cls) + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyTopology. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyTopology. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyTopology. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyTopology. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyTopology. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyTopology. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyTopology. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyTopology. + :type uuid: str + """ + + self._uuid = uuid + + @property + def layer_protocol_name(self) -> List[TapiCommonLayerProtocolName]: + """Gets the layer_protocol_name of this TapiTopologyTopology. + + none # noqa: E501 + + :return: The layer_protocol_name of this TapiTopologyTopology. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: List[TapiCommonLayerProtocolName]): + """Sets the layer_protocol_name of this TapiTopologyTopology. + + none # noqa: E501 + + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyTopology. + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def link(self) -> List[TapiTopologyLink]: + """Gets the link of this TapiTopologyTopology. + + none # noqa: E501 + + :return: The link of this TapiTopologyTopology. + :rtype: List[TapiTopologyLink] + """ + return self._link + + @link.setter + def link(self, link: List[TapiTopologyLink]): + """Sets the link of this TapiTopologyTopology. + + none # noqa: E501 + + :param link: The link of this TapiTopologyTopology. + :type link: List[TapiTopologyLink] + """ + + self._link = link + + @property + def node(self) -> List[TapiTopologyNode]: + """Gets the node of this TapiTopologyTopology. + + none # noqa: E501 + + :return: The node of this TapiTopologyTopology. + :rtype: List[TapiTopologyNode] + """ + return self._node + + @node.setter + def node(self, node: List[TapiTopologyNode]): + """Sets the node of this TapiTopologyTopology. + + none # noqa: E501 + + :param node: The node of this TapiTopologyTopology. + :type node: List[TapiTopologyNode] + """ + + self._node = node diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_context.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_context.py new file mode 100644 index 0000000000000000000000000000000000000000..d4912545297faa3503d7cef12e456c7ed744e7ab --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_context.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_network_topology_service import TapiTopologyNetworkTopologyService # noqa: F401,E501 +from tapi_server.models.tapi_topology_topology import TapiTopologyTopology # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopologyContext(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, nw_topology_service: TapiTopologyNetworkTopologyService=None, topology: List[TapiTopologyTopology]=None): # noqa: E501 + """TapiTopologyTopologyContext - a model defined in Swagger + + :param nw_topology_service: The nw_topology_service of this TapiTopologyTopologyContext. # noqa: E501 + :type nw_topology_service: TapiTopologyNetworkTopologyService + :param topology: The topology of this TapiTopologyTopologyContext. # noqa: E501 + :type topology: List[TapiTopologyTopology] + """ + self.swagger_types = { + 'nw_topology_service': TapiTopologyNetworkTopologyService, + 'topology': List[TapiTopologyTopology] + } + + self.attribute_map = { + 'nw_topology_service': 'nw-topology-service', + 'topology': 'topology' + } + self._nw_topology_service = nw_topology_service + self._topology = topology + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyContext': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TopologyContext of this TapiTopologyTopologyContext. # noqa: E501 + :rtype: TapiTopologyTopologyContext + """ + return util.deserialize_model(dikt, cls) + + @property + def nw_topology_service(self) -> TapiTopologyNetworkTopologyService: + """Gets the nw_topology_service of this TapiTopologyTopologyContext. + + + :return: The nw_topology_service of this TapiTopologyTopologyContext. + :rtype: TapiTopologyNetworkTopologyService + """ + return self._nw_topology_service + + @nw_topology_service.setter + def nw_topology_service(self, nw_topology_service: TapiTopologyNetworkTopologyService): + """Sets the nw_topology_service of this TapiTopologyTopologyContext. + + + :param nw_topology_service: The nw_topology_service of this TapiTopologyTopologyContext. + :type nw_topology_service: TapiTopologyNetworkTopologyService + """ + + self._nw_topology_service = nw_topology_service + + @property + def topology(self) -> List[TapiTopologyTopology]: + """Gets the topology of this TapiTopologyTopologyContext. + + none # noqa: E501 + + :return: The topology of this TapiTopologyTopologyContext. + :rtype: List[TapiTopologyTopology] + """ + return self._topology + + @topology.setter + def topology(self, topology: List[TapiTopologyTopology]): + """Sets the topology of this TapiTopologyTopologyContext. + + none # noqa: E501 + + :param topology: The topology of this TapiTopologyTopologyContext. + :type topology: List[TapiTopologyTopology] + """ + + self._topology = topology diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_context_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_context_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..08c38f43433d025171c10c7fc7fb9e902e643119 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_context_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology_context import TapiTopologyTopologyContext # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopologyContextWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, tapi_topologytopology_context: TapiTopologyTopologyContext=None): # noqa: E501 + """TapiTopologyTopologyContextWrapper - a model defined in Swagger + + :param tapi_topologytopology_context: The tapi_topologytopology_context of this TapiTopologyTopologyContextWrapper. # noqa: E501 + :type tapi_topologytopology_context: TapiTopologyTopologyContext + """ + self.swagger_types = { + 'tapi_topologytopology_context': TapiTopologyTopologyContext + } + + self.attribute_map = { + 'tapi_topologytopology_context': 'tapi-topology:topology-context' + } + self._tapi_topologytopology_context = tapi_topologytopology_context + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyContextWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TopologyContextWrapper of this TapiTopologyTopologyContextWrapper. # noqa: E501 + :rtype: TapiTopologyTopologyContextWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def tapi_topologytopology_context(self) -> TapiTopologyTopologyContext: + """Gets the tapi_topologytopology_context of this TapiTopologyTopologyContextWrapper. + + + :return: The tapi_topologytopology_context of this TapiTopologyTopologyContextWrapper. + :rtype: TapiTopologyTopologyContext + """ + return self._tapi_topologytopology_context + + @tapi_topologytopology_context.setter + def tapi_topologytopology_context(self, tapi_topologytopology_context: TapiTopologyTopologyContext): + """Sets the tapi_topologytopology_context of this TapiTopologyTopologyContextWrapper. + + + :param tapi_topologytopology_context: The tapi_topologytopology_context of this TapiTopologyTopologyContextWrapper. + :type tapi_topologytopology_context: TapiTopologyTopologyContext + """ + + self._tapi_topologytopology_context = tapi_topologytopology_context diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_node.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_node.py new file mode 100644 index 0000000000000000000000000000000000000000..e804dab5ec586fade93a476114474305339914dc --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_node.py @@ -0,0 +1,602 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_common_admin_state_pac import TapiCommonAdminStatePac # noqa: F401,E501 +from tapi_server.models.tapi_common_administrative_state import TapiCommonAdministrativeState # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity import TapiCommonCapacity # noqa: F401,E501 +from tapi_server.models.tapi_common_capacity_pac import TapiCommonCapacityPac # noqa: F401,E501 +from tapi_server.models.tapi_common_global_class import TapiCommonGlobalClass # noqa: F401,E501 +from tapi_server.models.tapi_common_layer_protocol_name import TapiCommonLayerProtocolName # noqa: F401,E501 +from tapi_server.models.tapi_common_lifecycle_state import TapiCommonLifecycleState # noqa: F401,E501 +from tapi_server.models.tapi_common_name_and_value import TapiCommonNameAndValue # noqa: F401,E501 +from tapi_server.models.tapi_common_operational_state import TapiCommonOperationalState # noqa: F401,E501 +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_edge_point_ref import TapiTopologyNodeEdgePointRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_owned_node_edge_point import TapiTopologyNodeOwnedNodeEdgePoint # noqa: F401,E501 +from tapi_server.models.tapi_topology_node_rule_group import TapiTopologyNodeRuleGroup # noqa: F401,E501 +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_cost_pac import TapiTopologyTransferCostPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_integrity_pac import TapiTopologyTransferIntegrityPac # noqa: F401,E501 +from tapi_server.models.tapi_topology_transfer_timing_pac import TapiTopologyTransferTimingPac # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopologyNode(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None, name: List[TapiCommonNameAndValue]=None, uuid: str=None, cost_characteristic: List[TapiTopologyCostCharacteristic]=None, error_characteristic: str=None, unavailable_time_characteristic: str=None, server_integrity_process_characteristic: str=None, delivery_order_characteristic: str=None, repeat_delivery_characteristic: str=None, loss_characteristic: str=None, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None, operational_state: TapiCommonOperationalState=None, lifecycle_state: TapiCommonLifecycleState=None, administrative_state: TapiCommonAdministrativeState=None, layer_protocol_name: List[TapiCommonLayerProtocolName]=None, encap_topology: TapiTopologyTopologyRef=None, owned_node_edge_point: List[TapiTopologyNodeOwnedNodeEdgePoint]=None, node_rule_group: List[TapiTopologyNodeRuleGroup]=None, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]=None): # noqa: E501 + """TapiTopologyTopologyNode - a model defined in Swagger + + :param available_capacity: The available_capacity of this TapiTopologyTopologyNode. # noqa: E501 + :type available_capacity: TapiCommonCapacity + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyTopologyNode. # noqa: E501 + :type total_potential_capacity: TapiCommonCapacity + :param name: The name of this TapiTopologyTopologyNode. # noqa: E501 + :type name: List[TapiCommonNameAndValue] + :param uuid: The uuid of this TapiTopologyTopologyNode. # noqa: E501 + :type uuid: str + :param cost_characteristic: The cost_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + :param error_characteristic: The error_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type error_characteristic: str + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type unavailable_time_characteristic: str + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type server_integrity_process_characteristic: str + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type delivery_order_characteristic: str + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type repeat_delivery_characteristic: str + :param loss_characteristic: The loss_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type loss_characteristic: str + :param latency_characteristic: The latency_characteristic of this TapiTopologyTopologyNode. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + :param operational_state: The operational_state of this TapiTopologyTopologyNode. # noqa: E501 + :type operational_state: TapiCommonOperationalState + :param lifecycle_state: The lifecycle_state of this TapiTopologyTopologyNode. # noqa: E501 + :type lifecycle_state: TapiCommonLifecycleState + :param administrative_state: The administrative_state of this TapiTopologyTopologyNode. # noqa: E501 + :type administrative_state: TapiCommonAdministrativeState + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyTopologyNode. # noqa: E501 + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + :param encap_topology: The encap_topology of this TapiTopologyTopologyNode. # noqa: E501 + :type encap_topology: TapiTopologyTopologyRef + :param owned_node_edge_point: The owned_node_edge_point of this TapiTopologyTopologyNode. # noqa: E501 + :type owned_node_edge_point: List[TapiTopologyNodeOwnedNodeEdgePoint] + :param node_rule_group: The node_rule_group of this TapiTopologyTopologyNode. # noqa: E501 + :type node_rule_group: List[TapiTopologyNodeRuleGroup] + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyTopologyNode. # noqa: E501 + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + self.swagger_types = { + 'available_capacity': TapiCommonCapacity, + 'total_potential_capacity': TapiCommonCapacity, + 'name': List[TapiCommonNameAndValue], + 'uuid': str, + 'cost_characteristic': List[TapiTopologyCostCharacteristic], + 'error_characteristic': str, + 'unavailable_time_characteristic': str, + 'server_integrity_process_characteristic': str, + 'delivery_order_characteristic': str, + 'repeat_delivery_characteristic': str, + 'loss_characteristic': str, + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic], + 'operational_state': TapiCommonOperationalState, + 'lifecycle_state': TapiCommonLifecycleState, + 'administrative_state': TapiCommonAdministrativeState, + 'layer_protocol_name': List[TapiCommonLayerProtocolName], + 'encap_topology': TapiTopologyTopologyRef, + 'owned_node_edge_point': List[TapiTopologyNodeOwnedNodeEdgePoint], + 'node_rule_group': List[TapiTopologyNodeRuleGroup], + 'aggregated_node_edge_point': List[TapiTopologyNodeEdgePointRef] + } + + self.attribute_map = { + 'available_capacity': 'available-capacity', + 'total_potential_capacity': 'total-potential-capacity', + 'name': 'name', + 'uuid': 'uuid', + 'cost_characteristic': 'cost-characteristic', + 'error_characteristic': 'error-characteristic', + 'unavailable_time_characteristic': 'unavailable-time-characteristic', + 'server_integrity_process_characteristic': 'server-integrity-process-characteristic', + 'delivery_order_characteristic': 'delivery-order-characteristic', + 'repeat_delivery_characteristic': 'repeat-delivery-characteristic', + 'loss_characteristic': 'loss-characteristic', + 'latency_characteristic': 'latency-characteristic', + 'operational_state': 'operational-state', + 'lifecycle_state': 'lifecycle-state', + 'administrative_state': 'administrative-state', + 'layer_protocol_name': 'layer-protocol-name', + 'encap_topology': 'encap-topology', + 'owned_node_edge_point': 'owned-node-edge-point', + 'node_rule_group': 'node-rule-group', + 'aggregated_node_edge_point': 'aggregated-node-edge-point' + } + self._available_capacity = available_capacity + self._total_potential_capacity = total_potential_capacity + self._name = name + self._uuid = uuid + self._cost_characteristic = cost_characteristic + self._error_characteristic = error_characteristic + self._unavailable_time_characteristic = unavailable_time_characteristic + self._server_integrity_process_characteristic = server_integrity_process_characteristic + self._delivery_order_characteristic = delivery_order_characteristic + self._repeat_delivery_characteristic = repeat_delivery_characteristic + self._loss_characteristic = loss_characteristic + self._latency_characteristic = latency_characteristic + self._operational_state = operational_state + self._lifecycle_state = lifecycle_state + self._administrative_state = administrative_state + self._layer_protocol_name = layer_protocol_name + self._encap_topology = encap_topology + self._owned_node_edge_point = owned_node_edge_point + self._node_rule_group = node_rule_group + self._aggregated_node_edge_point = aggregated_node_edge_point + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyNode': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.topology.Node of this TapiTopologyTopologyNode. # noqa: E501 + :rtype: TapiTopologyTopologyNode + """ + return util.deserialize_model(dikt, cls) + + @property + def available_capacity(self) -> TapiCommonCapacity: + """Gets the available_capacity of this TapiTopologyTopologyNode. + + + :return: The available_capacity of this TapiTopologyTopologyNode. + :rtype: TapiCommonCapacity + """ + return self._available_capacity + + @available_capacity.setter + def available_capacity(self, available_capacity: TapiCommonCapacity): + """Sets the available_capacity of this TapiTopologyTopologyNode. + + + :param available_capacity: The available_capacity of this TapiTopologyTopologyNode. + :type available_capacity: TapiCommonCapacity + """ + + self._available_capacity = available_capacity + + @property + def total_potential_capacity(self) -> TapiCommonCapacity: + """Gets the total_potential_capacity of this TapiTopologyTopologyNode. + + + :return: The total_potential_capacity of this TapiTopologyTopologyNode. + :rtype: TapiCommonCapacity + """ + return self._total_potential_capacity + + @total_potential_capacity.setter + def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity): + """Sets the total_potential_capacity of this TapiTopologyTopologyNode. + + + :param total_potential_capacity: The total_potential_capacity of this TapiTopologyTopologyNode. + :type total_potential_capacity: TapiCommonCapacity + """ + + self._total_potential_capacity = total_potential_capacity + + @property + def name(self) -> List[TapiCommonNameAndValue]: + """Gets the name of this TapiTopologyTopologyNode. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :return: The name of this TapiTopologyTopologyNode. + :rtype: List[TapiCommonNameAndValue] + """ + return self._name + + @name.setter + def name(self, name: List[TapiCommonNameAndValue]): + """Sets the name of this TapiTopologyTopologyNode. + + List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity. # noqa: E501 + + :param name: The name of this TapiTopologyTopologyNode. + :type name: List[TapiCommonNameAndValue] + """ + + self._name = name + + @property + def uuid(self) -> str: + """Gets the uuid of this TapiTopologyTopologyNode. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :return: The uuid of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._uuid + + @uuid.setter + def uuid(self, uuid: str): + """Sets the uuid of this TapiTopologyTopologyNode. + + UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 # noqa: E501 + + :param uuid: The uuid of this TapiTopologyTopologyNode. + :type uuid: str + """ + + self._uuid = uuid + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiTopologyTopologyNode. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiTopologyTopologyNode. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiTopologyTopologyNode. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiTopologyTopologyNode. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic + + @property + def error_characteristic(self) -> str: + """Gets the error_characteristic of this TapiTopologyTopologyNode. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :return: The error_characteristic of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._error_characteristic + + @error_characteristic.setter + def error_characteristic(self, error_characteristic: str): + """Sets the error_characteristic of this TapiTopologyTopologyNode. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :param error_characteristic: The error_characteristic of this TapiTopologyTopologyNode. + :type error_characteristic: str + """ + + self._error_characteristic = error_characteristic + + @property + def unavailable_time_characteristic(self) -> str: + """Gets the unavailable_time_characteristic of this TapiTopologyTopologyNode. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :return: The unavailable_time_characteristic of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._unavailable_time_characteristic + + @unavailable_time_characteristic.setter + def unavailable_time_characteristic(self, unavailable_time_characteristic: str): + """Sets the unavailable_time_characteristic of this TapiTopologyTopologyNode. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyTopologyNode. + :type unavailable_time_characteristic: str + """ + + self._unavailable_time_characteristic = unavailable_time_characteristic + + @property + def server_integrity_process_characteristic(self) -> str: + """Gets the server_integrity_process_characteristic of this TapiTopologyTopologyNode. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :return: The server_integrity_process_characteristic of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._server_integrity_process_characteristic + + @server_integrity_process_characteristic.setter + def server_integrity_process_characteristic(self, server_integrity_process_characteristic: str): + """Sets the server_integrity_process_characteristic of this TapiTopologyTopologyNode. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyTopologyNode. + :type server_integrity_process_characteristic: str + """ + + self._server_integrity_process_characteristic = server_integrity_process_characteristic + + @property + def delivery_order_characteristic(self) -> str: + """Gets the delivery_order_characteristic of this TapiTopologyTopologyNode. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :return: The delivery_order_characteristic of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._delivery_order_characteristic + + @delivery_order_characteristic.setter + def delivery_order_characteristic(self, delivery_order_characteristic: str): + """Sets the delivery_order_characteristic of this TapiTopologyTopologyNode. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyTopologyNode. + :type delivery_order_characteristic: str + """ + + self._delivery_order_characteristic = delivery_order_characteristic + + @property + def repeat_delivery_characteristic(self) -> str: + """Gets the repeat_delivery_characteristic of this TapiTopologyTopologyNode. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :return: The repeat_delivery_characteristic of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._repeat_delivery_characteristic + + @repeat_delivery_characteristic.setter + def repeat_delivery_characteristic(self, repeat_delivery_characteristic: str): + """Sets the repeat_delivery_characteristic of this TapiTopologyTopologyNode. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyTopologyNode. + :type repeat_delivery_characteristic: str + """ + + self._repeat_delivery_characteristic = repeat_delivery_characteristic + + @property + def loss_characteristic(self) -> str: + """Gets the loss_characteristic of this TapiTopologyTopologyNode. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :return: The loss_characteristic of this TapiTopologyTopologyNode. + :rtype: str + """ + return self._loss_characteristic + + @loss_characteristic.setter + def loss_characteristic(self, loss_characteristic: str): + """Sets the loss_characteristic of this TapiTopologyTopologyNode. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :param loss_characteristic: The loss_characteristic of this TapiTopologyTopologyNode. + :type loss_characteristic: str + """ + + self._loss_characteristic = loss_characteristic + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiTopologyTopologyNode. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiTopologyTopologyNode. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiTopologyTopologyNode. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiTopologyTopologyNode. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic + + @property + def operational_state(self) -> TapiCommonOperationalState: + """Gets the operational_state of this TapiTopologyTopologyNode. + + + :return: The operational_state of this TapiTopologyTopologyNode. + :rtype: TapiCommonOperationalState + """ + return self._operational_state + + @operational_state.setter + def operational_state(self, operational_state: TapiCommonOperationalState): + """Sets the operational_state of this TapiTopologyTopologyNode. + + + :param operational_state: The operational_state of this TapiTopologyTopologyNode. + :type operational_state: TapiCommonOperationalState + """ + + self._operational_state = operational_state + + @property + def lifecycle_state(self) -> TapiCommonLifecycleState: + """Gets the lifecycle_state of this TapiTopologyTopologyNode. + + + :return: The lifecycle_state of this TapiTopologyTopologyNode. + :rtype: TapiCommonLifecycleState + """ + return self._lifecycle_state + + @lifecycle_state.setter + def lifecycle_state(self, lifecycle_state: TapiCommonLifecycleState): + """Sets the lifecycle_state of this TapiTopologyTopologyNode. + + + :param lifecycle_state: The lifecycle_state of this TapiTopologyTopologyNode. + :type lifecycle_state: TapiCommonLifecycleState + """ + + self._lifecycle_state = lifecycle_state + + @property + def administrative_state(self) -> TapiCommonAdministrativeState: + """Gets the administrative_state of this TapiTopologyTopologyNode. + + + :return: The administrative_state of this TapiTopologyTopologyNode. + :rtype: TapiCommonAdministrativeState + """ + return self._administrative_state + + @administrative_state.setter + def administrative_state(self, administrative_state: TapiCommonAdministrativeState): + """Sets the administrative_state of this TapiTopologyTopologyNode. + + + :param administrative_state: The administrative_state of this TapiTopologyTopologyNode. + :type administrative_state: TapiCommonAdministrativeState + """ + + self._administrative_state = administrative_state + + @property + def layer_protocol_name(self) -> List[TapiCommonLayerProtocolName]: + """Gets the layer_protocol_name of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :return: The layer_protocol_name of this TapiTopologyTopologyNode. + :rtype: List[TapiCommonLayerProtocolName] + """ + return self._layer_protocol_name + + @layer_protocol_name.setter + def layer_protocol_name(self, layer_protocol_name: List[TapiCommonLayerProtocolName]): + """Sets the layer_protocol_name of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :param layer_protocol_name: The layer_protocol_name of this TapiTopologyTopologyNode. + :type layer_protocol_name: List[TapiCommonLayerProtocolName] + """ + + self._layer_protocol_name = layer_protocol_name + + @property + def encap_topology(self) -> TapiTopologyTopologyRef: + """Gets the encap_topology of this TapiTopologyTopologyNode. + + + :return: The encap_topology of this TapiTopologyTopologyNode. + :rtype: TapiTopologyTopologyRef + """ + return self._encap_topology + + @encap_topology.setter + def encap_topology(self, encap_topology: TapiTopologyTopologyRef): + """Sets the encap_topology of this TapiTopologyTopologyNode. + + + :param encap_topology: The encap_topology of this TapiTopologyTopologyNode. + :type encap_topology: TapiTopologyTopologyRef + """ + + self._encap_topology = encap_topology + + @property + def owned_node_edge_point(self) -> List[TapiTopologyNodeOwnedNodeEdgePoint]: + """Gets the owned_node_edge_point of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :return: The owned_node_edge_point of this TapiTopologyTopologyNode. + :rtype: List[TapiTopologyNodeOwnedNodeEdgePoint] + """ + return self._owned_node_edge_point + + @owned_node_edge_point.setter + def owned_node_edge_point(self, owned_node_edge_point: List[TapiTopologyNodeOwnedNodeEdgePoint]): + """Sets the owned_node_edge_point of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :param owned_node_edge_point: The owned_node_edge_point of this TapiTopologyTopologyNode. + :type owned_node_edge_point: List[TapiTopologyNodeOwnedNodeEdgePoint] + """ + + self._owned_node_edge_point = owned_node_edge_point + + @property + def node_rule_group(self) -> List[TapiTopologyNodeRuleGroup]: + """Gets the node_rule_group of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :return: The node_rule_group of this TapiTopologyTopologyNode. + :rtype: List[TapiTopologyNodeRuleGroup] + """ + return self._node_rule_group + + @node_rule_group.setter + def node_rule_group(self, node_rule_group: List[TapiTopologyNodeRuleGroup]): + """Sets the node_rule_group of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :param node_rule_group: The node_rule_group of this TapiTopologyTopologyNode. + :type node_rule_group: List[TapiTopologyNodeRuleGroup] + """ + + self._node_rule_group = node_rule_group + + @property + def aggregated_node_edge_point(self) -> List[TapiTopologyNodeEdgePointRef]: + """Gets the aggregated_node_edge_point of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :return: The aggregated_node_edge_point of this TapiTopologyTopologyNode. + :rtype: List[TapiTopologyNodeEdgePointRef] + """ + return self._aggregated_node_edge_point + + @aggregated_node_edge_point.setter + def aggregated_node_edge_point(self, aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef]): + """Sets the aggregated_node_edge_point of this TapiTopologyTopologyNode. + + none # noqa: E501 + + :param aggregated_node_edge_point: The aggregated_node_edge_point of this TapiTopologyTopologyNode. + :type aggregated_node_edge_point: List[TapiTopologyNodeEdgePointRef] + """ + + self._aggregated_node_edge_point = aggregated_node_edge_point diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_node_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_node_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..0c868058b3b29a86d04842df89ac0ccf44ff8ad1 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_node_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology_node import TapiTopologyTopologyNode # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopologyNodeWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, node: TapiTopologyTopologyNode=None): # noqa: E501 + """TapiTopologyTopologyNodeWrapper - a model defined in Swagger + + :param node: The node of this TapiTopologyTopologyNodeWrapper. # noqa: E501 + :type node: TapiTopologyTopologyNode + """ + self.swagger_types = { + 'node': TapiTopologyTopologyNode + } + + self.attribute_map = { + 'node': 'node' + } + self._node = node + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyNodeWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.topology.NodeWrapper of this TapiTopologyTopologyNodeWrapper. # noqa: E501 + :rtype: TapiTopologyTopologyNodeWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def node(self) -> TapiTopologyTopologyNode: + """Gets the node of this TapiTopologyTopologyNodeWrapper. + + + :return: The node of this TapiTopologyTopologyNodeWrapper. + :rtype: TapiTopologyTopologyNode + """ + return self._node + + @node.setter + def node(self, node: TapiTopologyTopologyNode): + """Sets the node of this TapiTopologyTopologyNodeWrapper. + + + :param node: The node of this TapiTopologyTopologyNodeWrapper. + :type node: TapiTopologyTopologyNode + """ + + self._node = node diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_ref.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_ref.py new file mode 100644 index 0000000000000000000000000000000000000000..21a7b2d61775862dac7767ca6378f291f7494053 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_ref.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyTopologyRef(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology_uuid: str=None): # noqa: E501 + """TapiTopologyTopologyRef - a model defined in Swagger + + :param topology_uuid: The topology_uuid of this TapiTopologyTopologyRef. # noqa: E501 + :type topology_uuid: str + """ + self.swagger_types = { + 'topology_uuid': str + } + + self.attribute_map = { + 'topology_uuid': 'topology-uuid' + } + self._topology_uuid = topology_uuid + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyRef': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TopologyRef of this TapiTopologyTopologyRef. # noqa: E501 + :rtype: TapiTopologyTopologyRef + """ + return util.deserialize_model(dikt, cls) + + @property + def topology_uuid(self) -> str: + """Gets the topology_uuid of this TapiTopologyTopologyRef. + + none # noqa: E501 + + :return: The topology_uuid of this TapiTopologyTopologyRef. + :rtype: str + """ + return self._topology_uuid + + @topology_uuid.setter + def topology_uuid(self, topology_uuid: str): + """Sets the topology_uuid of this TapiTopologyTopologyRef. + + none # noqa: E501 + + :param topology_uuid: The topology_uuid of this TapiTopologyTopologyRef. + :type topology_uuid: str + """ + + self._topology_uuid = topology_uuid diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_ref_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_ref_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..7e4c3259c120c96f8064a612a2f09a0003346f29 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_ref_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology_ref import TapiTopologyTopologyRef # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopologyRefWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology: TapiTopologyTopologyRef=None): # noqa: E501 + """TapiTopologyTopologyRefWrapper - a model defined in Swagger + + :param topology: The topology of this TapiTopologyTopologyRefWrapper. # noqa: E501 + :type topology: TapiTopologyTopologyRef + """ + self.swagger_types = { + 'topology': TapiTopologyTopologyRef + } + + self.attribute_map = { + 'topology': 'topology' + } + self._topology = topology + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyRefWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TopologyRefWrapper of this TapiTopologyTopologyRefWrapper. # noqa: E501 + :rtype: TapiTopologyTopologyRefWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def topology(self) -> TapiTopologyTopologyRef: + """Gets the topology of this TapiTopologyTopologyRefWrapper. + + + :return: The topology of this TapiTopologyTopologyRefWrapper. + :rtype: TapiTopologyTopologyRef + """ + return self._topology + + @topology.setter + def topology(self, topology: TapiTopologyTopologyRef): + """Sets the topology of this TapiTopologyTopologyRefWrapper. + + + :param topology: The topology of this TapiTopologyTopologyRefWrapper. + :type topology: TapiTopologyTopologyRef + """ + + self._topology = topology diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..47908b0cc4ab2a0114d52a0c2d4b3df8ec66a5ee --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_topology_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_topology import TapiTopologyTopology # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTopologyWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, topology: TapiTopologyTopology=None): # noqa: E501 + """TapiTopologyTopologyWrapper - a model defined in Swagger + + :param topology: The topology of this TapiTopologyTopologyWrapper. # noqa: E501 + :type topology: TapiTopologyTopology + """ + self.swagger_types = { + 'topology': TapiTopologyTopology + } + + self.attribute_map = { + 'topology': 'topology' + } + self._topology = topology + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTopologyWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TopologyWrapper of this TapiTopologyTopologyWrapper. # noqa: E501 + :rtype: TapiTopologyTopologyWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def topology(self) -> TapiTopologyTopology: + """Gets the topology of this TapiTopologyTopologyWrapper. + + + :return: The topology of this TapiTopologyTopologyWrapper. + :rtype: TapiTopologyTopology + """ + return self._topology + + @topology.setter + def topology(self, topology: TapiTopologyTopology): + """Sets the topology of this TapiTopologyTopologyWrapper. + + + :param topology: The topology of this TapiTopologyTopologyWrapper. + :type topology: TapiTopologyTopology + """ + + self._topology = topology diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_cost_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_cost_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..f868fd807b8c3dcc8674fdbd837b630312835400 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_cost_pac.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_cost_characteristic import TapiTopologyCostCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTransferCostPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, cost_characteristic: List[TapiTopologyCostCharacteristic]=None): # noqa: E501 + """TapiTopologyTransferCostPac - a model defined in Swagger + + :param cost_characteristic: The cost_characteristic of this TapiTopologyTransferCostPac. # noqa: E501 + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + self.swagger_types = { + 'cost_characteristic': List[TapiTopologyCostCharacteristic] + } + + self.attribute_map = { + 'cost_characteristic': 'cost-characteristic' + } + self._cost_characteristic = cost_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTransferCostPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TransferCostPac of this TapiTopologyTransferCostPac. # noqa: E501 + :rtype: TapiTopologyTransferCostPac + """ + return util.deserialize_model(dikt, cls) + + @property + def cost_characteristic(self) -> List[TapiTopologyCostCharacteristic]: + """Gets the cost_characteristic of this TapiTopologyTransferCostPac. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :return: The cost_characteristic of this TapiTopologyTransferCostPac. + :rtype: List[TapiTopologyCostCharacteristic] + """ + return self._cost_characteristic + + @cost_characteristic.setter + def cost_characteristic(self, cost_characteristic: List[TapiTopologyCostCharacteristic]): + """Sets the cost_characteristic of this TapiTopologyTransferCostPac. + + The list of costs where each cost relates to some aspect of the TopologicalEntity. # noqa: E501 + + :param cost_characteristic: The cost_characteristic of this TapiTopologyTransferCostPac. + :type cost_characteristic: List[TapiTopologyCostCharacteristic] + """ + + self._cost_characteristic = cost_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_integrity_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_integrity_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..47570f8728f8fa61b03effb3c5df688df7f7bdd9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_integrity_pac.py @@ -0,0 +1,204 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyTransferIntegrityPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, error_characteristic: str=None, unavailable_time_characteristic: str=None, server_integrity_process_characteristic: str=None, delivery_order_characteristic: str=None, repeat_delivery_characteristic: str=None, loss_characteristic: str=None): # noqa: E501 + """TapiTopologyTransferIntegrityPac - a model defined in Swagger + + :param error_characteristic: The error_characteristic of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :type error_characteristic: str + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :type unavailable_time_characteristic: str + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :type server_integrity_process_characteristic: str + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :type delivery_order_characteristic: str + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :type repeat_delivery_characteristic: str + :param loss_characteristic: The loss_characteristic of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :type loss_characteristic: str + """ + self.swagger_types = { + 'error_characteristic': str, + 'unavailable_time_characteristic': str, + 'server_integrity_process_characteristic': str, + 'delivery_order_characteristic': str, + 'repeat_delivery_characteristic': str, + 'loss_characteristic': str + } + + self.attribute_map = { + 'error_characteristic': 'error-characteristic', + 'unavailable_time_characteristic': 'unavailable-time-characteristic', + 'server_integrity_process_characteristic': 'server-integrity-process-characteristic', + 'delivery_order_characteristic': 'delivery-order-characteristic', + 'repeat_delivery_characteristic': 'repeat-delivery-characteristic', + 'loss_characteristic': 'loss-characteristic' + } + self._error_characteristic = error_characteristic + self._unavailable_time_characteristic = unavailable_time_characteristic + self._server_integrity_process_characteristic = server_integrity_process_characteristic + self._delivery_order_characteristic = delivery_order_characteristic + self._repeat_delivery_characteristic = repeat_delivery_characteristic + self._loss_characteristic = loss_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTransferIntegrityPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TransferIntegrityPac of this TapiTopologyTransferIntegrityPac. # noqa: E501 + :rtype: TapiTopologyTransferIntegrityPac + """ + return util.deserialize_model(dikt, cls) + + @property + def error_characteristic(self) -> str: + """Gets the error_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :return: The error_characteristic of this TapiTopologyTransferIntegrityPac. + :rtype: str + """ + return self._error_characteristic + + @error_characteristic.setter + def error_characteristic(self, error_characteristic: str): + """Sets the error_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the degree to which the signal propagated can be errored. Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded. # noqa: E501 + + :param error_characteristic: The error_characteristic of this TapiTopologyTransferIntegrityPac. + :type error_characteristic: str + """ + + self._error_characteristic = error_characteristic + + @property + def unavailable_time_characteristic(self) -> str: + """Gets the unavailable_time_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :return: The unavailable_time_characteristic of this TapiTopologyTransferIntegrityPac. + :rtype: str + """ + return self._unavailable_time_characteristic + + @unavailable_time_characteristic.setter + def unavailable_time_characteristic(self, unavailable_time_characteristic: str): + """Sets the unavailable_time_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the duration for which there may be no valid signal propagated. # noqa: E501 + + :param unavailable_time_characteristic: The unavailable_time_characteristic of this TapiTopologyTransferIntegrityPac. + :type unavailable_time_characteristic: str + """ + + self._unavailable_time_characteristic = unavailable_time_characteristic + + @property + def server_integrity_process_characteristic(self) -> str: + """Gets the server_integrity_process_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :return: The server_integrity_process_characteristic of this TapiTopologyTransferIntegrityPac. + :rtype: str + """ + return self._server_integrity_process_characteristic + + @server_integrity_process_characteristic.setter + def server_integrity_process_characteristic(self, server_integrity_process_characteristic: str): + """Sets the server_integrity_process_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity. # noqa: E501 + + :param server_integrity_process_characteristic: The server_integrity_process_characteristic of this TapiTopologyTransferIntegrityPac. + :type server_integrity_process_characteristic: str + """ + + self._server_integrity_process_characteristic = server_integrity_process_characteristic + + @property + def delivery_order_characteristic(self) -> str: + """Gets the delivery_order_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :return: The delivery_order_characteristic of this TapiTopologyTransferIntegrityPac. + :rtype: str + """ + return self._delivery_order_characteristic + + @delivery_order_characteristic.setter + def delivery_order_characteristic(self, delivery_order_characteristic: str): + """Sets the delivery_order_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the degree to which packets will be delivered out of sequence. Does not apply to TDM as the TDM protocols maintain strict order. # noqa: E501 + + :param delivery_order_characteristic: The delivery_order_characteristic of this TapiTopologyTransferIntegrityPac. + :type delivery_order_characteristic: str + """ + + self._delivery_order_characteristic = delivery_order_characteristic + + @property + def repeat_delivery_characteristic(self) -> str: + """Gets the repeat_delivery_characteristic of this TapiTopologyTransferIntegrityPac. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :return: The repeat_delivery_characteristic of this TapiTopologyTransferIntegrityPac. + :rtype: str + """ + return self._repeat_delivery_characteristic + + @repeat_delivery_characteristic.setter + def repeat_delivery_characteristic(self, repeat_delivery_characteristic: str): + """Sets the repeat_delivery_characteristic of this TapiTopologyTransferIntegrityPac. + + Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay. # noqa: E501 + + :param repeat_delivery_characteristic: The repeat_delivery_characteristic of this TapiTopologyTransferIntegrityPac. + :type repeat_delivery_characteristic: str + """ + + self._repeat_delivery_characteristic = repeat_delivery_characteristic + + @property + def loss_characteristic(self) -> str: + """Gets the loss_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :return: The loss_characteristic of this TapiTopologyTransferIntegrityPac. + :rtype: str + """ + return self._loss_characteristic + + @loss_characteristic.setter + def loss_characteristic(self, loss_characteristic: str): + """Sets the loss_characteristic of this TapiTopologyTransferIntegrityPac. + + Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow. Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips). # noqa: E501 + + :param loss_characteristic: The loss_characteristic of this TapiTopologyTransferIntegrityPac. + :type loss_characteristic: str + """ + + self._loss_characteristic = loss_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_timing_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_timing_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..f980040c4f07ef66bc155bd4d2e87224b93c979f --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_transfer_timing_pac.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_latency_characteristic import TapiTopologyLatencyCharacteristic # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyTransferTimingPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]=None): # noqa: E501 + """TapiTopologyTransferTimingPac - a model defined in Swagger + + :param latency_characteristic: The latency_characteristic of this TapiTopologyTransferTimingPac. # noqa: E501 + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + self.swagger_types = { + 'latency_characteristic': List[TapiTopologyLatencyCharacteristic] + } + + self.attribute_map = { + 'latency_characteristic': 'latency-characteristic' + } + self._latency_characteristic = latency_characteristic + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyTransferTimingPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.TransferTimingPac of this TapiTopologyTransferTimingPac. # noqa: E501 + :rtype: TapiTopologyTransferTimingPac + """ + return util.deserialize_model(dikt, cls) + + @property + def latency_characteristic(self) -> List[TapiTopologyLatencyCharacteristic]: + """Gets the latency_characteristic of this TapiTopologyTransferTimingPac. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :return: The latency_characteristic of this TapiTopologyTransferTimingPac. + :rtype: List[TapiTopologyLatencyCharacteristic] + """ + return self._latency_characteristic + + @latency_characteristic.setter + def latency_characteristic(self, latency_characteristic: List[TapiTopologyLatencyCharacteristic]): + """Sets the latency_characteristic of this TapiTopologyTransferTimingPac. + + The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic. # noqa: E501 + + :param latency_characteristic: The latency_characteristic of this TapiTopologyTransferTimingPac. + :type latency_characteristic: List[TapiTopologyLatencyCharacteristic] + """ + + self._latency_characteristic = latency_characteristic diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_mechanism.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_mechanism.py new file mode 100644 index 0000000000000000000000000000000000000000..4404a512f34a2341977ccd2223d28a386e6c42d9 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_mechanism.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server import util + + +class TapiTopologyValidationMechanism(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, layer_protocol_adjacency_validated: str=None, validation_mechanism: str=None, validation_robustness: str=None): # noqa: E501 + """TapiTopologyValidationMechanism - a model defined in Swagger + + :param layer_protocol_adjacency_validated: The layer_protocol_adjacency_validated of this TapiTopologyValidationMechanism. # noqa: E501 + :type layer_protocol_adjacency_validated: str + :param validation_mechanism: The validation_mechanism of this TapiTopologyValidationMechanism. # noqa: E501 + :type validation_mechanism: str + :param validation_robustness: The validation_robustness of this TapiTopologyValidationMechanism. # noqa: E501 + :type validation_robustness: str + """ + self.swagger_types = { + 'layer_protocol_adjacency_validated': str, + 'validation_mechanism': str, + 'validation_robustness': str + } + + self.attribute_map = { + 'layer_protocol_adjacency_validated': 'layer-protocol-adjacency-validated', + 'validation_mechanism': 'validation-mechanism', + 'validation_robustness': 'validation-robustness' + } + self._layer_protocol_adjacency_validated = layer_protocol_adjacency_validated + self._validation_mechanism = validation_mechanism + self._validation_robustness = validation_robustness + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyValidationMechanism': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ValidationMechanism of this TapiTopologyValidationMechanism. # noqa: E501 + :rtype: TapiTopologyValidationMechanism + """ + return util.deserialize_model(dikt, cls) + + @property + def layer_protocol_adjacency_validated(self) -> str: + """Gets the layer_protocol_adjacency_validated of this TapiTopologyValidationMechanism. + + State of validatiion # noqa: E501 + + :return: The layer_protocol_adjacency_validated of this TapiTopologyValidationMechanism. + :rtype: str + """ + return self._layer_protocol_adjacency_validated + + @layer_protocol_adjacency_validated.setter + def layer_protocol_adjacency_validated(self, layer_protocol_adjacency_validated: str): + """Sets the layer_protocol_adjacency_validated of this TapiTopologyValidationMechanism. + + State of validatiion # noqa: E501 + + :param layer_protocol_adjacency_validated: The layer_protocol_adjacency_validated of this TapiTopologyValidationMechanism. + :type layer_protocol_adjacency_validated: str + """ + + self._layer_protocol_adjacency_validated = layer_protocol_adjacency_validated + + @property + def validation_mechanism(self) -> str: + """Gets the validation_mechanism of this TapiTopologyValidationMechanism. + + Name of mechanism used to validate adjacency # noqa: E501 + + :return: The validation_mechanism of this TapiTopologyValidationMechanism. + :rtype: str + """ + return self._validation_mechanism + + @validation_mechanism.setter + def validation_mechanism(self, validation_mechanism: str): + """Sets the validation_mechanism of this TapiTopologyValidationMechanism. + + Name of mechanism used to validate adjacency # noqa: E501 + + :param validation_mechanism: The validation_mechanism of this TapiTopologyValidationMechanism. + :type validation_mechanism: str + """ + + self._validation_mechanism = validation_mechanism + + @property + def validation_robustness(self) -> str: + """Gets the validation_robustness of this TapiTopologyValidationMechanism. + + Quality of validation (i.e. how likely is the stated validation to be invalid) # noqa: E501 + + :return: The validation_robustness of this TapiTopologyValidationMechanism. + :rtype: str + """ + return self._validation_robustness + + @validation_robustness.setter + def validation_robustness(self, validation_robustness: str): + """Sets the validation_robustness of this TapiTopologyValidationMechanism. + + Quality of validation (i.e. how likely is the stated validation to be invalid) # noqa: E501 + + :param validation_robustness: The validation_robustness of this TapiTopologyValidationMechanism. + :type validation_robustness: str + """ + + self._validation_robustness = validation_robustness diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_mechanism_wrapper.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_mechanism_wrapper.py new file mode 100644 index 0000000000000000000000000000000000000000..3038e8381ecfb71d98e2059fa79ac7d335c3221b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_mechanism_wrapper.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_validation_mechanism import TapiTopologyValidationMechanism # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyValidationMechanismWrapper(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, validation_mechanism: TapiTopologyValidationMechanism=None): # noqa: E501 + """TapiTopologyValidationMechanismWrapper - a model defined in Swagger + + :param validation_mechanism: The validation_mechanism of this TapiTopologyValidationMechanismWrapper. # noqa: E501 + :type validation_mechanism: TapiTopologyValidationMechanism + """ + self.swagger_types = { + 'validation_mechanism': TapiTopologyValidationMechanism + } + + self.attribute_map = { + 'validation_mechanism': 'validation-mechanism' + } + self._validation_mechanism = validation_mechanism + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyValidationMechanismWrapper': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ValidationMechanismWrapper of this TapiTopologyValidationMechanismWrapper. # noqa: E501 + :rtype: TapiTopologyValidationMechanismWrapper + """ + return util.deserialize_model(dikt, cls) + + @property + def validation_mechanism(self) -> TapiTopologyValidationMechanism: + """Gets the validation_mechanism of this TapiTopologyValidationMechanismWrapper. + + + :return: The validation_mechanism of this TapiTopologyValidationMechanismWrapper. + :rtype: TapiTopologyValidationMechanism + """ + return self._validation_mechanism + + @validation_mechanism.setter + def validation_mechanism(self, validation_mechanism: TapiTopologyValidationMechanism): + """Sets the validation_mechanism of this TapiTopologyValidationMechanismWrapper. + + + :param validation_mechanism: The validation_mechanism of this TapiTopologyValidationMechanismWrapper. + :type validation_mechanism: TapiTopologyValidationMechanism + """ + + self._validation_mechanism = validation_mechanism diff --git a/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_pac.py b/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_pac.py new file mode 100644 index 0000000000000000000000000000000000000000..f90dbb029321110d664c72655b17f0523f474e23 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/models/tapi_topology_validation_pac.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from tapi_server.models.base_model_ import Model +from tapi_server.models.tapi_topology_validation_mechanism import TapiTopologyValidationMechanism # noqa: F401,E501 +from tapi_server import util + + +class TapiTopologyValidationPac(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + def __init__(self, validation_mechanism: List[TapiTopologyValidationMechanism]=None): # noqa: E501 + """TapiTopologyValidationPac - a model defined in Swagger + + :param validation_mechanism: The validation_mechanism of this TapiTopologyValidationPac. # noqa: E501 + :type validation_mechanism: List[TapiTopologyValidationMechanism] + """ + self.swagger_types = { + 'validation_mechanism': List[TapiTopologyValidationMechanism] + } + + self.attribute_map = { + 'validation_mechanism': 'validation-mechanism' + } + self._validation_mechanism = validation_mechanism + + @classmethod + def from_dict(cls, dikt) -> 'TapiTopologyValidationPac': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The tapi.topology.ValidationPac of this TapiTopologyValidationPac. # noqa: E501 + :rtype: TapiTopologyValidationPac + """ + return util.deserialize_model(dikt, cls) + + @property + def validation_mechanism(self) -> List[TapiTopologyValidationMechanism]: + """Gets the validation_mechanism of this TapiTopologyValidationPac. + + Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity. # noqa: E501 + + :return: The validation_mechanism of this TapiTopologyValidationPac. + :rtype: List[TapiTopologyValidationMechanism] + """ + return self._validation_mechanism + + @validation_mechanism.setter + def validation_mechanism(self, validation_mechanism: List[TapiTopologyValidationMechanism]): + """Sets the validation_mechanism of this TapiTopologyValidationPac. + + Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity. # noqa: E501 + + :param validation_mechanism: The validation_mechanism of this TapiTopologyValidationPac. + :type validation_mechanism: List[TapiTopologyValidationMechanism] + """ + + self._validation_mechanism = validation_mechanism diff --git a/hackfest/tapi/server/tapi_server/swagger/swagger.yaml b/hackfest/tapi/server/tapi_server/swagger/swagger.yaml new file mode 100644 index 0000000000000000000000000000000000000000..abb88f1d1d4472c3725e3744fc5841dff1b3be0b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/swagger/swagger.yaml @@ -0,0 +1,20565 @@ +openapi: 3.0.1 +info: + title: "tapi-notification,tapi-connectivity,tapi-topology,tapi-common,tapi-path-computation\ + \ API" + description: "\r\n This module contains TAPI Notification Model definitions.\r\ + \n Source: TapiNotification.uml\r\n - The TAPI YANG models included\ + \ in this TAPI release are a *normative* part of the TAPI SDK.\r\n - The\ + \ YANG specifications have been generated from the corresponding UML model using\ + \ the [ONF EAGLE UML2YANG mapping tool]\r\n \r\n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\n - Status of YANG model artifacts can be determined by referring\ + \ to the corresponding UML artifacts.\r\n As described in the UML models,\ + \ some artifacts are considered *experimental*, and thus the corresponding YANG\ + \ artifacts.\r\n - The ONF TAPI release process does not guarantee backward\ + \ compatibility of YANG models across major versions of TAPI releases.\r\n \ + \ The YANG model backward compatibility criteria are outlined in section\ + \ 11 of .\r\n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0,\r\n This module contains TAPI Connectivity Model\ + \ definitions.\r\n Source: TapiConnectivity.uml\r\n - The TAPI YANG\ + \ models included in this TAPI release are a *normative* part of the TAPI SDK.\r\ + \n - The YANG specifications have been generated from the corresponding\ + \ UML model using the [ONF EAGLE UML2YANG mapping tool]\r\n \r\n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\n - Status of YANG model artifacts can be determined by referring\ + \ to the corresponding UML artifacts.\r\n As described in the UML models,\ + \ some artifacts are considered *experimental*, and thus the corresponding YANG\ + \ artifacts.\r\n - The ONF TAPI release process does not guarantee backward\ + \ compatibility of YANG models across major versions of TAPI releases.\r\n \ + \ The YANG model backward compatibility criteria are outlined in section 11\ + \ of .\r\n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0.,\r\n This module contains TAPI Topology Model\ + \ definitions.\r\n Source: TapiTopology.uml\r\n - The TAPI YANG\ + \ models included in this TAPI release are a *normative* part of the TAPI SDK.\r\ + \n - The YANG specifications have been generated from the corresponding\ + \ UML model using the [ONF EAGLE UML2YANG mapping tool]\r\n \r\n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\n - Status of YANG model artifacts can be determined by referring\ + \ to the corresponding UML artifacts.\r\n As described in the UML models,\ + \ some artifacts are considered *experimental*, and thus the corresponding YANG\ + \ artifacts.\r\n - The ONF TAPI release process does not guarantee backward\ + \ compatibility of YANG models across major versions of TAPI releases.\r\n \ + \ The YANG model backward compatibility criteria are outlined in section\ + \ 11 of .\r\n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0.,\r\n This module contains TAPI Common Model definitions.\r\ + \n Source: TapiCommon.uml\r\n - The TAPI YANG models included in\ + \ this TAPI release are a *normative* part of the TAPI SDK.\r\n - The YANG\ + \ specifications have been generated from the corresponding UML model using the\ + \ [ONF EAGLE UML2YANG mapping tool]\r\n \r\ + \n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\ + \n - Status of YANG model artifacts can be determined by referring to the\ + \ corresponding UML artifacts.\r\n As described in the UML models, some\ + \ artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r\ + \n - The ONF TAPI release process does not guarantee backward compatibility\ + \ of YANG models across major versions of TAPI releases.\r\n The YANG model\ + \ backward compatibility criteria are outlined in section 11 of .\r\ + \n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0.,\r\n This module contains TAPI Path Computation\ + \ Model definitions.\r\n Source: TapiPathComputation.uml\r\n - The\ + \ TAPI YANG models included in this TAPI release are a *normative* part of the\ + \ TAPI SDK.\r\n - The YANG specifications have been generated from the\ + \ corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r\n \ + \ \r\n and\ + \ further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r\ + \n \r\ + \n - Status of YANG model artifacts can be determined by referring to the\ + \ corresponding UML artifacts.\r\n As described in the UML models, some\ + \ artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r\ + \n - The ONF TAPI release process does not guarantee backward compatibility\ + \ of YANG models across major versions of TAPI releases.\r\n The YANG model\ + \ backward compatibility criteria are outlined in section 11 of .\r\ + \n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0." + version: 2.1.3 +servers: +- url: //localhost:1234/ +paths: + /data/tapi-common:context/: + get: + tags: + - tapi-common + summary: returns tapi.common.Context + description: none + operationId: data_tapi_commoncontext_get + responses: + "200": + description: tapi.common.Context + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ContextWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + put: + tags: + - tapi-common + summary: creates or updates tapi.common.Context + description: none + operationId: data_tapi_commoncontext_put + requestBody: + description: tapi.common.Context to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.Context.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + post: + tags: + - tapi-common + summary: creates tapi.common.Context + description: none + operationId: data_tapi_commoncontext_post + requestBody: + description: tapi.common.Context to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.Context.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + delete: + tags: + - tapi-common + summary: removes tapi.common.Context + description: none + operationId: data_tapi_commoncontext_delete + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/name/: + post: + tags: + - tapi-common + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_name_post + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/name={value-name}/: + get: + tags: + - tapi-common + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_namevalue_name_get + parameters: + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + put: + tags: + - tapi-common + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_namevalue_name_put + parameters: + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + delete: + tags: + - tapi-common + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_namevalue_name_delete + parameters: + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point/: + post: + tags: + - tapi-common + summary: creates tapi.common.ServiceInterfacePoint + description: none + operationId: data_tapi_commoncontext_service_interface_point_post + requestBody: + description: tapi.common.ServiceInterfacePoint to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.ServiceInterfacePoint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/: + get: + tags: + - tapi-common + summary: returns tapi.common.ServiceInterfacePoint + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.ServiceInterfacePoint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + put: + tags: + - tapi-common + summary: creates or updates tapi.common.ServiceInterfacePoint + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_put + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.ServiceInterfacePoint to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.ServiceInterfacePoint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + delete: + tags: + - tapi-common + summary: removes tapi.common.ServiceInterfacePoint + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_delete + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/: + get: + tags: + - tapi-common + summary: returns tapi.common.Capacity + description: Capacity available to be assigned. + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/: + get: + tags: + - tapi-common + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/committed-burst-size/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/committed-information-rate/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/peak-burst-size/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/peak-information-rate/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/total-size/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_service_interface_pointuuid_available_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/name/: + post: + tags: + - tapi-common + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_service_interface_pointuuid_name_post + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/name={value-name}/: + get: + tags: + - tapi-common + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + put: + tags: + - tapi-common + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + delete: + tags: + - tapi-common + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/: + get: + tags: + - tapi-common + summary: returns tapi.common.Capacity + description: An optimistic view of the capacity of the TopologicalEntity assuming + that any shared capacity is available to be taken. + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/: + get: + tags: + - tapi-common + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/total-size/: + get: + tags: + - tapi-common + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityContext + description: Augments the base TAPI Context with ConnectivityService information + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_get + responses: + "200": + description: tapi.connectivity.ConnectivityContext + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityContextWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityContext + description: Augments the base TAPI Context with ConnectivityService information + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_put + requestBody: + description: tapi.connectivity.ConnectivityContext to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityContext + description: Augments the base TAPI Context with ConnectivityService information + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_post + requestBody: + description: tapi.connectivity.ConnectivityContext to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityContext + description: Augments the base TAPI Context with ConnectivityService information + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_delete + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.Connection + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.Connection + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/connection-spec-reference/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionSpecReference + description: Provides the reference to the spec that defines the connection + type and cepRoles. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_spec_reference_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionSpecReference + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionSpecReferenceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/lower-connection={connection-uuid}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionRef + description: "An Connection object supports a recursive aggregation relationship\ + \ such that the internal construction of an Connection can be exposed as multiple\ + \ lower level Connection objects (partitioning).\r\n Aggregation\ + \ is used as for the Node/Topology to allow changes in hierarchy. \r\n \ + \ Connection aggregation reflects Node/Topology aggregation.\ + \ \r\n The FC represents a Cross-Connection in an NE. The Cross-Connection\ + \ in an NE is not necessarily the lowest level of FC partitioning." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_lower_connectionconnection_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: connection_uuid + in: path + description: Id of lower-connection + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/name={value-name}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.Route + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of route + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.Route + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.RouteWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of route + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/name={value-name}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of route + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/resilience-route-pac/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ResilienceRoute + description: Provides optional resilience and state attributes to the Route. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of route + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ResilienceRoute + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ResilienceRouteWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/resilience-route-pac/name={value-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of route + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/supported-client-link={topology-uuid},{link-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.topology.LinkRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_supported_client_linktopology_uuidlink_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of supported-client-link + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of supported-client-link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LinkRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LinkRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.SwitchControl + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.SwitchControl + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.SwitchControlWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/name={value-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/resilience-type/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.topology.ResilienceType + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_resilience_type_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.ResilienceType + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ResilienceTypeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/sub-switch-control={connection-uuid},{sub-switch-control-switch-control-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.SwitchControlRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_sub_switch_controlconnection_uuidsub_switch_control_switch_control_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: connection_uuid + in: path + description: Id of sub-switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: sub_switch_control_switch_control_uuid + in: path + description: Id of sub-switch-control + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.SwitchControlRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.SwitchControlRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.Switch + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of switch + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.Switch + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.SwitchWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/name={value-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of switch + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/selected-connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of switch + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of selected-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of selected-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of selected-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of selected-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/selected-route={connection-uuid},{route-local-id}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.RouteRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_routeconnection_uuidroute_local_id_get + parameters: + - name: uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + - name: switch_control_uuid + in: path + description: Id of switch-control + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of switch + required: true + style: simple + explode: false + schema: + type: string + - name: connection_uuid + in: path + description: Id of selected-route + required: true + style: simple + explode: false + schema: + type: string + - name: route_local_id + in: path + description: Id of selected-route + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.RouteRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.RouteRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service/: + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityService + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_service_post + requestBody: + description: tapi.connectivity.ConnectivityService to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityService.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityService + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityService + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityService + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityService to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityService.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityService + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/connection={connection-uuid}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_connectionconnection_uuid_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: connection_uuid + in: path + description: Id of connection + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/coroute-inclusion/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityServiceRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceRef to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceRef to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic/: + post: + tags: + - tapi-connectivity + summary: creates tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristic_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.CostCharacteristic to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.CostCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic={cost-name}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.CostCharacteristic to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.CostCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion/: + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusion_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceRef to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion={connectivity-service-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: connectivity_service_uuid + in: path + description: Id of diversity-exclusion + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityServiceRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: connectivity_service_uuid + in: path + description: Id of diversity-exclusion + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceRef to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityServiceRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: connectivity_service_uuid + in: path + description: Id of diversity-exclusion + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point/: + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_point_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPoint to be added to + list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPoint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityServiceEndPoint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPoint to be added or + updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPoint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.Capacity to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.Capacity.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.Capacity to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.Capacity.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.BandwidthProfile to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.BandwidthProfile.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.BandwidthProfile to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.BandwidthProfile.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/total-size/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name/: + post: + tags: + - tapi-connectivity + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_name_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name={value-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/peer-fwd-connectivity-service-end-point/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityServiceEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPointRef to be added + or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPointRef to be added + to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/protecting-connectivity-service-end-point/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityServiceEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPointRef to be added + or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPointRef to be added + to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/server-connectivity-service-end-point/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectivityServiceEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPointRef to be added + or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.connectivity.ConnectivityServiceEndPointRef to be added + to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.connectivity.ConnectivityServiceEndPointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.connectivity.ConnectivityServiceEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/service-interface-point/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.ServiceInterfacePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.ServiceInterfacePointRef to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.ServiceInterfacePointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.ServiceInterfacePointRef to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.ServiceInterfacePointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic/: + post: + tags: + - tapi-connectivity + summary: creates tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristic_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.LatencyCharacteristic to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.LatencyCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.LatencyCharacteristic to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.LatencyCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-cost/: + get: + tags: + - tapi-connectivity + summary: returns tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-delay/: + get: + tags: + - tapi-connectivity + summary: returns tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-hops/: + get: + tags: + - tapi-connectivity + summary: returns tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name/: + post: + tags: + - tapi-connectivity + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_name_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name={value-name}/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.Capacity to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.Capacity.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.Capacity to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.Capacity.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.BandwidthProfile to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.BandwidthProfile.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.BandwidthProfile to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.BandwidthProfile.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/total-size/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/resilience-type/: + get: + tags: + - tapi-connectivity + summary: returns tapi.topology.ResilienceType + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.ResilienceType + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ResilienceTypeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.topology.ResilienceType + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.ResilienceType to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ResilienceTypeWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.ResilienceType.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.topology.ResilienceType + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.ResilienceType to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ResilienceTypeWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.ResilienceType.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.topology.ResilienceType + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic/: + post: + tags: + - tapi-connectivity + summary: creates tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristic_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.RiskCharacteristic to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.RiskCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic={risk-characteristic-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.RiskCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.RiskCharacteristic to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.RiskCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/schedule/: + get: + tags: + - tapi-connectivity + summary: returns tapi.common.TimeRange + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_get + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.TimeRange + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.TimeRangeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + put: + tags: + - tapi-connectivity + summary: creates or updates tapi.common.TimeRange + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_put + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.TimeRange to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.TimeRangeWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.TimeRange.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + post: + tags: + - tapi-connectivity + summary: creates tapi.common.TimeRange + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_post + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.TimeRange to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.TimeRangeWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.TimeRange.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + delete: + tags: + - tapi-connectivity + summary: removes tapi.common.TimeRange + description: none + operationId: data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_delete + parameters: + - name: uuid + in: path + description: Id of connectivity-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /data/tapi-common:context/tapi-notification:notification-context/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.NotificationContext + description: Augments the base TAPI Context with NotificationService information + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_get + responses: + "200": + description: tapi.notification.NotificationContext + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationContextWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + put: + tags: + - tapi-notification + summary: creates or updates tapi.notification.NotificationContext + description: Augments the base TAPI Context with NotificationService information + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_put + requestBody: + description: tapi.notification.NotificationContext to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.notification.NotificationContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + post: + tags: + - tapi-notification + summary: creates tapi.notification.NotificationContext + description: Augments the base TAPI Context with NotificationService information + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_post + requestBody: + description: tapi.notification.NotificationContext to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.notification.NotificationContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + delete: + tags: + - tapi-notification + summary: removes tapi.notification.NotificationContext + description: Augments the base TAPI Context with NotificationService information + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_delete + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription/: + post: + tags: + - tapi-notification + summary: creates tapi.notification.NotificationSubscriptionService + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscription_post + requestBody: + description: tapi.notification.NotificationSubscriptionService to be added + to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionServiceWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.notification.NotificationSubscriptionService.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.NotificationSubscriptionService + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.NotificationSubscriptionService + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionServiceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + put: + tags: + - tapi-notification + summary: creates or updates tapi.notification.NotificationSubscriptionService + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_put + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.notification.NotificationSubscriptionService to be added + or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionServiceWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.notification.NotificationSubscriptionService.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + delete: + tags: + - tapi-notification + summary: removes tapi.notification.NotificationSubscriptionService + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_delete + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name/: + post: + tags: + - tapi-notification + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_name_post + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name={value-name}/: + get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + put: + tags: + - tapi-notification + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + delete: + tags: + - tapi-notification + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification-channel/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.NotificationChannel + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.NotificationChannel + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationChannelWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification-channel/name={value-name}/ + : get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.Notification + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.Notification + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/additional-info={value-name}/ + : get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_additional_infovalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of additional-info + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/alarm-info/ + : get: + tags: + - tapi-notification + summary: returns tapi.notification.AlarmInfo + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_alarm_info_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.AlarmInfo + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.AlarmInfoWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/changed-attributes={value-name}/ + : get: + tags: + - tapi-notification + summary: returns tapi.notification.NameAndValueChange + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_changed_attributesvalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of changed-attributes + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.NameAndValueChange + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NameAndValueChangeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/name={value-name}/ + : get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/target-object-name={value-name}/ + : get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_target_object_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of target-object-name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/tca-info/ + : get: + tags: + - tapi-notification + summary: returns tapi.notification.TcaInfo + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_tca_info_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: notification_uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.TcaInfo + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.TcaInfoWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.SubscriptionFilter + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.SubscriptionFilter + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilterWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + put: + tags: + - tapi-notification + summary: creates or updates tapi.notification.SubscriptionFilter + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_put + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.notification.SubscriptionFilter to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilterWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.notification.SubscriptionFilter.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + post: + tags: + - tapi-notification + summary: creates tapi.notification.SubscriptionFilter + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_post + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.notification.SubscriptionFilter to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilterWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.notification.SubscriptionFilter.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + delete: + tags: + - tapi-notification + summary: removes tapi.notification.SubscriptionFilter + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_delete + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name/: + post: + tags: + - tapi-notification + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_name_post + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name={value-name}/ + : get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + put: + tags: + - tapi-notification + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + delete: + tags: + - tapi-notification + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of notif-subscription + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.Notification + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.Notification + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NotificationWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/additional-info={value-name}/: + get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_additional_infovalue_name_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of additional-info + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/alarm-info/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.AlarmInfo + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_alarm_info_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.AlarmInfo + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.AlarmInfoWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/changed-attributes={value-name}/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.NameAndValueChange + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_changed_attributesvalue_name_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of changed-attributes + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.NameAndValueChange + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.NameAndValueChangeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/name={value-name}/: + get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/target-object-name={value-name}/: + get: + tags: + - tapi-notification + summary: returns tapi.common.NameAndValue + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_target_object_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of target-object-name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/tca-info/: + get: + tags: + - tapi-notification + summary: returns tapi.notification.TcaInfo + description: none + operationId: data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_tca_info_get + parameters: + - name: uuid + in: path + description: Id of notification + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.notification.TcaInfo + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.TcaInfoWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.PathComputationContext + description: Augments the base TAPI Context with PathComputationService information + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_get + responses: + "200": + description: tapi.path.computation.PathComputationContext + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathComputationContextWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.PathComputationContext + description: Augments the base TAPI Context with PathComputationService information + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_put + requestBody: + description: tapi.path.computation.PathComputationContext to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathComputationContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.PathComputationContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.PathComputationContext + description: Augments the base TAPI Context with PathComputationService information + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_post + requestBody: + description: tapi.path.computation.PathComputationContext to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathComputationContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.PathComputationContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.PathComputationContext + description: Augments the base TAPI Context with PathComputationService information + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_delete + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service/: + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.PathComputationService + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_service_post + requestBody: + description: tapi.path.computation.PathComputationService to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathComputationServiceWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.PathComputationService.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.PathComputationService + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.PathComputationService + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathComputationServiceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.PathComputationService + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathComputationService to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathComputationServiceWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.PathComputationService.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.PathComputationService + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point/: + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.PathServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_point_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathServiceEndPoint to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathServiceEndPointWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.PathServiceEndPoint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.PathServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.PathServiceEndPoint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathServiceEndPointWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.PathServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathServiceEndPoint to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathServiceEndPointWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.PathServiceEndPoint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.PathServiceEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.Capacity to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.Capacity.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.Capacity to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.Capacity.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.Capacity + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.BandwidthProfile to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.BandwidthProfile.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.BandwidthProfile to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.BandwidthProfile.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/total-size/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.CapacityValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.CapacityValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name/: + post: + tags: + - tapi-path-computation + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_name_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name={value-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/service-interface-point/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.ServiceInterfacePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.ServiceInterfacePointRef to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.ServiceInterfacePointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.ServiceInterfacePointRef to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.ServiceInterfacePointRef.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.ServiceInterfacePointRef + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name/: + post: + tags: + - tapi-path-computation + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_name_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name={value-name}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.PathObjectiveFunction + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.PathObjectiveFunction + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunctionWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.PathObjectiveFunction + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathObjectiveFunction to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunctionWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.PathObjectiveFunction.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.PathObjectiveFunction + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathObjectiveFunction to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunctionWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.PathObjectiveFunction.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.PathObjectiveFunction + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name/: + post: + tags: + - tapi-path-computation + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_name_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name={value-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.PathOptimizationConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.PathOptimizationConstraint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathOptimizationConstraintWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.PathOptimizationConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathOptimizationConstraint to be added + or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathOptimizationConstraintWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.PathOptimizationConstraint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.PathOptimizationConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.PathOptimizationConstraint to be added + to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathOptimizationConstraintWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.PathOptimizationConstraint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.PathOptimizationConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name/: + post: + tags: + - tapi-path-computation + summary: creates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_name_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name={value-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.common.NameAndValue to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.common.NameAndValue.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/path={path-uuid}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.PathRef + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_pathpath_uuid_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: path_uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.PathRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.RoutingConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.RoutingConstraint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraintWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.RoutingConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.RoutingConstraint to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraintWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.RoutingConstraint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.RoutingConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.RoutingConstraint to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraintWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.RoutingConstraint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.RoutingConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic/ + : post: + tags: + - tapi-path-computation + summary: creates tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristic_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.CostCharacteristic to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.CostCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic={cost-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.CostCharacteristic to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.CostCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic/ + : post: + tags: + - tapi-path-computation + summary: creates tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristic_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.LatencyCharacteristic to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.LatencyCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.LatencyCharacteristic to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.LatencyCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-cost/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-delay/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-hops/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.ValueOrPriority to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.ValueOrPriority.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic/ + : post: + tags: + - tapi-path-computation + summary: creates tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristic_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.RiskCharacteristic to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.RiskCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.RiskCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.topology.RiskCharacteristic to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.RiskCharacteristic.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/topology-constraint/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.TopologyConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_get + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.TopologyConstraint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraintWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + put: + tags: + - tapi-path-computation + summary: creates or updates tapi.path.computation.TopologyConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_put + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.TopologyConstraint to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraintWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.path.computation.TopologyConstraint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + post: + tags: + - tapi-path-computation + summary: creates tapi.path.computation.TopologyConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_post + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: tapi.path.computation.TopologyConstraint to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraintWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.path.computation.TopologyConstraint.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + delete: + tags: + - tapi-path-computation + summary: removes tapi.path.computation.TopologyConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_delete + parameters: + - name: uuid + in: path + description: Id of path-comp-service + required: true + style: simple + explode: false + schema: + type: string + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.Path + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.Path + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.PathWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/link={topology-uuid},{link-uuid}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.topology.LinkRef + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_linktopology_uuidlink_uuid_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LinkRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LinkRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/name={value-name}/: + get: + tags: + - tapi-path-computation + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.RoutingConstraint + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.RoutingConstraint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraintWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/cost-characteristic={cost-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-cost/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_cost_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-delay/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.ValueOrPriority + description: Delay unit is microseconds. + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_delay_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-hops/: + get: + tags: + - tapi-path-computation + summary: returns tapi.path.computation.ValueOrPriority + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_hops_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.path.computation.ValueOrPriority + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriorityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/ + : get: + tags: + - tapi-path-computation + summary: returns tapi.topology.RiskCharacteristic + description: none + operationId: data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get + parameters: + - name: uuid + in: path + description: Id of path + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-diversity-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.RiskCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /data/tapi-common:context/tapi-topology:topology-context/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.context.TopologyContext + description: Augments the base TAPI Context with TopologyService information + operationId: data_tapi_commoncontext_tapi_topologytopology_context_get + responses: + "200": + description: tapi.topology.TopologyContext + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.TopologyContextWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + put: + tags: + - tapi-topology + summary: creates or updates tapi.topology.context.TopologyContext + description: Augments the base TAPI Context with TopologyService information + operationId: data_tapi_commoncontext_tapi_topologytopology_context_put + requestBody: + description: tapi.topology.TopologyContext to be added or updated + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.TopologyContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "204": + description: Object modified + content: {} + x-codegen-request-body-name: tapi.topology.context.TopologyContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + post: + tags: + - tapi-topology + summary: creates tapi.topology.context.TopologyContext + description: Augments the base TAPI Context with TopologyService information + operationId: data_tapi_commoncontext_tapi_topologytopology_context_post + requestBody: + description: tapi.topology.TopologyContext to be added to list + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.TopologyContextWrapper' + required: false + responses: + "201": + description: Object created + content: {} + "400": + description: Internal error + content: {} + "409": + description: Object already exists + content: {} + x-codegen-request-body-name: tapi.topology.context.TopologyContext.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + delete: + tags: + - tapi-topology + summary: removes tapi.topology.context.TopologyContext + description: Augments the base TAPI Context with TopologyService information + operationId: data_tapi_commoncontext_tapi_topologytopology_context_delete + responses: + "400": + description: Internal error + content: {} + "204": + description: Object deleted + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.NetworkTopologyService + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_get + responses: + "200": + description: tapi.topology.NetworkTopologyService + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NetworkTopologyServiceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/name={value-name}/: + get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_namevalue_name_get + parameters: + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/topology={topology-uuid}/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.TopologyRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_topologytopology_uuid_get + parameters: + - name: topology_uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.TopologyRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.TopologyRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.topologycontext.Topology + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.Topology + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.TopologyWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.Link + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.Link + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LinkWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/: + get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: Capacity available to be assigned. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/: + get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/total-size/: + get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/cost-characteristic={cost-name}/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/name={value-name}/: + get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/node-edge-point={topology-uuid},{node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeEdgePointRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_node_edge_pointtopology_uuidnode_uuidnode_edge_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeEdgePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/resilience-type/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.ResilienceType + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_resilience_type_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.ResilienceType + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ResilienceTypeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/risk-characteristic={risk-characteristic-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.RiskCharacteristic + description: A list of risk characteristics for consideration in an analysis + of shared risk. Each element of the list represents a specific risk consideration. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_risk_characteristicrisk_characteristic_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.RiskCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/: + get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: An optimistic view of the capacity of the TopologicalEntity assuming + that any shared capacity is available to be taken. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/total-size/: + get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/validation-mechanism={validation-mechanism}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.ValidationMechanism + description: Provides details of the specific validation mechanism(s) used to + confirm the presence of an intended topologicalEntity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_validation_mechanismvalidation_mechanism_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: link_uuid + in: path + description: Id of link + required: true + style: simple + explode: false + schema: + type: string + - name: validation_mechanism + in: path + description: Id of validation-mechanism + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.ValidationMechanism + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ValidationMechanismWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/name={value-name}/: + get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.topology.Node + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.topology.Node + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.topology.NodeWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/aggregated-node-edge-point={topology-uuid},{aggregated-node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeEdgePointRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of aggregated-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: aggregated_node_edge_point_node_uuid + in: path + description: Id of aggregated-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of aggregated-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeEdgePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/: + get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: Capacity available to be assigned. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/: + get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/total-size/: + get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/cost-characteristic={cost-name}/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/encap-topology/: + get: + tags: + - tapi-topology + summary: returns tapi.topology.TopologyRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_encap_topology_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.TopologyRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.TopologyRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/name={value-name}/: + get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeRuleGroup + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeRuleGroup + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroupWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: Capacity available to be assigned. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/total-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/cost-characteristic={cost-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.InterRuleGroup + description: "Nested NodeRuleGroups may have InterRuleGroups. The Superior NodeRuleGroup\ + \ contains the nested NodeRuleGroups and their associated InterRuleGroups.\r\ + \n This is equivalent to the Node-Topology hierarchy." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.InterRuleGroup + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.InterRuleGroupWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/associated-node-rule-group={topology-uuid},{associated-node-rule-group-node-uuid},{associated-node-rule-group-node-rule-group-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeRuleGroupRef + description: "The NodeRuleGroups that the InterRuleGroup constrains interconnection\ + \ between.\r\n The CEPs of the NEPs of a referenced NodeRuleGroup\ + \ can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup\ + \ constrained by the rules of the InterRuleGroup." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_associated_node_rule_grouptopology_uuidassociated_node_rule_group_node_uuidassociated_node_rule_group_node_rule_group_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of associated-node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: associated_node_rule_group_node_uuid + in: path + description: Id of associated-node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: associated_node_rule_group_node_rule_group_uuid + in: path + description: Id of associated-node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeRuleGroupRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroupRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: Capacity available to be assigned. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/total-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/cost-characteristic={cost-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.CostCharacteristic + description: The list of costs where each cost relates to some aspect of the + TopologicalEntity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_cost_characteristiccost_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: cost_name + in: path + description: Id of cost-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.CostCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.CostCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/name={value-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/risk-characteristic={risk-characteristic-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.RiskCharacteristic + description: A list of risk characteristics for consideration in an analysis + of shared risk. Each element of the list represents a specific risk consideration. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_risk_characteristicrisk_characteristic_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.RiskCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.Rule + description: The list of rules of the InterRuleGroup. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.Rule + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RuleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/cep-port-role/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.PortRoleRule + description: "Indicates the port role to which the rule applies. \r\n \ + \ The port role is interpreted in the context of the connection type\ + \ which is identified by the connection spec. \r\n The port\ + \ role is not meaningful in the absence of a connection spec reference.\r\n\ + \ If a node rule group carries a port role, that role applies\ + \ also to the associated inter rule where the combination of the roles in\ + \ the node rule groups at the ends of the inter group rule define the connection\ + \ orientation.\r\n For example a root-and-leaf connection may\ + \ be used in a node where a node rule group collects one set of NEPs has the\ + \ port role 'root' and another node rule group collects another set of NEPs\ + \ has the port role 'leaf' where these are joined by an inter rule group.\ + \ This combination specifies an allowed orientation of the root-and-leaf connection.\r\ + \n No port role statement means all port roles are allowed." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_cep_port_role_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.PortRoleRule + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.PortRoleRuleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/connection-spec-reference/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.ConnectionSpecReference + description: "Identifies the type of connection that the rule applies to. \r\ + \n If the attribute is not present then the rule applies to\ + \ all types of connection supported by the device." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_connection_spec_reference_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.ConnectionSpecReference + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ConnectionSpecReferenceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/name={value-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/signal-property/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.SignalPropertyRule + description: "The rule only applies to signals with the properties listed. \r\ + \n If the attribute is not present then the rule applies to\ + \ all signals." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_signal_property_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.SignalPropertyRule + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.SignalPropertyRuleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: An optimistic view of the capacity of the TopologicalEntity assuming + that any shared capacity is available to be taken. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/total-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: inter_rule_group_uuid + in: path + description: Id of inter-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.LatencyCharacteristic + description: The effect on the latency of a queuing process. This only has significant + effect for packet based systems and has a complex characteristic. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_latency_characteristictraffic_property_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: traffic_property_name + in: path + description: Id of latency-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.LatencyCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/name={value-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/node-edge-point={topology-uuid},{node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeEdgePointRef + description: NEPs and their client CEPs that the rules apply to. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_edge_pointtopology_uuidnode_edge_point_node_uuidnode_edge_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_node_uuid + in: path + description: Id of node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeEdgePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/node-rule-group={topology-uuid},{node-rule-group-node-uuid},{node-rule-group-node-rule-group-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeRuleGroupRef + description: "NodeRuleGroups may be nested such that finer grained rules may\ + \ be applied.\r\n A nested rule group should have a subset\ + \ of the NEPs of the superior rule group." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_rule_grouptopology_uuidnode_rule_group_node_uuidnode_rule_group_node_rule_group_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_node_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeRuleGroupRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroupRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/risk-characteristic={risk-characteristic-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.RiskCharacteristic + description: A list of risk characteristics for consideration in an analysis + of shared risk. Each element of the list represents a specific risk consideration. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_risk_characteristicrisk_characteristic_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: risk_characteristic_name + in: path + description: Id of risk-characteristic + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.RiskCharacteristic + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristicWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.Rule + description: The list of rules of the NodeRuleGroup. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.Rule + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.RuleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/cep-port-role/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.PortRoleRule + description: "Indicates the port role to which the rule applies. \r\n \ + \ The port role is interpreted in the context of the connection type\ + \ which is identified by the connection spec. \r\n The port\ + \ role is not meaningful in the absence of a connection spec reference.\r\n\ + \ If a node rule group carries a port role, that role applies\ + \ also to the associated inter rule where the combination of the roles in\ + \ the node rule groups at the ends of the inter group rule define the connection\ + \ orientation.\r\n For example a root-and-leaf connection may\ + \ be used in a node where a node rule group collects one set of NEPs has the\ + \ port role 'root' and another node rule group collects another set of NEPs\ + \ has the port role 'leaf' where these are joined by an inter rule group.\ + \ This combination specifies an allowed orientation of the root-and-leaf connection.\r\ + \n No port role statement means all port roles are allowed." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_cep_port_role_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.PortRoleRule + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.PortRoleRuleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/connection-spec-reference/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.ConnectionSpecReference + description: "Identifies the type of connection that the rule applies to. \r\ + \n If the attribute is not present then the rule applies to\ + \ all types of connection supported by the device." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_connection_spec_reference_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.ConnectionSpecReference + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.ConnectionSpecReferenceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/name={value-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/signal-property/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.SignalPropertyRule + description: "The rule only applies to signals with the properties listed. \r\ + \n If the attribute is not present then the rule applies to\ + \ all signals." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_signal_property_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + - name: local_id + in: path + description: Id of rule + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.SignalPropertyRule + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.SignalPropertyRuleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: An optimistic view of the capacity of the TopologicalEntity assuming + that any shared capacity is available to be taken. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/total-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: node_rule_group_uuid + in: path + description: Id of node-rule-group + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.node.OwnedNodeEdgePoint + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.node.OwnedNodeEdgePoint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.node.OwnedNodeEdgePointWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/aggregated-node-edge-point={topology-uuid},{aggregated-node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.topology.NodeEdgePointRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of aggregated-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: aggregated_node_edge_point_node_uuid + in: path + description: Id of aggregated-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of aggregated-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeEdgePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: Capacity available to be assigned. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/total-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/mapped-service-interface-point={service-interface-point-uuid}/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.ServiceInterfacePointRef + description: NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) + or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) + should be considered experimental + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_mapped_service_interface_pointservice_interface_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: service_interface_point_uuid + in: path + description: Id of mapped-service-interface-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.ServiceInterfacePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/name={value-name}/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.CepList + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.CepList + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.CepListWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionEndPoint + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionEndPoint + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/aggregated-connection-end-point={topology-uuid},{aggregated-connection-end-point-node-uuid},{node-edge-point-uuid},{aggregated-connection-end-point-connection-end-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionEndPointRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_aggregated_connection_end_pointtopology_uuidaggregated_connection_end_point_node_uuidnode_edge_point_uuidaggregated_connection_end_point_connection_end_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of aggregated-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: aggregated_connection_end_point_node_uuid + in: path + description: Id of aggregated-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of aggregated-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: aggregated_connection_end_point_connection_end_point_uuid + in: path + description: Id of aggregated-connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionEndPointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/cep-role/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.CepRole + description: "Defines the role of the CEP in the context of the connection spec.\r\ + \n There may be many cep role - connection spec combinations\ + \ for a particular CEP where each corresponds to a specific connection associated\ + \ with the CEP." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.CepRole + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.CepRoleWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/cep-role/connection-spec-reference/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.connectivity.ConnectionSpecReference + description: The reference to the spec that defines the cep role. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_connection_spec_reference_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.connectivity.ConnectionSpecReference + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.ConnectionSpecReferenceWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/client-node-edge-point={topology-uuid},{client-node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.topology.NodeEdgePointRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_client_node_edge_pointtopology_uuidclient_node_edge_point_node_uuidnode_edge_point_uuid_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: topology_uuid + in: path + description: Id of client-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: client_node_edge_point_node_uuid + in: path + description: Id of client-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: node_edge_point_uuid + in: path + description: Id of client-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeEdgePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/name={value-name}/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.common.NameAndValue + description: List of names. A property of an entity with a value that is unique + in some namespace but may change during the life of the entity. A name carries + no semantics with respect to the purpose of the entity. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_namevalue_name_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + - name: value_name + in: path + description: Id of name + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.NameAndValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.NameAndValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/parent-node-edge-point/ + : get: + tags: + - tapi-connectivity + summary: returns tapi.topology.NodeEdgePointRef + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_parent_node_edge_point_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + - name: connection_end_point_uuid + in: path + description: Id of connection-end-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.topology.NodeEdgePointRef + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRefWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: An optimistic view of the capacity of the TopologicalEntity assuming + that any shared capacity is available to be taken. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/total-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + - name: owned_node_edge_point_uuid + in: path + description: Id of owned-node-edge-point + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/: + get: + tags: + - tapi-topology + summary: returns tapi.common.Capacity + description: An optimistic view of the capacity of the TopologicalEntity assuming + that any shared capacity is available to be taken. + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.Capacity + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.BandwidthProfile + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.BandwidthProfile + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.BandwidthProfileWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: none + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/total-size/: + get: + tags: + - tapi-topology + summary: returns tapi.common.CapacityValue + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + operationId: data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_total_size_get + parameters: + - name: uuid + in: path + description: Id of topology + required: true + style: simple + explode: false + schema: + type: string + - name: node_uuid + in: path + description: Id of node + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: tapi.common.CapacityValue + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.CapacityValueWrapper' + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /operations/tapi-common:get-service-interface-point-details/: + post: + tags: + - tapi-common + summary: operates on tapi.common.GetServiceInterfacePointDetails + description: operates on tapi.common.GetServiceInterfacePointDetails + operationId: operations_tapi_commonget_service_interface_point_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapicommongetserviceinterfacepointdetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.GetServiceInterfacePointDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.common.getserviceinterfacepointdetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /operations/tapi-common:get-service-interface-point-list/: + post: + tags: + - tapi-common + operationId: operations_tapi_commonget_service_interface_point_list_post + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.common.GetServiceInterfacePointList' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /operations/tapi-common:update-service-interface-point/: + post: + tags: + - tapi-common + summary: operates on tapi.common.UpdateServiceInterfacePoint + description: operates on tapi.common.UpdateServiceInterfacePoint + operationId: operations_tapi_commonupdate_service_interface_point_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapicommonupdateserviceinterfacepoint_body' + required: false + responses: + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.common.updateserviceinterfacepoint.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_common_controller + /operations/tapi-connectivity:create-connectivity-service/: + post: + tags: + - tapi-connectivity + summary: operates on tapi.connectivity.CreateConnectivityService + description: operates on tapi.connectivity.CreateConnectivityService + operationId: operations_tapi_connectivitycreate_connectivity_service_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapiconnectivitycreateconnectivityservice_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.CreateConnectivityService' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.connectivity.createconnectivityservice.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-connectivity:delete-connectivity-service/: + post: + tags: + - tapi-connectivity + summary: operates on tapi.connectivity.DeleteConnectivityService + description: operates on tapi.connectivity.DeleteConnectivityService + operationId: operations_tapi_connectivitydelete_connectivity_service_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapiconnectivitydeleteconnectivityservice_body' + required: false + responses: + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.connectivity.deleteconnectivityservice.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-connectivity:get-connection-details/: + post: + tags: + - tapi-connectivity + summary: operates on tapi.connectivity.GetConnectionDetails + description: operates on tapi.connectivity.GetConnectionDetails + operationId: operations_tapi_connectivityget_connection_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapiconnectivitygetconnectiondetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.GetConnectionDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.connectivity.getconnectiondetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-connectivity:get-connection-end-point-details/: + post: + tags: + - tapi-connectivity + summary: operates on tapi.connectivity.GetConnectionEndPointDetails + description: operates on tapi.connectivity.GetConnectionEndPointDetails + operationId: operations_tapi_connectivityget_connection_end_point_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapiconnectivitygetconnectionendpointdetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.GetConnectionEndPointDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.connectivity.getconnectionendpointdetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-connectivity:get-connectivity-service-details/: + post: + tags: + - tapi-connectivity + summary: operates on tapi.connectivity.GetConnectivityServiceDetails + description: operates on tapi.connectivity.GetConnectivityServiceDetails + operationId: operations_tapi_connectivityget_connectivity_service_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapiconnectivitygetconnectivityservicedetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.GetConnectivityServiceDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.connectivity.getconnectivityservicedetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-connectivity:get-connectivity-service-list/: + post: + tags: + - tapi-connectivity + operationId: operations_tapi_connectivityget_connectivity_service_list_post + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.GetConnectivityServiceList' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-connectivity:update-connectivity-service/: + post: + tags: + - tapi-connectivity + summary: operates on tapi.connectivity.UpdateConnectivityService + description: operates on tapi.connectivity.UpdateConnectivityService + operationId: operations_tapi_connectivityupdate_connectivity_service_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapiconnectivityupdateconnectivityservice_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.connectivity.UpdateConnectivityService' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.connectivity.updateconnectivityservice.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_connectivity_controller + /operations/tapi-notification:create-notification-subscription-service/: + post: + tags: + - tapi-notification + summary: operates on tapi.notification.CreateNotificationSubscriptionService + description: operates on tapi.notification.CreateNotificationSubscriptionService + operationId: operations_tapi_notificationcreate_notification_subscription_service_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapinotificationcreatenotificationsubscriptionservice_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.CreateNotificationSubscriptionService' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.notification.createnotificationsubscriptionservice.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-notification:delete-notification-subscription-service/: + post: + tags: + - tapi-notification + summary: operates on tapi.notification.DeleteNotificationSubscriptionService + description: operates on tapi.notification.DeleteNotificationSubscriptionService + operationId: operations_tapi_notificationdelete_notification_subscription_service_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapinotificationdeletenotificationsubscriptionservice_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.DeleteNotificationSubscriptionService' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.notification.deletenotificationsubscriptionservice.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-notification:get-notification-list/: + post: + tags: + - tapi-notification + summary: operates on tapi.notification.GetNotificationList + description: operates on tapi.notification.GetNotificationList + operationId: operations_tapi_notificationget_notification_list_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapinotificationgetnotificationlist_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.GetNotificationList' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.notification.getnotificationlist.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-notification:get-notification-subscription-service-details/: + post: + tags: + - tapi-notification + summary: operates on tapi.notification.GetNotificationSubscriptionServiceDetails + description: operates on tapi.notification.GetNotificationSubscriptionServiceDetails + operationId: operations_tapi_notificationget_notification_subscription_service_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapinotificationgetnotificationsubscriptionservicedetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.GetNotificationSubscriptionServiceDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.notification.getnotificationsubscriptionservicedetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-notification:get-notification-subscription-service-list/: + post: + tags: + - tapi-notification + operationId: operations_tapi_notificationget_notification_subscription_service_list_post + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.GetNotificationSubscriptionServiceList' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-notification:get-supported-notification-types/: + post: + tags: + - tapi-notification + operationId: operations_tapi_notificationget_supported_notification_types_post + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.GetSupportedNotificationTypes' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-notification:update-notification-subscription-service/: + post: + tags: + - tapi-notification + summary: operates on tapi.notification.UpdateNotificationSubscriptionService + description: operates on tapi.notification.UpdateNotificationSubscriptionService + operationId: operations_tapi_notificationupdate_notification_subscription_service_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapinotificationupdatenotificationsubscriptionservice_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.notification.UpdateNotificationSubscriptionService' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.notification.updatenotificationsubscriptionservice.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_notification_controller + /operations/tapi-path-computation:compute-p-2-p-path/: + post: + tags: + - tapi-path-computation + summary: operates on tapi.path.computation.ComputeP2PPath + description: operates on tapi.path.computation.ComputeP2PPath + operationId: operations_tapi_path_computationcompute_p_2_p_path_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapipathcomputationcomputep2ppath_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.ComputeP2PPath' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.path.computation.computep2ppath.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /operations/tapi-path-computation:delete-p-2-p-path/: + post: + tags: + - tapi-path-computation + summary: operates on tapi.path.computation.DeleteP2PPath + description: operates on tapi.path.computation.DeleteP2PPath + operationId: operations_tapi_path_computationdelete_p_2_p_path_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapipathcomputationdeletep2ppath_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.DeleteP2PPath' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.path.computation.deletep2ppath.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /operations/tapi-path-computation:optimize-p-2-ppath/: + post: + tags: + - tapi-path-computation + summary: operates on tapi.path.computation.OptimizeP2Ppath + description: operates on tapi.path.computation.OptimizeP2Ppath + operationId: operations_tapi_path_computationoptimize_p_2_ppath_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapipathcomputationoptimizep2ppath_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.path.computation.OptimizeP2Ppath' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.path.computation.optimizep2ppath.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_path_computation_controller + /operations/tapi-topology:get-link-details/: + post: + tags: + - tapi-topology + summary: operates on tapi.topology.GetLinkDetails + description: operates on tapi.topology.GetLinkDetails + operationId: operations_tapi_topologyget_link_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapitopologygetlinkdetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.GetLinkDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.topology.getlinkdetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /operations/tapi-topology:get-node-details/: + post: + tags: + - tapi-topology + summary: operates on tapi.topology.GetNodeDetails + description: operates on tapi.topology.GetNodeDetails + operationId: operations_tapi_topologyget_node_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapitopologygetnodedetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.GetNodeDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.topology.getnodedetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /operations/tapi-topology:get-node-edge-point-details/: + post: + tags: + - tapi-topology + summary: operates on tapi.topology.GetNodeEdgePointDetails + description: operates on tapi.topology.GetNodeEdgePointDetails + operationId: operations_tapi_topologyget_node_edge_point_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapitopologygetnodeedgepointdetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.GetNodeEdgePointDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.topology.getnodeedgepointdetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /operations/tapi-topology:get-topology-details/: + post: + tags: + - tapi-topology + summary: operates on tapi.topology.GetTopologyDetails + description: operates on tapi.topology.GetTopologyDetails + operationId: operations_tapi_topologyget_topology_details_post + requestBody: + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/operations_tapitopologygettopologydetails_body' + required: false + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.GetTopologyDetails' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-codegen-request-body-name: tapi.topology.gettopologydetails.Input.body-param + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller + /operations/tapi-topology:get-topology-list/: + post: + tags: + - tapi-topology + operationId: operations_tapi_topologyget_topology_list_post + responses: + "200": + description: Correct response + content: + application/yang-data+json: + schema: + $ref: '#/components/schemas/tapi.topology.GetTopologyList' + "201": + description: No response + content: {} + "400": + description: Internal error + content: {} + x-openapi-router-controller: tapi_server.controllers.tapi_topology_controller +components: + schemas: + tapi.common.AdminStatePac: + type: object + properties: + operational-state: + $ref: '#/components/schemas/tapi.common.OperationalState' + lifecycle-state: + $ref: '#/components/schemas/tapi.common.LifecycleState' + administrative-state: + $ref: '#/components/schemas/tapi.common.AdministrativeState' + tapi.common.AdministrativeState: + type: string + enum: + - LOCKED + - UNLOCKED + tapi.common.BandwidthProfile: + type: object + properties: + committed-information-rate: + $ref: '#/components/schemas/tapi.common.CapacityValue' + coupling-flag: + type: boolean + description: none + default: false + bw-profile-type: + $ref: '#/components/schemas/tapi.common.BandwidthProfileType' + peak-information-rate: + $ref: '#/components/schemas/tapi.common.CapacityValue' + committed-burst-size: + $ref: '#/components/schemas/tapi.common.CapacityValue' + peak-burst-size: + $ref: '#/components/schemas/tapi.common.CapacityValue' + color-aware: + type: boolean + description: none + default: false + tapi.common.BandwidthProfileType: + type: string + enum: + - MEF_10.x + - RFC_2697 + - RFC_2698 + - RFC_4115 + tapi.common.BandwidthProfileWrapper: + type: object + properties: + bandwidth-profile: + $ref: '#/components/schemas/tapi.common.BandwidthProfile' + tapi.common.Capacity: + type: object + properties: + bandwidth-profile: + $ref: '#/components/schemas/tapi.common.BandwidthProfile' + total-size: + $ref: '#/components/schemas/tapi.common.CapacityValue' + tapi.common.CapacityPac: + type: object + properties: + available-capacity: + $ref: '#/components/schemas/tapi.common.Capacity' + total-potential-capacity: + $ref: '#/components/schemas/tapi.common.Capacity' + tapi.common.CapacityUnit: + type: string + enum: + - TB + - TBPS + - GB + - GBPS + - MB + - MBPS + - KB + - KBPS + - GHz + - MHz + tapi.common.CapacityValue: + type: object + properties: + value: + type: integer + description: none + format: int32 + unit: + $ref: '#/components/schemas/tapi.common.CapacityUnit' + tapi.common.CapacityValueWrapper: + type: object + properties: + committed-burst-size: + $ref: '#/components/schemas/tapi.common.CapacityValue' + tapi.common.CapacityWrapper: + type: object + properties: + available-capacity: + $ref: '#/components/schemas/tapi.common.Capacity' + tapi.common.Context: + allOf: + - $ref: '#/components/schemas/tapi.common.TapiContext' + - $ref: '#/components/schemas/tapi.connectivity.ContextAugmentation3' + - $ref: '#/components/schemas/tapi.notification.ContextAugmentation1' + - $ref: '#/components/schemas/tapi.path.computation.ContextAugmentation2' + - $ref: '#/components/schemas/tapi.topology.ContextAugmentation4' + tapi.common.ContextWrapper: + type: object + properties: + tapi-common:context: + $ref: '#/components/schemas/tapi.common.Context' + tapi.common.DirectiveValue: + type: string + enum: + - MINIMIZE + - MAXIMIZE + - ALLOW + - DISALLOW + - DONT_CARE + tapi.common.ForwardingDirection: + type: string + enum: + - BIDIRECTIONAL + - UNIDIRECTIONAL + - UNDEFINED_OR_UNKNOWN + tapi.common.GetServiceInterfacePointDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.common.getserviceinterfacepointdetails.Output' + tapi.common.GetServiceInterfacePointList: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.common.getserviceinterfacepointlist.Output' + tapi.common.GlobalClass: + type: object + properties: + name: + type: array + description: List of names. A property of an entity with a value that is + unique in some namespace but may change during the life of the entity. + A name carries no semantics with respect to the purpose of the entity. + items: + $ref: '#/components/schemas/tapi.common.NameAndValue' + uuid: + type: string + description: "UUID: An identifier that is universally unique within an identifier\ + \ space, where the identifier space is itself globally unique, and immutable.\ + \ An UUID carries no semantics with respect to the purpose or state of\ + \ the entity.\r\n UUID here uses string representation\ + \ as defined in RFC 4122. The canonical representation uses lowercase\ + \ characters.\r\n Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'\ + \ + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r\n Example of a UUID\ + \ in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6" + tapi.common.LayerProtocolName: + type: string + enum: + - ODU + - ETH + - DSR + - PHOTONIC_MEDIA + tapi.common.LifecycleState: + type: string + enum: + - PLANNED + - POTENTIAL_AVAILABLE + - POTENTIAL_BUSY + - INSTALLED + - PENDING_REMOVAL + tapi.common.LocalClass: + type: object + properties: + name: + type: array + description: List of names. A property of an entity with a value that is + unique in some namespace but may change during the life of the entity. + A name carries no semantics with respect to the purpose of the entity. + items: + $ref: '#/components/schemas/tapi.common.NameAndValue' + local-id: + type: string + description: none + tapi.common.NameAndValue: + type: object + properties: + value-name: + type: string + description: The name of the value. The value need not have a name. + value: + type: string + description: The value + tapi.common.NameAndValueWrapper: + type: object + properties: + name: + $ref: '#/components/schemas/tapi.common.NameAndValue' + tapi.common.OperationalState: + type: string + enum: + - DISABLED + - ENABLED + tapi.common.OperationalStatePac: + type: object + properties: + operational-state: + $ref: '#/components/schemas/tapi.common.OperationalState' + lifecycle-state: + $ref: '#/components/schemas/tapi.common.LifecycleState' + tapi.common.PortDirection: + type: string + enum: + - BIDIRECTIONAL + - INPUT + - OUTPUT + - UNIDENTIFIED_OR_UNKNOWN + tapi.common.PortRole: + type: string + enum: + - SYMMETRIC + - ROOT + - LEAF + - TRUNK + - UNKNOWN + tapi.common.ServiceInterfacePoint: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + supported-layer-protocol-qualifier: + type: array + description: none + items: + type: string + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + direction: + $ref: '#/components/schemas/tapi.common.PortDirection' + description: "The LogicalTerminationPoint (LTP) object class encapsulates\ + \ the termination and adaptation functions of one or more transport layers.\ + \ \r\n The structure of LTP supports all transport protocols\ + \ including circuit and packet forms." + tapi.common.ServiceInterfacePointRef: + type: object + properties: + service-interface-point-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid + tapi.common.ServiceInterfacePointRefWrapper: + type: object + properties: + service-interface-point: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRef' + tapi.common.ServiceInterfacePointWrapper: + type: object + properties: + service-interface-point: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePoint' + tapi.common.TapiContext: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + service-interface-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePoint' + description: "The Network Control Domain (NCD) object class represents the\ + \ scope of control that a particular SDN controller has with respect to\ + \ a particular network, (i.e., encompassing a designated set of interconnected\ + \ (virtual) network elements)." + tapi.common.TerminationDirection: + type: string + enum: + - BIDIRECTIONAL + - SINK + - SOURCE + - UNDEFINED_OR_UNKNOWN + tapi.common.TerminationPac: + type: object + properties: + termination-direction: + $ref: '#/components/schemas/tapi.common.TerminationDirection' + termination-state: + $ref: '#/components/schemas/tapi.common.TerminationState' + tapi.common.TerminationState: + type: string + enum: + - LP_CAN_NEVER_TERMINATE + - LT_NOT_TERMINATED + - TERMINATED_SERVER_TO_CLIENT_FLOW + - TERMINATED_CLIENT_TO_SERVER_FLOW + - TERMINATED_BIDIRECTIONAL + - LT_PERMENANTLY_TERMINATED + - TERMINATION_STATE_UNKNOWN + tapi.common.TimeRange: + type: object + properties: + end-time: + type: string + description: none + start-time: + type: string + description: none + tapi.common.TimeRangeWrapper: + type: object + properties: + schedule: + $ref: '#/components/schemas/tapi.common.TimeRange' + tapi.common.getserviceinterfacepointdetails.Input: + type: object + properties: + sip-id-or-name: + type: string + description: none + tapi.common.getserviceinterfacepointdetails.Output: + type: object + properties: + sip: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePoint' + tapi.common.getserviceinterfacepointlist.Output: + type: object + properties: + sip: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePoint' + tapi.common.updateserviceinterfacepoint.Input: + type: object + properties: + sip-id-or-name: + type: string + description: none + state: + $ref: '#/components/schemas/tapi.common.AdministrativeState' + tapi.connectivity.CepList: + type: object + properties: + connection-end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPoint' + tapi.connectivity.CepListWrapper: + type: object + properties: + tapi-connectivity:cep-list: + $ref: '#/components/schemas/tapi.connectivity.CepList' + tapi.connectivity.CepRole: + type: object + properties: + role-name: + type: string + description: The name of the cep role in the context of the referenced spec. + connection-spec-reference: + $ref: '#/components/schemas/tapi.connectivity.ConnectionSpecReference' + tapi.connectivity.CepRoleWrapper: + type: object + properties: + cep-role: + $ref: '#/components/schemas/tapi.connectivity.CepRole' + tapi.connectivity.Connection: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.common.OperationalStatePac' + - type: object + properties: + supported-client-link: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.LinkRef' + lower-connection: + type: array + description: "An Connection object supports a recursive aggregation relationship\ + \ such that the internal construction of an Connection can be exposed\ + \ as multiple lower level Connection objects (partitioning).\r\n \ + \ Aggregation is used as for the Node/Topology to allow\ + \ changes in hierarchy. \r\n Connection aggregation reflects\ + \ Node/Topology aggregation. \r\n The FC represents a\ + \ Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily\ + \ the lowest level of FC partitioning." + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionRef' + switch-control: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.SwitchControl' + route: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.Route' + connection-spec-reference: + $ref: '#/components/schemas/tapi.connectivity.ConnectionSpecReference' + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + connection-end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRef' + direction: + $ref: '#/components/schemas/tapi.common.ForwardingDirection' + description: "The ForwardingConstruct (FC) object class models enabled potential\ + \ for forwarding between two or more LTPs and like the LTP supports any\ + \ transport protocol including all circuit and packet forms.\r\n \ + \ At the lowest level of recursion, a FC represents a cross-connection\ + \ within an NE." + tapi.connectivity.ConnectionEndPoint: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.common.OperationalStatePac' + - $ref: '#/components/schemas/tapi.common.TerminationPac' + - type: object + properties: + client-node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + connection-port-role: + $ref: '#/components/schemas/tapi.common.PortRole' + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + layer-protocol-qualifier: + type: string + description: none + parent-node-edge-point: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + cep-role: + type: array + description: "Defines the role of the CEP in the context of the connection\ + \ spec.\r\n There may be many cep role - connection spec\ + \ combinations for a particular CEP where each corresponds to a specific\ + \ connection associated with the CEP." + items: + $ref: '#/components/schemas/tapi.connectivity.CepRole' + aggregated-connection-end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRef' + connection-port-direction: + $ref: '#/components/schemas/tapi.common.PortDirection' + description: "The LogicalTerminationPoint (LTP) object class encapsulates\ + \ the termination and adaptation functions of one or more transport layers.\ + \ \r\n The structure of LTP supports all transport protocols\ + \ including circuit and packet forms." + tapi.connectivity.ConnectionEndPointRef: + allOf: + - $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + - type: object + properties: + connection-end-point-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point/tapi-connectivity:uuid + description: none + tapi.connectivity.ConnectionEndPointRefWrapper: + type: object + properties: + connection-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRef' + tapi.connectivity.ConnectionEndPointWrapper: + type: object + properties: + connection-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPoint' + tapi.connectivity.ConnectionRef: + type: object + properties: + connection-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:uuid + tapi.connectivity.ConnectionRefWrapper: + type: object + properties: + lower-connection: + $ref: '#/components/schemas/tapi.connectivity.ConnectionRef' + tapi.connectivity.ConnectionSpecReference: + type: object + properties: + connection-spec-name: + type: string + description: "The name of the connection spec.\r\n This can\ + \ be used alone (with no spec reference) where there is only a paper spec." + connection-spec-id: + type: string + description: "The reference to a formal spec. \r\n This reference\ + \ need not be provided (e.g., where there is no formal machine interpretable\ + \ spec for the type of connection)." + tapi.connectivity.ConnectionSpecReferenceWrapper: + type: object + properties: + connection-spec-reference: + $ref: '#/components/schemas/tapi.connectivity.ConnectionSpecReference' + tapi.connectivity.ConnectionWrapper: + type: object + properties: + connection: + $ref: '#/components/schemas/tapi.connectivity.Connection' + tapi.connectivity.ConnectivityConstraint: + type: object + properties: + service-layer: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + schedule: + $ref: '#/components/schemas/tapi.common.TimeRange' + connectivity-direction: + $ref: '#/components/schemas/tapi.common.ForwardingDirection' + requested-capacity: + $ref: '#/components/schemas/tapi.common.Capacity' + diversity-exclusion: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRef' + connection-inclusion: + type: array + description: "A ConnectivityService may use one or more existing Connections.\r\ + \n A common traditional strategy is to set up “stranded”\ + \ connectivity in the core of the network as “express channels” (this\ + \ is essentially a serial compound link, but can be treated as simple\ + \ connections)\r\n A connection inclusion capability allows\ + \ for adoption of a discovered Connections.\r\n A ConnectivityService\ + \ is requested with a connection inclusion constraint that identifies\ + \ a connection (or chain of connections) that is bounded by CEPs that\ + \ each belong to a NEP that references a SIP that is referenced by a CSEP\ + \ of the ConnectivityService such that all CSEPs are satisfied by CEPs\ + \ of the existing Connection. will allow discovered Connections with no\ + \ stated intent to be associated with an intent via the ConnectivityService." + items: + type: string + service-level: + type: string + description: "An abstract value the meaning of which is mutually agreed\ + \ – typically represents metrics such as - Class of service, priority,\ + \ resiliency, availability" + service-type: + $ref: '#/components/schemas/tapi.connectivity.ServiceType' + connection-exclusion: + type: array + description: none + items: + type: string + coroute-inclusion: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRef' + tapi.connectivity.ConnectivityContext: + type: object + properties: + connectivity-service: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityService' + connection: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.Connection' + tapi.connectivity.ConnectivityContextWrapper: + type: object + properties: + tapi-connectivity:connectivity-context: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityContext' + tapi.connectivity.ConnectivityService: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.connectivity.ConnectivityConstraint' + - $ref: '#/components/schemas/tapi.connectivity.ResilienceConstraint' + - $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + - $ref: '#/components/schemas/tapi.path.computation.TopologyConstraint' + - type: object + properties: + end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPoint' + connection: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionRef' + description: "The ForwardingConstruct (FC) object class models enabled potential\ + \ for forwarding between two or more LTPs and like the LTP supports any\ + \ transport protocol including all circuit and packet forms.\r\n \ + \ At the lowest level of recursion, a FC represents a cross-connection\ + \ within an NE." + tapi.connectivity.ConnectivityServiceEndPoint: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + protection-role: + $ref: '#/components/schemas/tapi.connectivity.ProtectionRole' + role: + $ref: '#/components/schemas/tapi.common.PortRole' + service-interface-point: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRef' + peer-fwd-connectivity-service-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRef' + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + layer-protocol-qualifier: + type: string + description: none + connection-end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRef' + server-connectivity-service-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRef' + protecting-connectivity-service-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRef' + direction: + $ref: '#/components/schemas/tapi.common.PortDirection' + capacity: + $ref: '#/components/schemas/tapi.common.Capacity' + description: "The association of the FC to LTPs is made via EndPoints.\r\n\ + \ The EndPoint (EP) object class models the access to the FC\ + \ function. \r\n The traffic forwarding between the associated\ + \ EPs of the FC depends upon the type of FC and may be associated with FcSwitch\ + \ object instances. \r\n In cases where there is resilience\ + \ the EndPoint may convey the resilience role of the access to the FC. \r\ + \n It can represent a protected (resilient/reliable) point or\ + \ a protecting (unreliable working or protection) point.\r\n \ + \ The EP replaces the Protection Unit of a traditional protection model.\ + \ \r\n The ForwadingConstruct can be considered as a component\ + \ and the EndPoint as a Port on that component" + tapi.connectivity.ConnectivityServiceEndPointRef: + allOf: + - $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRef' + - type: object + properties: + connectivity-service-end-point-local-id: + type: string + description: none + x-path: /tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id + description: none + tapi.connectivity.ConnectivityServiceEndPointRefWrapper: + type: object + properties: + peer-fwd-connectivity-service-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPointRef' + tapi.connectivity.ConnectivityServiceEndPointWrapper: + type: object + properties: + end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPoint' + tapi.connectivity.ConnectivityServiceRef: + type: object + properties: + connectivity-service-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid + tapi.connectivity.ConnectivityServiceRefWrapper: + type: object + properties: + coroute-inclusion: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceRef' + tapi.connectivity.ConnectivityServiceWrapper: + type: object + properties: + connectivity-service: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityService' + tapi.connectivity.ContextAugmentation3: + type: object + properties: + connectivity-context: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityContext' + x-augmentation: + prefix: tapi-connectivity + namespace: urn:onf:otcc:yang:tapi-connectivity + tapi.connectivity.CoordinateType: + type: string + enum: + - NO_COORDINATE + - HOLD_OFF_TIME + - WAIT_FOR_NOTIFICATION + tapi.connectivity.CreateConnectivityService: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.connectivity.createconnectivityservice.Output' + tapi.connectivity.GetConnectionDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.connectivity.getconnectiondetails.Output' + tapi.connectivity.GetConnectionEndPointDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.connectivity.getconnectionendpointdetails.Output' + tapi.connectivity.GetConnectivityServiceDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.connectivity.getconnectivityservicedetails.Output' + tapi.connectivity.GetConnectivityServiceList: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.connectivity.getconnectivityservicelist.Output' + tapi.connectivity.OwnedNodeEdgePointAugmentation1: + type: object + properties: + cep-list: + $ref: '#/components/schemas/tapi.connectivity.CepList' + x-augmentation: + prefix: tapi-connectivity + namespace: urn:onf:otcc:yang:tapi-connectivity + tapi.connectivity.ProtectionRole: + type: string + enum: + - WORK + - PROTECT + - PROTECTED + - NA + - WORK_RESTORE + - PROTECT_RESTORE + tapi.connectivity.ResilienceConstraint: + type: object + properties: + is-lock-out: + type: boolean + description: "The resource is configured to temporarily not be available\ + \ for use in the protection scheme(s) it is part of.\r\n \ + \ This overrides all other protection control states including forced.\r\ + \n If the item is locked out then it cannot be used under\ + \ any circumstances.\r\n Note: Only relevant when part\ + \ of a protection scheme." + default: false + max-switch-times: + type: integer + description: "Used to limit the maximum swtich times. When work fault disappears\ + \ , and traffic return to the original work path, switch counter reset." + format: int32 + restoration-coordinate-type: + $ref: '#/components/schemas/tapi.connectivity.CoordinateType' + is-coordinated-switching-both-ends: + type: boolean + description: Is operating such that switching at both ends of each flow + acorss the FC is coordinated at both ingress and egress ends. + default: false + hold-off-time: + type: integer + description: "This attribute indicates the time, in milliseconds, between\ + \ declaration of signal degrade or signal fail, and the initialization\ + \ of the protection switching algorithm." + format: int32 + is-frozen: + type: boolean + description: "Temporarily prevents any switch action to be taken and, as\ + \ such, freezes the current state. \r\n Until the freeze\ + \ is cleared, additional near-end external commands are rejected and fault\ + \ condition changes and received APS messages are ignored.\r\n \ + \ All administrative controls of any aspect of protection are\ + \ rejected." + default: false + wait-to-revert-time: + type: integer + description: "If the protection system is revertive, this attribute specifies\ + \ the time, in minutes, to wait after a fault clears on a higher priority\ + \ (preferred) resource before reverting to the preferred resource." + format: int32 + default: 15 + resilience-type: + $ref: '#/components/schemas/tapi.topology.ResilienceType' + preferred-restoration-layer: + type: array + description: Indicate which layer this resilience parameters package configured + for. + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + restore-priority: + type: integer + description: none + format: int32 + reversion-mode: + $ref: '#/components/schemas/tapi.connectivity.ReversionMode' + tapi.connectivity.ResilienceRoute: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + priority: + type: integer + description: "Value of 0 (zero) means 'unspecified priority'.\r\n \ + \ Highest priority is 1, sometimes referred as 'preferred'\ + \ or 'main' or 'intended' route.\r\n 2 has lower priority\ + \ than 1, 3 has lower priority than 2, etc." + format: int32 + route-state: + type: string + description: Current information on the route selection. + description: "This object adds resilience and state attributes to the Route.\r\ + \n When this object is not present, then the Route is intendend\ + \ as 'current' Route of the Connection." + tapi.connectivity.ResilienceRouteWrapper: + type: object + properties: + resilience-route-pac: + $ref: '#/components/schemas/tapi.connectivity.ResilienceRoute' + tapi.connectivity.ReversionMode: + type: string + enum: + - REVERTIVE + - NON-REVERTIVE + tapi.connectivity.Route: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + connection-end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRef' + resilience-route-pac: + $ref: '#/components/schemas/tapi.connectivity.ResilienceRoute' + description: "The Route of a Connection is modeled as a collection of Connection\ + \ End Points.\r\n The logical order of the Connection End Points\ + \ within the Route object can be inferred by the TAPI client by the knowledge\ + \ of the Topology information." + tapi.connectivity.RouteRef: + allOf: + - $ref: '#/components/schemas/tapi.connectivity.ConnectionRef' + - type: object + properties: + route-local-id: + type: string + description: none + x-path: /tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id + description: none + tapi.connectivity.RouteRefWrapper: + type: object + properties: + selected-route: + $ref: '#/components/schemas/tapi.connectivity.RouteRef' + tapi.connectivity.RouteWrapper: + type: object + properties: + route: + $ref: '#/components/schemas/tapi.connectivity.Route' + tapi.connectivity.SelectionControl: + type: string + enum: + - LOCK_OUT + - NORMAL + - MANUAL + - FORCED + tapi.connectivity.SelectionReason: + type: string + enum: + - LOCKOUT + - NORMAL + - MANUAL + - FORCED + - WAIT_TO_REVERT + - SIGNAL_DEGRADE + - SIGNAL_FAIL + tapi.connectivity.ServiceType: + type: string + enum: + - POINT_TO_POINT_CONNECTIVITY + - POINT_TO_MULTIPOINT_CONNECTIVITY + - MULTIPOINT_CONNECTIVITY + - ROOTED_MULTIPOINT_CONNECTIVITY + tapi.connectivity.Switch: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + selected-connection-end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPointRef' + selected-route: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.RouteRef' + selection-control: + $ref: '#/components/schemas/tapi.connectivity.SelectionControl' + selection-reason: + $ref: '#/components/schemas/tapi.connectivity.SelectionReason' + switch-direction: + $ref: '#/components/schemas/tapi.common.PortDirection' + description: "The class models the switched forwarding of traffic (traffic\ + \ flow) between FcPorts (ConnectionEndPoints) and is present where there\ + \ is protection functionality in the FC (Connection). \r\n If\ + \ an FC exposes protection (having two or more FcPorts that provide alternative\ + \ identical inputs/outputs), the FC will have one or more associated FcSwitch\ + \ objects to represent the alternative flow choices visible at the edge\ + \ of the FC.\r\n The FC switch represents and defines a protection\ + \ switch structure encapsulated in the FC. \r\n Essentially performs\ + \ one of the functions of the Protection Group in a traditional model. It\ + \ associates to 2 or more FcPorts each playing the role of a Protection\ + \ Unit. \r\n One or more protection, i.e. standby/backup, FcPorts\ + \ provide protection for one or more working (i.e. regular/main/preferred)\ + \ FcPorts where either protection or working can feed one or more protected\ + \ FcPort.\r\n The switch may be used in revertive or non-revertive\ + \ (symmetric) mode. When in revertive mode it may define a waitToRestore\ + \ time.\r\n It may be used in one of several modes including\ + \ source switch, destination switched, source and destination switched etc\ + \ (covering cases such as 1+1 and 1:1).\r\n It may be locked\ + \ out (prevented from switching), force switched or manual switched.\r\n\ + \ It will indicate switch state and change of state.\r\n \ + \ The switch can be switched away from all sources such that it becomes\ + \ open and hence two coordinated switches can both feed the same LTP so\ + \ long as at least one of the two is switched away from all sources (is\ + \ 'open').\r\n The ability for a Switch to be 'high impedance'\ + \ allows bidirectional ForwardingConstructs to be overlaid on the same bidirectional\ + \ LTP where the appropriate control is enabled to prevent signal conflict.\r\ + \n This ability allows multiple alternate routes to be present\ + \ that otherwise would be in conflict." + tapi.connectivity.SwitchControl: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.connectivity.ResilienceConstraint' + - type: object + properties: + sub-switch-control: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.SwitchControlRef' + switch: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.Switch' + description: "Represents the capability to control and coordinate switches,\ + \ to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize\ + \ a protection scheme." + tapi.connectivity.SwitchControlRef: + allOf: + - $ref: '#/components/schemas/tapi.connectivity.ConnectionRef' + - type: object + properties: + switch-control-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:switch-control/tapi-connectivity:uuid + description: none + tapi.connectivity.SwitchControlRefWrapper: + type: object + properties: + sub-switch-control: + $ref: '#/components/schemas/tapi.connectivity.SwitchControlRef' + tapi.connectivity.SwitchControlWrapper: + type: object + properties: + switch-control: + $ref: '#/components/schemas/tapi.connectivity.SwitchControl' + tapi.connectivity.SwitchWrapper: + type: object + properties: + switch: + $ref: '#/components/schemas/tapi.connectivity.Switch' + tapi.connectivity.UpdateConnectivityService: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.connectivity.updateconnectivityservice.Output' + tapi.connectivity.createconnectivityservice.Input: + type: object + properties: + topology-constraint: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraint' + end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPoint' + resilience-constraint: + $ref: '#/components/schemas/tapi.connectivity.ResilienceConstraint' + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + state: + type: string + description: none + connectivity-constraint: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityConstraint' + tapi.connectivity.createconnectivityservice.Output: + type: object + properties: + service: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityService' + tapi.connectivity.deleteconnectivityservice.Input: + type: object + properties: + service-id-or-name: + type: string + description: none + tapi.connectivity.getconnectiondetails.Input: + type: object + properties: + connection-id-or-name: + type: string + description: none + tapi.connectivity.getconnectiondetails.Output: + type: object + properties: + connection: + $ref: '#/components/schemas/tapi.connectivity.Connection' + tapi.connectivity.getconnectionendpointdetails.Input: + type: object + properties: + cep-id-or-name: + type: string + description: none + nep-id-or-name: + type: string + description: none + node-id-or-name: + type: string + description: none + topology-id-or-name: + type: string + description: none + tapi.connectivity.getconnectionendpointdetails.Output: + type: object + properties: + connection-end-point: + $ref: '#/components/schemas/tapi.connectivity.ConnectionEndPoint' + tapi.connectivity.getconnectivityservicedetails.Input: + type: object + properties: + service-id-or-name: + type: string + description: none + tapi.connectivity.getconnectivityservicedetails.Output: + type: object + properties: + service: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityService' + tapi.connectivity.getconnectivityservicelist.Output: + type: object + properties: + service: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityService' + tapi.connectivity.updateconnectivityservice.Input: + type: object + properties: + service-id-or-name: + type: string + description: none + topology-constraint: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraint' + end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityServiceEndPoint' + resilience-constraint: + $ref: '#/components/schemas/tapi.connectivity.ResilienceConstraint' + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + state: + type: string + description: none + connectivity-constraint: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityConstraint' + tapi.connectivity.updateconnectivityservice.Output: + type: object + properties: + service: + $ref: '#/components/schemas/tapi.connectivity.ConnectivityService' + tapi.notification.AlarmInfo: + type: object + properties: + perceived-severity: + $ref: '#/components/schemas/tapi.notification.PerceivedSeverityType' + probable-cause: + type: string + description: none + service-affecting: + $ref: '#/components/schemas/tapi.notification.ServiceAffecting' + is-transient: + type: boolean + description: none + default: false + tapi.notification.AlarmInfoWrapper: + type: object + properties: + alarm-info: + $ref: '#/components/schemas/tapi.notification.AlarmInfo' + tapi.notification.ContextAugmentation1: + type: object + properties: + notification-context: + $ref: '#/components/schemas/tapi.notification.NotificationContext' + x-augmentation: + prefix: tapi-notification + namespace: urn:onf:otcc:yang:tapi-notification + tapi.notification.CreateNotificationSubscriptionService: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.createnotificationsubscriptionservice.Output' + tapi.notification.DeleteNotificationSubscriptionService: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.deletenotificationsubscriptionservice.Output' + tapi.notification.GetNotificationList: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.getnotificationlist.Output' + tapi.notification.GetNotificationSubscriptionServiceDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.getnotificationsubscriptionservicedetails.Output' + tapi.notification.GetNotificationSubscriptionServiceList: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.getnotificationsubscriptionservicelist.Output' + tapi.notification.GetSupportedNotificationTypes: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.getsupportednotificationtypes.Output' + tapi.notification.NameAndValueChange: + type: object + properties: + value-name: + type: string + description: The name of the value. The value need not have a name. + old-value: + type: string + description: The value + new-value: + type: string + description: The value + tapi.notification.NameAndValueChangeWrapper: + type: object + properties: + changed-attributes: + $ref: '#/components/schemas/tapi.notification.NameAndValueChange' + tapi.notification.Notification: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + target-object-type: + $ref: '#/components/schemas/tapi.notification.ObjectType' + additional-text: + type: string + description: none + event-time-stamp: + type: string + description: none + additional-info: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.NameAndValue' + sequence-number: + type: integer + description: "A monotonous increasing sequence number associated with\ + \ the notification.\r\n The exact semantics of how this\ + \ sequence number is assigned (per channel or subscription or source\ + \ or system) is left undefined." + format: int32 + tca-info: + $ref: '#/components/schemas/tapi.notification.TcaInfo' + target-object-identifier: + type: string + description: none + notification-type: + $ref: '#/components/schemas/tapi.notification.NotificationType' + target-object-name: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.NameAndValue' + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + source-indicator: + $ref: '#/components/schemas/tapi.notification.SourceIndicator' + alarm-info: + $ref: '#/components/schemas/tapi.notification.AlarmInfo' + changed-attributes: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.NameAndValueChange' + description: none + tapi.notification.NotificationChannel: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + next-sequence-no: + type: integer + description: The sequence number of the next notification that will be + published on the channel + format: int32 + stream-address: + type: string + description: "The address/location/URI of the channel/stream to which\ + \ the subscribed notifications are published.\r\n This\ + \ specifics of this is typically dependent on the implementation protocol\ + \ & mechanism and hence is typed as a string." + description: none + tapi.notification.NotificationChannelWrapper: + type: object + properties: + notification-channel: + $ref: '#/components/schemas/tapi.notification.NotificationChannel' + tapi.notification.NotificationContext: + type: object + properties: + notif-subscription: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + notification: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.Notification' + tapi.notification.NotificationContextWrapper: + type: object + properties: + tapi-notification:notification-context: + $ref: '#/components/schemas/tapi.notification.NotificationContext' + tapi.notification.NotificationSubscriptionService: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + notification: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.Notification' + notification-channel: + $ref: '#/components/schemas/tapi.notification.NotificationChannel' + subscription-state: + $ref: '#/components/schemas/tapi.notification.SubscriptionState' + supported-object-types: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.ObjectType' + supported-notification-types: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.NotificationType' + subscription-filter: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilter' + description: none + tapi.notification.NotificationSubscriptionServiceWrapper: + type: object + properties: + notif-subscription: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + tapi.notification.NotificationType: + type: string + enum: + - OBJECT_CREATION + - OBJECT_DELETION + - ATTRIBUTE_VALUE_CHANGE + - ALARM_EVENT + - THRESHOLD_CROSSING_ALERT + tapi.notification.NotificationWrapper: + type: object + properties: + notification: + $ref: '#/components/schemas/tapi.notification.Notification' + tapi.notification.ObjectType: + type: string + enum: + - TOPOLOGY + - NODE + - LINK + - CONNECTION + - PATH + - CONNECTIVITY_SERVICE + - VIRTUAL_NETWORK_SERVICE + - PATH_COMPUTATION_SERVICE + - NODE_EDGE_POINT + - SERVICE_INTERFACE_POINT + - CONNECTION_END_POINT + - MAINTENANCE_ENTITY_GROUP + - MAINTENANCE_ENTITY + - MEG_END_POINT + - MEG_INTERMEDIATE_POINT + - SWITCH_CONTROL + - SWITCH + - ROUTE + - NODE_RULE_GROUP + - INTER_RULE_GROUP + - RULE + - OAM_JOB + - ACCESS_PORT + - EQUIPMENT + - HOLDER + - PHYSICAL_SPAN + - ABSTRACT_STRAND + - DEVICE + tapi.notification.PerceivedSeverityType: + type: string + enum: + - CRITICAL + - MAJOR + - MINOR + - WARNING + - CLEARED + tapi.notification.PerceivedTcaSeverity: + type: string + enum: + - WARNING + - CLEAR + tapi.notification.ServiceAffecting: + type: string + enum: + - SERVICE_AFFECTING + - NOT_SERVICE_AFFECTING + - UNKNOWN + tapi.notification.SourceIndicator: + type: string + enum: + - RESOURCE_OPERATION + - MANAGEMENT_OPERATION + - UNKNOWN + tapi.notification.SubscriptionFilter: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + requested-notification-types: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.NotificationType' + requested-object-identifier: + type: array + description: none + items: + type: string + requested-layer-protocols: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + include-content: + type: boolean + description: Indicates whether the published Notification includes content + or just the Notification Id (which enables retrieval of the notification + at the later stage) + default: false + requested-object-types: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.ObjectType' + description: none + tapi.notification.SubscriptionFilterWrapper: + type: object + properties: + subscription-filter: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilter' + tapi.notification.SubscriptionState: + type: string + enum: + - SUSPENDED + - ACTIVE + tapi.notification.TcaInfo: + type: object + properties: + threshold-crossing: + $ref: '#/components/schemas/tapi.notification.ThresholdCrossingType' + threshold-parameter: + type: string + description: none + is-transient: + type: boolean + description: none + default: false + threshold-value: + type: integer + description: none + format: int32 + perceived-severity: + $ref: '#/components/schemas/tapi.notification.PerceivedTcaSeverity' + suspect-interval-flag: + type: boolean + description: none + default: false + measurement-interval: + type: string + description: none + tapi.notification.TcaInfoWrapper: + type: object + properties: + tca-info: + $ref: '#/components/schemas/tapi.notification.TcaInfo' + tapi.notification.ThresholdCrossingType: + type: string + enum: + - THRESHOLD_ABOVE + - THRESHOLD_BELOW + - CLEARED + tapi.notification.UpdateNotificationSubscriptionService: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.notification.updatenotificationsubscriptionservice.Output' + tapi.notification.createnotificationsubscriptionservice.Input: + type: object + properties: + subscription-state: + $ref: '#/components/schemas/tapi.notification.SubscriptionState' + subscription-filter: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilter' + tapi.notification.createnotificationsubscriptionservice.Output: + type: object + properties: + subscription-service: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + tapi.notification.deletenotificationsubscriptionservice.Input: + type: object + properties: + subscription-id-or-name: + type: string + description: none + tapi.notification.deletenotificationsubscriptionservice.Output: + type: object + properties: + subscription-service: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + tapi.notification.getnotificationlist.Input: + type: object + properties: + time-period: + type: string + description: none + subscription-id-or-name: + type: string + description: none + tapi.notification.getnotificationlist.Output: + type: object + properties: + notification: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.Notification' + tapi.notification.getnotificationsubscriptionservicedetails.Input: + type: object + properties: + subscription-id-or-name: + type: string + description: none + tapi.notification.getnotificationsubscriptionservicedetails.Output: + type: object + properties: + subscription-service: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + tapi.notification.getnotificationsubscriptionservicelist.Output: + type: object + properties: + subscription-service: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + tapi.notification.getsupportednotificationtypes.Output: + type: object + properties: + supported-object-types: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.ObjectType' + supported-notification-types: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.notification.NotificationType' + tapi.notification.updatenotificationsubscriptionservice.Input: + type: object + properties: + subscription-state: + $ref: '#/components/schemas/tapi.notification.SubscriptionState' + subscription-filter: + $ref: '#/components/schemas/tapi.notification.SubscriptionFilter' + subscription-id-or-name: + type: string + description: none + tapi.notification.updatenotificationsubscriptionservice.Output: + type: object + properties: + subscription-service: + $ref: '#/components/schemas/tapi.notification.NotificationSubscriptionService' + tapi.path.computation.ComputeP2PPath: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.path.computation.computep2ppath.Output' + tapi.path.computation.ContextAugmentation2: + type: object + properties: + path-computation-context: + $ref: '#/components/schemas/tapi.path.computation.PathComputationContext' + x-augmentation: + prefix: tapi-path-computation + namespace: urn:onf:otcc:yang:tapi-path-computation + tapi.path.computation.DeleteP2PPath: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.path.computation.deletep2ppath.Output' + tapi.path.computation.DiversityPolicy: + type: string + enum: + - SRLG + - SRNG + - SNG + - NODE + - LINK + tapi.path.computation.OptimizeP2Ppath: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.path.computation.optimizep2ppath.Output' + tapi.path.computation.Path: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + link: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.LinkRef' + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + direction: + $ref: '#/components/schemas/tapi.common.ForwardingDirection' + description: Path is described by an ordered list of TE Links. A TE Link is + defined by a pair of Node/NodeEdgePoint IDs. A Connection is realized by + concatenating link resources (associated with a Link) and the lower-level + connections (cross-connections) in the different nodes + tapi.path.computation.PathComputationContext: + type: object + properties: + path-comp-service: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.path.computation.PathComputationService' + path: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.path.computation.Path' + tapi.path.computation.PathComputationContextWrapper: + type: object + properties: + tapi-path-computation:path-computation-context: + $ref: '#/components/schemas/tapi.path.computation.PathComputationContext' + tapi.path.computation.PathComputationService: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + topology-constraint: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraint' + path: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.path.computation.PathRef' + objective-function: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunction' + end-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.path.computation.PathServiceEndPoint' + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + optimization-constraint: + $ref: '#/components/schemas/tapi.path.computation.PathOptimizationConstraint' + description: none + tapi.path.computation.PathComputationServiceWrapper: + type: object + properties: + path-comp-service: + $ref: '#/components/schemas/tapi.path.computation.PathComputationService' + tapi.path.computation.PathObjectiveFunction: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + link-utilization: + $ref: '#/components/schemas/tapi.common.DirectiveValue' + bandwidth-optimization: + $ref: '#/components/schemas/tapi.common.DirectiveValue' + cost-optimization: + $ref: '#/components/schemas/tapi.common.DirectiveValue' + resource-sharing: + $ref: '#/components/schemas/tapi.common.DirectiveValue' + concurrent-paths: + $ref: '#/components/schemas/tapi.common.DirectiveValue' + description: none + tapi.path.computation.PathObjectiveFunctionWrapper: + type: object + properties: + objective-function: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunction' + tapi.path.computation.PathOptimizationConstraint: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + traffic-interruption: + $ref: '#/components/schemas/tapi.common.DirectiveValue' + description: none + tapi.path.computation.PathOptimizationConstraintWrapper: + type: object + properties: + optimization-constraint: + $ref: '#/components/schemas/tapi.path.computation.PathOptimizationConstraint' + tapi.path.computation.PathRef: + type: object + properties: + path-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-path-computation:path-computation-context/tapi-path-computation:path/tapi-path-computation:uuid + tapi.path.computation.PathRefWrapper: + type: object + properties: + path: + $ref: '#/components/schemas/tapi.path.computation.PathRef' + tapi.path.computation.PathServiceEndPoint: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + role: + $ref: '#/components/schemas/tapi.common.PortRole' + service-interface-point: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRef' + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + layer-protocol-qualifier: + type: string + description: none + direction: + $ref: '#/components/schemas/tapi.common.PortDirection' + capacity: + $ref: '#/components/schemas/tapi.common.Capacity' + description: "The association of the FC to LTPs is made via EndPoints.\r\n\ + \ The EndPoint (EP) object class models the access to the FC\ + \ function. \r\n The traffic forwarding between the associated\ + \ EPs of the FC depends upon the type of FC and may be associated with FcSwitch\ + \ object instances. \r\n In cases where there is resilience\ + \ the EndPoint may convey the resilience role of the access to the FC. \r\ + \n It can represent a protected (resilient/reliable) point or\ + \ a protecting (unreliable working or protection) point.\r\n \ + \ The EP replaces the Protection Unit of a traditional protection model.\ + \ \r\n The ForwadingConstruct can be considered as a component\ + \ and the EndPoint as a Port on that component" + tapi.path.computation.PathServiceEndPointWrapper: + type: object + properties: + end-point: + $ref: '#/components/schemas/tapi.path.computation.PathServiceEndPoint' + tapi.path.computation.PathWrapper: + type: object + properties: + path: + $ref: '#/components/schemas/tapi.path.computation.Path' + tapi.path.computation.RouteObjectiveFunction: + type: string + enum: + - MIN_WORK_ROUTE_HOP + - MIN_WORK_ROUTE_COST + - MIN_WORK_ROUTE_LATENCY + - MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP + - MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST + - MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY + - LOAD_BALANCE_MAX_UNUSED_CAPACITY + tapi.path.computation.RoutingConstraint: + type: object + properties: + is-exclusive: + type: boolean + description: To distinguish if the resources are to be exclusive to the + service + default: true + max-allowed-cost: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriority' + diversity-policy: + $ref: '#/components/schemas/tapi.path.computation.DiversityPolicy' + route-objective-function: + $ref: '#/components/schemas/tapi.path.computation.RouteObjectiveFunction' + cost-characteristic: + type: array + description: The list of costs where each cost relates to some aspect of + the TopologicalEntity. + items: + $ref: '#/components/schemas/tapi.topology.CostCharacteristic' + max-allowed-hops: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriority' + max-allowed-delay: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriority' + latency-characteristic: + type: array + description: The effect on the latency of a queuing process. This only has + significant effect for packet based systems and has a complex characteristic. + items: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristic' + risk-diversity-characteristic: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristic' + route-direction: + $ref: '#/components/schemas/tapi.common.ForwardingDirection' + tapi.path.computation.RoutingConstraintWrapper: + type: object + properties: + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + tapi.path.computation.TopologyConstraint: + type: object + properties: + include-node: + type: array + description: This is a loose constraint - that is it is unordered and could + be a partial list + items: + type: string + exclude-link: + type: array + description: none + items: + type: string + avoid-topology: + type: array + description: none + items: + type: string + exclude-path: + type: array + description: none + items: + type: string + include-link: + type: array + description: 'This is a loose constraint - that is it is unordered and could + be a partial list ' + items: + type: string + preferred-transport-layer: + type: array + description: soft constraint requested by client to indicate the layer(s) + of transport connection that it prefers to carry the service. This could + be same as the service layer or one of the supported server layers + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + exclude-node: + type: array + description: none + items: + type: string + include-topology: + type: array + description: none + items: + type: string + include-path: + type: array + description: none + items: + type: string + tapi.path.computation.TopologyConstraintWrapper: + type: object + properties: + topology-constraint: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraint' + tapi.path.computation.ValueOrPriority: + type: object + properties: + priority: + type: integer + description: none + format: int32 + value: + type: integer + description: none + format: int32 + tapi.path.computation.ValueOrPriorityWrapper: + type: object + properties: + max-allowed-cost: + $ref: '#/components/schemas/tapi.path.computation.ValueOrPriority' + tapi.path.computation.computep2ppath.Input: + type: object + properties: + topology-constraint: + $ref: '#/components/schemas/tapi.path.computation.TopologyConstraint' + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + objective-function: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunction' + sep: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.path.computation.PathServiceEndPoint' + tapi.path.computation.computep2ppath.Output: + type: object + properties: + service: + $ref: '#/components/schemas/tapi.path.computation.PathComputationService' + tapi.path.computation.deletep2ppath.Input: + type: object + properties: + path-id-or-name: + type: string + description: none + tapi.path.computation.deletep2ppath.Output: + type: object + properties: + service: + $ref: '#/components/schemas/tapi.path.computation.PathComputationService' + tapi.path.computation.optimizep2ppath.Input: + type: object + properties: + routing-constraint: + $ref: '#/components/schemas/tapi.path.computation.RoutingConstraint' + path-id-or-name: + type: string + description: none + optimization-constraint: + $ref: '#/components/schemas/tapi.path.computation.PathOptimizationConstraint' + objective-function: + $ref: '#/components/schemas/tapi.path.computation.PathObjectiveFunction' + tapi.path.computation.optimizep2ppath.Output: + type: object + properties: + service: + $ref: '#/components/schemas/tapi.path.computation.PathComputationService' + tapi.topology.ConnectionSpecReference: + type: object + properties: + connection-spec-name: + type: string + description: "The name of the connection type spec.\r\n This\ + \ can be used as a reference to a paper document where full formal machine\ + \ interpretable specs are not supported." + connection-spec-id: + type: string + description: "The reference to a formal spec. \r\n This reference\ + \ need not be provided (e.g., where there is no formal machine interpretable\ + \ spec for the type of connection)." + tapi.topology.ConnectionSpecReferenceWrapper: + type: object + properties: + connection-spec-reference: + $ref: '#/components/schemas/tapi.topology.ConnectionSpecReference' + tapi.topology.ContextAugmentation4: + type: object + properties: + topology-context: + $ref: '#/components/schemas/tapi.topology.TopologyContext' + x-augmentation: + prefix: tapi-topology + namespace: urn:onf:otcc:yang:tapi-topology + tapi.topology.CostCharacteristic: + type: object + properties: + cost-value: + type: string + description: The specific cost. + cost-algorithm: + type: string + description: The cost may vary based upon some properties of the TopologicalEntity. + The rules for the variation are conveyed by the costAlgorithm. + cost-name: + type: string + description: "The cost characteristic will related to some aspect of the\ + \ TopologicalEntity (e.g. $ cost, routing weight). This aspect will be\ + \ conveyed by the costName." + tapi.topology.CostCharacteristicWrapper: + type: object + properties: + cost-characteristic: + $ref: '#/components/schemas/tapi.topology.CostCharacteristic' + tapi.topology.ForwardingRule: + type: string + enum: + - MAY_FORWARD_ACROSS_GROUP + - MUST_FORWARD_ACROSS_GROUP + - CANNOT_FORWARD_ACROSS_GROUP + - NO_STATEMENT_ON_FORWARDING + - INTER_CONNECTION_CONTENTION + tapi.topology.GetLinkDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.topology.getlinkdetails.Output' + tapi.topology.GetNodeDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.topology.getnodedetails.Output' + tapi.topology.GetNodeEdgePointDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.topology.getnodeedgepointdetails.Output' + tapi.topology.GetTopologyDetails: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.topology.gettopologydetails.Output' + tapi.topology.GetTopologyList: + type: object + properties: + output: + $ref: '#/components/schemas/tapi.topology.gettopologylist.Output' + tapi.topology.InterRuleGroup: + allOf: + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.topology.RiskParameterPac' + - $ref: '#/components/schemas/tapi.topology.TransferCostPac' + - $ref: '#/components/schemas/tapi.topology.TransferTimingPac' + - type: object + properties: + associated-node-rule-group: + type: array + description: "The NodeRuleGroups that the InterRuleGroup constrains interconnection\ + \ between.\r\n The CEPs of the NEPs of a referenced NodeRuleGroup\ + \ can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup\ + \ constrained by the rules of the InterRuleGroup." + items: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroupRef' + rule: + type: array + description: The list of rules of the InterRuleGroup. + items: + $ref: '#/components/schemas/tapi.topology.Rule' + description: Rules that apply between groups of NEPs. + tapi.topology.InterRuleGroupWrapper: + type: object + properties: + inter-rule-group: + $ref: '#/components/schemas/tapi.topology.InterRuleGroup' + tapi.topology.LatencyCharacteristic: + type: object + properties: + traffic-property-name: + type: string + description: The identifier of the specific traffic property to which the + queuing latency applies. + jitter-characteristic: + type: string + description: "High frequency deviation from true periodicity of a signal\ + \ and therefore a small high rate of change of transfer latency.\r\n \ + \ Applies to TDM systems (and not packet)." + fixed-latency-characteristic: + type: string + description: A TopologicalEntity suffers delay caused by the realization + of the servers (e.g. distance related; FEC encoding etc.) along with some + client specific processing. This is the total average latency effect of + the TopologicalEntity + wander-characteristic: + type: string + description: "Low frequency deviation from true periodicity of a signal\ + \ and therefore a small low rate of change of transfer latency.\r\n \ + \ Applies to TDM systems (and not packet)." + queing-latency-characteristic: + type: string + description: The specific queuing latency for the traffic property. + tapi.topology.LatencyCharacteristicWrapper: + type: object + properties: + latency-characteristic: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristic' + tapi.topology.LayerProtocolTransitionPac: + type: object + properties: + transitioned-layer-protocol-name: + type: array + description: Provides the ordered structure of layer protocol transitions + encapsulated in the TopologicalEntity. The ordering relates to the LinkPort + role. + items: + type: string + tapi.topology.Link: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.topology.LayerProtocolTransitionPac' + - $ref: '#/components/schemas/tapi.topology.RiskParameterPac' + - $ref: '#/components/schemas/tapi.topology.TransferCostPac' + - $ref: '#/components/schemas/tapi.topology.TransferIntegrityPac' + - $ref: '#/components/schemas/tapi.topology.TransferTimingPac' + - $ref: '#/components/schemas/tapi.topology.ValidationPac' + - type: object + properties: + layer-protocol-name: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + resilience-type: + $ref: '#/components/schemas/tapi.topology.ResilienceType' + node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + direction: + $ref: '#/components/schemas/tapi.common.ForwardingDirection' + description: 'The Link object class models effective adjacency between two + or more ForwardingDomains (FD). ' + tapi.topology.LinkRef: + allOf: + - $ref: '#/components/schemas/tapi.topology.TopologyRef' + - type: object + properties: + link-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid + description: none + tapi.topology.LinkRefWrapper: + type: object + properties: + supported-client-link: + $ref: '#/components/schemas/tapi.topology.LinkRef' + tapi.topology.LinkWrapper: + type: object + properties: + link: + $ref: '#/components/schemas/tapi.topology.Link' + tapi.topology.NetworkTopologyService: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + topology: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.TopologyRef' + description: none + tapi.topology.NetworkTopologyServiceWrapper: + type: object + properties: + nw-topology-service: + $ref: '#/components/schemas/tapi.topology.NetworkTopologyService' + tapi.topology.Node: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.topology.TransferCostPac' + - $ref: '#/components/schemas/tapi.topology.TransferIntegrityPac' + - $ref: '#/components/schemas/tapi.topology.TransferTimingPac' + - type: object + properties: + layer-protocol-name: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + encap-topology: + $ref: '#/components/schemas/tapi.topology.TopologyRef' + owned-node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePoint' + node-rule-group: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroup' + aggregated-node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + description: "The ForwardingDomain (FD) object class models the ForwardingDomain\ + \ topological component which is used to effect forwarding of transport\ + \ characteristic information and offers the potential to enable forwarding.\r\ + \n At the lowest level of recursion, an FD (within a network\ + \ element (NE)) represents a switch matrix (i.e., a fabric). Note that an\ + \ NE can encompass multiple switch matrices (FDs). " + tapi.topology.NodeEdgePoint: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.common.TerminationPac' + - type: object + properties: + link-port-role: + $ref: '#/components/schemas/tapi.common.PortRole' + mapped-service-interface-point: + type: array + description: NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) + or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load + balancing/Resilience) should be considered experimental + items: + $ref: '#/components/schemas/tapi.common.ServiceInterfacePointRef' + aggregated-node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + layer-protocol-name: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + link-port-direction: + $ref: '#/components/schemas/tapi.common.PortDirection' + supported-cep-layer-protocol-qualifier: + type: array + description: none + items: + type: string + description: "The LogicalTerminationPoint (LTP) object class encapsulates\ + \ the termination and adaptation functions of one or more transport layers.\r\ + \n The structure of LTP supports all transport protocols including\ + \ circuit and packet forms." + tapi.topology.NodeEdgePointRef: + allOf: + - $ref: '#/components/schemas/tapi.topology.NodeRef' + - type: object + properties: + node-edge-point-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid + description: none + tapi.topology.NodeEdgePointRefWrapper: + type: object + properties: + node-edge-point: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + tapi.topology.NodeRef: + allOf: + - $ref: '#/components/schemas/tapi.topology.TopologyRef' + - type: object + properties: + node-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid + description: none + tapi.topology.NodeRuleGroup: + allOf: + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.topology.RiskParameterPac' + - $ref: '#/components/schemas/tapi.topology.TransferCostPac' + - $ref: '#/components/schemas/tapi.topology.TransferTimingPac' + - type: object + properties: + inter-rule-group: + type: array + description: "Nested NodeRuleGroups may have InterRuleGroups. The Superior\ + \ NodeRuleGroup contains the nested NodeRuleGroups and their associated\ + \ InterRuleGroups.\r\n This is equivalent to the Node-Topology\ + \ hierarchy." + items: + $ref: '#/components/schemas/tapi.topology.InterRuleGroup' + rule: + type: array + description: The list of rules of the NodeRuleGroup. + items: + $ref: '#/components/schemas/tapi.topology.Rule' + node-rule-group: + type: array + description: "NodeRuleGroups may be nested such that finer grained rules\ + \ may be applied.\r\n A nested rule group should have\ + \ a subset of the NEPs of the superior rule group." + items: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroupRef' + node-edge-point: + type: array + description: NEPs and their client CEPs that the rules apply to. + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + description: "Rules that apply to a group of NEPs.\r\n " + tapi.topology.NodeRuleGroupRef: + allOf: + - $ref: '#/components/schemas/tapi.topology.NodeRef' + - type: object + properties: + node-rule-group-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid + description: none + tapi.topology.NodeRuleGroupRefWrapper: + type: object + properties: + associated-node-rule-group: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroupRef' + tapi.topology.NodeRuleGroupWrapper: + type: object + properties: + node-rule-group: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroup' + tapi.topology.PortRoleRule: + type: object + properties: + port-role-rule: + type: array + description: "Where the rule references more than one port role or where\ + \ there are rule intersections either as a result of overlay of rules\ + \ or inter rule group usage indicates role matching criteria for a connection\ + \ following the rules.\r\n For example if two port roles,\ + \ 'a' and 'b', are listed and the port role rule is 'different', this\ + \ means that a connection connecting points in that group must have port\ + \ roles that are different for each CEP in that group.\r\n \ + \ In the example if a connection can have n ports of role 'a' and\ + \ m ports of role 'b' then a maximum of two ports can be drawn from the\ + \ NEPs of the group and where there are two, one must be role 'a' and\ + \ one must be role 'b'." + items: + type: string + port-role: + type: array + description: The role(s) of the port(s) considered in the rule. + items: + type: string + tapi.topology.PortRoleRuleWrapper: + type: object + properties: + cep-port-role: + $ref: '#/components/schemas/tapi.topology.PortRoleRule' + tapi.topology.ProtectionType: + type: string + enum: + - NO_PROTECTON + - ONE_PLUS_ONE_PROTECTION + - ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION + - PERMANENT_ONE_PLUS_ONE_PROTECTION + - ONE_FOR_ONE_PROTECTION + - DYNAMIC_RESTORATION + - PRE_COMPUTED_RESTORATION + - ONE_PLUS_ONE_PROTECTION_WITH_PRE_COMPUTED_RESTORATION + tapi.topology.ResilienceType: + type: object + properties: + restoration-policy: + $ref: '#/components/schemas/tapi.topology.RestorationPolicy' + protection-type: + $ref: '#/components/schemas/tapi.topology.ProtectionType' + tapi.topology.ResilienceTypeWrapper: + type: object + properties: + resilience-type: + $ref: '#/components/schemas/tapi.topology.ResilienceType' + tapi.topology.RestorationPolicy: + type: string + enum: + - PER_DOMAIN_RESTORATION + - END_TO_END_RESTORATION + - NA + tapi.topology.RiskCharacteristic: + type: object + properties: + risk-characteristic-name: + type: string + description: "The name of the risk characteristic. The characteristic may\ + \ be related to a specific degree of closeness.\r\n For\ + \ example a particular characteristic may apply to failures that are localized\ + \ (e.g. to one side of a road) where as another characteristic may relate\ + \ to failures that have a broader impact (e.g. both sides of a road that\ + \ crosses a bridge).\r\n Depending upon the importance\ + \ of the traffic being routed different risk characteristics will be evaluated." + risk-identifier-list: + type: array + description: A list of the identifiers of each physical/geographic unit + (with the specific risk characteristic) that is related to a segment of + the TopologicalEntity. + items: + type: string + tapi.topology.RiskCharacteristicWrapper: + type: object + properties: + risk-diversity-characteristic: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristic' + tapi.topology.RiskParameterPac: + type: object + properties: + risk-characteristic: + type: array + description: A list of risk characteristics for consideration in an analysis + of shared risk. Each element of the list represents a specific risk consideration. + items: + $ref: '#/components/schemas/tapi.topology.RiskCharacteristic' + tapi.topology.Rule: + allOf: + - $ref: '#/components/schemas/tapi.common.LocalClass' + - type: object + properties: + complex-rule: + type: array + description: Allows for more complex rules where the basic rule system + is not sufficient. + items: + type: string + rule-type: + $ref: '#/components/schemas/tapi.topology.RuleType' + signal-property: + $ref: '#/components/schemas/tapi.topology.SignalPropertyRule' + connection-spec-reference: + type: array + description: "Identifies the type of connection that the rule applies\ + \ to. \r\n If the attribute is not present then the rule\ + \ applies to all types of connection supported by the device." + items: + $ref: '#/components/schemas/tapi.topology.ConnectionSpecReference' + cep-port-role: + type: array + description: "Indicates the port role to which the rule applies. \r\n\ + \ The port role is interpreted in the context of the\ + \ connection type which is identified by the connection spec. \r\n \ + \ The port role is not meaningful in the absence of a\ + \ connection spec reference.\r\n If a node rule group\ + \ carries a port role, that role applies also to the associated inter\ + \ rule where the combination of the roles in the node rule groups at\ + \ the ends of the inter group rule define the connection orientation.\r\ + \n For example a root-and-leaf connection may be used\ + \ in a node where a node rule group collects one set of NEPs has the\ + \ port role 'root' and another node rule group collects another set\ + \ of NEPs has the port role 'leaf' where these are joined by an inter\ + \ rule group. This combination specifies an allowed orientation of the\ + \ root-and-leaf connection.\r\n No port role statement\ + \ means all port roles are allowed." + items: + $ref: '#/components/schemas/tapi.topology.PortRoleRule' + cep-direction: + type: array + description: "cep direction is a list of port directions that the rule\ + \ applies to.\r\n No entry means all cep directions." + items: + $ref: '#/components/schemas/tapi.common.PortDirection' + override-priority: + type: integer + description: "The overridePriority allows for one rule in a rule group\ + \ to override another.\r\n Priority n rules override\ + \ priority n+1 rules.\r\n Rules of the same priority\ + \ override as follows (n overrides n+1):\r\n 1 - MustNot\r\ + \n 2 - Must\r\n 3 - May\r\n \ + \ 4 - Null\r\n Within a rule the flexibility rules\ + \ (signal, port role...) override as follows (n overriedes n+1):\r\n\ + \ 1 - Any\r\n 2 - Same\r\n \ + \ 3 - Different\r\n Where there are two or more 'Same'\ + \ rules, they will form an intersection where all must be met.\r\n \ + \ " + format: int32 + layer-protocol-qualifier: + type: array + description: "Qualifies a rule for a particular layerProtocol identifying\ + \ the qualifiers that the rule apples to.\r\n If the\ + \ attribute is not present then the rule applies to all relevant qualifiers\ + \ of the layer protocol of the parent entity." + items: + type: string + forwarding-rule: + $ref: '#/components/schemas/tapi.topology.ForwardingRule' + description: "Single complex rule statememt.\r\n A Node with no\ + \ rule group has no restrictions and is essentially May/Any\r\n \ + \ A node rule group constrain the CEP connectability in the Node.\r\n\ + \ A connection from a NEP must abide by all rules that relate\ + \ to that NEP\r\n Rules that are for a particular layerProtocolQualifier,\ + \ connectionSpecReference, cepPortRole and cepDirection combination must\ + \ be abided by in combination as dictated by overridePriority.\r\n \ + \ If a particular\r\n - connectionSpecReference does not\ + \ have any rule statements then it is not supported and connections of that\ + \ type are not possible within the rule group.\r\n - cepPortRole\ + \ of a particular connectionSpecReference does not have any rule statements\ + \ then it is not supported and connections of that connectionSpecReference\ + \ (type) cannot have that cepPortRole for CEPs from NEPs in that rule group.\r\ + \n - cepDirection for a particular connectionSpecReference does\ + \ not have any rule statements then it is not supported and connections\ + \ of that connectionSpecReference (type) cannot have that cepPortDirection\ + \ for CEPs from NEPs in that rule group.\r\n Rules that are for\ + \ different layerProtocolQualifiers or connectionSpecReferences are independent\ + \ and provide options for connection in the rule group.\r\n Some\ + \ rules may apply to multiple connectionSpecReferences and all cepPortRoles\ + \ and all cepDirections." + tapi.topology.RuleType: + type: string + enum: + - FORWARDING + - CAPACITY + - COST + - TIMING + - RISK + - GROUPING + tapi.topology.RuleWrapper: + type: object + properties: + rule: + $ref: '#/components/schemas/tapi.topology.Rule' + tapi.topology.SignalPropertyRule: + type: object + properties: + number-of-signal-values: + type: integer + description: The number of instances of this specific property that can + be supported by the group. + format: int32 + applicable-signal-value: + type: array + description: Specific values of the signal property to which the rule applies. + items: + type: string + signal-property-value-rule: + type: string + description: Indicates how the signal properties should be accounted for. + signal-property-name: + type: string + description: The name of the signal property to which the rule applies. + tapi.topology.SignalPropertyRuleWrapper: + type: object + properties: + signal-property: + $ref: '#/components/schemas/tapi.topology.SignalPropertyRule' + tapi.topology.Topology: + allOf: + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - type: object + properties: + layer-protocol-name: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + link: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.Link' + node: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.Node' + description: "The ForwardingDomain (FD) object class models the ForwardingDomain\ + \ topological component which is used to effect forwarding of transport\ + \ characteristic information and offers the potential to enable forwarding.\ + \ \r\n At the lowest level of recursion, an FD (within a network\ + \ element (NE)) represents a switch matrix (i.e., a fabric). Note that an\ + \ NE can encompass multiple switch matrices (FDs). " + tapi.topology.TopologyContext: + type: object + properties: + nw-topology-service: + $ref: '#/components/schemas/tapi.topology.NetworkTopologyService' + topology: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.Topology' + tapi.topology.TopologyContextWrapper: + type: object + properties: + tapi-topology:topology-context: + $ref: '#/components/schemas/tapi.topology.TopologyContext' + tapi.topology.TopologyRef: + type: object + properties: + topology-uuid: + type: string + description: none + x-path: /tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:uuid + tapi.topology.TopologyRefWrapper: + type: object + properties: + topology: + $ref: '#/components/schemas/tapi.topology.TopologyRef' + tapi.topology.TopologyWrapper: + type: object + properties: + topology: + $ref: '#/components/schemas/tapi.topology.Topology' + tapi.topology.TransferCostPac: + type: object + properties: + cost-characteristic: + type: array + description: The list of costs where each cost relates to some aspect of + the TopologicalEntity. + items: + $ref: '#/components/schemas/tapi.topology.CostCharacteristic' + tapi.topology.TransferIntegrityPac: + type: object + properties: + error-characteristic: + type: string + description: "Describes the degree to which the signal propagated can be\ + \ errored.\r\n Applies to TDM systems as the errored signal\ + \ will be propagated and not packet as errored packets will be discarded." + unavailable-time-characteristic: + type: string + description: Describes the duration for which there may be no valid signal + propagated. + server-integrity-process-characteristic: + type: string + description: Describes the effect of any server integrity enhancement process + on the characteristics of the TopologicalEntity. + delivery-order-characteristic: + type: string + description: "Describes the degree to which packets will be delivered out\ + \ of sequence.\r\n Does not apply to TDM as the TDM protocols\ + \ maintain strict order." + repeat-delivery-characteristic: + type: string + description: "Primarily applies to packet systems where a packet may be\ + \ delivered more than once (in fault recovery for example).\r\n \ + \ It can also apply to TDM where several frames may be received\ + \ twice due to switching in a system with a large differential propagation\ + \ delay." + loss-characteristic: + type: string + description: "Describes the acceptable characteristic of lost packets where\ + \ loss may result from discard due to errors or overflow.\r\n \ + \ Applies to packet systems and not TDM (as for TDM errored signals\ + \ are propagated unless grossly errored and overflow/underflow turns into\ + \ timing slips)." + tapi.topology.TransferTimingPac: + type: object + properties: + latency-characteristic: + type: array + description: The effect on the latency of a queuing process. This only has + significant effect for packet based systems and has a complex characteristic. + items: + $ref: '#/components/schemas/tapi.topology.LatencyCharacteristic' + tapi.topology.ValidationMechanism: + type: object + properties: + layer-protocol-adjacency-validated: + type: string + description: State of validatiion + validation-mechanism: + type: string + description: Name of mechanism used to validate adjacency + validation-robustness: + type: string + description: Quality of validation (i.e. how likely is the stated validation + to be invalid) + tapi.topology.ValidationMechanismWrapper: + type: object + properties: + validation-mechanism: + $ref: '#/components/schemas/tapi.topology.ValidationMechanism' + tapi.topology.ValidationPac: + type: object + properties: + validation-mechanism: + type: array + description: Provides details of the specific validation mechanism(s) used + to confirm the presence of an intended topologicalEntity. + items: + $ref: '#/components/schemas/tapi.topology.ValidationMechanism' + tapi.topology.getlinkdetails.Input: + type: object + properties: + link-id-or-name: + type: string + description: none + topology-id-or-name: + type: string + description: none + tapi.topology.getlinkdetails.Output: + type: object + properties: + link: + $ref: '#/components/schemas/tapi.topology.Link' + tapi.topology.getnodedetails.Input: + type: object + properties: + node-id-or-name: + type: string + description: none + topology-id-or-name: + type: string + description: none + tapi.topology.getnodedetails.Output: + type: object + properties: + node: + $ref: '#/components/schemas/tapi.topology.Node' + tapi.topology.getnodeedgepointdetails.Input: + type: object + properties: + ep-id-or-name: + type: string + description: none + node-id-or-name: + type: string + description: none + topology-id-or-name: + type: string + description: none + tapi.topology.getnodeedgepointdetails.Output: + type: object + properties: + node-edge-point: + $ref: '#/components/schemas/tapi.topology.NodeEdgePoint' + tapi.topology.gettopologydetails.Input: + type: object + properties: + topology-id-or-name: + type: string + description: none + tapi.topology.gettopologydetails.Output: + type: object + properties: + topology: + $ref: '#/components/schemas/tapi.topology.Topology' + tapi.topology.gettopologylist.Output: + type: object + properties: + topology: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.Topology' + tapi.topology.node.OwnedNodeEdgePoint: + allOf: + - $ref: '#/components/schemas/tapi.connectivity.OwnedNodeEdgePointAugmentation1' + - $ref: '#/components/schemas/tapi.topology.NodeEdgePoint' + tapi.topology.node.OwnedNodeEdgePointWrapper: + type: object + properties: + owned-node-edge-point: + $ref: '#/components/schemas/tapi.topology.node.OwnedNodeEdgePoint' + tapi.topology.topology.Node: + allOf: + - $ref: '#/components/schemas/tapi.common.AdminStatePac' + - $ref: '#/components/schemas/tapi.common.CapacityPac' + - $ref: '#/components/schemas/tapi.common.GlobalClass' + - $ref: '#/components/schemas/tapi.topology.TransferCostPac' + - $ref: '#/components/schemas/tapi.topology.TransferIntegrityPac' + - $ref: '#/components/schemas/tapi.topology.TransferTimingPac' + - type: object + properties: + layer-protocol-name: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.common.LayerProtocolName' + encap-topology: + $ref: '#/components/schemas/tapi.topology.TopologyRef' + owned-node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.node.OwnedNodeEdgePoint' + node-rule-group: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeRuleGroup' + aggregated-node-edge-point: + type: array + description: none + items: + $ref: '#/components/schemas/tapi.topology.NodeEdgePointRef' + description: none + tapi.topology.topology.NodeWrapper: + type: object + properties: + node: + $ref: '#/components/schemas/tapi.topology.topology.Node' + operations_tapicommongetserviceinterfacepointdetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.common.getserviceinterfacepointdetails.Input' + operations_tapicommonupdateserviceinterfacepoint_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.common.updateserviceinterfacepoint.Input' + operations_tapiconnectivitycreateconnectivityservice_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.connectivity.createconnectivityservice.Input' + operations_tapiconnectivitydeleteconnectivityservice_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.connectivity.deleteconnectivityservice.Input' + operations_tapiconnectivitygetconnectiondetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.connectivity.getconnectiondetails.Input' + operations_tapiconnectivitygetconnectionendpointdetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.connectivity.getconnectionendpointdetails.Input' + operations_tapiconnectivitygetconnectivityservicedetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.connectivity.getconnectivityservicedetails.Input' + operations_tapiconnectivityupdateconnectivityservice_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.connectivity.updateconnectivityservice.Input' + operations_tapinotificationcreatenotificationsubscriptionservice_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.notification.createnotificationsubscriptionservice.Input' + operations_tapinotificationdeletenotificationsubscriptionservice_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.notification.deletenotificationsubscriptionservice.Input' + operations_tapinotificationgetnotificationlist_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.notification.getnotificationlist.Input' + operations_tapinotificationgetnotificationsubscriptionservicedetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.notification.getnotificationsubscriptionservicedetails.Input' + operations_tapinotificationupdatenotificationsubscriptionservice_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.notification.updatenotificationsubscriptionservice.Input' + operations_tapipathcomputationcomputep2ppath_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.path.computation.computep2ppath.Input' + operations_tapipathcomputationdeletep2ppath_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.path.computation.deletep2ppath.Input' + operations_tapipathcomputationoptimizep2ppath_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.path.computation.optimizep2ppath.Input' + operations_tapitopologygetlinkdetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.topology.getlinkdetails.Input' + operations_tapitopologygetnodedetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.topology.getnodedetails.Input' + operations_tapitopologygetnodeedgepointdetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.topology.getnodeedgepointdetails.Input' + operations_tapitopologygettopologydetails_body: + type: object + properties: + input: + $ref: '#/components/schemas/tapi.topology.gettopologydetails.Input' +x-original-swagger-version: "2.0" + diff --git a/hackfest/tapi/server/tapi_server/test/__init__.py b/hackfest/tapi/server/tapi_server/test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..4f5c01f4cbde45579c46cc85a60a93d1b9f0f0d3 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/test/__init__.py @@ -0,0 +1,16 @@ +import logging + +import connexion +from flask_testing import TestCase + +from tapi_server.encoder import JSONEncoder + + +class BaseTestCase(TestCase): + + def create_app(self): + logging.getLogger('connexion.operation').setLevel('ERROR') + app = connexion.App(__name__, specification_dir='../swagger/') + app.app.json_encoder = JSONEncoder + app.add_api('swagger.yaml') + return app.app diff --git a/hackfest/tapi/server/tapi_server/test/test_tapi_common_controller.py b/hackfest/tapi/server/tapi_server/test/test_tapi_common_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..2566442c18d6fe2f13a880ef15114bbd9c4388dc --- /dev/null +++ b/hackfest/tapi/server/tapi_server/test/test_tapi_common_controller.py @@ -0,0 +1,420 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from tapi_server.models.operations_tapicommongetserviceinterfacepointdetails_body import OperationsTapicommongetserviceinterfacepointdetailsBody # noqa: E501 +from tapi_server.models.operations_tapicommonupdateserviceinterfacepoint_body import OperationsTapicommonupdateserviceinterfacepointBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_context_wrapper import TapiCommonContextWrapper # noqa: E501 +from tapi_server.models.tapi_common_get_service_interface_point_details import TapiCommonGetServiceInterfacePointDetails # noqa: E501 +from tapi_server.models.tapi_common_get_service_interface_point_list import TapiCommonGetServiceInterfacePointList # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_wrapper import TapiCommonServiceInterfacePointWrapper # noqa: E501 +from tapi_server.test import BaseTestCase + + +class TestTapiCommonController(BaseTestCase): + """TapiCommonController integration test stubs""" + + def test_data_tapi_commoncontext_delete(self): + """Test case for data_tapi_commoncontext_delete + + removes tapi.common.Context + """ + response = self.client.open( + '/data/tapi-common:context/', + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_get(self): + """Test case for data_tapi_commoncontext_get + + returns tapi.common.Context + """ + response = self.client.open( + '/data/tapi-common:context/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_name_post(self): + """Test case for data_tapi_commoncontext_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/name/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/name={value-name}/'.format(value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/name={value-name}/'.format(value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/name={value-name}/'.format(value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_post(self): + """Test case for data_tapi_commoncontext_post + + creates tapi.common.Context + """ + body = TapiCommonContextWrapper() + response = self.client.open( + '/data/tapi-common:context/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_put(self): + """Test case for data_tapi_commoncontext_put + + creates or updates tapi.common.Context + """ + body = TapiCommonContextWrapper() + response = self.client.open( + '/data/tapi-common:context/', + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_point_post(self): + """Test case for data_tapi_commoncontext_service_interface_point_post + + creates tapi.common.ServiceInterfacePoint + """ + body = TapiCommonServiceInterfacePointWrapper() + response = self.client.open( + '/data/tapi-common:context/service-interface-point/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_available_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_available_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/available-capacity/total-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_delete(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_delete + + removes tapi.common.ServiceInterfacePoint + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_get + + returns tapi.common.ServiceInterfacePoint + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_name_post(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_put(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_put + + creates or updates tapi.common.ServiceInterfacePoint + """ + body = TapiCommonServiceInterfacePointWrapper() + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_service_interface_pointuuid_total_potential_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/total-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_commonget_service_interface_point_details_post(self): + """Test case for operations_tapi_commonget_service_interface_point_details_post + + operates on tapi.common.GetServiceInterfacePointDetails + """ + body = OperationsTapicommongetserviceinterfacepointdetailsBody() + response = self.client.open( + '/operations/tapi-common:get-service-interface-point-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_commonget_service_interface_point_list_post(self): + """Test case for operations_tapi_commonget_service_interface_point_list_post + + + """ + response = self.client.open( + '/operations/tapi-common:get-service-interface-point-list/', + method='POST') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_commonupdate_service_interface_point_post(self): + """Test case for operations_tapi_commonupdate_service_interface_point_post + + operates on tapi.common.UpdateServiceInterfacePoint + """ + body = OperationsTapicommonupdateserviceinterfacepointBody() + response = self.client.open( + '/operations/tapi-common:update-service-interface-point/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/tapi/server/tapi_server/test/test_tapi_connectivity_controller.py b/hackfest/tapi/server/tapi_server/test/test_tapi_connectivity_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..4e909a16114fa0d4373265273230427352afbd97 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/test/test_tapi_connectivity_controller.py @@ -0,0 +1,2124 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from tapi_server.models.operations_tapiconnectivitycreateconnectivityservice_body import OperationsTapiconnectivitycreateconnectivityserviceBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitydeleteconnectivityservice_body import OperationsTapiconnectivitydeleteconnectivityserviceBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitygetconnectiondetails_body import OperationsTapiconnectivitygetconnectiondetailsBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitygetconnectionendpointdetails_body import OperationsTapiconnectivitygetconnectionendpointdetailsBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivitygetconnectivityservicedetails_body import OperationsTapiconnectivitygetconnectivityservicedetailsBody # noqa: E501 +from tapi_server.models.operations_tapiconnectivityupdateconnectivityservice_body import OperationsTapiconnectivityupdateconnectivityserviceBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_common_time_range_wrapper import TapiCommonTimeRangeWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_cep_list_wrapper import TapiConnectivityCepListWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_cep_role_wrapper import TapiConnectivityCepRoleWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_end_point_ref_wrapper import TapiConnectivityConnectionEndPointRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_end_point_wrapper import TapiConnectivityConnectionEndPointWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_ref_wrapper import TapiConnectivityConnectionRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_spec_reference_wrapper import TapiConnectivityConnectionSpecReferenceWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connection_wrapper import TapiConnectivityConnectionWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_context_wrapper import TapiConnectivityConnectivityContextWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_ref_wrapper import TapiConnectivityConnectivityServiceEndPointRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_end_point_wrapper import TapiConnectivityConnectivityServiceEndPointWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_ref_wrapper import TapiConnectivityConnectivityServiceRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_connectivity_service_wrapper import TapiConnectivityConnectivityServiceWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_create_connectivity_service import TapiConnectivityCreateConnectivityService # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connection_details import TapiConnectivityGetConnectionDetails # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connection_end_point_details import TapiConnectivityGetConnectionEndPointDetails # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connectivity_service_details import TapiConnectivityGetConnectivityServiceDetails # noqa: E501 +from tapi_server.models.tapi_connectivity_get_connectivity_service_list import TapiConnectivityGetConnectivityServiceList # noqa: E501 +from tapi_server.models.tapi_connectivity_resilience_route_wrapper import TapiConnectivityResilienceRouteWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_route_ref_wrapper import TapiConnectivityRouteRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_route_wrapper import TapiConnectivityRouteWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_switch_control_ref_wrapper import TapiConnectivitySwitchControlRefWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_switch_control_wrapper import TapiConnectivitySwitchControlWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_switch_wrapper import TapiConnectivitySwitchWrapper # noqa: E501 +from tapi_server.models.tapi_connectivity_update_connectivity_service import TapiConnectivityUpdateConnectivityService # noqa: E501 +from tapi_server.models.tapi_path_computation_value_or_priority_wrapper import TapiPathComputationValueOrPriorityWrapper # noqa: E501 +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_link_ref_wrapper import TapiTopologyLinkRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_edge_point_ref_wrapper import TapiTopologyNodeEdgePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_resilience_type_wrapper import TapiTopologyResilienceTypeWrapper # noqa: E501 +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper # noqa: E501 +from tapi_server.test import BaseTestCase + + +class TestTapiConnectivityController(BaseTestCase): + """TapiConnectivityController integration test stubs""" + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + + returns tapi.connectivity.ConnectionEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/'.format(uuid='uuid_example', topology_uuid='topology_uuid_example', node_uuid='node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_spec_reference_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_connection_spec_reference_get + + returns tapi.connectivity.ConnectionSpecReference + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/connection-spec-reference/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_get + + returns tapi.connectivity.Connection + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_lower_connectionconnection_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_lower_connectionconnection_uuid_get + + returns tapi.connectivity.ConnectionRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/lower-connection={connection-uuid}/'.format(uuid='uuid_example', connection_uuid='connection_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + + returns tapi.connectivity.ConnectionEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/'.format(uuid='uuid_example', local_id='local_id_example', topology_uuid='topology_uuid_example', node_uuid='node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_get + + returns tapi.connectivity.Route + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_get + + returns tapi.connectivity.ResilienceRoute + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/resilience-route-pac/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_routelocal_id_resilience_route_pac_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/resilience-route-pac/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_supported_client_linktopology_uuidlink_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_supported_client_linktopology_uuidlink_uuid_get + + returns tapi.topology.LinkRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/supported-client-link={topology-uuid},{link-uuid}/'.format(uuid='uuid_example', topology_uuid='topology_uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_get + + returns tapi.connectivity.SwitchControl + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/name={value-name}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_resilience_type_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_resilience_type_get + + returns tapi.topology.ResilienceType + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/resilience-type/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_sub_switch_controlconnection_uuidsub_switch_control_switch_control_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_sub_switch_controlconnection_uuidsub_switch_control_switch_control_uuid_get + + returns tapi.connectivity.SwitchControlRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/sub-switch-control={connection-uuid},{sub-switch-control-switch-control-uuid}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example', connection_uuid='connection_uuid_example', sub_switch_control_switch_control_uuid='sub_switch_control_switch_control_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_get + + returns tapi.connectivity.Switch + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/name={value-name}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + + returns tapi.connectivity.ConnectionEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/selected-connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example', local_id='local_id_example', topology_uuid='topology_uuid_example', node_uuid='node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_routeconnection_uuidroute_local_id_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectionuuid_switch_controlswitch_control_uuid_switchlocal_id_selected_routeconnection_uuidroute_local_id_get + + returns tapi.connectivity.RouteRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/selected-route={connection-uuid},{route-local-id}/'.format(uuid='uuid_example', switch_control_uuid='switch_control_uuid_example', local_id='local_id_example', connection_uuid='connection_uuid_example', route_local_id='route_local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_service_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_service_post + + creates tapi.connectivity.ConnectivityService + """ + body = TapiConnectivityConnectivityServiceWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_connectionconnection_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_connectionconnection_uuid_get + + returns tapi.connectivity.ConnectionRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/connection={connection-uuid}/'.format(uuid='uuid_example', connection_uuid='connection_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_delete + + removes tapi.connectivity.ConnectivityServiceRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/coroute-inclusion/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_get + + returns tapi.connectivity.ConnectivityServiceRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/coroute-inclusion/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_post + + creates tapi.connectivity.ConnectivityServiceRef + """ + body = TapiConnectivityConnectivityServiceRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/coroute-inclusion/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_coroute_inclusion_put + + creates or updates tapi.connectivity.ConnectivityServiceRef + """ + body = TapiConnectivityConnectivityServiceRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/coroute-inclusion/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristic_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristic_post + + creates tapi.topology.CostCharacteristic + """ + body = TapiTopologyCostCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_delete + + removes tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_cost_characteristiccost_name_put + + creates or updates tapi.topology.CostCharacteristic + """ + body = TapiTopologyCostCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_delete + + removes tapi.connectivity.ConnectivityService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusion_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusion_post + + creates tapi.connectivity.ConnectivityServiceRef + """ + body = TapiConnectivityConnectivityServiceRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_delete + + removes tapi.connectivity.ConnectivityServiceRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion={connectivity-service-uuid}/'.format(uuid='uuid_example', connectivity_service_uuid='connectivity_service_uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_get + + returns tapi.connectivity.ConnectivityServiceRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion={connectivity-service-uuid}/'.format(uuid='uuid_example', connectivity_service_uuid='connectivity_service_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_diversity_exclusionconnectivity_service_uuid_put + + creates or updates tapi.connectivity.ConnectivityServiceRef + """ + body = TapiConnectivityConnectivityServiceRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion={connectivity-service-uuid}/'.format(uuid='uuid_example', connectivity_service_uuid='connectivity_service_uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_point_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_point_post + + creates tapi.connectivity.ConnectivityServiceEndPoint + """ + body = TapiConnectivityConnectivityServiceEndPointWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete + + removes tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post + + creates tapi.common.BandwidthProfile + """ + body = TapiCommonBandwidthProfileWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put + + creates or updates tapi.common.BandwidthProfile + """ + body = TapiCommonBandwidthProfileWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_delete + + removes tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_post + + creates tapi.common.Capacity + """ + body = TapiCommonCapacityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_put + + creates or updates tapi.common.Capacity + """ + body = TapiCommonCapacityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_capacity_total_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_connection_end_pointtopology_uuidnode_uuidnode_edge_point_uuidconnection_end_point_uuid_get + + returns tapi.connectivity.ConnectionEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/'.format(uuid='uuid_example', local_id='local_id_example', topology_uuid='topology_uuid_example', node_uuid='node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_delete + + removes tapi.connectivity.ConnectivityServiceEndPoint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_get + + returns tapi.connectivity.ConnectivityServiceEndPoint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_name_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_delete + + removes tapi.connectivity.ConnectivityServiceEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/peer-fwd-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_get + + returns tapi.connectivity.ConnectivityServiceEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/peer-fwd-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_post + + creates tapi.connectivity.ConnectivityServiceEndPointRef + """ + body = TapiConnectivityConnectivityServiceEndPointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/peer-fwd-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_peer_fwd_connectivity_service_end_point_put + + creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + """ + body = TapiConnectivityConnectivityServiceEndPointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/peer-fwd-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_delete + + removes tapi.connectivity.ConnectivityServiceEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/protecting-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_get + + returns tapi.connectivity.ConnectivityServiceEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/protecting-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_post + + creates tapi.connectivity.ConnectivityServiceEndPointRef + """ + body = TapiConnectivityConnectivityServiceEndPointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/protecting-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_protecting_connectivity_service_end_point_put + + creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + """ + body = TapiConnectivityConnectivityServiceEndPointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/protecting-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_put + + creates or updates tapi.connectivity.ConnectivityServiceEndPoint + """ + body = TapiConnectivityConnectivityServiceEndPointWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_delete + + removes tapi.connectivity.ConnectivityServiceEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/server-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_get + + returns tapi.connectivity.ConnectivityServiceEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/server-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_post + + creates tapi.connectivity.ConnectivityServiceEndPointRef + """ + body = TapiConnectivityConnectivityServiceEndPointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/server-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_server_connectivity_service_end_point_put + + creates or updates tapi.connectivity.ConnectivityServiceEndPointRef + """ + body = TapiConnectivityConnectivityServiceEndPointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/server-connectivity-service-end-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_delete + + removes tapi.common.ServiceInterfacePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_get + + returns tapi.common.ServiceInterfacePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_post + + creates tapi.common.ServiceInterfacePointRef + """ + body = TapiCommonServiceInterfacePointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_end_pointlocal_id_service_interface_point_put + + creates or updates tapi.common.ServiceInterfacePointRef + """ + body = TapiCommonServiceInterfacePointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_get + + returns tapi.connectivity.ConnectivityService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristic_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristic_post + + creates tapi.topology.LatencyCharacteristic + """ + body = TapiTopologyLatencyCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_delete + + removes tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_latency_characteristictraffic_property_name_put + + creates or updates tapi.topology.LatencyCharacteristic + """ + body = TapiTopologyLatencyCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_delete + + removes tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-cost/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-cost/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_post + + creates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-cost/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_cost_put + + creates or updates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-cost/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_delete + + removes tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-delay/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-delay/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_post + + creates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-delay/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_delay_put + + creates or updates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-delay/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_delete + + removes tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-hops/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-hops/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_post + + creates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-hops/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_max_allowed_hops_put + + creates or updates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-hops/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_name_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_put + + creates or updates tapi.connectivity.ConnectivityService + """ + body = TapiConnectivityConnectivityServiceWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_burst_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_committed_information_rate_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_delete + + removes tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_burst_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_peak_information_rate_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_post + + creates tapi.common.BandwidthProfile + """ + body = TapiCommonBandwidthProfileWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_bandwidth_profile_put + + creates or updates tapi.common.BandwidthProfile + """ + body = TapiCommonBandwidthProfileWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_delete + + removes tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_post + + creates tapi.common.Capacity + """ + body = TapiCommonCapacityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_put + + creates or updates tapi.common.Capacity + """ + body = TapiCommonCapacityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/total-size/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/total-size/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/total-size/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_requested_capacity_total_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/total-size/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_delete + + removes tapi.topology.ResilienceType + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/resilience-type/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_get + + returns tapi.topology.ResilienceType + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/resilience-type/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_post + + creates tapi.topology.ResilienceType + """ + body = TapiTopologyResilienceTypeWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/resilience-type/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_resilience_type_put + + creates or updates tapi.topology.ResilienceType + """ + body = TapiTopologyResilienceTypeWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/resilience-type/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristic_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristic_post + + creates tapi.topology.RiskCharacteristic + """ + body = TapiTopologyRiskCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_delete + + removes tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_get + + returns tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_risk_diversity_characteristicrisk_characteristic_name_put + + creates or updates tapi.topology.RiskCharacteristic + """ + body = TapiTopologyRiskCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_delete + + removes tapi.common.TimeRange + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/schedule/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_get + + returns tapi.common.TimeRange + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/schedule/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_post + + creates tapi.common.TimeRange + """ + body = TapiCommonTimeRangeWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/schedule/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_connectivity_serviceuuid_schedule_put + + creates or updates tapi.common.TimeRange + """ + body = TapiCommonTimeRangeWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/schedule/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_delete(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_delete + + removes tapi.connectivity.ConnectivityContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/', + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_get(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_get + + returns tapi.connectivity.ConnectivityContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_post(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_post + + creates tapi.connectivity.ConnectivityContext + """ + body = TapiConnectivityConnectivityContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_connectivityconnectivity_context_put(self): + """Test case for data_tapi_commoncontext_tapi_connectivityconnectivity_context_put + + creates or updates tapi.connectivity.ConnectivityContext + """ + body = TapiConnectivityConnectivityContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-connectivity:connectivity-context/', + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_aggregated_connection_end_pointtopology_uuidaggregated_connection_end_point_node_uuidnode_edge_point_uuidaggregated_connection_end_point_connection_end_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_aggregated_connection_end_pointtopology_uuidaggregated_connection_end_point_node_uuidnode_edge_point_uuidaggregated_connection_end_point_connection_end_point_uuid_get + + returns tapi.connectivity.ConnectionEndPointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/aggregated-connection-end-point={topology-uuid},{aggregated-connection-end-point-node-uuid},{node-edge-point-uuid},{aggregated-connection-end-point-connection-end-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example', topology_uuid='topology_uuid_example', aggregated_connection_end_point_node_uuid='aggregated_connection_end_point_node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example', aggregated_connection_end_point_connection_end_point_uuid='aggregated_connection_end_point_connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_connection_spec_reference_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_connection_spec_reference_get + + returns tapi.connectivity.ConnectionSpecReference + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/cep-role/connection-spec-reference/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_cep_role_get + + returns tapi.connectivity.CepRole + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/cep-role/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_client_node_edge_pointtopology_uuidclient_node_edge_point_node_uuidnode_edge_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_client_node_edge_pointtopology_uuidclient_node_edge_point_node_uuidnode_edge_point_uuid_get + + returns tapi.topology.NodeEdgePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/client-node-edge-point={topology-uuid},{client-node-edge-point-node-uuid},{node-edge-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example', topology_uuid='topology_uuid_example', client_node_edge_point_node_uuid='client_node_edge_point_node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_get + + returns tapi.connectivity.ConnectionEndPoint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_parent_node_edge_point_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_connection_end_pointconnection_end_point_uuid_parent_node_edge_point_get + + returns tapi.topology.NodeEdgePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/parent-node-edge-point/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', connection_end_point_uuid='connection_end_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_tapi_connectivitycep_list_get + + returns tapi.connectivity.CepList + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivitycreate_connectivity_service_post(self): + """Test case for operations_tapi_connectivitycreate_connectivity_service_post + + operates on tapi.connectivity.CreateConnectivityService + """ + body = OperationsTapiconnectivitycreateconnectivityserviceBody() + response = self.client.open( + '/operations/tapi-connectivity:create-connectivity-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivitydelete_connectivity_service_post(self): + """Test case for operations_tapi_connectivitydelete_connectivity_service_post + + operates on tapi.connectivity.DeleteConnectivityService + """ + body = OperationsTapiconnectivitydeleteconnectivityserviceBody() + response = self.client.open( + '/operations/tapi-connectivity:delete-connectivity-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivityget_connection_details_post(self): + """Test case for operations_tapi_connectivityget_connection_details_post + + operates on tapi.connectivity.GetConnectionDetails + """ + body = OperationsTapiconnectivitygetconnectiondetailsBody() + response = self.client.open( + '/operations/tapi-connectivity:get-connection-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivityget_connection_end_point_details_post(self): + """Test case for operations_tapi_connectivityget_connection_end_point_details_post + + operates on tapi.connectivity.GetConnectionEndPointDetails + """ + body = OperationsTapiconnectivitygetconnectionendpointdetailsBody() + response = self.client.open( + '/operations/tapi-connectivity:get-connection-end-point-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivityget_connectivity_service_details_post(self): + """Test case for operations_tapi_connectivityget_connectivity_service_details_post + + operates on tapi.connectivity.GetConnectivityServiceDetails + """ + body = OperationsTapiconnectivitygetconnectivityservicedetailsBody() + response = self.client.open( + '/operations/tapi-connectivity:get-connectivity-service-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivityget_connectivity_service_list_post(self): + """Test case for operations_tapi_connectivityget_connectivity_service_list_post + + + """ + response = self.client.open( + '/operations/tapi-connectivity:get-connectivity-service-list/', + method='POST') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_connectivityupdate_connectivity_service_post(self): + """Test case for operations_tapi_connectivityupdate_connectivity_service_post + + operates on tapi.connectivity.UpdateConnectivityService + """ + body = OperationsTapiconnectivityupdateconnectivityserviceBody() + response = self.client.open( + '/operations/tapi-connectivity:update-connectivity-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/tapi/server/tapi_server/test/test_tapi_notification_controller.py b/hackfest/tapi/server/tapi_server/test/test_tapi_notification_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..d4270b546c408cf8a0b06bd506a7cab1901be18b --- /dev/null +++ b/hackfest/tapi/server/tapi_server/test/test_tapi_notification_controller.py @@ -0,0 +1,556 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from tapi_server.models.operations_tapinotificationcreatenotificationsubscriptionservice_body import OperationsTapinotificationcreatenotificationsubscriptionserviceBody # noqa: E501 +from tapi_server.models.operations_tapinotificationdeletenotificationsubscriptionservice_body import OperationsTapinotificationdeletenotificationsubscriptionserviceBody # noqa: E501 +from tapi_server.models.operations_tapinotificationgetnotificationlist_body import OperationsTapinotificationgetnotificationlistBody # noqa: E501 +from tapi_server.models.operations_tapinotificationgetnotificationsubscriptionservicedetails_body import OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody # noqa: E501 +from tapi_server.models.operations_tapinotificationupdatenotificationsubscriptionservice_body import OperationsTapinotificationupdatenotificationsubscriptionserviceBody # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_notification_alarm_info_wrapper import TapiNotificationAlarmInfoWrapper # noqa: E501 +from tapi_server.models.tapi_notification_create_notification_subscription_service import TapiNotificationCreateNotificationSubscriptionService # noqa: E501 +from tapi_server.models.tapi_notification_delete_notification_subscription_service import TapiNotificationDeleteNotificationSubscriptionService # noqa: E501 +from tapi_server.models.tapi_notification_get_notification_list import TapiNotificationGetNotificationList # noqa: E501 +from tapi_server.models.tapi_notification_get_notification_subscription_service_details import TapiNotificationGetNotificationSubscriptionServiceDetails # noqa: E501 +from tapi_server.models.tapi_notification_get_notification_subscription_service_list import TapiNotificationGetNotificationSubscriptionServiceList # noqa: E501 +from tapi_server.models.tapi_notification_get_supported_notification_types import TapiNotificationGetSupportedNotificationTypes # noqa: E501 +from tapi_server.models.tapi_notification_name_and_value_change_wrapper import TapiNotificationNameAndValueChangeWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_channel_wrapper import TapiNotificationNotificationChannelWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_context_wrapper import TapiNotificationNotificationContextWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_subscription_service_wrapper import TapiNotificationNotificationSubscriptionServiceWrapper # noqa: E501 +from tapi_server.models.tapi_notification_notification_wrapper import TapiNotificationNotificationWrapper # noqa: E501 +from tapi_server.models.tapi_notification_subscription_filter_wrapper import TapiNotificationSubscriptionFilterWrapper # noqa: E501 +from tapi_server.models.tapi_notification_tca_info_wrapper import TapiNotificationTcaInfoWrapper # noqa: E501 +from tapi_server.models.tapi_notification_update_notification_subscription_service import TapiNotificationUpdateNotificationSubscriptionService # noqa: E501 +from tapi_server.test import BaseTestCase + + +class TestTapiNotificationController(BaseTestCase): + """TapiNotificationController integration test stubs""" + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_delete(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_delete + + removes tapi.notification.NotificationContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/', + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_get + + returns tapi.notification.NotificationContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscription_post(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscription_post + + creates tapi.notification.NotificationSubscriptionService + """ + body = TapiNotificationNotificationSubscriptionServiceWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_delete(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_delete + + removes tapi.notification.NotificationSubscriptionService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_get + + returns tapi.notification.NotificationSubscriptionService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_name_post(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_get + + returns tapi.notification.NotificationChannel + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification-channel/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notification_channel_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification-channel/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_additional_infovalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_additional_infovalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/additional-info={value-name}/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_alarm_info_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_alarm_info_get + + returns tapi.notification.AlarmInfo + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/alarm-info/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_changed_attributesvalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_changed_attributesvalue_name_get + + returns tapi.notification.NameAndValueChange + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/changed-attributes={value-name}/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_get + + returns tapi.notification.Notification + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/name={value-name}/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_target_object_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_target_object_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/target-object-name={value-name}/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_tca_info_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_notificationnotification_uuid_tca_info_get + + returns tapi.notification.TcaInfo + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/tca-info/'.format(uuid='uuid_example', notification_uuid='notification_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_put(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_put + + creates or updates tapi.notification.NotificationSubscriptionService + """ + body = TapiNotificationNotificationSubscriptionServiceWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_delete(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_delete + + removes tapi.notification.SubscriptionFilter + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_get + + returns tapi.notification.SubscriptionFilter + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_name_post(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_post(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_post + + creates tapi.notification.SubscriptionFilter + """ + body = TapiNotificationSubscriptionFilterWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_put(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notif_subscriptionuuid_subscription_filter_put + + creates or updates tapi.notification.SubscriptionFilter + """ + body = TapiNotificationSubscriptionFilterWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_additional_infovalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_additional_infovalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/additional-info={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_alarm_info_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_alarm_info_get + + returns tapi.notification.AlarmInfo + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/alarm-info/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_changed_attributesvalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_changed_attributesvalue_name_get + + returns tapi.notification.NameAndValueChange + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/changed-attributes={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_get + + returns tapi.notification.Notification + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_target_object_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_target_object_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/target-object-name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_tca_info_get(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_notificationuuid_tca_info_get + + returns tapi.notification.TcaInfo + """ + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/tca-info/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_post(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_post + + creates tapi.notification.NotificationContext + """ + body = TapiNotificationNotificationContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_notificationnotification_context_put(self): + """Test case for data_tapi_commoncontext_tapi_notificationnotification_context_put + + creates or updates tapi.notification.NotificationContext + """ + body = TapiNotificationNotificationContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-notification:notification-context/', + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationcreate_notification_subscription_service_post(self): + """Test case for operations_tapi_notificationcreate_notification_subscription_service_post + + operates on tapi.notification.CreateNotificationSubscriptionService + """ + body = OperationsTapinotificationcreatenotificationsubscriptionserviceBody() + response = self.client.open( + '/operations/tapi-notification:create-notification-subscription-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationdelete_notification_subscription_service_post(self): + """Test case for operations_tapi_notificationdelete_notification_subscription_service_post + + operates on tapi.notification.DeleteNotificationSubscriptionService + """ + body = OperationsTapinotificationdeletenotificationsubscriptionserviceBody() + response = self.client.open( + '/operations/tapi-notification:delete-notification-subscription-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationget_notification_list_post(self): + """Test case for operations_tapi_notificationget_notification_list_post + + operates on tapi.notification.GetNotificationList + """ + body = OperationsTapinotificationgetnotificationlistBody() + response = self.client.open( + '/operations/tapi-notification:get-notification-list/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationget_notification_subscription_service_details_post(self): + """Test case for operations_tapi_notificationget_notification_subscription_service_details_post + + operates on tapi.notification.GetNotificationSubscriptionServiceDetails + """ + body = OperationsTapinotificationgetnotificationsubscriptionservicedetailsBody() + response = self.client.open( + '/operations/tapi-notification:get-notification-subscription-service-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationget_notification_subscription_service_list_post(self): + """Test case for operations_tapi_notificationget_notification_subscription_service_list_post + + + """ + response = self.client.open( + '/operations/tapi-notification:get-notification-subscription-service-list/', + method='POST') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationget_supported_notification_types_post(self): + """Test case for operations_tapi_notificationget_supported_notification_types_post + + + """ + response = self.client.open( + '/operations/tapi-notification:get-supported-notification-types/', + method='POST') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_notificationupdate_notification_subscription_service_post(self): + """Test case for operations_tapi_notificationupdate_notification_subscription_service_post + + operates on tapi.notification.UpdateNotificationSubscriptionService + """ + body = OperationsTapinotificationupdatenotificationsubscriptionserviceBody() + response = self.client.open( + '/operations/tapi-notification:update-notification-subscription-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/tapi/server/tapi_server/test/test_tapi_path_computation_controller.py b/hackfest/tapi/server/tapi_server/test/test_tapi_path_computation_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..1c833fb966932dc77eced3563497c9b46373670c --- /dev/null +++ b/hackfest/tapi/server/tapi_server/test/test_tapi_path_computation_controller.py @@ -0,0 +1,1455 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from tapi_server.models.operations_tapipathcomputationcomputep2ppath_body import OperationsTapipathcomputationcomputep2ppathBody # noqa: E501 +from tapi_server.models.operations_tapipathcomputationdeletep2ppath_body import OperationsTapipathcomputationdeletep2ppathBody # noqa: E501 +from tapi_server.models.operations_tapipathcomputationoptimizep2ppath_body import OperationsTapipathcomputationoptimizep2ppathBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_compute_p2_p_path import TapiPathComputationComputeP2PPath # noqa: E501 +from tapi_server.models.tapi_path_computation_delete_p2_p_path import TapiPathComputationDeleteP2PPath # noqa: E501 +from tapi_server.models.tapi_path_computation_optimize_p2_ppath import TapiPathComputationOptimizeP2Ppath # noqa: E501 +from tapi_server.models.tapi_path_computation_path_computation_context_wrapper import TapiPathComputationPathComputationContextWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_computation_service_wrapper import TapiPathComputationPathComputationServiceWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_objective_function_wrapper import TapiPathComputationPathObjectiveFunctionWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_optimization_constraint_wrapper import TapiPathComputationPathOptimizationConstraintWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_ref_wrapper import TapiPathComputationPathRefWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_service_end_point_wrapper import TapiPathComputationPathServiceEndPointWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_path_wrapper import TapiPathComputationPathWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_routing_constraint_wrapper import TapiPathComputationRoutingConstraintWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_topology_constraint_wrapper import TapiPathComputationTopologyConstraintWrapper # noqa: E501 +from tapi_server.models.tapi_path_computation_value_or_priority_wrapper import TapiPathComputationValueOrPriorityWrapper # noqa: E501 +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_link_ref_wrapper import TapiTopologyLinkRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper # noqa: E501 +from tapi_server.test import BaseTestCase + + +class TestTapiPathComputationController(BaseTestCase): + """TapiPathComputationController integration test stubs""" + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_delete + + removes tapi.path.computation.PathComputationContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/', + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_get + + returns tapi.path.computation.PathComputationContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_service_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_service_post + + creates tapi.path.computation.PathComputationService + """ + body = TapiPathComputationPathComputationServiceWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_delete + + removes tapi.path.computation.PathComputationService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_point_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_point_post + + creates tapi.path.computation.PathServiceEndPoint + """ + body = TapiPathComputationPathServiceEndPointWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_burst_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_committed_information_rate_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_delete + + removes tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_burst_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_peak_information_rate_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_post + + creates tapi.common.BandwidthProfile + """ + body = TapiCommonBandwidthProfileWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_bandwidth_profile_put + + creates or updates tapi.common.BandwidthProfile + """ + body = TapiCommonBandwidthProfileWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_delete + + removes tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_post + + creates tapi.common.Capacity + """ + body = TapiCommonCapacityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_put + + creates or updates tapi.common.Capacity + """ + body = TapiCommonCapacityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_delete + + removes tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_post + + creates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_capacity_total_size_put + + creates or updates tapi.common.CapacityValue + """ + body = TapiCommonCapacityValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/total-size/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_delete + + removes tapi.path.computation.PathServiceEndPoint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_get + + returns tapi.path.computation.PathServiceEndPoint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_name_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name={value-name}/'.format(uuid='uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_put + + creates or updates tapi.path.computation.PathServiceEndPoint + """ + body = TapiPathComputationPathServiceEndPointWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_delete + + removes tapi.common.ServiceInterfacePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_get + + returns tapi.common.ServiceInterfacePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_post + + creates tapi.common.ServiceInterfacePointRef + """ + body = TapiCommonServiceInterfacePointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_end_pointlocal_id_service_interface_point_put + + creates or updates tapi.common.ServiceInterfacePointRef + """ + body = TapiCommonServiceInterfacePointRefWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/service-interface-point/'.format(uuid='uuid_example', local_id='local_id_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_get + + returns tapi.path.computation.PathComputationService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_name_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_delete + + removes tapi.path.computation.PathObjectiveFunction + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_get + + returns tapi.path.computation.PathObjectiveFunction + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_name_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_post + + creates tapi.path.computation.PathObjectiveFunction + """ + body = TapiPathComputationPathObjectiveFunctionWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_objective_function_put + + creates or updates tapi.path.computation.PathObjectiveFunction + """ + body = TapiPathComputationPathObjectiveFunctionWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_delete + + removes tapi.path.computation.PathOptimizationConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_get + + returns tapi.path.computation.PathOptimizationConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_name_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_name_post + + creates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_delete + + removes tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_namevalue_name_put + + creates or updates tapi.common.NameAndValue + """ + body = TapiCommonNameAndValueWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_post + + creates tapi.path.computation.PathOptimizationConstraint + """ + body = TapiPathComputationPathOptimizationConstraintWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_optimization_constraint_put + + creates or updates tapi.path.computation.PathOptimizationConstraint + """ + body = TapiPathComputationPathOptimizationConstraintWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_pathpath_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_pathpath_uuid_get + + returns tapi.path.computation.PathRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/path={path-uuid}/'.format(uuid='uuid_example', path_uuid='path_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_put + + creates or updates tapi.path.computation.PathComputationService + """ + body = TapiPathComputationPathComputationServiceWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristic_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristic_post + + creates tapi.topology.CostCharacteristic + """ + body = TapiTopologyCostCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_delete + + removes tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_cost_characteristiccost_name_put + + creates or updates tapi.topology.CostCharacteristic + """ + body = TapiTopologyCostCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_delete + + removes tapi.path.computation.RoutingConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_get + + returns tapi.path.computation.RoutingConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristic_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristic_post + + creates tapi.topology.LatencyCharacteristic + """ + body = TapiTopologyLatencyCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_delete + + removes tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_latency_characteristictraffic_property_name_put + + creates or updates tapi.topology.LatencyCharacteristic + """ + body = TapiTopologyLatencyCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_delete + + removes tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-cost/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-cost/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_post + + creates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-cost/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_cost_put + + creates or updates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-cost/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_delete + + removes tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-delay/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-delay/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_post + + creates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-delay/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_delay_put + + creates or updates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-delay/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_delete + + removes tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-hops/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-hops/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_post + + creates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-hops/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_max_allowed_hops_put + + creates or updates tapi.path.computation.ValueOrPriority + """ + body = TapiPathComputationValueOrPriorityWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-hops/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_post + + creates tapi.path.computation.RoutingConstraint + """ + body = TapiPathComputationRoutingConstraintWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_put + + creates or updates tapi.path.computation.RoutingConstraint + """ + body = TapiPathComputationRoutingConstraintWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristic_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristic_post + + creates tapi.topology.RiskCharacteristic + """ + body = TapiTopologyRiskCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_delete + + removes tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get + + returns tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_put + + creates or updates tapi.topology.RiskCharacteristic + """ + body = TapiTopologyRiskCharacteristicWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_delete(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_delete + + removes tapi.path.computation.TopologyConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/topology-constraint/'.format(uuid='uuid_example'), + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_get + + returns tapi.path.computation.TopologyConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/topology-constraint/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_post + + creates tapi.path.computation.TopologyConstraint + """ + body = TapiPathComputationTopologyConstraintWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/topology-constraint/'.format(uuid='uuid_example'), + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_path_comp_serviceuuid_topology_constraint_put + + creates or updates tapi.path.computation.TopologyConstraint + """ + body = TapiPathComputationTopologyConstraintWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/topology-constraint/'.format(uuid='uuid_example'), + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_get + + returns tapi.path.computation.Path + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_linktopology_uuidlink_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_linktopology_uuidlink_uuid_get + + returns tapi.topology.LinkRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/link={topology-uuid},{link-uuid}/'.format(uuid='uuid_example', topology_uuid='topology_uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/cost-characteristic={cost-name}/'.format(uuid='uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_get + + returns tapi.path.computation.RoutingConstraint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_cost_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_cost_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-cost/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_delay_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_delay_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-delay/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_hops_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_max_allowed_hops_get + + returns tapi.path.computation.ValueOrPriority + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-hops/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_pathuuid_routing_constraint_risk_diversity_characteristicrisk_characteristic_name_get + + returns tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_post(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_post + + creates tapi.path.computation.PathComputationContext + """ + body = TapiPathComputationPathComputationContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_path_computationpath_computation_context_put(self): + """Test case for data_tapi_commoncontext_tapi_path_computationpath_computation_context_put + + creates or updates tapi.path.computation.PathComputationContext + """ + body = TapiPathComputationPathComputationContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-path-computation:path-computation-context/', + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_path_computationcompute_p2_p_path_post(self): + """Test case for operations_tapi_path_computationcompute_p2_p_path_post + + operates on tapi.path.computation.ComputeP2PPath + """ + body = OperationsTapipathcomputationcomputep2ppathBody() + response = self.client.open( + '/operations/tapi-path-computation:compute-p-2-p-path/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_path_computationdelete_p2_p_path_post(self): + """Test case for operations_tapi_path_computationdelete_p2_p_path_post + + operates on tapi.path.computation.DeleteP2PPath + """ + body = OperationsTapipathcomputationdeletep2ppathBody() + response = self.client.open( + '/operations/tapi-path-computation:delete-p-2-p-path/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_path_computationoptimize_p2_ppath_post(self): + """Test case for operations_tapi_path_computationoptimize_p2_ppath_post + + operates on tapi.path.computation.OptimizeP2Ppath + """ + body = OperationsTapipathcomputationoptimizep2ppathBody() + response = self.client.open( + '/operations/tapi-path-computation:optimize-p-2-ppath/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/tapi/server/tapi_server/test/test_tapi_topology_controller.py b/hackfest/tapi/server/tapi_server/test/test_tapi_topology_controller.py new file mode 100644 index 0000000000000000000000000000000000000000..2f528d43d7ed5f21f6fe72f8c81628d98cd0db38 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/test/test_tapi_topology_controller.py @@ -0,0 +1,1444 @@ +# coding: utf-8 + +from __future__ import absolute_import + +from flask import json +from six import BytesIO + +from tapi_server.models.operations_tapitopologygetlinkdetails_body import OperationsTapitopologygetlinkdetailsBody # noqa: E501 +from tapi_server.models.operations_tapitopologygetnodedetails_body import OperationsTapitopologygetnodedetailsBody # noqa: E501 +from tapi_server.models.operations_tapitopologygetnodeedgepointdetails_body import OperationsTapitopologygetnodeedgepointdetailsBody # noqa: E501 +from tapi_server.models.operations_tapitopologygettopologydetails_body import OperationsTapitopologygettopologydetailsBody # noqa: E501 +from tapi_server.models.tapi_common_bandwidth_profile_wrapper import TapiCommonBandwidthProfileWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_value_wrapper import TapiCommonCapacityValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_capacity_wrapper import TapiCommonCapacityWrapper # noqa: E501 +from tapi_server.models.tapi_common_name_and_value_wrapper import TapiCommonNameAndValueWrapper # noqa: E501 +from tapi_server.models.tapi_common_service_interface_point_ref_wrapper import TapiCommonServiceInterfacePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_connection_spec_reference_wrapper import TapiTopologyConnectionSpecReferenceWrapper # noqa: E501 +from tapi_server.models.tapi_topology_cost_characteristic_wrapper import TapiTopologyCostCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_get_link_details import TapiTopologyGetLinkDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_node_details import TapiTopologyGetNodeDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_node_edge_point_details import TapiTopologyGetNodeEdgePointDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_topology_details import TapiTopologyGetTopologyDetails # noqa: E501 +from tapi_server.models.tapi_topology_get_topology_list import TapiTopologyGetTopologyList # noqa: E501 +from tapi_server.models.tapi_topology_inter_rule_group_wrapper import TapiTopologyInterRuleGroupWrapper # noqa: E501 +from tapi_server.models.tapi_topology_latency_characteristic_wrapper import TapiTopologyLatencyCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_link_wrapper import TapiTopologyLinkWrapper # noqa: E501 +from tapi_server.models.tapi_topology_network_topology_service_wrapper import TapiTopologyNetworkTopologyServiceWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_edge_point_ref_wrapper import TapiTopologyNodeEdgePointRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_owned_node_edge_point_wrapper import TapiTopologyNodeOwnedNodeEdgePointWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_rule_group_ref_wrapper import TapiTopologyNodeRuleGroupRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_node_rule_group_wrapper import TapiTopologyNodeRuleGroupWrapper # noqa: E501 +from tapi_server.models.tapi_topology_port_role_rule_wrapper import TapiTopologyPortRoleRuleWrapper # noqa: E501 +from tapi_server.models.tapi_topology_resilience_type_wrapper import TapiTopologyResilienceTypeWrapper # noqa: E501 +from tapi_server.models.tapi_topology_risk_characteristic_wrapper import TapiTopologyRiskCharacteristicWrapper # noqa: E501 +from tapi_server.models.tapi_topology_rule_wrapper import TapiTopologyRuleWrapper # noqa: E501 +from tapi_server.models.tapi_topology_signal_property_rule_wrapper import TapiTopologySignalPropertyRuleWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_context_wrapper import TapiTopologyTopologyContextWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_node_wrapper import TapiTopologyTopologyNodeWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_ref_wrapper import TapiTopologyTopologyRefWrapper # noqa: E501 +from tapi_server.models.tapi_topology_topology_wrapper import TapiTopologyTopologyWrapper # noqa: E501 +from tapi_server.models.tapi_topology_validation_mechanism_wrapper import TapiTopologyValidationMechanismWrapper # noqa: E501 +from tapi_server.test import BaseTestCase + + +class TestTapiTopologyController(BaseTestCase): + """TapiTopologyController integration test stubs""" + + def test_data_tapi_commoncontext_tapi_topologytopology_context_delete(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_delete + + removes tapi.topology.context.TopologyContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/', + method='DELETE') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_get + + returns tapi.topology.context.TopologyContext + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_get + + returns tapi.topology.NetworkTopologyService + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/', + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/name={value-name}/'.format(value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_topologytopology_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_nw_topology_service_topologytopology_uuid_get + + returns tapi.topology.TopologyRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/topology={topology-uuid}/'.format(topology_uuid='topology_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_post(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_post + + creates tapi.topology.context.TopologyContext + """ + body = TapiTopologyTopologyContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_put(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_put + + creates or updates tapi.topology.context.TopologyContext + """ + body = TapiTopologyTopologyContextWrapper() + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/', + method='PUT', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_get + + returns tapi.topology.topologycontext.Topology + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/'.format(uuid='uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_available_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/total-size/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', link_uuid='link_uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_get + + returns tapi.topology.Link + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', link_uuid='link_uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/name={value-name}/'.format(uuid='uuid_example', link_uuid='link_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_node_edge_pointtopology_uuidnode_uuidnode_edge_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_node_edge_pointtopology_uuidnode_uuidnode_edge_point_uuid_get + + returns tapi.topology.NodeEdgePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/node-edge-point={topology-uuid},{node-uuid},{node-edge-point-uuid}/'.format(uuid='uuid_example', link_uuid='link_uuid_example', topology_uuid='topology_uuid_example', node_uuid='node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_resilience_type_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_resilience_type_get + + returns tapi.topology.ResilienceType + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/resilience-type/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_risk_characteristicrisk_characteristic_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_risk_characteristicrisk_characteristic_name_get + + returns tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/risk-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', link_uuid='link_uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_total_potential_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/total-size/'.format(uuid='uuid_example', link_uuid='link_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_validation_mechanismvalidation_mechanism_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_linklink_uuid_validation_mechanismvalidation_mechanism_get + + returns tapi.topology.ValidationMechanism + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/validation-mechanism={validation-mechanism}/'.format(uuid='uuid_example', link_uuid='link_uuid_example', validation_mechanism='validation_mechanism_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/name={value-name}/'.format(uuid='uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get + + returns tapi.topology.NodeEdgePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/aggregated-node-edge-point={topology-uuid},{aggregated-node-edge-point-node-uuid},{node-edge-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', topology_uuid='topology_uuid_example', aggregated_node_edge_point_node_uuid='aggregated_node_edge_point_node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_available_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_encap_topology_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_encap_topology_get + + returns tapi.topology.TopologyRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/encap-topology/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_get + + returns tapi.topology.topology.Node + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_available_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_get + + returns tapi.topology.NodeRuleGroup + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_associated_node_rule_grouptopology_uuidassociated_node_rule_group_node_uuidassociated_node_rule_group_node_rule_group_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_associated_node_rule_grouptopology_uuidassociated_node_rule_group_node_uuidassociated_node_rule_group_node_rule_group_uuid_get + + returns tapi.topology.NodeRuleGroupRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/associated-node-rule-group={topology-uuid},{associated-node-rule-group-node-uuid},{associated-node-rule-group-node-rule-group-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', topology_uuid='topology_uuid_example', associated_node_rule_group_node_uuid='associated_node_rule_group_node_uuid_example', associated_node_rule_group_node_rule_group_uuid='associated_node_rule_group_node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_available_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_cost_characteristiccost_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_cost_characteristiccost_name_get + + returns tapi.topology.CostCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/cost-characteristic={cost-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', cost_name='cost_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_get + + returns tapi.topology.InterRuleGroup + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_risk_characteristicrisk_characteristic_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_risk_characteristicrisk_characteristic_name_get + + returns tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/risk-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_cep_port_role_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_cep_port_role_get + + returns tapi.topology.PortRoleRule + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/cep-port-role/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_connection_spec_reference_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_connection_spec_reference_get + + returns tapi.topology.ConnectionSpecReference + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/connection-spec-reference/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_get + + returns tapi.topology.Rule + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_signal_property_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_rulelocal_id_signal_property_get + + returns tapi.topology.SignalPropertyRule + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/signal-property/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_inter_rule_groupinter_rule_group_uuid_total_potential_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', inter_rule_group_uuid='inter_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_latency_characteristictraffic_property_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_latency_characteristictraffic_property_name_get + + returns tapi.topology.LatencyCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/latency-characteristic={traffic-property-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', traffic_property_name='traffic_property_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_edge_pointtopology_uuidnode_edge_point_node_uuidnode_edge_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_edge_pointtopology_uuidnode_edge_point_node_uuidnode_edge_point_uuid_get + + returns tapi.topology.NodeEdgePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/node-edge-point={topology-uuid},{node-edge-point-node-uuid},{node-edge-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', topology_uuid='topology_uuid_example', node_edge_point_node_uuid='node_edge_point_node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_rule_grouptopology_uuidnode_rule_group_node_uuidnode_rule_group_node_rule_group_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_node_rule_grouptopology_uuidnode_rule_group_node_uuidnode_rule_group_node_rule_group_uuid_get + + returns tapi.topology.NodeRuleGroupRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/node-rule-group={topology-uuid},{node-rule-group-node-uuid},{node-rule-group-node-rule-group-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', topology_uuid='topology_uuid_example', node_rule_group_node_uuid='node_rule_group_node_uuid_example', node_rule_group_node_rule_group_uuid='node_rule_group_node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_risk_characteristicrisk_characteristic_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_risk_characteristicrisk_characteristic_name_get + + returns tapi.topology.RiskCharacteristic + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/risk-characteristic={risk-characteristic-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', risk_characteristic_name='risk_characteristic_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_cep_port_role_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_cep_port_role_get + + returns tapi.topology.PortRoleRule + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/cep-port-role/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_connection_spec_reference_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_connection_spec_reference_get + + returns tapi.topology.ConnectionSpecReference + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/connection-spec-reference/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_get + + returns tapi.topology.Rule + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', local_id='local_id_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_signal_property_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_rulelocal_id_signal_property_get + + returns tapi.topology.SignalPropertyRule + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/signal-property/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example', local_id='local_id_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_node_rule_groupnode_rule_group_uuid_total_potential_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', node_rule_group_uuid='node_rule_group_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_aggregated_node_edge_pointtopology_uuidaggregated_node_edge_point_node_uuidnode_edge_point_uuid_get + + returns tapi.topology.NodeEdgePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/aggregated-node-edge-point={topology-uuid},{aggregated-node-edge-point-node-uuid},{node-edge-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', topology_uuid='topology_uuid_example', aggregated_node_edge_point_node_uuid='aggregated_node_edge_point_node_uuid_example', node_edge_point_uuid='node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_available_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_get + + returns tapi.topology.node.OwnedNodeEdgePoint + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_mapped_service_interface_pointservice_interface_point_uuid_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_mapped_service_interface_pointservice_interface_point_uuid_get + + returns tapi.common.ServiceInterfacePointRef + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/mapped-service-interface-point={service-interface-point-uuid}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', service_interface_point_uuid='service_interface_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_namevalue_name_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_namevalue_name_get + + returns tapi.common.NameAndValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/name={value-name}/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example', value_name='value_name_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_owned_node_edge_pointowned_node_edge_point_uuid_total_potential_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example', owned_node_edge_point_uuid='owned_node_edge_point_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_committed_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_get + + returns tapi.common.BandwidthProfile + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_burst_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_bandwidth_profile_peak_information_rate_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_get + + returns tapi.common.Capacity + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_total_size_get(self): + """Test case for data_tapi_commoncontext_tapi_topologytopology_context_topologyuuid_nodenode_uuid_total_potential_capacity_total_size_get + + returns tapi.common.CapacityValue + """ + response = self.client.open( + '/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/total-size/'.format(uuid='uuid_example', node_uuid='node_uuid_example'), + method='GET') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_topologyget_link_details_post(self): + """Test case for operations_tapi_topologyget_link_details_post + + operates on tapi.topology.GetLinkDetails + """ + body = OperationsTapitopologygetlinkdetailsBody() + response = self.client.open( + '/operations/tapi-topology:get-link-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_topologyget_node_details_post(self): + """Test case for operations_tapi_topologyget_node_details_post + + operates on tapi.topology.GetNodeDetails + """ + body = OperationsTapitopologygetnodedetailsBody() + response = self.client.open( + '/operations/tapi-topology:get-node-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_topologyget_node_edge_point_details_post(self): + """Test case for operations_tapi_topologyget_node_edge_point_details_post + + operates on tapi.topology.GetNodeEdgePointDetails + """ + body = OperationsTapitopologygetnodeedgepointdetailsBody() + response = self.client.open( + '/operations/tapi-topology:get-node-edge-point-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_topologyget_topology_details_post(self): + """Test case for operations_tapi_topologyget_topology_details_post + + operates on tapi.topology.GetTopologyDetails + """ + body = OperationsTapitopologygettopologydetailsBody() + response = self.client.open( + '/operations/tapi-topology:get-topology-details/', + method='POST', + data=json.dumps(body), + content_type='application/yang-data+json') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + def test_operations_tapi_topologyget_topology_list_post(self): + """Test case for operations_tapi_topologyget_topology_list_post + + + """ + response = self.client.open( + '/operations/tapi-topology:get-topology-list/', + method='POST') + self.assert200(response, + 'Response body is : ' + response.data.decode('utf-8')) + + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/hackfest/tapi/server/tapi_server/type_util.py b/hackfest/tapi/server/tapi_server/type_util.py new file mode 100644 index 0000000000000000000000000000000000000000..0563f81fd5345282a33705038dfa77fdcaa15872 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/type_util.py @@ -0,0 +1,32 @@ +# coding: utf-8 + +import sys + +if sys.version_info < (3, 7): + import typing + + def is_generic(klass): + """ Determine whether klass is a generic class """ + return type(klass) == typing.GenericMeta + + def is_dict(klass): + """ Determine whether klass is a Dict """ + return klass.__extra__ == dict + + def is_list(klass): + """ Determine whether klass is a List """ + return klass.__extra__ == list + +else: + + def is_generic(klass): + """ Determine whether klass is a generic class """ + return hasattr(klass, '__origin__') + + def is_dict(klass): + """ Determine whether klass is a Dict """ + return klass.__origin__ == dict + + def is_list(klass): + """ Determine whether klass is a List """ + return klass.__origin__ == list diff --git a/hackfest/tapi/server/tapi_server/util.py b/hackfest/tapi/server/tapi_server/util.py new file mode 100644 index 0000000000000000000000000000000000000000..f627e2a294aef5a1069f9825a57a03c4e5df5db6 --- /dev/null +++ b/hackfest/tapi/server/tapi_server/util.py @@ -0,0 +1,142 @@ +import datetime + +import six +import typing +from tapi_server import type_util + + +def _deserialize(data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if klass in six.integer_types or klass in (float, str, bool, bytearray): + return _deserialize_primitive(data, klass) + elif klass == object: + return _deserialize_object(data) + elif klass == datetime.date: + return deserialize_date(data) + elif klass == datetime.datetime: + return deserialize_datetime(data) + elif type_util.is_generic(klass): + if type_util.is_list(klass): + return _deserialize_list(data, klass.__args__[0]) + if type_util.is_dict(klass): + return _deserialize_dict(data, klass.__args__[1]) + else: + return deserialize_model(data, klass) + + +def _deserialize_primitive(data, klass): + """Deserializes to primitive type. + + :param data: data to deserialize. + :param klass: class literal. + + :return: int, long, float, str, bool. + :rtype: int | long | float | str | bool + """ + try: + value = klass(data) + except UnicodeEncodeError: + value = six.u(data) + except TypeError: + value = data + return value + + +def _deserialize_object(value): + """Return an original value. + + :return: object. + """ + return value + + +def deserialize_date(string): + """Deserializes string to date. + + :param string: str. + :type string: str + :return: date. + :rtype: date + """ + try: + from dateutil.parser import parse + return parse(string).date() + except ImportError: + return string + + +def deserialize_datetime(string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :type string: str + :return: datetime. + :rtype: datetime + """ + try: + from dateutil.parser import parse + return parse(string) + except ImportError: + return string + + +def deserialize_model(data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :type data: dict | list + :param klass: class literal. + :return: model object. + """ + instance = klass() + + if not instance.swagger_types: + return data + + for attr, attr_type in six.iteritems(instance.swagger_types): + if data is not None \ + and instance.attribute_map[attr] in data \ + and isinstance(data, (list, dict)): + value = data[instance.attribute_map[attr]] + setattr(instance, attr, _deserialize(value, attr_type)) + + return instance + + +def _deserialize_list(data, boxed_type): + """Deserializes a list and its elements. + + :param data: list to deserialize. + :type data: list + :param boxed_type: class literal. + + :return: deserialized list. + :rtype: list + """ + return [_deserialize(sub_data, boxed_type) + for sub_data in data] + + +def _deserialize_dict(data, boxed_type): + """Deserializes a dict and its elements. + + :param data: dict to deserialize. + :type data: dict + :param boxed_type: class literal. + + :return: deserialized dict. + :rtype: dict + """ + return {k: _deserialize(v, boxed_type) + for k, v in six.iteritems(data)} diff --git a/hackfest/tapi/server/test-requirements.txt b/hackfest/tapi/server/test-requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..2640639a25a3bffe0f449788303300a364c55cb7 --- /dev/null +++ b/hackfest/tapi/server/test-requirements.txt @@ -0,0 +1,7 @@ +flask_testing==0.8.0 +coverage>=4.0.3 +nose>=1.3.7 +pluggy>=0.3.1 +py>=1.4.31 +randomize>=0.13 +tox==3.20.1 diff --git a/hackfest/tapi/server/tox.ini b/hackfest/tapi/server/tox.ini new file mode 100644 index 0000000000000000000000000000000000000000..2751b218c1d2385c081c114c9094fc5e388126dc --- /dev/null +++ b/hackfest/tapi/server/tox.ini @@ -0,0 +1,10 @@ +[tox] +envlist = py38 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + nosetests \ + [] \ No newline at end of file diff --git a/hackfest/tapi/swagger-codegen-cli-3.0.35.jar b/hackfest/tapi/swagger-codegen-cli-3.0.35.jar new file mode 100644 index 0000000000000000000000000000000000000000..88f9085ea972daed2099d62c89d4a96d0e4bd730 Binary files /dev/null and b/hackfest/tapi/swagger-codegen-cli-3.0.35.jar differ diff --git a/hackfest/tapi/tapi-connectivity.yaml b/hackfest/tapi/tapi-connectivity.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6cc5d39037ef0fca8ba6f6029344eade09ec7364 --- /dev/null +++ b/hackfest/tapi/tapi-connectivity.yaml @@ -0,0 +1,15196 @@ +--- +swagger: "2.0" +info: + description: "\r\n This module contains TAPI Notification Model definitions.\r\ + \n Source: TapiNotification.uml\r\n - The TAPI YANG models included\ + \ in this TAPI release are a *normative* part of the TAPI SDK.\r\n - The\ + \ YANG specifications have been generated from the corresponding UML model using\ + \ the [ONF EAGLE UML2YANG mapping tool]\r\n \r\n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\n - Status of YANG model artifacts can be determined by referring\ + \ to the corresponding UML artifacts.\r\n As described in the UML models,\ + \ some artifacts are considered *experimental*, and thus the corresponding YANG\ + \ artifacts.\r\n - The ONF TAPI release process does not guarantee backward\ + \ compatibility of YANG models across major versions of TAPI releases.\r\n \ + \ The YANG model backward compatibility criteria are outlined in section\ + \ 11 of .\r\n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0,\r\n This module contains TAPI Connectivity Model\ + \ definitions.\r\n Source: TapiConnectivity.uml\r\n - The TAPI YANG\ + \ models included in this TAPI release are a *normative* part of the TAPI SDK.\r\ + \n - The YANG specifications have been generated from the corresponding\ + \ UML model using the [ONF EAGLE UML2YANG mapping tool]\r\n \r\n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\n - Status of YANG model artifacts can be determined by referring\ + \ to the corresponding UML artifacts.\r\n As described in the UML models,\ + \ some artifacts are considered *experimental*, and thus the corresponding YANG\ + \ artifacts.\r\n - The ONF TAPI release process does not guarantee backward\ + \ compatibility of YANG models across major versions of TAPI releases.\r\n \ + \ The YANG model backward compatibility criteria are outlined in section 11\ + \ of .\r\n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0.,\r\n This module contains TAPI Topology Model\ + \ definitions.\r\n Source: TapiTopology.uml\r\n - The TAPI YANG\ + \ models included in this TAPI release are a *normative* part of the TAPI SDK.\r\ + \n - The YANG specifications have been generated from the corresponding\ + \ UML model using the [ONF EAGLE UML2YANG mapping tool]\r\n \r\n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\n - Status of YANG model artifacts can be determined by referring\ + \ to the corresponding UML artifacts.\r\n As described in the UML models,\ + \ some artifacts are considered *experimental*, and thus the corresponding YANG\ + \ artifacts.\r\n - The ONF TAPI release process does not guarantee backward\ + \ compatibility of YANG models across major versions of TAPI releases.\r\n \ + \ The YANG model backward compatibility criteria are outlined in section\ + \ 11 of .\r\n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0.,\r\n This module contains TAPI Common Model definitions.\r\ + \n Source: TapiCommon.uml\r\n - The TAPI YANG models included in\ + \ this TAPI release are a *normative* part of the TAPI SDK.\r\n - The YANG\ + \ specifications have been generated from the corresponding UML model using the\ + \ [ONF EAGLE UML2YANG mapping tool]\r\n \r\ + \n and further edited manually to comply with the [ONF IISOMI UML2YANG\ + \ mapping guidelines]\r\n \r\ + \n - Status of YANG model artifacts can be determined by referring to the\ + \ corresponding UML artifacts.\r\n As described in the UML models, some\ + \ artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r\ + \n - The ONF TAPI release process does not guarantee backward compatibility\ + \ of YANG models across major versions of TAPI releases.\r\n The YANG model\ + \ backward compatibility criteria are outlined in section 11 of .\r\ + \n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0.,\r\n This module contains TAPI Path Computation\ + \ Model definitions.\r\n Source: TapiPathComputation.uml\r\n - The\ + \ TAPI YANG models included in this TAPI release are a *normative* part of the\ + \ TAPI SDK.\r\n - The YANG specifications have been generated from the\ + \ corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r\n \ + \ \r\n and\ + \ further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r\ + \n \r\ + \n - Status of YANG model artifacts can be determined by referring to the\ + \ corresponding UML artifacts.\r\n As described in the UML models, some\ + \ artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r\ + \n - The ONF TAPI release process does not guarantee backward compatibility\ + \ of YANG models across major versions of TAPI releases.\r\n The YANG model\ + \ backward compatibility criteria are outlined in section 11 of .\r\ + \n YANG models included in this release may not be backward compatible\ + \ with previous TAPI releases.\r\n Copyright (c) 2018 Open Networking Foundation\ + \ (ONF). All rights reserved.\r\n License: This module is distributed under\ + \ the Apache License 2.0." + version: "2.1.3" + title: "tapi-notification,tapi-connectivity,tapi-topology,tapi-common,tapi-path-computation\ + \ API" +host: "localhost:1234" +consumes: +- "application/yang-data+json" +produces: +- "application/yang-data+json" +paths: + /data/tapi-common:context/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.Context" + description: "none" + parameters: [] + responses: + 200: + description: "tapi.common.Context" + schema: + $ref: "#/definitions/tapi.common.ContextWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-common" + summary: "creates tapi.common.Context" + description: "none" + parameters: + - in: "body" + name: "tapi.common.Context.body-param" + description: "tapi.common.Context to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.ContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-common" + summary: "creates or updates tapi.common.Context" + description: "none" + parameters: + - in: "body" + name: "tapi.common.Context.body-param" + description: "tapi.common.Context to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.ContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-common" + summary: "removes tapi.common.Context" + description: "none" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/name/: + post: + tags: + - "tapi-common" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/name={value-name}/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-common" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-common" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/service-interface-point/: + post: + tags: + - "tapi-common" + summary: "creates tapi.common.ServiceInterfacePoint" + description: "none" + parameters: + - in: "body" + name: "tapi.common.ServiceInterfacePoint.body-param" + description: "tapi.common.ServiceInterfacePoint to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/service-interface-point={uuid}/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.ServiceInterfacePoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.ServiceInterfacePoint" + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-common" + summary: "creates or updates tapi.common.ServiceInterfacePoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.ServiceInterfacePoint.body-param" + description: "tapi.common.ServiceInterfacePoint to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-common" + summary: "removes tapi.common.ServiceInterfacePoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.Capacity" + description: "Capacity available to be assigned." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/committed-burst-size/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/committed-information-rate/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/peak-burst-size/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/bandwidth-profile/peak-information-rate/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/available-capacity/total-size/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/name/: + post: + tags: + - "tapi-common" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/service-interface-point={uuid}/name={value-name}/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-common" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-common" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.Capacity" + description: "An optimistic view of the capacity of the TopologicalEntity assuming\ + \ that any shared capacity is available to be taken." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/service-interface-point={uuid}/total-potential-capacity/total-size/: + get: + tags: + - "tapi-common" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityContext" + description: "Augments the base TAPI Context with ConnectivityService information" + parameters: [] + responses: + 200: + description: "tapi.connectivity.ConnectivityContext" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityContextWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityContext" + description: "Augments the base TAPI Context with ConnectivityService information" + parameters: + - in: "body" + name: "tapi.connectivity.ConnectivityContext.body-param" + description: "tapi.connectivity.ConnectivityContext to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityContext" + description: "Augments the base TAPI Context with ConnectivityService information" + parameters: + - in: "body" + name: "tapi.connectivity.ConnectivityContext.body-param" + description: "tapi.connectivity.ConnectivityContext to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityContext" + description: "Augments the base TAPI Context with ConnectivityService information" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.Connection" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.Connection" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/connection-spec-reference/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionSpecReference" + description: "Provides the reference to the spec that defines the connection\ + \ type and cepRoles." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionSpecReference" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionSpecReferenceWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/lower-connection={connection-uuid}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionRef" + description: "An Connection object supports a recursive aggregation relationship\ + \ such that the internal construction of an Connection can be exposed as multiple\ + \ lower level Connection objects (partitioning).\r\n Aggregation\ + \ is used as for the Node/Topology to allow changes in hierarchy. \r\n \ + \ Connection aggregation reflects Node/Topology aggregation.\ + \ \r\n The FC represents a Cross-Connection in an NE. The Cross-Connection\ + \ in an NE is not necessarily the lowest level of FC partitioning." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "connection-uuid" + in: "path" + description: "Id of lower-connection" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/name={value-name}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.Route" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of route" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.Route" + schema: + $ref: "#/definitions/tapi.connectivity.RouteWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of route" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/name={value-name}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of route" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/resilience-route-pac/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ResilienceRoute" + description: "Provides optional resilience and state attributes to the Route." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of route" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ResilienceRoute" + schema: + $ref: "#/definitions/tapi.connectivity.ResilienceRouteWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/route={local-id}/resilience-route-pac/name={value-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of route" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/supported-client-link={topology-uuid},{link-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.LinkRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of supported-client-link" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of supported-client-link" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LinkRef" + schema: + $ref: "#/definitions/tapi.topology.LinkRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.SwitchControl" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.SwitchControl" + schema: + $ref: "#/definitions/tapi.connectivity.SwitchControlWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/name={value-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/resilience-type/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.ResilienceType" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.ResilienceType" + schema: + $ref: "#/definitions/tapi.topology.ResilienceTypeWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/sub-switch-control={connection-uuid},{sub-switch-control-switch-control-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.SwitchControlRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + - name: "connection-uuid" + in: "path" + description: "Id of sub-switch-control" + required: true + type: "string" + - name: "sub-switch-control-switch-control-uuid" + in: "path" + description: "Id of sub-switch-control" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.SwitchControlRef" + schema: + $ref: "#/definitions/tapi.connectivity.SwitchControlRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.Switch" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of switch" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.Switch" + schema: + $ref: "#/definitions/tapi.connectivity.SwitchWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/name={value-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of switch" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/selected-connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of switch" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of selected-connection-end-point" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of selected-connection-end-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of selected-connection-end-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of selected-connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}/switch-control={switch-control-uuid}/switch={local-id}/selected-route={connection-uuid},{route-local-id}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.RouteRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + - name: "switch-control-uuid" + in: "path" + description: "Id of switch-control" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of switch" + required: true + type: "string" + - name: "connection-uuid" + in: "path" + description: "Id of selected-route" + required: true + type: "string" + - name: "route-local-id" + in: "path" + description: "Id of selected-route" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.RouteRef" + schema: + $ref: "#/definitions/tapi.connectivity.RouteRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityService" + description: "none" + parameters: + - in: "body" + name: "tapi.connectivity.ConnectivityService.body-param" + description: "tapi.connectivity.ConnectivityService to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityService" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityService.body-param" + description: "tapi.connectivity.ConnectivityService to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/connection={connection-uuid}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "connection-uuid" + in: "path" + description: "Id of connection" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/coroute-inclusion/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityServiceRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRefWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceRef.body-param" + description: "tapi.connectivity.ConnectivityServiceRef to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceRef.body-param" + description: "tapi.connectivity.ConnectivityServiceRef to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.CostCharacteristic.body-param" + description: "tapi.topology.CostCharacteristic to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/cost-characteristic={cost-name}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + - in: "body" + name: "tapi.topology.CostCharacteristic.body-param" + description: "tapi.topology.CostCharacteristic to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceRef.body-param" + description: "tapi.connectivity.ConnectivityServiceRef to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/diversity-exclusion={connectivity-service-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "connectivity-service-uuid" + in: "path" + description: "Id of diversity-exclusion" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityServiceRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRefWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "connectivity-service-uuid" + in: "path" + description: "Id of diversity-exclusion" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceRef.body-param" + description: "tapi.connectivity.ConnectivityServiceRef to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityServiceRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "connectivity-service-uuid" + in: "path" + description: "Id of diversity-exclusion" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPoint.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPoint to be added to\ + \ list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityServiceEndPoint" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPoint.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPoint to be added or\ + \ updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.Capacity.body-param" + description: "tapi.common.Capacity to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.Capacity.body-param" + description: "tapi.common.Capacity to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.BandwidthProfile.body-param" + description: "tapi.common.BandwidthProfile to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.BandwidthProfile.body-param" + description: "tapi.common.BandwidthProfile to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/capacity/total-size/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/connection-end-point={topology-uuid},{node-uuid},{node-edge-point-uuid},{connection-end-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/name={value-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/peer-fwd-connectivity-service-end-point/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityServiceEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPointRef.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPointRef to be added\ + \ to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPointRef.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPointRef to be added\ + \ or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/protecting-connectivity-service-end-point/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityServiceEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPointRef.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPointRef to be added\ + \ to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPointRef.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPointRef to be added\ + \ or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/server-connectivity-service-end-point/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectivityServiceEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPointRef.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPointRef to be added\ + \ to list" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.connectivity.ConnectivityServiceEndPointRef.body-param" + description: "tapi.connectivity.ConnectivityServiceEndPointRef to be added\ + \ or updated" + required: false + schema: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.connectivity.ConnectivityServiceEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/end-point={local-id}/service-interface-point/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.ServiceInterfacePointRef" + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.ServiceInterfacePointRef.body-param" + description: "tapi.common.ServiceInterfacePointRef to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.ServiceInterfacePointRef.body-param" + description: "tapi.common.ServiceInterfacePointRef to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.LatencyCharacteristic.body-param" + description: "tapi.topology.LatencyCharacteristic to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + - in: "body" + name: "tapi.topology.LatencyCharacteristic.body-param" + description: "tapi.topology.LatencyCharacteristic to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-cost/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-delay/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/max-allowed-hops/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name={value-name}/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.Capacity.body-param" + description: "tapi.common.Capacity to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.Capacity.body-param" + description: "tapi.common.Capacity to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.BandwidthProfile.body-param" + description: "tapi.common.BandwidthProfile to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.BandwidthProfile.body-param" + description: "tapi.common.BandwidthProfile to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/requested-capacity/total-size/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/resilience-type/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.ResilienceType" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.ResilienceType" + schema: + $ref: "#/definitions/tapi.topology.ResilienceTypeWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.topology.ResilienceType" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.ResilienceType.body-param" + description: "tapi.topology.ResilienceType to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.ResilienceTypeWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.topology.ResilienceType" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.ResilienceType.body-param" + description: "tapi.topology.ResilienceType to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.ResilienceTypeWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.topology.ResilienceType" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic/: + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.RiskCharacteristic.body-param" + description: "tapi.topology.RiskCharacteristic to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/risk-diversity-characteristic={risk-characteristic-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.RiskCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + - in: "body" + name: "tapi.topology.RiskCharacteristic.body-param" + description: "tapi.topology.RiskCharacteristic to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/schedule/: + get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.TimeRange" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 200: + description: "tapi.common.TimeRange" + schema: + $ref: "#/definitions/tapi.common.TimeRangeWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-connectivity" + summary: "creates tapi.common.TimeRange" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.TimeRange.body-param" + description: "tapi.common.TimeRange to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.TimeRangeWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-connectivity" + summary: "creates or updates tapi.common.TimeRange" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.TimeRange.body-param" + description: "tapi.common.TimeRange to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.TimeRangeWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-connectivity" + summary: "removes tapi.common.TimeRange" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of connectivity-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-notification:notification-context/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.NotificationContext" + description: "Augments the base TAPI Context with NotificationService information" + parameters: [] + responses: + 200: + description: "tapi.notification.NotificationContext" + schema: + $ref: "#/definitions/tapi.notification.NotificationContextWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-notification" + summary: "creates tapi.notification.NotificationContext" + description: "Augments the base TAPI Context with NotificationService information" + parameters: + - in: "body" + name: "tapi.notification.NotificationContext.body-param" + description: "tapi.notification.NotificationContext to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.notification.NotificationContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-notification" + summary: "creates or updates tapi.notification.NotificationContext" + description: "Augments the base TAPI Context with NotificationService information" + parameters: + - in: "body" + name: "tapi.notification.NotificationContext.body-param" + description: "tapi.notification.NotificationContext to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.notification.NotificationContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-notification" + summary: "removes tapi.notification.NotificationContext" + description: "Augments the base TAPI Context with NotificationService information" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription/: + post: + tags: + - "tapi-notification" + summary: "creates tapi.notification.NotificationSubscriptionService" + description: "none" + parameters: + - in: "body" + name: "tapi.notification.NotificationSubscriptionService.body-param" + description: "tapi.notification.NotificationSubscriptionService to be added\ + \ to list" + required: false + schema: + $ref: "#/definitions/tapi.notification.NotificationSubscriptionServiceWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.NotificationSubscriptionService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.NotificationSubscriptionService" + schema: + $ref: "#/definitions/tapi.notification.NotificationSubscriptionServiceWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-notification" + summary: "creates or updates tapi.notification.NotificationSubscriptionService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - in: "body" + name: "tapi.notification.NotificationSubscriptionService.body-param" + description: "tapi.notification.NotificationSubscriptionService to be added\ + \ or updated" + required: false + schema: + $ref: "#/definitions/tapi.notification.NotificationSubscriptionServiceWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-notification" + summary: "removes tapi.notification.NotificationSubscriptionService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name/: + post: + tags: + - "tapi-notification" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/name={value-name}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-notification" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-notification" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification-channel/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.NotificationChannel" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.NotificationChannel" + schema: + $ref: "#/definitions/tapi.notification.NotificationChannelWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification-channel/name={value-name}/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.Notification" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.Notification" + schema: + $ref: "#/definitions/tapi.notification.NotificationWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/additional-info={value-name}/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of additional-info" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/alarm-info/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.AlarmInfo" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.AlarmInfo" + schema: + $ref: "#/definitions/tapi.notification.AlarmInfoWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/changed-attributes={value-name}/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.NameAndValueChange" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of changed-attributes" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.NameAndValueChange" + schema: + $ref: "#/definitions/tapi.notification.NameAndValueChangeWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/name={value-name}/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/target-object-name={value-name}/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of target-object-name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/notification={notification-uuid}/tca-info/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.TcaInfo" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "notification-uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.TcaInfo" + schema: + $ref: "#/definitions/tapi.notification.TcaInfoWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.SubscriptionFilter" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.SubscriptionFilter" + schema: + $ref: "#/definitions/tapi.notification.SubscriptionFilterWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-notification" + summary: "creates tapi.notification.SubscriptionFilter" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - in: "body" + name: "tapi.notification.SubscriptionFilter.body-param" + description: "tapi.notification.SubscriptionFilter to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.notification.SubscriptionFilterWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-notification" + summary: "creates or updates tapi.notification.SubscriptionFilter" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - in: "body" + name: "tapi.notification.SubscriptionFilter.body-param" + description: "tapi.notification.SubscriptionFilter to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.notification.SubscriptionFilterWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-notification" + summary: "removes tapi.notification.SubscriptionFilter" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name/: + post: + tags: + - "tapi-notification" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-notification:notification-context/notif-subscription={uuid}/subscription-filter/name={value-name}/ + : get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-notification" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-notification" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notif-subscription" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.Notification" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.Notification" + schema: + $ref: "#/definitions/tapi.notification.NotificationWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/additional-info={value-name}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of additional-info" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/alarm-info/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.AlarmInfo" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.AlarmInfo" + schema: + $ref: "#/definitions/tapi.notification.AlarmInfoWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/changed-attributes={value-name}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.NameAndValueChange" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of changed-attributes" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.NameAndValueChange" + schema: + $ref: "#/definitions/tapi.notification.NameAndValueChangeWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/name={value-name}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/target-object-name={value-name}/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.common.NameAndValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of target-object-name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-notification:notification-context/notification={uuid}/tca-info/: + get: + tags: + - "tapi-notification" + summary: "returns tapi.notification.TcaInfo" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of notification" + required: true + type: "string" + responses: + 200: + description: "tapi.notification.TcaInfo" + schema: + $ref: "#/definitions/tapi.notification.TcaInfoWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.PathComputationContext" + description: "Augments the base TAPI Context with PathComputationService information" + parameters: [] + responses: + 200: + description: "tapi.path.computation.PathComputationContext" + schema: + $ref: "#/definitions/tapi.path.computation.PathComputationContextWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.PathComputationContext" + description: "Augments the base TAPI Context with PathComputationService information" + parameters: + - in: "body" + name: "tapi.path.computation.PathComputationContext.body-param" + description: "tapi.path.computation.PathComputationContext to be added to\ + \ list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathComputationContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.PathComputationContext" + description: "Augments the base TAPI Context with PathComputationService information" + parameters: + - in: "body" + name: "tapi.path.computation.PathComputationContext.body-param" + description: "tapi.path.computation.PathComputationContext to be added or\ + \ updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathComputationContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.PathComputationContext" + description: "Augments the base TAPI Context with PathComputationService information" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service/: + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.PathComputationService" + description: "none" + parameters: + - in: "body" + name: "tapi.path.computation.PathComputationService.body-param" + description: "tapi.path.computation.PathComputationService to be added to\ + \ list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathComputationServiceWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.PathComputationService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.PathComputationService" + schema: + $ref: "#/definitions/tapi.path.computation.PathComputationServiceWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.PathComputationService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathComputationService.body-param" + description: "tapi.path.computation.PathComputationService to be added or\ + \ updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathComputationServiceWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.PathComputationService" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point/: + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.PathServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathServiceEndPoint.body-param" + description: "tapi.path.computation.PathServiceEndPoint to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathServiceEndPointWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.PathServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.PathServiceEndPoint" + schema: + $ref: "#/definitions/tapi.path.computation.PathServiceEndPointWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.PathServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathServiceEndPoint.body-param" + description: "tapi.path.computation.PathServiceEndPoint to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathServiceEndPointWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.PathServiceEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.Capacity.body-param" + description: "tapi.common.Capacity to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.Capacity.body-param" + description: "tapi.common.Capacity to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.Capacity" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.BandwidthProfile.body-param" + description: "tapi.common.BandwidthProfile to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.BandwidthProfile.body-param" + description: "tapi.common.BandwidthProfile to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/capacity/total-size/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.CapacityValue.body-param" + description: "tapi.common.CapacityValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name/: + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/name={value-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/end-point={local-id}/service-interface-point/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.ServiceInterfacePointRef" + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.ServiceInterfacePointRef.body-param" + description: "tapi.common.ServiceInterfacePointRef to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + - in: "body" + name: "tapi.common.ServiceInterfacePointRef.body-param" + description: "tapi.common.ServiceInterfacePointRef to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.ServiceInterfacePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of end-point" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name/: + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/name={value-name}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.PathObjectiveFunction" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.PathObjectiveFunction" + schema: + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunctionWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.PathObjectiveFunction" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathObjectiveFunction.body-param" + description: "tapi.path.computation.PathObjectiveFunction to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunctionWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.PathObjectiveFunction" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathObjectiveFunction.body-param" + description: "tapi.path.computation.PathObjectiveFunction to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunctionWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.PathObjectiveFunction" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name/: + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/objective-function/name={value-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.PathOptimizationConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.PathOptimizationConstraint" + schema: + $ref: "#/definitions/tapi.path.computation.PathOptimizationConstraintWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.PathOptimizationConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathOptimizationConstraint.body-param" + description: "tapi.path.computation.PathOptimizationConstraint to be added\ + \ to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathOptimizationConstraintWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.PathOptimizationConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.PathOptimizationConstraint.body-param" + description: "tapi.path.computation.PathOptimizationConstraint to be added\ + \ or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.PathOptimizationConstraintWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.PathOptimizationConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name/: + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/optimization-constraint/name={value-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + - in: "body" + name: "tapi.common.NameAndValue.body-param" + description: "tapi.common.NameAndValue to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/path={path-uuid}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.PathRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "path-uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.PathRef" + schema: + $ref: "#/definitions/tapi.path.computation.PathRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.RoutingConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.RoutingConstraint" + schema: + $ref: "#/definitions/tapi.path.computation.RoutingConstraintWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.RoutingConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.RoutingConstraint.body-param" + description: "tapi.path.computation.RoutingConstraint to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.RoutingConstraintWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.RoutingConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.RoutingConstraint.body-param" + description: "tapi.path.computation.RoutingConstraint to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.RoutingConstraintWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.RoutingConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic/ + : post: + tags: + - "tapi-path-computation" + summary: "creates tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.CostCharacteristic.body-param" + description: "tapi.topology.CostCharacteristic to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/cost-characteristic={cost-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + - in: "body" + name: "tapi.topology.CostCharacteristic.body-param" + description: "tapi.topology.CostCharacteristic to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic/ + : post: + tags: + - "tapi-path-computation" + summary: "creates tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.LatencyCharacteristic.body-param" + description: "tapi.topology.LatencyCharacteristic to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + - in: "body" + name: "tapi.topology.LatencyCharacteristic.body-param" + description: "tapi.topology.LatencyCharacteristic to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-cost/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-delay/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/max-allowed-hops/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.ValueOrPriority.body-param" + description: "tapi.path.computation.ValueOrPriority to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic/ + : post: + tags: + - "tapi-path-computation" + summary: "creates tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.topology.RiskCharacteristic.body-param" + description: "tapi.topology.RiskCharacteristic to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.RiskCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + 400: + description: "Internal error" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + - in: "body" + name: "tapi.topology.RiskCharacteristic.body-param" + description: "tapi.topology.RiskCharacteristic to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path-comp-service={uuid}/topology-constraint/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.TopologyConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.TopologyConstraint" + schema: + $ref: "#/definitions/tapi.path.computation.TopologyConstraintWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-path-computation" + summary: "creates tapi.path.computation.TopologyConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.TopologyConstraint.body-param" + description: "tapi.path.computation.TopologyConstraint to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.TopologyConstraintWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-path-computation" + summary: "creates or updates tapi.path.computation.TopologyConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + - in: "body" + name: "tapi.path.computation.TopologyConstraint.body-param" + description: "tapi.path.computation.TopologyConstraint to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.path.computation.TopologyConstraintWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-path-computation" + summary: "removes tapi.path.computation.TopologyConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path-comp-service" + required: true + type: "string" + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.Path" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.Path" + schema: + $ref: "#/definitions/tapi.path.computation.PathWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/link={topology-uuid},{link-uuid}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.LinkRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LinkRef" + schema: + $ref: "#/definitions/tapi.topology.LinkRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/name={value-name}/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.RoutingConstraint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.RoutingConstraint" + schema: + $ref: "#/definitions/tapi.path.computation.RoutingConstraintWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/cost-characteristic={cost-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-cost/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-delay/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "Delay unit is microseconds." + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/max-allowed-hops/: + get: + tags: + - "tapi-path-computation" + summary: "returns tapi.path.computation.ValueOrPriority" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + responses: + 200: + description: "tapi.path.computation.ValueOrPriority" + schema: + $ref: "#/definitions/tapi.path.computation.ValueOrPriorityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-path-computation:path-computation-context/path={uuid}/routing-constraint/risk-diversity-characteristic={risk-characteristic-name}/ + : get: + tags: + - "tapi-path-computation" + summary: "returns tapi.topology.RiskCharacteristic" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of path" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-diversity-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.RiskCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.context.TopologyContext" + description: "Augments the base TAPI Context with TopologyService information" + parameters: [] + responses: + 200: + description: "tapi.topology.TopologyContext" + schema: + $ref: "#/definitions/tapi.topology.TopologyContextWrapper" + 400: + description: "Internal error" + post: + tags: + - "tapi-topology" + summary: "creates tapi.topology.context.TopologyContext" + description: "Augments the base TAPI Context with TopologyService information" + parameters: + - in: "body" + name: "tapi.topology.context.TopologyContext.body-param" + description: "tapi.topology.TopologyContext to be added to list" + required: false + schema: + $ref: "#/definitions/tapi.topology.TopologyContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 409: + description: "Object already exists" + put: + tags: + - "tapi-topology" + summary: "creates or updates tapi.topology.context.TopologyContext" + description: "Augments the base TAPI Context with TopologyService information" + parameters: + - in: "body" + name: "tapi.topology.context.TopologyContext.body-param" + description: "tapi.topology.TopologyContext to be added or updated" + required: false + schema: + $ref: "#/definitions/tapi.topology.TopologyContextWrapper" + responses: + 201: + description: "Object created" + 400: + description: "Internal error" + 204: + description: "Object modified" + delete: + tags: + - "tapi-topology" + summary: "removes tapi.topology.context.TopologyContext" + description: "Augments the base TAPI Context with TopologyService information" + parameters: [] + responses: + 400: + description: "Internal error" + 204: + description: "Object deleted" + /data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NetworkTopologyService" + description: "none" + parameters: [] + responses: + 200: + description: "tapi.topology.NetworkTopologyService" + schema: + $ref: "#/definitions/tapi.topology.NetworkTopologyServiceWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/name={value-name}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/nw-topology-service/topology={topology-uuid}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.TopologyRef" + description: "none" + parameters: + - name: "topology-uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.TopologyRef" + schema: + $ref: "#/definitions/tapi.topology.TopologyRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.topologycontext.Topology" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.Topology" + schema: + $ref: "#/definitions/tapi.topology.TopologyWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.Link" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.Link" + schema: + $ref: "#/definitions/tapi.topology.LinkWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "Capacity available to be assigned." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/available-capacity/total-size/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/cost-characteristic={cost-name}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/name={value-name}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/node-edge-point={topology-uuid},{node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeEdgePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of node-edge-point" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node-edge-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeEdgePointRef" + schema: + $ref: "#/definitions/tapi.topology.NodeEdgePointRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/resilience-type/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.ResilienceType" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.ResilienceType" + schema: + $ref: "#/definitions/tapi.topology.ResilienceTypeWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/risk-characteristic={risk-characteristic-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.RiskCharacteristic" + description: "A list of risk characteristics for consideration in an analysis\ + \ of shared risk. Each element of the list represents a specific risk consideration." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.RiskCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "An optimistic view of the capacity of the TopologicalEntity assuming\ + \ that any shared capacity is available to be taken." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/total-potential-capacity/total-size/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/link={link-uuid}/validation-mechanism={validation-mechanism}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.ValidationMechanism" + description: "Provides details of the specific validation mechanism(s) used\ + \ to confirm the presence of an intended topologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "link-uuid" + in: "path" + description: "Id of link" + required: true + type: "string" + - name: "validation-mechanism" + in: "path" + description: "Id of validation-mechanism" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.ValidationMechanism" + schema: + $ref: "#/definitions/tapi.topology.ValidationMechanismWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/name={value-name}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.topology.Node" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.topology.Node" + schema: + $ref: "#/definitions/tapi.topology.topology.NodeWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/aggregated-node-edge-point={topology-uuid},{aggregated-node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeEdgePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of aggregated-node-edge-point" + required: true + type: "string" + - name: "aggregated-node-edge-point-node-uuid" + in: "path" + description: "Id of aggregated-node-edge-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of aggregated-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeEdgePointRef" + schema: + $ref: "#/definitions/tapi.topology.NodeEdgePointRefWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "Capacity available to be assigned." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/available-capacity/total-size/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/cost-characteristic={cost-name}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/encap-topology/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.TopologyRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.TopologyRef" + schema: + $ref: "#/definitions/tapi.topology.TopologyRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/name={value-name}/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeRuleGroup" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeRuleGroup" + schema: + $ref: "#/definitions/tapi.topology.NodeRuleGroupWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "Capacity available to be assigned." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/available-capacity/total-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/cost-characteristic={cost-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.InterRuleGroup" + description: "Nested NodeRuleGroups may have InterRuleGroups. The Superior NodeRuleGroup\ + \ contains the nested NodeRuleGroups and their associated InterRuleGroups.\r\ + \n This is equivalent to the Node-Topology hierarchy." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.InterRuleGroup" + schema: + $ref: "#/definitions/tapi.topology.InterRuleGroupWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/associated-node-rule-group={topology-uuid},{associated-node-rule-group-node-uuid},{associated-node-rule-group-node-rule-group-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeRuleGroupRef" + description: "The NodeRuleGroups that the InterRuleGroup constrains interconnection\ + \ between.\r\n The CEPs of the NEPs of a referenced NodeRuleGroup\ + \ can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup\ + \ constrained by the rules of the InterRuleGroup." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of associated-node-rule-group" + required: true + type: "string" + - name: "associated-node-rule-group-node-uuid" + in: "path" + description: "Id of associated-node-rule-group" + required: true + type: "string" + - name: "associated-node-rule-group-node-rule-group-uuid" + in: "path" + description: "Id of associated-node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeRuleGroupRef" + schema: + $ref: "#/definitions/tapi.topology.NodeRuleGroupRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "Capacity available to be assigned." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/available-capacity/total-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/cost-characteristic={cost-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.CostCharacteristic" + description: "The list of costs where each cost relates to some aspect of the\ + \ TopologicalEntity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "cost-name" + in: "path" + description: "Id of cost-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.CostCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.CostCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/name={value-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/risk-characteristic={risk-characteristic-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.RiskCharacteristic" + description: "A list of risk characteristics for consideration in an analysis\ + \ of shared risk. Each element of the list represents a specific risk consideration." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.RiskCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.Rule" + description: "The list of rules of the InterRuleGroup." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.Rule" + schema: + $ref: "#/definitions/tapi.topology.RuleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/cep-port-role/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.PortRoleRule" + description: "Indicates the port role to which the rule applies. \r\n \ + \ The port role is interpreted in the context of the connection type\ + \ which is identified by the connection spec. \r\n The port\ + \ role is not meaningful in the absence of a connection spec reference.\r\n\ + \ If a node rule group carries a port role, that role applies\ + \ also to the associated inter rule where the combination of the roles in\ + \ the node rule groups at the ends of the inter group rule define the connection\ + \ orientation.\r\n For example a root-and-leaf connection may\ + \ be used in a node where a node rule group collects one set of NEPs has the\ + \ port role 'root' and another node rule group collects another set of NEPs\ + \ has the port role 'leaf' where these are joined by an inter rule group.\ + \ This combination specifies an allowed orientation of the root-and-leaf connection.\r\ + \n No port role statement means all port roles are allowed." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.PortRoleRule" + schema: + $ref: "#/definitions/tapi.topology.PortRoleRuleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/connection-spec-reference/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.ConnectionSpecReference" + description: "Identifies the type of connection that the rule applies to. \r\ + \n If the attribute is not present then the rule applies to\ + \ all types of connection supported by the device." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.ConnectionSpecReference" + schema: + $ref: "#/definitions/tapi.topology.ConnectionSpecReferenceWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/name={value-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/rule={local-id}/signal-property/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.SignalPropertyRule" + description: "The rule only applies to signals with the properties listed. \r\ + \n If the attribute is not present then the rule applies to\ + \ all signals." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.SignalPropertyRule" + schema: + $ref: "#/definitions/tapi.topology.SignalPropertyRuleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "An optimistic view of the capacity of the TopologicalEntity assuming\ + \ that any shared capacity is available to be taken." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/inter-rule-group={inter-rule-group-uuid}/total-potential-capacity/total-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "inter-rule-group-uuid" + in: "path" + description: "Id of inter-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/latency-characteristic={traffic-property-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.LatencyCharacteristic" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "traffic-property-name" + in: "path" + description: "Id of latency-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.LatencyCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.LatencyCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/name={value-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/node-edge-point={topology-uuid},{node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeEdgePointRef" + description: "NEPs and their client CEPs that the rules apply to." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of node-edge-point" + required: true + type: "string" + - name: "node-edge-point-node-uuid" + in: "path" + description: "Id of node-edge-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeEdgePointRef" + schema: + $ref: "#/definitions/tapi.topology.NodeEdgePointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/node-rule-group={topology-uuid},{node-rule-group-node-uuid},{node-rule-group-node-rule-group-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeRuleGroupRef" + description: "NodeRuleGroups may be nested such that finer grained rules may\ + \ be applied.\r\n A nested rule group should have a subset\ + \ of the NEPs of the superior rule group." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "node-rule-group-node-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "node-rule-group-node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeRuleGroupRef" + schema: + $ref: "#/definitions/tapi.topology.NodeRuleGroupRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/risk-characteristic={risk-characteristic-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.RiskCharacteristic" + description: "A list of risk characteristics for consideration in an analysis\ + \ of shared risk. Each element of the list represents a specific risk consideration." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "risk-characteristic-name" + in: "path" + description: "Id of risk-characteristic" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.RiskCharacteristic" + schema: + $ref: "#/definitions/tapi.topology.RiskCharacteristicWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.Rule" + description: "The list of rules of the NodeRuleGroup." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.Rule" + schema: + $ref: "#/definitions/tapi.topology.RuleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/cep-port-role/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.PortRoleRule" + description: "Indicates the port role to which the rule applies. \r\n \ + \ The port role is interpreted in the context of the connection type\ + \ which is identified by the connection spec. \r\n The port\ + \ role is not meaningful in the absence of a connection spec reference.\r\n\ + \ If a node rule group carries a port role, that role applies\ + \ also to the associated inter rule where the combination of the roles in\ + \ the node rule groups at the ends of the inter group rule define the connection\ + \ orientation.\r\n For example a root-and-leaf connection may\ + \ be used in a node where a node rule group collects one set of NEPs has the\ + \ port role 'root' and another node rule group collects another set of NEPs\ + \ has the port role 'leaf' where these are joined by an inter rule group.\ + \ This combination specifies an allowed orientation of the root-and-leaf connection.\r\ + \n No port role statement means all port roles are allowed." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.PortRoleRule" + schema: + $ref: "#/definitions/tapi.topology.PortRoleRuleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/connection-spec-reference/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.ConnectionSpecReference" + description: "Identifies the type of connection that the rule applies to. \r\ + \n If the attribute is not present then the rule applies to\ + \ all types of connection supported by the device." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.ConnectionSpecReference" + schema: + $ref: "#/definitions/tapi.topology.ConnectionSpecReferenceWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/name={value-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/rule={local-id}/signal-property/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.SignalPropertyRule" + description: "The rule only applies to signals with the properties listed. \r\ + \n If the attribute is not present then the rule applies to\ + \ all signals." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + - name: "local-id" + in: "path" + description: "Id of rule" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.SignalPropertyRule" + schema: + $ref: "#/definitions/tapi.topology.SignalPropertyRuleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "An optimistic view of the capacity of the TopologicalEntity assuming\ + \ that any shared capacity is available to be taken." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/node-rule-group={node-rule-group-uuid}/total-potential-capacity/total-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "node-rule-group-uuid" + in: "path" + description: "Id of node-rule-group" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.node.OwnedNodeEdgePoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.node.OwnedNodeEdgePoint" + schema: + $ref: "#/definitions/tapi.topology.node.OwnedNodeEdgePointWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/aggregated-node-edge-point={topology-uuid},{aggregated-node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.topology.NodeEdgePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of aggregated-node-edge-point" + required: true + type: "string" + - name: "aggregated-node-edge-point-node-uuid" + in: "path" + description: "Id of aggregated-node-edge-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of aggregated-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeEdgePointRef" + schema: + $ref: "#/definitions/tapi.topology.NodeEdgePointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "Capacity available to be assigned." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/available-capacity/total-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/mapped-service-interface-point={service-interface-point-uuid}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.ServiceInterfacePointRef" + description: "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing)\ + \ or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience)\ + \ should be considered experimental" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "service-interface-point-uuid" + in: "path" + description: "Id of mapped-service-interface-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.ServiceInterfacePointRef" + schema: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/name={value-name}/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.CepList" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.CepList" + schema: + $ref: "#/definitions/tapi.connectivity.CepListWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionEndPoint" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionEndPoint" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/aggregated-connection-end-point={topology-uuid},{aggregated-connection-end-point-node-uuid},{node-edge-point-uuid},{aggregated-connection-end-point-connection-end-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionEndPointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of aggregated-connection-end-point" + required: true + type: "string" + - name: "aggregated-connection-end-point-node-uuid" + in: "path" + description: "Id of aggregated-connection-end-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of aggregated-connection-end-point" + required: true + type: "string" + - name: "aggregated-connection-end-point-connection-end-point-uuid" + in: "path" + description: "Id of aggregated-connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionEndPointRef" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/cep-role/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.CepRole" + description: "Defines the role of the CEP in the context of the connection spec.\r\ + \n There may be many cep role - connection spec combinations\ + \ for a particular CEP where each corresponds to a specific connection associated\ + \ with the CEP." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.CepRole" + schema: + $ref: "#/definitions/tapi.connectivity.CepRoleWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/cep-role/connection-spec-reference/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.connectivity.ConnectionSpecReference" + description: "The reference to the spec that defines the cep role." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.connectivity.ConnectionSpecReference" + schema: + $ref: "#/definitions/tapi.connectivity.ConnectionSpecReferenceWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/client-node-edge-point={topology-uuid},{client-node-edge-point-node-uuid},{node-edge-point-uuid}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.NodeEdgePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "topology-uuid" + in: "path" + description: "Id of client-node-edge-point" + required: true + type: "string" + - name: "client-node-edge-point-node-uuid" + in: "path" + description: "Id of client-node-edge-point" + required: true + type: "string" + - name: "node-edge-point-uuid" + in: "path" + description: "Id of client-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeEdgePointRef" + schema: + $ref: "#/definitions/tapi.topology.NodeEdgePointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/name={value-name}/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.common.NameAndValue" + description: "List of names. A property of an entity with a value that is unique\ + \ in some namespace but may change during the life of the entity. A name carries\ + \ no semantics with respect to the purpose of the entity." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + - name: "value-name" + in: "path" + description: "Id of name" + required: true + type: "string" + responses: + 200: + description: "tapi.common.NameAndValue" + schema: + $ref: "#/definitions/tapi.common.NameAndValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/tapi-connectivity:cep-list/connection-end-point={connection-end-point-uuid}/parent-node-edge-point/ + : get: + tags: + - "tapi-connectivity" + summary: "returns tapi.topology.NodeEdgePointRef" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + - name: "connection-end-point-uuid" + in: "path" + description: "Id of connection-end-point" + required: true + type: "string" + responses: + 200: + description: "tapi.topology.NodeEdgePointRef" + schema: + $ref: "#/definitions/tapi.topology.NodeEdgePointRefWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "An optimistic view of the capacity of the TopologicalEntity assuming\ + \ that any shared capacity is available to be taken." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}/total-potential-capacity/total-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + - name: "owned-node-edge-point-uuid" + in: "path" + description: "Id of owned-node-edge-point" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.Capacity" + description: "An optimistic view of the capacity of the TopologicalEntity assuming\ + \ that any shared capacity is available to be taken." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.Capacity" + schema: + $ref: "#/definitions/tapi.common.CapacityWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.BandwidthProfile" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.BandwidthProfile" + schema: + $ref: "#/definitions/tapi.common.BandwidthProfileWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/committed-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/committed-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/peak-burst-size/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + ? /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/bandwidth-profile/peak-information-rate/ + : get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "none" + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /data/tapi-common:context/tapi-topology:topology-context/topology={uuid}/node={node-uuid}/total-potential-capacity/total-size/: + get: + tags: + - "tapi-topology" + summary: "returns tapi.common.CapacityValue" + description: "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile,\ + \ this is expected to same as the committedInformationRate." + parameters: + - name: "uuid" + in: "path" + description: "Id of topology" + required: true + type: "string" + - name: "node-uuid" + in: "path" + description: "Id of node" + required: true + type: "string" + responses: + 200: + description: "tapi.common.CapacityValue" + schema: + $ref: "#/definitions/tapi.common.CapacityValueWrapper" + 400: + description: "Internal error" + /operations/tapi-common:get-service-interface-point-details/: + post: + tags: + - "tapi-common" + summary: "operates on tapi.common.GetServiceInterfacePointDetails" + description: "operates on tapi.common.GetServiceInterfacePointDetails" + parameters: + - in: "body" + name: "tapi.common.getserviceinterfacepointdetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.common.getserviceinterfacepointdetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.common.GetServiceInterfacePointDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-common:get-service-interface-point-list/: + post: + tags: + - "tapi-common" + parameters: [] + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.common.GetServiceInterfacePointList" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-common:update-service-interface-point/: + post: + tags: + - "tapi-common" + summary: "operates on tapi.common.UpdateServiceInterfacePoint" + description: "operates on tapi.common.UpdateServiceInterfacePoint" + parameters: + - in: "body" + name: "tapi.common.updateserviceinterfacepoint.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.common.updateserviceinterfacepoint.Input" + responses: + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:create-connectivity-service/: + post: + tags: + - "tapi-connectivity" + summary: "operates on tapi.connectivity.CreateConnectivityService" + description: "operates on tapi.connectivity.CreateConnectivityService" + parameters: + - in: "body" + name: "tapi.connectivity.createconnectivityservice.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.connectivity.createconnectivityservice.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.connectivity.CreateConnectivityService" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:delete-connectivity-service/: + post: + tags: + - "tapi-connectivity" + summary: "operates on tapi.connectivity.DeleteConnectivityService" + description: "operates on tapi.connectivity.DeleteConnectivityService" + parameters: + - in: "body" + name: "tapi.connectivity.deleteconnectivityservice.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.connectivity.deleteconnectivityservice.Input" + responses: + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:get-connection-details/: + post: + tags: + - "tapi-connectivity" + summary: "operates on tapi.connectivity.GetConnectionDetails" + description: "operates on tapi.connectivity.GetConnectionDetails" + parameters: + - in: "body" + name: "tapi.connectivity.getconnectiondetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.connectivity.getconnectiondetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.connectivity.GetConnectionDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:get-connection-end-point-details/: + post: + tags: + - "tapi-connectivity" + summary: "operates on tapi.connectivity.GetConnectionEndPointDetails" + description: "operates on tapi.connectivity.GetConnectionEndPointDetails" + parameters: + - in: "body" + name: "tapi.connectivity.getconnectionendpointdetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.connectivity.getconnectionendpointdetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.connectivity.GetConnectionEndPointDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:get-connectivity-service-details/: + post: + tags: + - "tapi-connectivity" + summary: "operates on tapi.connectivity.GetConnectivityServiceDetails" + description: "operates on tapi.connectivity.GetConnectivityServiceDetails" + parameters: + - in: "body" + name: "tapi.connectivity.getconnectivityservicedetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.connectivity.getconnectivityservicedetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.connectivity.GetConnectivityServiceDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:get-connectivity-service-list/: + post: + tags: + - "tapi-connectivity" + parameters: [] + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.connectivity.GetConnectivityServiceList" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-connectivity:update-connectivity-service/: + post: + tags: + - "tapi-connectivity" + summary: "operates on tapi.connectivity.UpdateConnectivityService" + description: "operates on tapi.connectivity.UpdateConnectivityService" + parameters: + - in: "body" + name: "tapi.connectivity.updateconnectivityservice.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.connectivity.updateconnectivityservice.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.connectivity.UpdateConnectivityService" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:create-notification-subscription-service/: + post: + tags: + - "tapi-notification" + summary: "operates on tapi.notification.CreateNotificationSubscriptionService" + description: "operates on tapi.notification.CreateNotificationSubscriptionService" + parameters: + - in: "body" + name: "tapi.notification.createnotificationsubscriptionservice.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.notification.createnotificationsubscriptionservice.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.CreateNotificationSubscriptionService" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:delete-notification-subscription-service/: + post: + tags: + - "tapi-notification" + summary: "operates on tapi.notification.DeleteNotificationSubscriptionService" + description: "operates on tapi.notification.DeleteNotificationSubscriptionService" + parameters: + - in: "body" + name: "tapi.notification.deletenotificationsubscriptionservice.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.notification.deletenotificationsubscriptionservice.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.DeleteNotificationSubscriptionService" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:get-notification-list/: + post: + tags: + - "tapi-notification" + summary: "operates on tapi.notification.GetNotificationList" + description: "operates on tapi.notification.GetNotificationList" + parameters: + - in: "body" + name: "tapi.notification.getnotificationlist.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.notification.getnotificationlist.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.GetNotificationList" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:get-notification-subscription-service-details/: + post: + tags: + - "tapi-notification" + summary: "operates on tapi.notification.GetNotificationSubscriptionServiceDetails" + description: "operates on tapi.notification.GetNotificationSubscriptionServiceDetails" + parameters: + - in: "body" + name: "tapi.notification.getnotificationsubscriptionservicedetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.notification.getnotificationsubscriptionservicedetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.GetNotificationSubscriptionServiceDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:get-notification-subscription-service-list/: + post: + tags: + - "tapi-notification" + parameters: [] + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.GetNotificationSubscriptionServiceList" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:get-supported-notification-types/: + post: + tags: + - "tapi-notification" + parameters: [] + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.GetSupportedNotificationTypes" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-notification:update-notification-subscription-service/: + post: + tags: + - "tapi-notification" + summary: "operates on tapi.notification.UpdateNotificationSubscriptionService" + description: "operates on tapi.notification.UpdateNotificationSubscriptionService" + parameters: + - in: "body" + name: "tapi.notification.updatenotificationsubscriptionservice.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.notification.updatenotificationsubscriptionservice.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.notification.UpdateNotificationSubscriptionService" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-path-computation:compute-p-2-p-path/: + post: + tags: + - "tapi-path-computation" + summary: "operates on tapi.path.computation.ComputeP2PPath" + description: "operates on tapi.path.computation.ComputeP2PPath" + parameters: + - in: "body" + name: "tapi.path.computation.computep2ppath.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.path.computation.computep2ppath.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.path.computation.ComputeP2PPath" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-path-computation:delete-p-2-p-path/: + post: + tags: + - "tapi-path-computation" + summary: "operates on tapi.path.computation.DeleteP2PPath" + description: "operates on tapi.path.computation.DeleteP2PPath" + parameters: + - in: "body" + name: "tapi.path.computation.deletep2ppath.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.path.computation.deletep2ppath.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.path.computation.DeleteP2PPath" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-path-computation:optimize-p-2-ppath/: + post: + tags: + - "tapi-path-computation" + summary: "operates on tapi.path.computation.OptimizeP2Ppath" + description: "operates on tapi.path.computation.OptimizeP2Ppath" + parameters: + - in: "body" + name: "tapi.path.computation.optimizep2ppath.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.path.computation.optimizep2ppath.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.path.computation.OptimizeP2Ppath" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-topology:get-link-details/: + post: + tags: + - "tapi-topology" + summary: "operates on tapi.topology.GetLinkDetails" + description: "operates on tapi.topology.GetLinkDetails" + parameters: + - in: "body" + name: "tapi.topology.getlinkdetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.topology.getlinkdetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.topology.GetLinkDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-topology:get-node-details/: + post: + tags: + - "tapi-topology" + summary: "operates on tapi.topology.GetNodeDetails" + description: "operates on tapi.topology.GetNodeDetails" + parameters: + - in: "body" + name: "tapi.topology.getnodedetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.topology.getnodedetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.topology.GetNodeDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-topology:get-node-edge-point-details/: + post: + tags: + - "tapi-topology" + summary: "operates on tapi.topology.GetNodeEdgePointDetails" + description: "operates on tapi.topology.GetNodeEdgePointDetails" + parameters: + - in: "body" + name: "tapi.topology.getnodeedgepointdetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.topology.getnodeedgepointdetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.topology.GetNodeEdgePointDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-topology:get-topology-details/: + post: + tags: + - "tapi-topology" + summary: "operates on tapi.topology.GetTopologyDetails" + description: "operates on tapi.topology.GetTopologyDetails" + parameters: + - in: "body" + name: "tapi.topology.gettopologydetails.Input.body-param" + required: false + schema: + properties: + input: + $ref: "#/definitions/tapi.topology.gettopologydetails.Input" + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.topology.GetTopologyDetails" + 201: + description: "No response" + 400: + description: "Internal error" + /operations/tapi-topology:get-topology-list/: + post: + tags: + - "tapi-topology" + parameters: [] + responses: + 200: + description: "Correct response" + schema: + $ref: "#/definitions/tapi.topology.GetTopologyList" + 201: + description: "No response" + 400: + description: "Internal error" +definitions: + tapi.common.AdminStatePac: + type: "object" + properties: + operational-state: + description: "none" + $ref: "#/definitions/tapi.common.OperationalState" + lifecycle-state: + description: "none" + $ref: "#/definitions/tapi.common.LifecycleState" + administrative-state: + description: "none" + $ref: "#/definitions/tapi.common.AdministrativeState" + tapi.common.AdministrativeState: + type: "string" + enum: + - "LOCKED" + - "UNLOCKED" + tapi.common.BandwidthProfile: + type: "object" + properties: + committed-information-rate: + description: "none" + $ref: "#/definitions/tapi.common.CapacityValue" + coupling-flag: + type: "boolean" + description: "none" + default: false + bw-profile-type: + description: "none" + $ref: "#/definitions/tapi.common.BandwidthProfileType" + peak-information-rate: + description: "none" + $ref: "#/definitions/tapi.common.CapacityValue" + committed-burst-size: + description: "none" + $ref: "#/definitions/tapi.common.CapacityValue" + peak-burst-size: + description: "none" + $ref: "#/definitions/tapi.common.CapacityValue" + color-aware: + type: "boolean" + description: "none" + default: false + tapi.common.BandwidthProfileType: + type: "string" + enum: + - "MEF_10.x" + - "RFC_2697" + - "RFC_2698" + - "RFC_4115" + tapi.common.BandwidthProfileWrapper: + properties: + bandwidth-profile: + $ref: "#/definitions/tapi.common.BandwidthProfile" + tapi.common.Capacity: + type: "object" + properties: + bandwidth-profile: + description: "none" + $ref: "#/definitions/tapi.common.BandwidthProfile" + total-size: + description: "Total capacity of the TopologicalEntity in MB/s. In case of\ + \ bandwidthProfile, this is expected to same as the committedInformationRate." + $ref: "#/definitions/tapi.common.CapacityValue" + tapi.common.CapacityPac: + type: "object" + properties: + available-capacity: + description: "Capacity available to be assigned." + $ref: "#/definitions/tapi.common.Capacity" + total-potential-capacity: + description: "An optimistic view of the capacity of the TopologicalEntity\ + \ assuming that any shared capacity is available to be taken." + $ref: "#/definitions/tapi.common.Capacity" + tapi.common.CapacityUnit: + type: "string" + enum: + - "TB" + - "TBPS" + - "GB" + - "GBPS" + - "MB" + - "MBPS" + - "KB" + - "KBPS" + - "GHz" + - "MHz" + tapi.common.CapacityValue: + type: "object" + properties: + value: + type: "integer" + format: "int32" + description: "none" + unit: + description: "none" + $ref: "#/definitions/tapi.common.CapacityUnit" + tapi.common.CapacityValueWrapper: + properties: + committed-burst-size: + $ref: "#/definitions/tapi.common.CapacityValue" + tapi.common.CapacityWrapper: + properties: + available-capacity: + $ref: "#/definitions/tapi.common.Capacity" + tapi.common.Context: + allOf: + - $ref: "#/definitions/tapi.common.TapiContext" + - $ref: "#/definitions/tapi.connectivity.ContextAugmentation3" + - $ref: "#/definitions/tapi.notification.ContextAugmentation1" + - $ref: "#/definitions/tapi.path.computation.ContextAugmentation2" + - $ref: "#/definitions/tapi.topology.ContextAugmentation4" + tapi.common.ContextWrapper: + properties: + tapi-common:context: + $ref: "#/definitions/tapi.common.Context" + tapi.common.DirectiveValue: + type: "string" + enum: + - "MINIMIZE" + - "MAXIMIZE" + - "ALLOW" + - "DISALLOW" + - "DONT_CARE" + tapi.common.ForwardingDirection: + type: "string" + enum: + - "BIDIRECTIONAL" + - "UNIDIRECTIONAL" + - "UNDEFINED_OR_UNKNOWN" + tapi.common.GetServiceInterfacePointDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.common.getserviceinterfacepointdetails.Output" + tapi.common.GetServiceInterfacePointList: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.common.getserviceinterfacepointlist.Output" + tapi.common.GlobalClass: + type: "object" + properties: + name: + type: "array" + description: "List of names. A property of an entity with a value that is\ + \ unique in some namespace but may change during the life of the entity.\ + \ A name carries no semantics with respect to the purpose of the entity." + items: + $ref: "#/definitions/tapi.common.NameAndValue" + uuid: + type: "string" + description: "UUID: An identifier that is universally unique within an identifier\ + \ space, where the identifier space is itself globally unique, and immutable.\ + \ An UUID carries no semantics with respect to the purpose or state of the\ + \ entity.\r\n UUID here uses string representation as defined\ + \ in RFC 4122. The canonical representation uses lowercase characters.\r\ + \n Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'\ + \ + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r\n Example of a UUID\ + \ in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6" + tapi.common.LayerProtocolName: + type: "string" + enum: + - "ODU" + - "ETH" + - "DSR" + - "PHOTONIC_MEDIA" + tapi.common.LifecycleState: + type: "string" + enum: + - "PLANNED" + - "POTENTIAL_AVAILABLE" + - "POTENTIAL_BUSY" + - "INSTALLED" + - "PENDING_REMOVAL" + tapi.common.LocalClass: + type: "object" + properties: + name: + type: "array" + description: "List of names. A property of an entity with a value that is\ + \ unique in some namespace but may change during the life of the entity.\ + \ A name carries no semantics with respect to the purpose of the entity." + items: + $ref: "#/definitions/tapi.common.NameAndValue" + local-id: + type: "string" + description: "none" + tapi.common.NameAndValue: + type: "object" + properties: + value-name: + type: "string" + description: "The name of the value. The value need not have a name." + value: + type: "string" + description: "The value" + tapi.common.NameAndValueWrapper: + properties: + name: + $ref: "#/definitions/tapi.common.NameAndValue" + tapi.common.OperationalState: + type: "string" + enum: + - "DISABLED" + - "ENABLED" + tapi.common.OperationalStatePac: + type: "object" + properties: + operational-state: + description: "none" + $ref: "#/definitions/tapi.common.OperationalState" + lifecycle-state: + description: "none" + $ref: "#/definitions/tapi.common.LifecycleState" + tapi.common.PortDirection: + type: "string" + enum: + - "BIDIRECTIONAL" + - "INPUT" + - "OUTPUT" + - "UNIDENTIFIED_OR_UNKNOWN" + tapi.common.PortRole: + type: "string" + enum: + - "SYMMETRIC" + - "ROOT" + - "LEAF" + - "TRUNK" + - "UNKNOWN" + tapi.common.ServiceInterfacePoint: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + supported-layer-protocol-qualifier: + type: "array" + description: "none" + items: + type: "string" + layer-protocol-name: + description: "Usage of layerProtocolName [>1] in the ServiceInterfacePoint\ + \ should be considered experimental" + $ref: "#/definitions/tapi.common.LayerProtocolName" + direction: + description: "If direction attribute is missing the SIP instance is to be\ + \ intended as 'BIDIRECTIONAL'" + $ref: "#/definitions/tapi.common.PortDirection" + description: "The LogicalTerminationPoint (LTP) object class encapsulates the\ + \ termination and adaptation functions of one or more transport layers. \r\ + \n The structure of LTP supports all transport protocols including\ + \ circuit and packet forms." + tapi.common.ServiceInterfacePointRef: + type: "object" + properties: + service-interface-point-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid" + tapi.common.ServiceInterfacePointRefWrapper: + properties: + service-interface-point: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRef" + tapi.common.ServiceInterfacePointWrapper: + properties: + service-interface-point: + $ref: "#/definitions/tapi.common.ServiceInterfacePoint" + tapi.common.TapiContext: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + service-interface-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.ServiceInterfacePoint" + description: "The Network Control Domain (NCD) object class represents the scope\ + \ of control that a particular SDN controller has with respect to a particular\ + \ network, (i.e., encompassing a designated set of interconnected (virtual)\ + \ network elements)." + tapi.common.TerminationDirection: + type: "string" + enum: + - "BIDIRECTIONAL" + - "SINK" + - "SOURCE" + - "UNDEFINED_OR_UNKNOWN" + tapi.common.TerminationPac: + type: "object" + properties: + termination-direction: + description: "The overall directionality of the LP. \r\n -\ + \ A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.\r\n \ + \ - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE\ + \ flows\r\n - A SOURCE LP can only contain SOURCE flows or\ + \ CONTRA_DIRECTION_SINK flows" + $ref: "#/definitions/tapi.common.TerminationDirection" + termination-state: + description: "Indicates whether the layer is terminated and if so how." + $ref: "#/definitions/tapi.common.TerminationState" + tapi.common.TerminationState: + type: "string" + enum: + - "LP_CAN_NEVER_TERMINATE" + - "LT_NOT_TERMINATED" + - "TERMINATED_SERVER_TO_CLIENT_FLOW" + - "TERMINATED_CLIENT_TO_SERVER_FLOW" + - "TERMINATED_BIDIRECTIONAL" + - "LT_PERMENANTLY_TERMINATED" + - "TERMINATION_STATE_UNKNOWN" + tapi.common.TimeRange: + type: "object" + properties: + end-time: + type: "string" + description: "none" + start-time: + type: "string" + description: "none" + tapi.common.TimeRangeWrapper: + properties: + schedule: + $ref: "#/definitions/tapi.common.TimeRange" + tapi.common.getserviceinterfacepointdetails.Input: + type: "object" + properties: + sip-id-or-name: + type: "string" + description: "none" + tapi.common.getserviceinterfacepointdetails.Output: + type: "object" + properties: + sip: + description: "none" + $ref: "#/definitions/tapi.common.ServiceInterfacePoint" + tapi.common.getserviceinterfacepointlist.Output: + type: "object" + properties: + sip: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.ServiceInterfacePoint" + tapi.common.updateserviceinterfacepoint.Input: + type: "object" + properties: + sip-id-or-name: + type: "string" + description: "none" + state: + description: "none" + $ref: "#/definitions/tapi.common.AdministrativeState" + tapi.connectivity.CepList: + type: "object" + properties: + connection-end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPoint" + tapi.connectivity.CepListWrapper: + properties: + tapi-connectivity:cep-list: + $ref: "#/definitions/tapi.connectivity.CepList" + tapi.connectivity.CepRole: + type: "object" + properties: + role-name: + type: "string" + description: "The name of the cep role in the context of the referenced spec." + connection-spec-reference: + description: "The reference to the spec that defines the cep role." + $ref: "#/definitions/tapi.connectivity.ConnectionSpecReference" + tapi.connectivity.CepRoleWrapper: + properties: + cep-role: + $ref: "#/definitions/tapi.connectivity.CepRole" + tapi.connectivity.Connection: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.common.OperationalStatePac" + - type: "object" + properties: + supported-client-link: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.LinkRef" + lower-connection: + type: "array" + description: "An Connection object supports a recursive aggregation relationship\ + \ such that the internal construction of an Connection can be exposed\ + \ as multiple lower level Connection objects (partitioning).\r\n \ + \ Aggregation is used as for the Node/Topology to allow changes\ + \ in hierarchy. \r\n Connection aggregation reflects Node/Topology\ + \ aggregation. \r\n The FC represents a Cross-Connection\ + \ in an NE. The Cross-Connection in an NE is not necessarily the lowest\ + \ level of FC partitioning." + items: + $ref: "#/definitions/tapi.connectivity.ConnectionRef" + switch-control: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.SwitchControl" + route: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.Route" + connection-spec-reference: + description: "Provides the reference to the spec that defines the connection\ + \ type and cepRoles." + $ref: "#/definitions/tapi.connectivity.ConnectionSpecReference" + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + connection-end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRef" + direction: + description: "none" + $ref: "#/definitions/tapi.common.ForwardingDirection" + description: "The ForwardingConstruct (FC) object class models enabled potential\ + \ for forwarding between two or more LTPs and like the LTP supports any transport\ + \ protocol including all circuit and packet forms.\r\n At the lowest\ + \ level of recursion, a FC represents a cross-connection within an NE." + tapi.connectivity.ConnectionEndPoint: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.common.OperationalStatePac" + - $ref: "#/definitions/tapi.common.TerminationPac" + - type: "object" + properties: + client-node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + connection-port-role: + description: "Each EP of the FC has a role (e.g., working, protection, protected,\ + \ symmetric, hub, spoke, leaf, root) in the context of the FC with respect\ + \ to the FC function. " + $ref: "#/definitions/tapi.common.PortRole" + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + layer-protocol-qualifier: + type: "string" + description: "none" + parent-node-edge-point: + description: "none" + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + cep-role: + type: "array" + description: "Defines the role of the CEP in the context of the connection\ + \ spec.\r\n There may be many cep role - connection spec\ + \ combinations for a particular CEP where each corresponds to a specific\ + \ connection associated with the CEP." + items: + $ref: "#/definitions/tapi.connectivity.CepRole" + aggregated-connection-end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRef" + connection-port-direction: + description: "The orientation of defined flow at the EndPoint." + $ref: "#/definitions/tapi.common.PortDirection" + description: "The LogicalTerminationPoint (LTP) object class encapsulates the\ + \ termination and adaptation functions of one or more transport layers. \r\ + \n The structure of LTP supports all transport protocols including\ + \ circuit and packet forms." + tapi.connectivity.ConnectionEndPointRef: + allOf: + - $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + - type: "object" + properties: + connection-end-point-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point/tapi-connectivity:uuid" + description: "none" + tapi.connectivity.ConnectionEndPointRefWrapper: + properties: + connection-end-point: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRef" + tapi.connectivity.ConnectionEndPointWrapper: + properties: + connection-end-point: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPoint" + tapi.connectivity.ConnectionRef: + type: "object" + properties: + connection-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:uuid" + tapi.connectivity.ConnectionRefWrapper: + properties: + lower-connection: + $ref: "#/definitions/tapi.connectivity.ConnectionRef" + tapi.connectivity.ConnectionSpecReference: + type: "object" + properties: + connection-spec-name: + type: "string" + description: "The name of the connection spec.\r\n This can\ + \ be used alone (with no spec reference) where there is only a paper spec." + connection-spec-id: + type: "string" + description: "The reference to a formal spec. \r\n This reference\ + \ need not be provided (e.g., where there is no formal machine interpretable\ + \ spec for the type of connection)." + tapi.connectivity.ConnectionSpecReferenceWrapper: + properties: + connection-spec-reference: + $ref: "#/definitions/tapi.connectivity.ConnectionSpecReference" + tapi.connectivity.ConnectionWrapper: + properties: + connection: + $ref: "#/definitions/tapi.connectivity.Connection" + tapi.connectivity.ConnectivityConstraint: + type: "object" + properties: + service-layer: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + schedule: + description: "none" + $ref: "#/definitions/tapi.common.TimeRange" + connectivity-direction: + description: "none" + $ref: "#/definitions/tapi.common.ForwardingDirection" + requested-capacity: + description: "none" + $ref: "#/definitions/tapi.common.Capacity" + diversity-exclusion: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRef" + connection-inclusion: + type: "array" + description: "A ConnectivityService may use one or more existing Connections.\r\ + \n A common traditional strategy is to set up “stranded”\ + \ connectivity in the core of the network as “express channels” (this is\ + \ essentially a serial compound link, but can be treated as simple connections)\r\ + \n A connection inclusion capability allows for adoption\ + \ of a discovered Connections.\r\n A ConnectivityService\ + \ is requested with a connection inclusion constraint that identifies a\ + \ connection (or chain of connections) that is bounded by CEPs that each\ + \ belong to a NEP that references a SIP that is referenced by a CSEP of\ + \ the ConnectivityService such that all CSEPs are satisfied by CEPs of the\ + \ existing Connection. will allow discovered Connections with no stated\ + \ intent to be associated with an intent via the ConnectivityService." + items: + type: "string" + service-level: + type: "string" + description: "An abstract value the meaning of which is mutually agreed –\ + \ typically represents metrics such as - Class of service, priority, resiliency,\ + \ availability" + service-type: + description: "none" + $ref: "#/definitions/tapi.connectivity.ServiceType" + connection-exclusion: + type: "array" + description: "none" + items: + type: "string" + coroute-inclusion: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRef" + tapi.connectivity.ConnectivityContext: + type: "object" + properties: + connectivity-service: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectivityService" + connection: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.Connection" + tapi.connectivity.ConnectivityContextWrapper: + properties: + tapi-connectivity:connectivity-context: + $ref: "#/definitions/tapi.connectivity.ConnectivityContext" + tapi.connectivity.ConnectivityService: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.connectivity.ConnectivityConstraint" + - $ref: "#/definitions/tapi.connectivity.ResilienceConstraint" + - $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + - $ref: "#/definitions/tapi.path.computation.TopologyConstraint" + - type: "object" + properties: + end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPoint" + connection: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionRef" + description: "The ForwardingConstruct (FC) object class models enabled potential\ + \ for forwarding between two or more LTPs and like the LTP supports any transport\ + \ protocol including all circuit and packet forms.\r\n At the lowest\ + \ level of recursion, a FC represents a cross-connection within an NE." + tapi.connectivity.ConnectivityServiceEndPoint: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + protection-role: + description: "To specify the protection role of this Port when create or\ + \ update ConnectivityService." + $ref: "#/definitions/tapi.connectivity.ProtectionRole" + role: + description: "Each EP of the FC has a role (e.g., working, protection, protected,\ + \ symmetric, hub, spoke, leaf, root) in the context of the FC with respect\ + \ to the FC function. " + $ref: "#/definitions/tapi.common.PortRole" + service-interface-point: + description: "none" + $ref: "#/definitions/tapi.common.ServiceInterfacePointRef" + peer-fwd-connectivity-service-end-point: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRef" + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + layer-protocol-qualifier: + type: "string" + description: "none" + connection-end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRef" + server-connectivity-service-end-point: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRef" + protecting-connectivity-service-end-point: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRef" + direction: + description: "The orientation of defined flow at the EndPoint." + $ref: "#/definitions/tapi.common.PortDirection" + capacity: + description: "none" + $ref: "#/definitions/tapi.common.Capacity" + description: "The association of the FC to LTPs is made via EndPoints.\r\n \ + \ The EndPoint (EP) object class models the access to the FC function.\ + \ \r\n The traffic forwarding between the associated EPs of the\ + \ FC depends upon the type of FC and may be associated with FcSwitch object\ + \ instances. \r\n In cases where there is resilience the EndPoint\ + \ may convey the resilience role of the access to the FC. \r\n \ + \ It can represent a protected (resilient/reliable) point or a protecting\ + \ (unreliable working or protection) point.\r\n The EP replaces\ + \ the Protection Unit of a traditional protection model. \r\n The\ + \ ForwadingConstruct can be considered as a component and the EndPoint as\ + \ a Port on that component" + tapi.connectivity.ConnectivityServiceEndPointRef: + allOf: + - $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRef" + - type: "object" + properties: + connectivity-service-end-point-local-id: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id" + description: "none" + tapi.connectivity.ConnectivityServiceEndPointRefWrapper: + properties: + peer-fwd-connectivity-service-end-point: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPointRef" + tapi.connectivity.ConnectivityServiceEndPointWrapper: + properties: + end-point: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPoint" + tapi.connectivity.ConnectivityServiceRef: + type: "object" + properties: + connectivity-service-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid" + tapi.connectivity.ConnectivityServiceRefWrapper: + properties: + coroute-inclusion: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceRef" + tapi.connectivity.ConnectivityServiceWrapper: + properties: + connectivity-service: + $ref: "#/definitions/tapi.connectivity.ConnectivityService" + tapi.connectivity.ContextAugmentation3: + type: "object" + properties: + connectivity-context: + description: "Augments the base TAPI Context with ConnectivityService information" + $ref: "#/definitions/tapi.connectivity.ConnectivityContext" + x-augmentation: + prefix: "tapi-connectivity" + namespace: "urn:onf:otcc:yang:tapi-connectivity" + tapi.connectivity.CoordinateType: + type: "string" + enum: + - "NO_COORDINATE" + - "HOLD_OFF_TIME" + - "WAIT_FOR_NOTIFICATION" + tapi.connectivity.CreateConnectivityService: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.connectivity.createconnectivityservice.Output" + tapi.connectivity.GetConnectionDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.connectivity.getconnectiondetails.Output" + tapi.connectivity.GetConnectionEndPointDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.connectivity.getconnectionendpointdetails.Output" + tapi.connectivity.GetConnectivityServiceDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.connectivity.getconnectivityservicedetails.Output" + tapi.connectivity.GetConnectivityServiceList: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.connectivity.getconnectivityservicelist.Output" + tapi.connectivity.OwnedNodeEdgePointAugmentation1: + type: "object" + properties: + cep-list: + description: "none" + $ref: "#/definitions/tapi.connectivity.CepList" + x-augmentation: + prefix: "tapi-connectivity" + namespace: "urn:onf:otcc:yang:tapi-connectivity" + tapi.connectivity.ProtectionRole: + type: "string" + enum: + - "WORK" + - "PROTECT" + - "PROTECTED" + - "NA" + - "WORK_RESTORE" + - "PROTECT_RESTORE" + tapi.connectivity.ResilienceConstraint: + type: "object" + properties: + is-lock-out: + type: "boolean" + description: "The resource is configured to temporarily not be available for\ + \ use in the protection scheme(s) it is part of.\r\n This\ + \ overrides all other protection control states including forced.\r\n \ + \ If the item is locked out then it cannot be used under any\ + \ circumstances.\r\n Note: Only relevant when part of a protection\ + \ scheme." + default: false + max-switch-times: + type: "integer" + format: "int32" + description: "Used to limit the maximum swtich times. When work fault disappears\ + \ , and traffic return to the original work path, switch counter reset." + restoration-coordinate-type: + description: " The coordination mechanism between multi-layers." + $ref: "#/definitions/tapi.connectivity.CoordinateType" + is-coordinated-switching-both-ends: + type: "boolean" + description: "Is operating such that switching at both ends of each flow acorss\ + \ the FC is coordinated at both ingress and egress ends." + default: false + hold-off-time: + type: "integer" + format: "int32" + description: "This attribute indicates the time, in milliseconds, between\ + \ declaration of signal degrade or signal fail, and the initialization of\ + \ the protection switching algorithm." + is-frozen: + type: "boolean" + description: "Temporarily prevents any switch action to be taken and, as such,\ + \ freezes the current state. \r\n Until the freeze is cleared,\ + \ additional near-end external commands are rejected and fault condition\ + \ changes and received APS messages are ignored.\r\n All\ + \ administrative controls of any aspect of protection are rejected." + default: false + wait-to-revert-time: + type: "integer" + format: "int32" + description: "If the protection system is revertive, this attribute specifies\ + \ the time, in minutes, to wait after a fault clears on a higher priority\ + \ (preferred) resource before reverting to the preferred resource." + default: 15 + resilience-type: + description: "none" + $ref: "#/definitions/tapi.topology.ResilienceType" + preferred-restoration-layer: + type: "array" + description: "Indicate which layer this resilience parameters package configured\ + \ for." + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + restore-priority: + type: "integer" + format: "int32" + description: "none" + reversion-mode: + description: "Indcates whether the protection scheme is revertive or non-revertive." + $ref: "#/definitions/tapi.connectivity.ReversionMode" + tapi.connectivity.ResilienceRoute: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + priority: + type: "integer" + format: "int32" + description: "Value of 0 (zero) means 'unspecified priority'.\r\n \ + \ Highest priority is 1, sometimes referred as 'preferred' or\ + \ 'main' or 'intended' route.\r\n 2 has lower priority\ + \ than 1, 3 has lower priority than 2, etc." + route-state: + type: "string" + description: "Current information on the route selection." + description: "This object adds resilience and state attributes to the Route.\r\ + \n When this object is not present, then the Route is intendend\ + \ as 'current' Route of the Connection." + tapi.connectivity.ResilienceRouteWrapper: + properties: + resilience-route-pac: + $ref: "#/definitions/tapi.connectivity.ResilienceRoute" + tapi.connectivity.ReversionMode: + type: "string" + enum: + - "REVERTIVE" + - "NON-REVERTIVE" + tapi.connectivity.Route: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + connection-end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRef" + resilience-route-pac: + description: "Provides optional resilience and state attributes to the Route." + $ref: "#/definitions/tapi.connectivity.ResilienceRoute" + description: "The Route of a Connection is modeled as a collection of Connection\ + \ End Points.\r\n The logical order of the Connection End Points\ + \ within the Route object can be inferred by the TAPI client by the knowledge\ + \ of the Topology information." + tapi.connectivity.RouteRef: + allOf: + - $ref: "#/definitions/tapi.connectivity.ConnectionRef" + - type: "object" + properties: + route-local-id: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id" + description: "none" + tapi.connectivity.RouteRefWrapper: + properties: + selected-route: + $ref: "#/definitions/tapi.connectivity.RouteRef" + tapi.connectivity.RouteWrapper: + properties: + route: + $ref: "#/definitions/tapi.connectivity.Route" + tapi.connectivity.SelectionControl: + type: "string" + enum: + - "LOCK_OUT" + - "NORMAL" + - "MANUAL" + - "FORCED" + tapi.connectivity.SelectionReason: + type: "string" + enum: + - "LOCKOUT" + - "NORMAL" + - "MANUAL" + - "FORCED" + - "WAIT_TO_REVERT" + - "SIGNAL_DEGRADE" + - "SIGNAL_FAIL" + tapi.connectivity.ServiceType: + type: "string" + enum: + - "POINT_TO_POINT_CONNECTIVITY" + - "POINT_TO_MULTIPOINT_CONNECTIVITY" + - "MULTIPOINT_CONNECTIVITY" + - "ROOTED_MULTIPOINT_CONNECTIVITY" + tapi.connectivity.Switch: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + selected-connection-end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectionEndPointRef" + selected-route: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.RouteRef" + selection-control: + description: "Degree of administrative control applied to the switch selection." + $ref: "#/definitions/tapi.connectivity.SelectionControl" + selection-reason: + description: "The reason for the current switch selection." + $ref: "#/definitions/tapi.connectivity.SelectionReason" + switch-direction: + description: "Indicates whether the switch selects from ingress to the FC\ + \ or to egress of the FC, or both." + $ref: "#/definitions/tapi.common.PortDirection" + description: "The class models the switched forwarding of traffic (traffic flow)\ + \ between FcPorts (ConnectionEndPoints) and is present where there is protection\ + \ functionality in the FC (Connection). \r\n If an FC exposes protection\ + \ (having two or more FcPorts that provide alternative identical inputs/outputs),\ + \ the FC will have one or more associated FcSwitch objects to represent the\ + \ alternative flow choices visible at the edge of the FC.\r\n The\ + \ FC switch represents and defines a protection switch structure encapsulated\ + \ in the FC. \r\n Essentially performs one of the functions of\ + \ the Protection Group in a traditional model. It associates to 2 or more\ + \ FcPorts each playing the role of a Protection Unit. \r\n One\ + \ or more protection, i.e. standby/backup, FcPorts provide protection for\ + \ one or more working (i.e. regular/main/preferred) FcPorts where either protection\ + \ or working can feed one or more protected FcPort.\r\n The switch\ + \ may be used in revertive or non-revertive (symmetric) mode. When in revertive\ + \ mode it may define a waitToRestore time.\r\n It may be used in\ + \ one of several modes including source switch, destination switched, source\ + \ and destination switched etc (covering cases such as 1+1 and 1:1).\r\n \ + \ It may be locked out (prevented from switching), force switched\ + \ or manual switched.\r\n It will indicate switch state and change\ + \ of state.\r\n The switch can be switched away from all sources\ + \ such that it becomes open and hence two coordinated switches can both feed\ + \ the same LTP so long as at least one of the two is switched away from all\ + \ sources (is 'open').\r\n The ability for a Switch to be 'high\ + \ impedance' allows bidirectional ForwardingConstructs to be overlaid on the\ + \ same bidirectional LTP where the appropriate control is enabled to prevent\ + \ signal conflict.\r\n This ability allows multiple alternate routes\ + \ to be present that otherwise would be in conflict." + tapi.connectivity.SwitchControl: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.connectivity.ResilienceConstraint" + - type: "object" + properties: + sub-switch-control: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.SwitchControlRef" + switch: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.Switch" + description: "Represents the capability to control and coordinate switches,\ + \ to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize\ + \ a protection scheme." + tapi.connectivity.SwitchControlRef: + allOf: + - $ref: "#/definitions/tapi.connectivity.ConnectionRef" + - type: "object" + properties: + switch-control-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:switch-control/tapi-connectivity:uuid" + description: "none" + tapi.connectivity.SwitchControlRefWrapper: + properties: + sub-switch-control: + $ref: "#/definitions/tapi.connectivity.SwitchControlRef" + tapi.connectivity.SwitchControlWrapper: + properties: + switch-control: + $ref: "#/definitions/tapi.connectivity.SwitchControl" + tapi.connectivity.SwitchWrapper: + properties: + switch: + $ref: "#/definitions/tapi.connectivity.Switch" + tapi.connectivity.UpdateConnectivityService: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.connectivity.updateconnectivityservice.Output" + tapi.connectivity.createconnectivityservice.Input: + type: "object" + properties: + topology-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.TopologyConstraint" + end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPoint" + resilience-constraint: + description: "none" + $ref: "#/definitions/tapi.connectivity.ResilienceConstraint" + routing-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + state: + type: "string" + description: "none" + connectivity-constraint: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityConstraint" + tapi.connectivity.createconnectivityservice.Output: + type: "object" + properties: + service: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityService" + tapi.connectivity.deleteconnectivityservice.Input: + type: "object" + properties: + service-id-or-name: + type: "string" + description: "none" + tapi.connectivity.getconnectiondetails.Input: + type: "object" + properties: + connection-id-or-name: + type: "string" + description: "none" + tapi.connectivity.getconnectiondetails.Output: + type: "object" + properties: + connection: + description: "none" + $ref: "#/definitions/tapi.connectivity.Connection" + tapi.connectivity.getconnectionendpointdetails.Input: + type: "object" + properties: + cep-id-or-name: + type: "string" + description: "none" + nep-id-or-name: + type: "string" + description: "none" + node-id-or-name: + type: "string" + description: "none" + topology-id-or-name: + type: "string" + description: "none" + tapi.connectivity.getconnectionendpointdetails.Output: + type: "object" + properties: + connection-end-point: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectionEndPoint" + tapi.connectivity.getconnectivityservicedetails.Input: + type: "object" + properties: + service-id-or-name: + type: "string" + description: "none" + tapi.connectivity.getconnectivityservicedetails.Output: + type: "object" + properties: + service: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityService" + tapi.connectivity.getconnectivityservicelist.Output: + type: "object" + properties: + service: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectivityService" + tapi.connectivity.updateconnectivityservice.Input: + type: "object" + properties: + service-id-or-name: + type: "string" + description: "none" + topology-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.TopologyConstraint" + end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.connectivity.ConnectivityServiceEndPoint" + resilience-constraint: + description: "none" + $ref: "#/definitions/tapi.connectivity.ResilienceConstraint" + routing-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + state: + type: "string" + description: "none" + connectivity-constraint: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityConstraint" + tapi.connectivity.updateconnectivityservice.Output: + type: "object" + properties: + service: + description: "none" + $ref: "#/definitions/tapi.connectivity.ConnectivityService" + tapi.notification.AlarmInfo: + type: "object" + properties: + perceived-severity: + description: "none" + $ref: "#/definitions/tapi.notification.PerceivedSeverityType" + probable-cause: + type: "string" + description: "none" + service-affecting: + description: "none" + $ref: "#/definitions/tapi.notification.ServiceAffecting" + is-transient: + type: "boolean" + description: "none" + default: false + tapi.notification.AlarmInfoWrapper: + properties: + alarm-info: + $ref: "#/definitions/tapi.notification.AlarmInfo" + tapi.notification.ContextAugmentation1: + type: "object" + properties: + notification-context: + description: "Augments the base TAPI Context with NotificationService information" + $ref: "#/definitions/tapi.notification.NotificationContext" + x-augmentation: + prefix: "tapi-notification" + namespace: "urn:onf:otcc:yang:tapi-notification" + tapi.notification.CreateNotificationSubscriptionService: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.createnotificationsubscriptionservice.Output" + tapi.notification.DeleteNotificationSubscriptionService: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.deletenotificationsubscriptionservice.Output" + tapi.notification.GetNotificationList: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.getnotificationlist.Output" + tapi.notification.GetNotificationSubscriptionServiceDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.getnotificationsubscriptionservicedetails.Output" + tapi.notification.GetNotificationSubscriptionServiceList: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.getnotificationsubscriptionservicelist.Output" + tapi.notification.GetSupportedNotificationTypes: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.getsupportednotificationtypes.Output" + tapi.notification.NameAndValueChange: + type: "object" + properties: + value-name: + type: "string" + description: "The name of the value. The value need not have a name." + old-value: + type: "string" + description: "The value" + new-value: + type: "string" + description: "The value" + tapi.notification.NameAndValueChangeWrapper: + properties: + changed-attributes: + $ref: "#/definitions/tapi.notification.NameAndValueChange" + tapi.notification.Notification: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + target-object-type: + description: "none" + $ref: "#/definitions/tapi.notification.ObjectType" + additional-text: + type: "string" + description: "none" + event-time-stamp: + type: "string" + description: "none" + additional-info: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.NameAndValue" + sequence-number: + type: "integer" + format: "int32" + description: "A monotonous increasing sequence number associated with the\ + \ notification.\r\n The exact semantics of how this sequence\ + \ number is assigned (per channel or subscription or source or system)\ + \ is left undefined." + tca-info: + description: "none" + $ref: "#/definitions/tapi.notification.TcaInfo" + target-object-identifier: + type: "string" + description: "none" + notification-type: + description: "none" + $ref: "#/definitions/tapi.notification.NotificationType" + target-object-name: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.NameAndValue" + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + source-indicator: + description: "none" + $ref: "#/definitions/tapi.notification.SourceIndicator" + alarm-info: + description: "none" + $ref: "#/definitions/tapi.notification.AlarmInfo" + changed-attributes: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.NameAndValueChange" + description: "none" + tapi.notification.NotificationChannel: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + next-sequence-no: + type: "integer" + format: "int32" + description: "The sequence number of the next notification that will be\ + \ published on the channel" + stream-address: + type: "string" + description: "The address/location/URI of the channel/stream to which the\ + \ subscribed notifications are published.\r\n This specifics\ + \ of this is typically dependent on the implementation protocol & mechanism\ + \ and hence is typed as a string." + description: "none" + tapi.notification.NotificationChannelWrapper: + properties: + notification-channel: + $ref: "#/definitions/tapi.notification.NotificationChannel" + tapi.notification.NotificationContext: + type: "object" + properties: + notif-subscription: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + notification: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.Notification" + tapi.notification.NotificationContextWrapper: + properties: + tapi-notification:notification-context: + $ref: "#/definitions/tapi.notification.NotificationContext" + tapi.notification.NotificationSubscriptionService: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + notification: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.Notification" + notification-channel: + description: "none" + $ref: "#/definitions/tapi.notification.NotificationChannel" + subscription-state: + description: "none" + $ref: "#/definitions/tapi.notification.SubscriptionState" + supported-object-types: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.ObjectType" + supported-notification-types: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.NotificationType" + subscription-filter: + description: "none" + $ref: "#/definitions/tapi.notification.SubscriptionFilter" + description: "none" + tapi.notification.NotificationSubscriptionServiceWrapper: + properties: + notif-subscription: + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + tapi.notification.NotificationType: + type: "string" + enum: + - "OBJECT_CREATION" + - "OBJECT_DELETION" + - "ATTRIBUTE_VALUE_CHANGE" + - "ALARM_EVENT" + - "THRESHOLD_CROSSING_ALERT" + tapi.notification.NotificationWrapper: + properties: + notification: + $ref: "#/definitions/tapi.notification.Notification" + tapi.notification.ObjectType: + type: "string" + enum: + - "TOPOLOGY" + - "NODE" + - "LINK" + - "CONNECTION" + - "PATH" + - "CONNECTIVITY_SERVICE" + - "VIRTUAL_NETWORK_SERVICE" + - "PATH_COMPUTATION_SERVICE" + - "NODE_EDGE_POINT" + - "SERVICE_INTERFACE_POINT" + - "CONNECTION_END_POINT" + - "MAINTENANCE_ENTITY_GROUP" + - "MAINTENANCE_ENTITY" + - "MEG_END_POINT" + - "MEG_INTERMEDIATE_POINT" + - "SWITCH_CONTROL" + - "SWITCH" + - "ROUTE" + - "NODE_RULE_GROUP" + - "INTER_RULE_GROUP" + - "RULE" + - "OAM_JOB" + - "ACCESS_PORT" + - "EQUIPMENT" + - "HOLDER" + - "PHYSICAL_SPAN" + - "ABSTRACT_STRAND" + - "DEVICE" + tapi.notification.PerceivedSeverityType: + type: "string" + enum: + - "CRITICAL" + - "MAJOR" + - "MINOR" + - "WARNING" + - "CLEARED" + tapi.notification.PerceivedTcaSeverity: + type: "string" + enum: + - "WARNING" + - "CLEAR" + tapi.notification.ServiceAffecting: + type: "string" + enum: + - "SERVICE_AFFECTING" + - "NOT_SERVICE_AFFECTING" + - "UNKNOWN" + tapi.notification.SourceIndicator: + type: "string" + enum: + - "RESOURCE_OPERATION" + - "MANAGEMENT_OPERATION" + - "UNKNOWN" + tapi.notification.SubscriptionFilter: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + requested-notification-types: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.NotificationType" + requested-object-identifier: + type: "array" + description: "none" + items: + type: "string" + requested-layer-protocols: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + include-content: + type: "boolean" + description: "Indicates whether the published Notification includes content\ + \ or just the Notification Id (which enables retrieval of the notification\ + \ at the later stage)" + default: false + requested-object-types: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.ObjectType" + description: "none" + tapi.notification.SubscriptionFilterWrapper: + properties: + subscription-filter: + $ref: "#/definitions/tapi.notification.SubscriptionFilter" + tapi.notification.SubscriptionState: + type: "string" + enum: + - "SUSPENDED" + - "ACTIVE" + tapi.notification.TcaInfo: + type: "object" + properties: + threshold-crossing: + description: "none" + $ref: "#/definitions/tapi.notification.ThresholdCrossingType" + threshold-parameter: + type: "string" + description: "none" + is-transient: + type: "boolean" + description: "none" + default: false + threshold-value: + type: "integer" + format: "int32" + description: "none" + perceived-severity: + description: "none" + $ref: "#/definitions/tapi.notification.PerceivedTcaSeverity" + suspect-interval-flag: + type: "boolean" + description: "none" + default: false + measurement-interval: + type: "string" + description: "none" + tapi.notification.TcaInfoWrapper: + properties: + tca-info: + $ref: "#/definitions/tapi.notification.TcaInfo" + tapi.notification.ThresholdCrossingType: + type: "string" + enum: + - "THRESHOLD_ABOVE" + - "THRESHOLD_BELOW" + - "CLEARED" + tapi.notification.UpdateNotificationSubscriptionService: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.notification.updatenotificationsubscriptionservice.Output" + tapi.notification.createnotificationsubscriptionservice.Input: + type: "object" + properties: + subscription-state: + description: "none" + $ref: "#/definitions/tapi.notification.SubscriptionState" + subscription-filter: + description: "none" + $ref: "#/definitions/tapi.notification.SubscriptionFilter" + tapi.notification.createnotificationsubscriptionservice.Output: + type: "object" + properties: + subscription-service: + description: "none" + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + tapi.notification.deletenotificationsubscriptionservice.Input: + type: "object" + properties: + subscription-id-or-name: + type: "string" + description: "none" + tapi.notification.deletenotificationsubscriptionservice.Output: + type: "object" + properties: + subscription-service: + description: "none" + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + tapi.notification.getnotificationlist.Input: + type: "object" + properties: + time-period: + type: "string" + description: "none" + subscription-id-or-name: + type: "string" + description: "none" + tapi.notification.getnotificationlist.Output: + type: "object" + properties: + notification: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.Notification" + tapi.notification.getnotificationsubscriptionservicedetails.Input: + type: "object" + properties: + subscription-id-or-name: + type: "string" + description: "none" + tapi.notification.getnotificationsubscriptionservicedetails.Output: + type: "object" + properties: + subscription-service: + description: "none" + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + tapi.notification.getnotificationsubscriptionservicelist.Output: + type: "object" + properties: + subscription-service: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + tapi.notification.getsupportednotificationtypes.Output: + type: "object" + properties: + supported-object-types: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.ObjectType" + supported-notification-types: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.notification.NotificationType" + tapi.notification.updatenotificationsubscriptionservice.Input: + type: "object" + properties: + subscription-state: + description: "none" + $ref: "#/definitions/tapi.notification.SubscriptionState" + subscription-filter: + description: "none" + $ref: "#/definitions/tapi.notification.SubscriptionFilter" + subscription-id-or-name: + type: "string" + description: "none" + tapi.notification.updatenotificationsubscriptionservice.Output: + type: "object" + properties: + subscription-service: + description: "none" + $ref: "#/definitions/tapi.notification.NotificationSubscriptionService" + tapi.path.computation.ComputeP2PPath: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.path.computation.computep2ppath.Output" + tapi.path.computation.ContextAugmentation2: + type: "object" + properties: + path-computation-context: + description: "Augments the base TAPI Context with PathComputationService information" + $ref: "#/definitions/tapi.path.computation.PathComputationContext" + x-augmentation: + prefix: "tapi-path-computation" + namespace: "urn:onf:otcc:yang:tapi-path-computation" + tapi.path.computation.DeleteP2PPath: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.path.computation.deletep2ppath.Output" + tapi.path.computation.DiversityPolicy: + type: "string" + enum: + - "SRLG" + - "SRNG" + - "SNG" + - "NODE" + - "LINK" + tapi.path.computation.OptimizeP2Ppath: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.path.computation.optimizep2ppath.Output" + tapi.path.computation.Path: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + link: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.LinkRef" + routing-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + direction: + description: "none" + $ref: "#/definitions/tapi.common.ForwardingDirection" + description: "Path is described by an ordered list of TE Links. A TE Link is\ + \ defined by a pair of Node/NodeEdgePoint IDs. A Connection is realized by\ + \ concatenating link resources (associated with a Link) and the lower-level\ + \ connections (cross-connections) in the different nodes" + tapi.path.computation.PathComputationContext: + type: "object" + properties: + path-comp-service: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.path.computation.PathComputationService" + path: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.path.computation.Path" + tapi.path.computation.PathComputationContextWrapper: + properties: + tapi-path-computation:path-computation-context: + $ref: "#/definitions/tapi.path.computation.PathComputationContext" + tapi.path.computation.PathComputationService: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + topology-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.TopologyConstraint" + path: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.path.computation.PathRef" + objective-function: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunction" + end-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.path.computation.PathServiceEndPoint" + routing-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + optimization-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathOptimizationConstraint" + description: "none" + tapi.path.computation.PathComputationServiceWrapper: + properties: + path-comp-service: + $ref: "#/definitions/tapi.path.computation.PathComputationService" + tapi.path.computation.PathObjectiveFunction: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + link-utilization: + description: "none" + $ref: "#/definitions/tapi.common.DirectiveValue" + bandwidth-optimization: + description: "none" + $ref: "#/definitions/tapi.common.DirectiveValue" + cost-optimization: + description: "none" + $ref: "#/definitions/tapi.common.DirectiveValue" + resource-sharing: + description: "none" + $ref: "#/definitions/tapi.common.DirectiveValue" + concurrent-paths: + description: "none" + $ref: "#/definitions/tapi.common.DirectiveValue" + description: "none" + tapi.path.computation.PathObjectiveFunctionWrapper: + properties: + objective-function: + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunction" + tapi.path.computation.PathOptimizationConstraint: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + traffic-interruption: + description: "none" + $ref: "#/definitions/tapi.common.DirectiveValue" + description: "none" + tapi.path.computation.PathOptimizationConstraintWrapper: + properties: + optimization-constraint: + $ref: "#/definitions/tapi.path.computation.PathOptimizationConstraint" + tapi.path.computation.PathRef: + type: "object" + properties: + path-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-path-computation:path-computation-context/tapi-path-computation:path/tapi-path-computation:uuid" + tapi.path.computation.PathRefWrapper: + properties: + path: + $ref: "#/definitions/tapi.path.computation.PathRef" + tapi.path.computation.PathServiceEndPoint: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + role: + description: "Each EP of the FC has a role (e.g., working, protection, protected,\ + \ symmetric, hub, spoke, leaf, root) in the context of the FC with respect\ + \ to the FC function. " + $ref: "#/definitions/tapi.common.PortRole" + service-interface-point: + description: "none" + $ref: "#/definitions/tapi.common.ServiceInterfacePointRef" + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + layer-protocol-qualifier: + type: "string" + description: "none" + direction: + description: "The orientation of defined flow at the EndPoint." + $ref: "#/definitions/tapi.common.PortDirection" + capacity: + description: "none" + $ref: "#/definitions/tapi.common.Capacity" + description: "The association of the FC to LTPs is made via EndPoints.\r\n \ + \ The EndPoint (EP) object class models the access to the FC function.\ + \ \r\n The traffic forwarding between the associated EPs of the\ + \ FC depends upon the type of FC and may be associated with FcSwitch object\ + \ instances. \r\n In cases where there is resilience the EndPoint\ + \ may convey the resilience role of the access to the FC. \r\n \ + \ It can represent a protected (resilient/reliable) point or a protecting\ + \ (unreliable working or protection) point.\r\n The EP replaces\ + \ the Protection Unit of a traditional protection model. \r\n The\ + \ ForwadingConstruct can be considered as a component and the EndPoint as\ + \ a Port on that component" + tapi.path.computation.PathServiceEndPointWrapper: + properties: + end-point: + $ref: "#/definitions/tapi.path.computation.PathServiceEndPoint" + tapi.path.computation.PathWrapper: + properties: + path: + $ref: "#/definitions/tapi.path.computation.Path" + tapi.path.computation.RouteObjectiveFunction: + type: "string" + enum: + - "MIN_WORK_ROUTE_HOP" + - "MIN_WORK_ROUTE_COST" + - "MIN_WORK_ROUTE_LATENCY" + - "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP" + - "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST" + - "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY" + - "LOAD_BALANCE_MAX_UNUSED_CAPACITY" + tapi.path.computation.RoutingConstraint: + type: "object" + properties: + is-exclusive: + type: "boolean" + description: "To distinguish if the resources are to be exclusive to the service" + default: true + max-allowed-cost: + description: "none" + $ref: "#/definitions/tapi.path.computation.ValueOrPriority" + diversity-policy: + description: "none" + $ref: "#/definitions/tapi.path.computation.DiversityPolicy" + route-objective-function: + description: "none" + $ref: "#/definitions/tapi.path.computation.RouteObjectiveFunction" + cost-characteristic: + type: "array" + description: "The list of costs where each cost relates to some aspect of\ + \ the TopologicalEntity." + items: + $ref: "#/definitions/tapi.topology.CostCharacteristic" + max-allowed-hops: + description: "none" + $ref: "#/definitions/tapi.path.computation.ValueOrPriority" + max-allowed-delay: + description: "Delay unit is microseconds." + $ref: "#/definitions/tapi.path.computation.ValueOrPriority" + latency-characteristic: + type: "array" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + items: + $ref: "#/definitions/tapi.topology.LatencyCharacteristic" + risk-diversity-characteristic: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.RiskCharacteristic" + route-direction: + description: "none" + $ref: "#/definitions/tapi.common.ForwardingDirection" + tapi.path.computation.RoutingConstraintWrapper: + properties: + routing-constraint: + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + tapi.path.computation.TopologyConstraint: + type: "object" + properties: + include-node: + type: "array" + description: "This is a loose constraint - that is it is unordered and could\ + \ be a partial list" + items: + type: "string" + exclude-link: + type: "array" + description: "none" + items: + type: "string" + avoid-topology: + type: "array" + description: "none" + items: + type: "string" + exclude-path: + type: "array" + description: "none" + items: + type: "string" + include-link: + type: "array" + description: "This is a loose constraint - that is it is unordered and could\ + \ be a partial list " + items: + type: "string" + preferred-transport-layer: + type: "array" + description: "soft constraint requested by client to indicate the layer(s)\ + \ of transport connection that it prefers to carry the service. This could\ + \ be same as the service layer or one of the supported server layers" + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + exclude-node: + type: "array" + description: "none" + items: + type: "string" + include-topology: + type: "array" + description: "none" + items: + type: "string" + include-path: + type: "array" + description: "none" + items: + type: "string" + tapi.path.computation.TopologyConstraintWrapper: + properties: + topology-constraint: + $ref: "#/definitions/tapi.path.computation.TopologyConstraint" + tapi.path.computation.ValueOrPriority: + type: "object" + properties: + priority: + type: "integer" + format: "int32" + description: "none" + value: + type: "integer" + format: "int32" + description: "none" + tapi.path.computation.ValueOrPriorityWrapper: + properties: + max-allowed-cost: + $ref: "#/definitions/tapi.path.computation.ValueOrPriority" + tapi.path.computation.computep2ppath.Input: + type: "object" + properties: + topology-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.TopologyConstraint" + routing-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + objective-function: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunction" + sep: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.path.computation.PathServiceEndPoint" + tapi.path.computation.computep2ppath.Output: + type: "object" + properties: + service: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathComputationService" + tapi.path.computation.deletep2ppath.Input: + type: "object" + properties: + path-id-or-name: + type: "string" + description: "none" + tapi.path.computation.deletep2ppath.Output: + type: "object" + properties: + service: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathComputationService" + tapi.path.computation.optimizep2ppath.Input: + type: "object" + properties: + routing-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.RoutingConstraint" + path-id-or-name: + type: "string" + description: "none" + optimization-constraint: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathOptimizationConstraint" + objective-function: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathObjectiveFunction" + tapi.path.computation.optimizep2ppath.Output: + type: "object" + properties: + service: + description: "none" + $ref: "#/definitions/tapi.path.computation.PathComputationService" + tapi.topology.ConnectionSpecReference: + type: "object" + properties: + connection-spec-name: + type: "string" + description: "The name of the connection type spec.\r\n This\ + \ can be used as a reference to a paper document where full formal machine\ + \ interpretable specs are not supported." + connection-spec-id: + type: "string" + description: "The reference to a formal spec. \r\n This reference\ + \ need not be provided (e.g., where there is no formal machine interpretable\ + \ spec for the type of connection)." + tapi.topology.ConnectionSpecReferenceWrapper: + properties: + connection-spec-reference: + $ref: "#/definitions/tapi.topology.ConnectionSpecReference" + tapi.topology.ContextAugmentation4: + type: "object" + properties: + topology-context: + description: "Augments the base TAPI Context with TopologyService information" + $ref: "#/definitions/tapi.topology.TopologyContext" + x-augmentation: + prefix: "tapi-topology" + namespace: "urn:onf:otcc:yang:tapi-topology" + tapi.topology.CostCharacteristic: + type: "object" + properties: + cost-value: + type: "string" + description: "The specific cost." + cost-algorithm: + type: "string" + description: "The cost may vary based upon some properties of the TopologicalEntity.\ + \ The rules for the variation are conveyed by the costAlgorithm." + cost-name: + type: "string" + description: "The cost characteristic will related to some aspect of the TopologicalEntity\ + \ (e.g. $ cost, routing weight). This aspect will be conveyed by the costName." + tapi.topology.CostCharacteristicWrapper: + properties: + cost-characteristic: + $ref: "#/definitions/tapi.topology.CostCharacteristic" + tapi.topology.ForwardingRule: + type: "string" + enum: + - "MAY_FORWARD_ACROSS_GROUP" + - "MUST_FORWARD_ACROSS_GROUP" + - "CANNOT_FORWARD_ACROSS_GROUP" + - "NO_STATEMENT_ON_FORWARDING" + - "INTER_CONNECTION_CONTENTION" + tapi.topology.GetLinkDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.topology.getlinkdetails.Output" + tapi.topology.GetNodeDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.topology.getnodedetails.Output" + tapi.topology.GetNodeEdgePointDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.topology.getnodeedgepointdetails.Output" + tapi.topology.GetTopologyDetails: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.topology.gettopologydetails.Output" + tapi.topology.GetTopologyList: + type: "object" + properties: + output: + $ref: "#/definitions/tapi.topology.gettopologylist.Output" + tapi.topology.InterRuleGroup: + allOf: + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.topology.RiskParameterPac" + - $ref: "#/definitions/tapi.topology.TransferCostPac" + - $ref: "#/definitions/tapi.topology.TransferTimingPac" + - type: "object" + properties: + associated-node-rule-group: + type: "array" + description: "The NodeRuleGroups that the InterRuleGroup constrains interconnection\ + \ between.\r\n The CEPs of the NEPs of a referenced NodeRuleGroup\ + \ can interconnect to the CEPs of the NEPs of another referenced NodeRuleGroup\ + \ constrained by the rules of the InterRuleGroup." + items: + $ref: "#/definitions/tapi.topology.NodeRuleGroupRef" + rule: + type: "array" + description: "The list of rules of the InterRuleGroup." + items: + $ref: "#/definitions/tapi.topology.Rule" + description: "Rules that apply between groups of NEPs." + tapi.topology.InterRuleGroupWrapper: + properties: + inter-rule-group: + $ref: "#/definitions/tapi.topology.InterRuleGroup" + tapi.topology.LatencyCharacteristic: + type: "object" + properties: + traffic-property-name: + type: "string" + description: "The identifier of the specific traffic property to which the\ + \ queuing latency applies." + jitter-characteristic: + type: "string" + description: "High frequency deviation from true periodicity of a signal and\ + \ therefore a small high rate of change of transfer latency.\r\n \ + \ Applies to TDM systems (and not packet)." + fixed-latency-characteristic: + type: "string" + description: "A TopologicalEntity suffers delay caused by the realization\ + \ of the servers (e.g. distance related; FEC encoding etc.) along with some\ + \ client specific processing. This is the total average latency effect of\ + \ the TopologicalEntity" + wander-characteristic: + type: "string" + description: "Low frequency deviation from true periodicity of a signal and\ + \ therefore a small low rate of change of transfer latency.\r\n \ + \ Applies to TDM systems (and not packet)." + queing-latency-characteristic: + type: "string" + description: "The specific queuing latency for the traffic property." + tapi.topology.LatencyCharacteristicWrapper: + properties: + latency-characteristic: + $ref: "#/definitions/tapi.topology.LatencyCharacteristic" + tapi.topology.LayerProtocolTransitionPac: + type: "object" + properties: + transitioned-layer-protocol-name: + type: "array" + description: "Provides the ordered structure of layer protocol transitions\ + \ encapsulated in the TopologicalEntity. The ordering relates to the LinkPort\ + \ role." + items: + type: "string" + tapi.topology.Link: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.topology.LayerProtocolTransitionPac" + - $ref: "#/definitions/tapi.topology.RiskParameterPac" + - $ref: "#/definitions/tapi.topology.TransferCostPac" + - $ref: "#/definitions/tapi.topology.TransferIntegrityPac" + - $ref: "#/definitions/tapi.topology.TransferTimingPac" + - $ref: "#/definitions/tapi.topology.ValidationPac" + - type: "object" + properties: + layer-protocol-name: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + resilience-type: + description: "none" + $ref: "#/definitions/tapi.topology.ResilienceType" + node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + direction: + description: "The directionality of the Link.\r\n Is applicable\ + \ to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will\ + \ be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL).\r\ + \n Is not present in more complex cases." + $ref: "#/definitions/tapi.common.ForwardingDirection" + description: "The Link object class models effective adjacency between two or\ + \ more ForwardingDomains (FD). " + tapi.topology.LinkRef: + allOf: + - $ref: "#/definitions/tapi.topology.TopologyRef" + - type: "object" + properties: + link-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid" + description: "none" + tapi.topology.LinkRefWrapper: + properties: + supported-client-link: + $ref: "#/definitions/tapi.topology.LinkRef" + tapi.topology.LinkWrapper: + properties: + link: + $ref: "#/definitions/tapi.topology.Link" + tapi.topology.NetworkTopologyService: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + topology: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.TopologyRef" + description: "none" + tapi.topology.NetworkTopologyServiceWrapper: + properties: + nw-topology-service: + $ref: "#/definitions/tapi.topology.NetworkTopologyService" + tapi.topology.Node: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.topology.TransferCostPac" + - $ref: "#/definitions/tapi.topology.TransferIntegrityPac" + - $ref: "#/definitions/tapi.topology.TransferTimingPac" + - type: "object" + properties: + layer-protocol-name: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + encap-topology: + description: "none" + $ref: "#/definitions/tapi.topology.TopologyRef" + owned-node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeEdgePoint" + node-rule-group: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeRuleGroup" + aggregated-node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + description: "The ForwardingDomain (FD) object class models the ForwardingDomain\ + \ topological component which is used to effect forwarding of transport characteristic\ + \ information and offers the potential to enable forwarding.\r\n \ + \ At the lowest level of recursion, an FD (within a network element (NE))\ + \ represents a switch matrix (i.e., a fabric). Note that an NE can encompass\ + \ multiple switch matrices (FDs). " + tapi.topology.NodeEdgePoint: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.common.TerminationPac" + - type: "object" + properties: + link-port-role: + description: "Each LinkEnd of the Link has a role (e.g., symmetric, hub,\ + \ spoke, leaf, root) in the context of the Link with respect to the Link\ + \ function. " + $ref: "#/definitions/tapi.common.PortRole" + mapped-service-interface-point: + type: "array" + description: "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing)\ + \ or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load\ + \ balancing/Resilience) should be considered experimental" + items: + $ref: "#/definitions/tapi.common.ServiceInterfacePointRef" + aggregated-node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + layer-protocol-name: + description: "none" + $ref: "#/definitions/tapi.common.LayerProtocolName" + link-port-direction: + description: "The orientation of defined flow at the LinkEnd." + $ref: "#/definitions/tapi.common.PortDirection" + supported-cep-layer-protocol-qualifier: + type: "array" + description: "none" + items: + type: "string" + description: "The LogicalTerminationPoint (LTP) object class encapsulates the\ + \ termination and adaptation functions of one or more transport layers.\r\n\ + \ The structure of LTP supports all transport protocols including\ + \ circuit and packet forms." + tapi.topology.NodeEdgePointRef: + allOf: + - $ref: "#/definitions/tapi.topology.NodeRef" + - type: "object" + properties: + node-edge-point-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid" + description: "none" + tapi.topology.NodeEdgePointRefWrapper: + properties: + node-edge-point: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + tapi.topology.NodeRef: + allOf: + - $ref: "#/definitions/tapi.topology.TopologyRef" + - type: "object" + properties: + node-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid" + description: "none" + tapi.topology.NodeRuleGroup: + allOf: + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.topology.RiskParameterPac" + - $ref: "#/definitions/tapi.topology.TransferCostPac" + - $ref: "#/definitions/tapi.topology.TransferTimingPac" + - type: "object" + properties: + inter-rule-group: + type: "array" + description: "Nested NodeRuleGroups may have InterRuleGroups. The Superior\ + \ NodeRuleGroup contains the nested NodeRuleGroups and their associated\ + \ InterRuleGroups.\r\n This is equivalent to the Node-Topology\ + \ hierarchy." + items: + $ref: "#/definitions/tapi.topology.InterRuleGroup" + rule: + type: "array" + description: "The list of rules of the NodeRuleGroup." + items: + $ref: "#/definitions/tapi.topology.Rule" + node-rule-group: + type: "array" + description: "NodeRuleGroups may be nested such that finer grained rules\ + \ may be applied.\r\n A nested rule group should have a\ + \ subset of the NEPs of the superior rule group." + items: + $ref: "#/definitions/tapi.topology.NodeRuleGroupRef" + node-edge-point: + type: "array" + description: "NEPs and their client CEPs that the rules apply to." + items: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + description: "Rules that apply to a group of NEPs.\r\n " + tapi.topology.NodeRuleGroupRef: + allOf: + - $ref: "#/definitions/tapi.topology.NodeRef" + - type: "object" + properties: + node-rule-group-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid" + description: "none" + tapi.topology.NodeRuleGroupRefWrapper: + properties: + associated-node-rule-group: + $ref: "#/definitions/tapi.topology.NodeRuleGroupRef" + tapi.topology.NodeRuleGroupWrapper: + properties: + node-rule-group: + $ref: "#/definitions/tapi.topology.NodeRuleGroup" + tapi.topology.PortRoleRule: + type: "object" + properties: + port-role-rule: + type: "array" + description: "Where the rule references more than one port role or where there\ + \ are rule intersections either as a result of overlay of rules or inter\ + \ rule group usage indicates role matching criteria for a connection following\ + \ the rules.\r\n For example if two port roles, 'a' and 'b',\ + \ are listed and the port role rule is 'different', this means that a connection\ + \ connecting points in that group must have port roles that are different\ + \ for each CEP in that group.\r\n In the example if a connection\ + \ can have n ports of role 'a' and m ports of role 'b' then a maximum of\ + \ two ports can be drawn from the NEPs of the group and where there are\ + \ two, one must be role 'a' and one must be role 'b'." + items: + type: "string" + port-role: + type: "array" + description: "The role(s) of the port(s) considered in the rule." + items: + type: "string" + tapi.topology.PortRoleRuleWrapper: + properties: + cep-port-role: + $ref: "#/definitions/tapi.topology.PortRoleRule" + tapi.topology.ProtectionType: + type: "string" + enum: + - "NO_PROTECTON" + - "ONE_PLUS_ONE_PROTECTION" + - "ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION" + - "PERMANENT_ONE_PLUS_ONE_PROTECTION" + - "ONE_FOR_ONE_PROTECTION" + - "DYNAMIC_RESTORATION" + - "PRE_COMPUTED_RESTORATION" + - "ONE_PLUS_ONE_PROTECTION_WITH_PRE_COMPUTED_RESTORATION" + tapi.topology.ResilienceType: + type: "object" + properties: + restoration-policy: + description: "none" + $ref: "#/definitions/tapi.topology.RestorationPolicy" + protection-type: + description: "none" + $ref: "#/definitions/tapi.topology.ProtectionType" + tapi.topology.ResilienceTypeWrapper: + properties: + resilience-type: + $ref: "#/definitions/tapi.topology.ResilienceType" + tapi.topology.RestorationPolicy: + type: "string" + enum: + - "PER_DOMAIN_RESTORATION" + - "END_TO_END_RESTORATION" + - "NA" + tapi.topology.RiskCharacteristic: + type: "object" + properties: + risk-characteristic-name: + type: "string" + description: "The name of the risk characteristic. The characteristic may\ + \ be related to a specific degree of closeness.\r\n For example\ + \ a particular characteristic may apply to failures that are localized (e.g.\ + \ to one side of a road) where as another characteristic may relate to failures\ + \ that have a broader impact (e.g. both sides of a road that crosses a bridge).\r\ + \n Depending upon the importance of the traffic being routed\ + \ different risk characteristics will be evaluated." + risk-identifier-list: + type: "array" + description: "A list of the identifiers of each physical/geographic unit (with\ + \ the specific risk characteristic) that is related to a segment of the\ + \ TopologicalEntity." + items: + type: "string" + tapi.topology.RiskCharacteristicWrapper: + properties: + risk-diversity-characteristic: + $ref: "#/definitions/tapi.topology.RiskCharacteristic" + tapi.topology.RiskParameterPac: + type: "object" + properties: + risk-characteristic: + type: "array" + description: "A list of risk characteristics for consideration in an analysis\ + \ of shared risk. Each element of the list represents a specific risk consideration." + items: + $ref: "#/definitions/tapi.topology.RiskCharacteristic" + tapi.topology.Rule: + allOf: + - $ref: "#/definitions/tapi.common.LocalClass" + - type: "object" + properties: + complex-rule: + type: "array" + description: "Allows for more complex rules where the basic rule system\ + \ is not sufficient." + items: + type: "string" + rule-type: + description: "The focus of the rule." + $ref: "#/definitions/tapi.topology.RuleType" + signal-property: + description: "The rule only applies to signals with the properties listed.\ + \ \r\n If the attribute is not present then the rule applies\ + \ to all signals." + $ref: "#/definitions/tapi.topology.SignalPropertyRule" + connection-spec-reference: + type: "array" + description: "Identifies the type of connection that the rule applies to.\ + \ \r\n If the attribute is not present then the rule applies\ + \ to all types of connection supported by the device." + items: + $ref: "#/definitions/tapi.topology.ConnectionSpecReference" + cep-port-role: + type: "array" + description: "Indicates the port role to which the rule applies. \r\n \ + \ The port role is interpreted in the context of the connection\ + \ type which is identified by the connection spec. \r\n \ + \ The port role is not meaningful in the absence of a connection spec\ + \ reference.\r\n If a node rule group carries a port role,\ + \ that role applies also to the associated inter rule where the combination\ + \ of the roles in the node rule groups at the ends of the inter group\ + \ rule define the connection orientation.\r\n For example\ + \ a root-and-leaf connection may be used in a node where a node rule group\ + \ collects one set of NEPs has the port role 'root' and another node rule\ + \ group collects another set of NEPs has the port role 'leaf' where these\ + \ are joined by an inter rule group. This combination specifies an allowed\ + \ orientation of the root-and-leaf connection.\r\n No port\ + \ role statement means all port roles are allowed." + items: + $ref: "#/definitions/tapi.topology.PortRoleRule" + cep-direction: + type: "array" + description: "cep direction is a list of port directions that the rule applies\ + \ to.\r\n No entry means all cep directions." + items: + $ref: "#/definitions/tapi.common.PortDirection" + override-priority: + type: "integer" + format: "int32" + description: "The overridePriority allows for one rule in a rule group to\ + \ override another.\r\n Priority n rules override priority\ + \ n+1 rules.\r\n Rules of the same priority override as\ + \ follows (n overrides n+1):\r\n 1 - MustNot\r\n \ + \ 2 - Must\r\n 3 - May\r\n 4 -\ + \ Null\r\n Within a rule the flexibility rules (signal,\ + \ port role...) override as follows (n overriedes n+1):\r\n \ + \ 1 - Any\r\n 2 - Same\r\n 3 - Different\r\ + \n Where there are two or more 'Same' rules, they will\ + \ form an intersection where all must be met.\r\n " + layer-protocol-qualifier: + type: "array" + description: "Qualifies a rule for a particular layerProtocol identifying\ + \ the qualifiers that the rule apples to.\r\n If the attribute\ + \ is not present then the rule applies to all relevant qualifiers of the\ + \ layer protocol of the parent entity." + items: + type: "string" + forwarding-rule: + description: "Rule that restricts the creation/deletion of a Connection\ + \ between points in the node rule group or related by the inter rule group\ + \ between node rule groups." + $ref: "#/definitions/tapi.topology.ForwardingRule" + description: "Single complex rule statememt.\r\n A Node with no rule\ + \ group has no restrictions and is essentially May/Any\r\n A node\ + \ rule group constrain the CEP connectability in the Node.\r\n \ + \ A connection from a NEP must abide by all rules that relate to that NEP\r\ + \n Rules that are for a particular layerProtocolQualifier, connectionSpecReference,\ + \ cepPortRole and cepDirection combination must be abided by in combination\ + \ as dictated by overridePriority.\r\n If a particular\r\n \ + \ - connectionSpecReference does not have any rule statements then\ + \ it is not supported and connections of that type are not possible within\ + \ the rule group.\r\n - cepPortRole of a particular connectionSpecReference\ + \ does not have any rule statements then it is not supported and connections\ + \ of that connectionSpecReference (type) cannot have that cepPortRole for\ + \ CEPs from NEPs in that rule group.\r\n - cepDirection for a particular\ + \ connectionSpecReference does not have any rule statements then it is not\ + \ supported and connections of that connectionSpecReference (type) cannot\ + \ have that cepPortDirection for CEPs from NEPs in that rule group.\r\n \ + \ Rules that are for different layerProtocolQualifiers or connectionSpecReferences\ + \ are independent and provide options for connection in the rule group.\r\n\ + \ Some rules may apply to multiple connectionSpecReferences and\ + \ all cepPortRoles and all cepDirections." + tapi.topology.RuleType: + type: "string" + enum: + - "FORWARDING" + - "CAPACITY" + - "COST" + - "TIMING" + - "RISK" + - "GROUPING" + tapi.topology.RuleWrapper: + properties: + rule: + $ref: "#/definitions/tapi.topology.Rule" + tapi.topology.SignalPropertyRule: + type: "object" + properties: + number-of-signal-values: + type: "integer" + format: "int32" + description: "The number of instances of this specific property that can be\ + \ supported by the group." + applicable-signal-value: + type: "array" + description: "Specific values of the signal property to which the rule applies." + items: + type: "string" + signal-property-value-rule: + type: "string" + description: "Indicates how the signal properties should be accounted for." + signal-property-name: + type: "string" + description: "The name of the signal property to which the rule applies." + tapi.topology.SignalPropertyRuleWrapper: + properties: + signal-property: + $ref: "#/definitions/tapi.topology.SignalPropertyRule" + tapi.topology.Topology: + allOf: + - $ref: "#/definitions/tapi.common.GlobalClass" + - type: "object" + properties: + layer-protocol-name: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + link: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.Link" + node: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.Node" + description: "The ForwardingDomain (FD) object class models the ForwardingDomain\ + \ topological component which is used to effect forwarding of transport characteristic\ + \ information and offers the potential to enable forwarding. \r\n \ + \ At the lowest level of recursion, an FD (within a network element (NE))\ + \ represents a switch matrix (i.e., a fabric). Note that an NE can encompass\ + \ multiple switch matrices (FDs). " + tapi.topology.TopologyContext: + type: "object" + properties: + nw-topology-service: + description: "none" + $ref: "#/definitions/tapi.topology.NetworkTopologyService" + topology: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.Topology" + tapi.topology.TopologyContextWrapper: + properties: + tapi-topology:topology-context: + $ref: "#/definitions/tapi.topology.TopologyContext" + tapi.topology.TopologyRef: + type: "object" + properties: + topology-uuid: + type: "string" + description: "none" + x-path: "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:uuid" + tapi.topology.TopologyRefWrapper: + properties: + topology: + $ref: "#/definitions/tapi.topology.TopologyRef" + tapi.topology.TopologyWrapper: + properties: + topology: + $ref: "#/definitions/tapi.topology.Topology" + tapi.topology.TransferCostPac: + type: "object" + properties: + cost-characteristic: + type: "array" + description: "The list of costs where each cost relates to some aspect of\ + \ the TopologicalEntity." + items: + $ref: "#/definitions/tapi.topology.CostCharacteristic" + tapi.topology.TransferIntegrityPac: + type: "object" + properties: + error-characteristic: + type: "string" + description: "Describes the degree to which the signal propagated can be errored.\r\ + \n Applies to TDM systems as the errored signal will be propagated\ + \ and not packet as errored packets will be discarded." + unavailable-time-characteristic: + type: "string" + description: "Describes the duration for which there may be no valid signal\ + \ propagated." + server-integrity-process-characteristic: + type: "string" + description: "Describes the effect of any server integrity enhancement process\ + \ on the characteristics of the TopologicalEntity." + delivery-order-characteristic: + type: "string" + description: "Describes the degree to which packets will be delivered out\ + \ of sequence.\r\n Does not apply to TDM as the TDM protocols\ + \ maintain strict order." + repeat-delivery-characteristic: + type: "string" + description: "Primarily applies to packet systems where a packet may be delivered\ + \ more than once (in fault recovery for example).\r\n It\ + \ can also apply to TDM where several frames may be received twice due to\ + \ switching in a system with a large differential propagation delay." + loss-characteristic: + type: "string" + description: "Describes the acceptable characteristic of lost packets where\ + \ loss may result from discard due to errors or overflow.\r\n \ + \ Applies to packet systems and not TDM (as for TDM errored signals\ + \ are propagated unless grossly errored and overflow/underflow turns into\ + \ timing slips)." + tapi.topology.TransferTimingPac: + type: "object" + properties: + latency-characteristic: + type: "array" + description: "The effect on the latency of a queuing process. This only has\ + \ significant effect for packet based systems and has a complex characteristic." + items: + $ref: "#/definitions/tapi.topology.LatencyCharacteristic" + tapi.topology.ValidationMechanism: + type: "object" + properties: + layer-protocol-adjacency-validated: + type: "string" + description: "State of validatiion" + validation-mechanism: + type: "string" + description: "Name of mechanism used to validate adjacency" + validation-robustness: + type: "string" + description: "Quality of validation (i.e. how likely is the stated validation\ + \ to be invalid)" + tapi.topology.ValidationMechanismWrapper: + properties: + validation-mechanism: + $ref: "#/definitions/tapi.topology.ValidationMechanism" + tapi.topology.ValidationPac: + type: "object" + properties: + validation-mechanism: + type: "array" + description: "Provides details of the specific validation mechanism(s) used\ + \ to confirm the presence of an intended topologicalEntity." + items: + $ref: "#/definitions/tapi.topology.ValidationMechanism" + tapi.topology.getlinkdetails.Input: + type: "object" + properties: + link-id-or-name: + type: "string" + description: "none" + topology-id-or-name: + type: "string" + description: "none" + tapi.topology.getlinkdetails.Output: + type: "object" + properties: + link: + description: "none" + $ref: "#/definitions/tapi.topology.Link" + tapi.topology.getnodedetails.Input: + type: "object" + properties: + node-id-or-name: + type: "string" + description: "none" + topology-id-or-name: + type: "string" + description: "none" + tapi.topology.getnodedetails.Output: + type: "object" + properties: + node: + description: "none" + $ref: "#/definitions/tapi.topology.Node" + tapi.topology.getnodeedgepointdetails.Input: + type: "object" + properties: + ep-id-or-name: + type: "string" + description: "none" + node-id-or-name: + type: "string" + description: "none" + topology-id-or-name: + type: "string" + description: "none" + tapi.topology.getnodeedgepointdetails.Output: + type: "object" + properties: + node-edge-point: + description: "none" + $ref: "#/definitions/tapi.topology.NodeEdgePoint" + tapi.topology.gettopologydetails.Input: + type: "object" + properties: + topology-id-or-name: + type: "string" + description: "none" + tapi.topology.gettopologydetails.Output: + type: "object" + properties: + topology: + description: "none" + $ref: "#/definitions/tapi.topology.Topology" + tapi.topology.gettopologylist.Output: + type: "object" + properties: + topology: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.Topology" + tapi.topology.node.OwnedNodeEdgePoint: + allOf: + - $ref: "#/definitions/tapi.connectivity.OwnedNodeEdgePointAugmentation1" + - $ref: "#/definitions/tapi.topology.NodeEdgePoint" + tapi.topology.node.OwnedNodeEdgePointWrapper: + properties: + owned-node-edge-point: + $ref: "#/definitions/tapi.topology.node.OwnedNodeEdgePoint" + tapi.topology.topology.Node: + allOf: + - $ref: "#/definitions/tapi.common.AdminStatePac" + - $ref: "#/definitions/tapi.common.CapacityPac" + - $ref: "#/definitions/tapi.common.GlobalClass" + - $ref: "#/definitions/tapi.topology.TransferCostPac" + - $ref: "#/definitions/tapi.topology.TransferIntegrityPac" + - $ref: "#/definitions/tapi.topology.TransferTimingPac" + - type: "object" + properties: + layer-protocol-name: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.common.LayerProtocolName" + encap-topology: + description: "none" + $ref: "#/definitions/tapi.topology.TopologyRef" + owned-node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.node.OwnedNodeEdgePoint" + node-rule-group: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeRuleGroup" + aggregated-node-edge-point: + type: "array" + description: "none" + items: + $ref: "#/definitions/tapi.topology.NodeEdgePointRef" + description: "none" + tapi.topology.topology.NodeWrapper: + properties: + node: + $ref: "#/definitions/tapi.topology.topology.Node" diff --git a/hackfest/tapi/tapi_app/ols-topo.dot b/hackfest/tapi/tapi_app/ols-topo.dot new file mode 100644 index 0000000000000000000000000000000000000000..89122169f5d5b6c28fe365cec812aaca1eeeb476 --- /dev/null +++ b/hackfest/tapi/tapi_app/ols-topo.dot @@ -0,0 +1,16 @@ +strict digraph { +"node-1"; +"node-2"; +"node-3"; +"node-4"; +"node-1" -> "node-3"; +"node-1" -> "node-4"; +"node-2" -> "node-3"; +"node-2" -> "node-4"; +"node-3" -> "node-1"; +"node-3" -> "node-2"; +"node-3" -> "node-4"; +"node-4" -> "node-1"; +"node-4" -> "node-2"; +"node-4" -> "node-3"; +} diff --git a/hackfest/tapi/tapi_app/ols-topo.png b/hackfest/tapi/tapi_app/ols-topo.png new file mode 100644 index 0000000000000000000000000000000000000000..94ac969f94679d1bc9e7bad7f5810b153106a517 Binary files /dev/null and b/hackfest/tapi/tapi_app/ols-topo.png differ diff --git a/hackfest/tapi/tapi_app/requirements.sh b/hackfest/tapi/tapi_app/requirements.sh new file mode 100644 index 0000000000000000000000000000000000000000..95832bb6628447bb1d5d6e7cd8a477468ebe5ef6 --- /dev/null +++ b/hackfest/tapi/tapi_app/requirements.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo apt install graphviz +pip install -r requirements.txt diff --git a/hackfest/tapi/tapi_app/requirements.txt b/hackfest/tapi/tapi_app/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..43c1b1341f489fd80fe350d1e7916df6a3c5506d --- /dev/null +++ b/hackfest/tapi/tapi_app/requirements.txt @@ -0,0 +1,2 @@ +matplotlib == 3.6.1 +networkx == 2.6.3 diff --git a/hackfest/tapi/tapi_app/tapi_app.py b/hackfest/tapi/tapi_app/tapi_app.py new file mode 100644 index 0000000000000000000000000000000000000000..195306c7b1e0f586f03b1c625846550a2cc06c57 --- /dev/null +++ b/hackfest/tapi/tapi_app/tapi_app.py @@ -0,0 +1,51 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import json, requests, networkx as nx +from requests.auth import HTTPBasicAuth + +IP = '127.0.0.1' +PORT = 8080 +TOPO_UUID = 'ols-topo' +TOPO_URL = 'http://{:s}:{:d}/restconf/data/tapi-common:context/'\ + 'tapi-topology:topology-context/topology={:s}/' + +def retrieve_topology(ip, port, topo_uuid, user='', passwd=''): + print ("Reading network-topology") + topo_url = TOPO_URL.format(ip, port, topo_uuid) + response = requests.get(topo_url, auth=HTTPBasicAuth(user, passwd)) + topology = response.json() + print ("Retrieved Topology: " + json.dumps(topology, indent=4)) + return topology + +def to_png_matplotlib(nwk_graph, topo_uuid): + import matplotlib.pyplot as plt + nx.draw(nwk_graph, pos=nx.spring_layout(nwk_graph, scale=500)) + plt.show(block=False) + plt.savefig('{:s}.png'.format(topo_uuid), format='PNG') + plt.close() + +def to_png_pydot(nwk_graph, topo_uuid): + from networkx.drawing.nx_pydot import write_dot, to_pydot + write_dot(nwk_graph, '{:s}.dot'.format(topo_uuid)) + dot_graph = to_pydot(nwk_graph) + with open('{:s}.png'.format(topo_uuid), 'wb') as f: + f.write(dot_graph.create(format='png')) + +def draw_topology(topology): + nwk_graph = nx.DiGraph() + + for node in topology['node']: + if node['owned-node-edge-point']: + nwk_graph.add_node(node['uuid']) + + for link in topology['link']: + node1 = link['node-edge-point'][0]['node-uuid'] + node2 = link['node-edge-point'][1]['node-uuid'] + nwk_graph.add_edge(node1, node2) + + #to_png_matplotlib(nwk_graph, topology['uuid']) + to_png_pydot(nwk_graph, topology['uuid']) + +if __name__ == "__main__": + draw_topology(retrieve_topology(IP, PORT, TOPO_UUID)) diff --git a/hackfest/tfs-descriptors/context-topology.json b/hackfest/tfs-descriptors/context-topology.json new file mode 100644 index 0000000000000000000000000000000000000000..36b3c44fd61fdec9d208a82a11d5a16c3671d004 --- /dev/null +++ b/hackfest/tfs-descriptors/context-topology.json @@ -0,0 +1,19 @@ +{ + "contexts": [ + { + "context_id": {"context_uuid": {"uuid": "admin"}}, + "topology_ids": [], + "service_ids": [] + } + ], + "topologies": [ + { + "topology_id": { + "context_id": {"context_uuid": {"uuid": "admin"}}, + "topology_uuid": {"uuid": "admin"} + }, + "device_ids": [], + "link_ids": [] + } + ] +} diff --git a/hackfest/tfs-descriptors/device-all.json b/hackfest/tfs-descriptors/device-all.json new file mode 100644 index 0000000000000000000000000000000000000000..8cb8e031488f0dd1fa4176b8d20d01fe2d24abc9 --- /dev/null +++ b/hackfest/tfs-descriptors/device-all.json @@ -0,0 +1,84 @@ +{ + "devices": [ + { + "device_id": {"device_uuid": {"uuid": "R1"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8301"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", + "force_running": false, "hostkey_verify": false, "look_for_keys": false, + "allow_agent": false, "delete_rule": true, "device_params": {"name": "default"}, + "manager_params": {"timeout" : 120} + }}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + }, + { + "device_id": {"device_uuid": {"uuid": "R2"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8302"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", + "force_running": false, "hostkey_verify": false, "look_for_keys": false, + "allow_agent": false, "delete_rule": true, "device_params": {"name": "default"}, + "manager_params": {"timeout" : 120} + }}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + }, + { + "device_id": {"device_uuid": {"uuid": "R3"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8303"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", + "force_running": false, "hostkey_verify": false, "look_for_keys": false, + "allow_agent": false, "delete_rule": true, "device_params": {"name": "default"}, + "manager_params": {"timeout" : 120} + }}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + }, + { + "device_id": {"device_uuid": {"uuid": "R4"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8304"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", + "force_running": false, "hostkey_verify": false, "look_for_keys": false, + "allow_agent": false, "delete_rule": true, "device_params": {"name": "default"}, + "manager_params": {"timeout" : 120} + }}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + }, + { + "device_id": {"device_uuid": {"uuid": "OLS"}}, + "device_type": "open-line-system", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"timeout": 120}}} + ]}, + "device_operational_status": 1, + "device_drivers": [2], + "device_endpoints": [] + } + ] +} diff --git a/hackfest/tfs-descriptors/device-netconf-openconfig.json b/hackfest/tfs-descriptors/device-netconf-openconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..7e01f037e744493a8cd1190b2510ed3d4d1c86aa --- /dev/null +++ b/hackfest/tfs-descriptors/device-netconf-openconfig.json @@ -0,0 +1,21 @@ +{ + "devices": [ + { + "device_id": {"device_uuid": {"uuid": "R1"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.10"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8300"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", + "force_running": false, "hostkey_verify": false, "look_for_keys": false, + "allow_agent": false, "delete_rule": true, "device_params": {"name": "default"}, + "manager_params": {"timeout" : 15} + }}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + } + ] +} diff --git a/hackfest/tfs-descriptors/device-tapi-ols.json b/hackfest/tfs-descriptors/device-tapi-ols.json new file mode 100644 index 0000000000000000000000000000000000000000..3dcdc562edb50e0b63e69f5745600110dd42151c --- /dev/null +++ b/hackfest/tfs-descriptors/device-tapi-ols.json @@ -0,0 +1,16 @@ +{ + "devices": [ + { + "device_id": {"device_uuid": {"uuid": "OLS"}}, + "device_type": "open-line-system", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.10"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8080"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": {"timeout": 120}}} + ]}, + "device_operational_status": 1, + "device_drivers": [2], + "device_endpoints": [] + } + ] +} diff --git a/hackfest/tfs-descriptors/links.json b/hackfest/tfs-descriptors/links.json new file mode 100644 index 0000000000000000000000000000000000000000..8a991fd622ac89bcb6fafed5abe61de0c6e17641 --- /dev/null +++ b/hackfest/tfs-descriptors/links.json @@ -0,0 +1,63 @@ +{ + "links": [ + { + "link_id": {"link_uuid": {"uuid": "R1/1/1==OLS/node-1-port-15-input"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "1/1"}}, + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-1-port-15-input"}} + ] + }, + { + "link_id": {"link_uuid": {"uuid": "OLS/node-1-port-15-output==R1/1/1"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-1-port-15-output"}}, + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "1/1"}} + ] + }, + + { + "link_id": {"link_uuid": {"uuid": "R2/1/1==OLS/node-2-port-15-input"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "1/1"}}, + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-2-port-15-input"}} + ] + }, + { + "link_id": {"link_uuid": {"uuid": "OLS/node-2-port-15-output==R2/1/1"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-2-port-15-output"}}, + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "1/1"}} + ] + }, + + { + "link_id": {"link_uuid": {"uuid": "R3/1/1==OLS/node-3-port-15-input"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "1/1"}}, + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-3-port-15-input"}} + ] + }, + { + "link_id": {"link_uuid": {"uuid": "OLS/node-3-port-15-output==R3/1/1"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-3-port-15-output"}}, + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "1/1"}} + ] + }, + + { + "link_id": {"link_uuid": {"uuid": "R4/1/1==OLS/node-4-port-15-input"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "1/1"}}, + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-4-port-15-input"}} + ] + }, + { + "link_id": {"link_uuid": {"uuid": "OLS/node-4-port-15-output==R4/1/1"}}, + "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "OLS"}}, "endpoint_uuid": {"uuid": "node-4-port-15-output"}}, + {"device_id": {"device_uuid": {"uuid": "R4"}}, "endpoint_uuid": {"uuid": "1/1"}} + ] + } + ] +} diff --git a/hackfest/tfs-descriptors/old/device.json b/hackfest/tfs-descriptors/old/device.json new file mode 100644 index 0000000000000000000000000000000000000000..03736314dee9ea0a8aae27627361dcdd24457fca --- /dev/null +++ b/hackfest/tfs-descriptors/old/device.json @@ -0,0 +1,77 @@ +{ + "contexts": [ + { + "context_id": {"context_uuid": {"uuid": "admin"}}, + "topology_ids": [], + "service_ids": [] + } + ], + "topologies": [ + { + "topology_id": {"topology_uuid": {"uuid": "admin"}, "context_id": {"context_uuid": {"uuid": "admin"}}}, + "device_ids": [ + {"device_uuid": {"uuid": "R1"}}, + {"device_uuid": {"uuid": "R2"}}, + {"device_uuid": {"uuid": "R3"}} + ], + "link_ids": [ + {"link_uuid":{"uuid":"R1-1/1==R2-1/2"}}, + {"link_uuid":{"uuid":"R2-1/1==R3-1/2"}} + ] + } + ], + "devices": [ + { + "device_id": {"device_uuid": {"uuid": "R1"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8301"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": "{\"username\": \"admin\", \"password\": \"admin\", \"force_running\": true, \"hostkey_verify\": false, \"look_for_keys\": false, \"allow_agent\": true, \"delete_rule\": false, \"device_params\" : {\"name\": \"default\"}, \"manager_params\" : {\"timeout\": 15}}"}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + }, + { + "device_id": {"device_uuid": {"uuid": "R2"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8302"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": "{\"username\": \"admin\", \"password\": \"admin\", \"force_running\": true, \"hostkey_verify\": false, \"look_for_keys\": false, \"allow_agent\": true, \"delete_rule\": false, \"device_params\" : {\"name\": \"default\"}, \"manager_params\" : {\"timeout\": 15}}"}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + }, + { + "device_id": {"device_uuid": {"uuid": "R3"}}, + "device_type": "packet-router", + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "8303"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": "{\"username\": \"admin\", \"password\": \"admin\", \"force_running\": true, \"hostkey_verify\": false, \"look_for_keys\": false, \"allow_agent\": true, \"delete_rule\": false, \"device_params\" : {\"name\": \"default\"}, \"manager_params\" : {\"timeout\": 15}}"}} + ]}, + "device_operational_status": 1, + "device_drivers": [1], + "device_endpoints": [] + } + ], + "links": [ + { + "link_id":{"link_uuid":{"uuid":"R1-1/1==R2-1/2"}}, + "link_endpoint_ids":[ + {"device_id":{"device_uuid":{"uuid":"R1"}},"endpoint_uuid":{"uuid":"1/1"}}, + {"device_id":{"device_uuid":{"uuid":"R2"}},"endpoint_uuid":{"uuid":"1/2"}} + ] + }, + { + "link_id":{"link_uuid":{"uuid":"R2-1/1==R3-1/2"}}, + "link_endpoint_ids":[ + {"device_id":{"device_uuid":{"uuid":"R2"}},"endpoint_uuid":{"uuid":"1/1"}}, + {"device_id":{"device_uuid":{"uuid":"R3"}},"endpoint_uuid":{"uuid":"1/2"}} + ] + } + ] +} diff --git a/hackfest/tfs-descriptors/old/service.json b/hackfest/tfs-descriptors/old/service.json new file mode 100644 index 0000000000000000000000000000000000000000..a25d0171dbfdbf174a877151201752c76759514a --- /dev/null +++ b/hackfest/tfs-descriptors/old/service.json @@ -0,0 +1,27 @@ +{ + "contexts": [ + { + "context_id": {"context_uuid": {"uuid": "admin"}}, + "topology_ids": [], + "service_ids": [ + {"context_id":{"context_uuid":{"uuid":"admin"}},"service_uuid":{"uuid":"hackfest-svc"}} + ] + } + ], + "services": [ + { + "service_id":{"context_id":{"context_uuid":{"uuid":"admin"}},"service_uuid":{"uuid":"hackfest-svc"}}, + "service_type": 1, + "service_status":{"service_status": 1}, + "service_endpoint_ids":[ + {"device_id":{"device_uuid":{"uuid":"R1"}},"endpoint_uuid":{"uuid":"1/3"}}, + {"device_id":{"device_uuid":{"uuid":"R2"}},"endpoint_uuid":{"uuid":"1/3"}} + ], + "service_constraints":[ + {"custom": {"constraint_type": "bandwidth[gbps]", "constraint_value": "10.0"}}, + {"custom": {"constraint_type": "latency[ms]", "constraint_value": "20.0"}} + ], + "service_config":{"config_rules":[]} + } + ] +} diff --git a/hackfest/tfs-descriptors/service-l3vpn.json b/hackfest/tfs-descriptors/service-l3vpn.json new file mode 100644 index 0000000000000000000000000000000000000000..457ba1a509aebc5eaea8caa37a09ac62ef286f32 --- /dev/null +++ b/hackfest/tfs-descriptors/service-l3vpn.json @@ -0,0 +1,44 @@ +{ + "services": [ + { + "service_id": { + "context_id": {"context_uuid": {"uuid": "admin"}}, + "service_uuid": {"uuid": "netx-l3-svc"} + }, + "service_type": 1, + "service_status": {"service_status": 1}, + "service_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "1/2"}}, + {"device_id": {"device_uuid": {"uuid": "R3"}}, "endpoint_uuid": {"uuid": "1/2"}} + ], + "service_constraints": [ + {"custom": {"constraint_type": "bandwidth[gbps]", "constraint_value": "10.0"}}, + {"custom": {"constraint_type": "latency[ms]", "constraint_value": "15.2"}} + ], + "service_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "/settings", "resource_value": { + "address_families": ["IPV4"], + "bgp_as": 65000, + "bgp_route_target": "65000:333", + "mtu": 1512 + }}}, + {"action": 1, "custom": {"resource_key": "/device[R1]/endpoint[1/2]/settings", "resource_value": { + "address_ip": "3.3.2.1", + "address_prefix": 24, + "route_distinguisher": "65000:123", + "router_id": "10.10.10.1", + "sub_interface_index": 400, + "vlan_id": 400 + }}}, + {"action": 1, "custom": {"resource_key": "/device[R3]/endpoint[1/2]/settings", "resource_value": { + "address_ip": "3.3.1.1", + "address_prefix": 24, + "route_distinguisher": "65000:321", + "router_id": "20.20.20.1", + "sub_interface_index": 400, + "vlan_id": 500 + }}} + ]} + } + ] +} diff --git a/hackfest/yang/binding_topology.py b/hackfest/yang/binding_topology.py new file mode 100644 index 0000000000000000000000000000000000000000..12ea1901b5a40b736434978b145a6d9110a16470 --- /dev/null +++ b/hackfest/yang/binding_topology.py @@ -0,0 +1,714 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class yc_port_topology__topology_node_port(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/node/port. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__port_id','__layer_protocol_name',) + + _yang_name = 'port' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__port_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ETH': {}, 'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['topology', 'node', 'port'] + + def _get_port_id(self): + """ + Getter method for port_id, mapped from YANG variable /topology/node/port/port_id (string) + """ + return self.__port_id + + def _set_port_id(self, v, load=False): + """ + Setter method for port_id, mapped from YANG variable /topology/node/port/port_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_port_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__port_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_port_id(self): + self.__port_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="port-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_layer_protocol_name(self): + """ + Getter method for layer_protocol_name, mapped from YANG variable /topology/node/port/layer_protocol_name (layer-protocol-name) + """ + return self.__layer_protocol_name + + def _set_layer_protocol_name(self, v, load=False): + """ + Setter method for layer_protocol_name, mapped from YANG variable /topology/node/port/layer_protocol_name (layer-protocol-name) + If this variable is read-only (config: false) in the + source YANG file, then _set_layer_protocol_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_layer_protocol_name() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ETH': {}, 'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """layer_protocol_name must be of a type compatible with layer-protocol-name""", + 'defined-type': "topology:layer-protocol-name", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ETH': {}, 'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True)""", + }) + + self.__layer_protocol_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_layer_protocol_name(self): + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={'ETH': {}, 'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='layer-protocol-name', is_config=True) + + port_id = __builtin__.property(_get_port_id, _set_port_id) + layer_protocol_name = __builtin__.property(_get_layer_protocol_name, _set_layer_protocol_name) + + + _pyangbind_elements = OrderedDict([('port_id', port_id), ('layer_protocol_name', layer_protocol_name), ]) + + +class yc_node_topology__topology_node(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/node. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__node_id','__port',) + + _yang_name = 'node' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__node_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + self.__port = YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['topology', 'node'] + + def _get_node_id(self): + """ + Getter method for node_id, mapped from YANG variable /topology/node/node_id (string) + """ + return self.__node_id + + def _set_node_id(self, v, load=False): + """ + Setter method for node_id, mapped from YANG variable /topology/node/node_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_node_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_node_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """node_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__node_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_node_id(self): + self.__node_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="node-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_port(self): + """ + Getter method for port, mapped from YANG variable /topology/node/port (list) + """ + return self.__port + + def _set_port(self, v, load=False): + """ + Setter method for port, mapped from YANG variable /topology/node/port (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """port must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__port = t + if hasattr(self, '_set'): + self._set() + + def _unset_port(self): + self.__port = YANGDynClass(base=YANGListType("port_id",yc_port_topology__topology_node_port, yang_name="port", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='port-id', extensions=None), is_container='list', yang_name="port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + node_id = __builtin__.property(_get_node_id, _set_node_id) + port = __builtin__.property(_get_port, _set_port) + + + _pyangbind_elements = OrderedDict([('node_id', node_id), ('port', port), ]) + + +class yc_link_topology__topology_link(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology/link. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__link_id','__source_node','__target_node','__source_port','__target_port',) + + _yang_name = 'link' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__link_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['topology', 'link'] + + def _get_link_id(self): + """ + Getter method for link_id, mapped from YANG variable /topology/link/link_id (string) + """ + return self.__link_id + + def _set_link_id(self, v, load=False): + """ + Setter method for link_id, mapped from YANG variable /topology/link/link_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_link_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_link_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """link_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True)""", + }) + + self.__link_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_link_id(self): + self.__link_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="link-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:topology', defining_module='topology', yang_type='string', is_config=True) + + + def _get_source_node(self): + """ + Getter method for source_node, mapped from YANG variable /topology/link/source_node (leafref) + """ + return self.__source_node + + def _set_source_node(self, v, load=False): + """ + Setter method for source_node, mapped from YANG variable /topology/link/source_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__source_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_node(self): + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_target_node(self): + """ + Getter method for target_node, mapped from YANG variable /topology/link/target_node (leafref) + """ + return self.__target_node + + def _set_target_node(self, v, load=False): + """ + Setter method for target_node, mapped from YANG variable /topology/link/target_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__target_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_node(self): + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_source_port(self): + """ + Getter method for source_port, mapped from YANG variable /topology/link/source_port (leafref) + """ + return self.__source_port + + def _set_source_port(self, v, load=False): + """ + Setter method for source_port, mapped from YANG variable /topology/link/source_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__source_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_port(self): + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + + def _get_target_port(self): + """ + Getter method for target_port, mapped from YANG variable /topology/link/target_port (leafref) + """ + return self.__target_port + + def _set_target_port(self, v, load=False): + """ + Setter method for target_port, mapped from YANG variable /topology/link/target_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True)""", + }) + + self.__target_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_port(self): + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:topology', defining_module='topology', yang_type='leafref', is_config=True) + + link_id = __builtin__.property(_get_link_id, _set_link_id) + source_node = __builtin__.property(_get_source_node, _set_source_node) + target_node = __builtin__.property(_get_target_node, _set_target_node) + source_port = __builtin__.property(_get_source_port, _set_source_port) + target_port = __builtin__.property(_get_target_port, _set_target_port) + + + _pyangbind_elements = OrderedDict([('link_id', link_id), ('source_node', source_node), ('target_node', target_node), ('source_port', source_port), ('target_port', target_port), ]) + + +class yc_topology_topology__topology(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__node','__link',) + + _yang_name = 'topology' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__node = YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + self.__link = YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return ['topology'] + + def _get_node(self): + """ + Getter method for node, mapped from YANG variable /topology/node (list) + """ + return self.__node + + def _set_node(self, v, load=False): + """ + Setter method for node, mapped from YANG variable /topology/node (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """node must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__node = t + if hasattr(self, '_set'): + self._set() + + def _unset_node(self): + self.__node = YANGDynClass(base=YANGListType("node_id",yc_node_topology__topology_node, yang_name="node", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='node-id', extensions=None), is_container='list', yang_name="node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + + def _get_link(self): + """ + Getter method for link, mapped from YANG variable /topology/link (list) + """ + return self.__link + + def _set_link(self, v, load=False): + """ + Setter method for link, mapped from YANG variable /topology/link (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_link is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_link() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """link must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True)""", + }) + + self.__link = t + if hasattr(self, '_set'): + self._set() + + def _unset_link(self): + self.__link = YANGDynClass(base=YANGListType("link_id",yc_link_topology__topology_link, yang_name="link", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='link-id', extensions=None), is_container='list', yang_name="link", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='list', is_config=True) + + node = __builtin__.property(_get_node, _set_node) + link = __builtin__.property(_get_link, _set_link) + + + _pyangbind_elements = OrderedDict([('node', node), ('link', link), ]) + + +class topology(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module topology - based on the path /topology. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Basic example of network topology + """ + __slots__ = ('_path_helper', '_extmethods', '__topology',) + + _yang_name = 'topology' + _yang_namespace = 'urn:topology' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__topology = YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_topology(self): + """ + Getter method for topology, mapped from YANG variable /topology (container) + """ + return self.__topology + + def _set_topology(self, v, load=False): + """ + Setter method for topology, mapped from YANG variable /topology (container) + If this variable is read-only (config: false) in the + source YANG file, then _set_topology is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_topology() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """topology must be of a type compatible with container""", + 'defined-type': "container", + 'generated-type': """YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True)""", + }) + + self.__topology = t + if hasattr(self, '_set'): + self._set() + + def _unset_topology(self): + self.__topology = YANGDynClass(base=yc_topology_topology__topology, is_container='container', yang_name="topology", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:topology', defining_module='topology', yang_type='container', is_config=True) + + topology = __builtin__.property(_get_topology, _set_topology) + + + _pyangbind_elements = OrderedDict([('topology', topology), ]) + + diff --git a/hackfest/yang/connection/binding_connection.py b/hackfest/yang/connection/binding_connection.py new file mode 100644 index 0000000000000000000000000000000000000000..6da8d21d942afce3e3502783def6179bef406cae --- /dev/null +++ b/hackfest/yang/connection/binding_connection.py @@ -0,0 +1,411 @@ +# -*- coding: utf-8 -*- +from operator import attrgetter +from pyangbind.lib.yangtypes import RestrictedPrecisionDecimalType +from pyangbind.lib.yangtypes import RestrictedClassType +from pyangbind.lib.yangtypes import TypedListType +from pyangbind.lib.yangtypes import YANGBool +from pyangbind.lib.yangtypes import YANGListType +from pyangbind.lib.yangtypes import YANGDynClass +from pyangbind.lib.yangtypes import ReferenceType +from pyangbind.lib.base import PybindBase +from collections import OrderedDict +from decimal import Decimal +from bitarray import bitarray +import six + +# PY3 support of some PY2 keywords (needs improved) +if six.PY3: + import builtins as __builtin__ + long = int +elif six.PY2: + import __builtin__ + +class yc_connection_connection__connection(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module connection - based on the path /connection. Each member element of + the container is represented as a class variable - with a specific + YANG type. + """ + __slots__ = ('_path_helper', '_extmethods', '__connection_id','__source_node','__target_node','__source_port','__target_port','__bandwidth','__layer_protocol_name',) + + _yang_name = 'connection' + _yang_namespace = 'urn:connection' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + self.__connection_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [u'connection'] + + def _get_connection_id(self): + """ + Getter method for connection_id, mapped from YANG variable /connection/connection_id (string) + """ + return self.__connection_id + + def _set_connection_id(self, v, load=False): + """ + Setter method for connection_id, mapped from YANG variable /connection/connection_id (string) + If this variable is read-only (config: false) in the + source YANG file, then _set_connection_id is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_connection_id() directly. + """ + parent = getattr(self, "_parent", None) + if parent is not None and load is False: + raise AttributeError("Cannot set keys directly when" + + " within an instantiated list") + + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """connection_id must be of a type compatible with string""", + 'defined-type': "string", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True)""", + }) + + self.__connection_id = t + if hasattr(self, '_set'): + self._set() + + def _unset_connection_id(self): + self.__connection_id = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="connection-id", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, is_keyval=True, namespace='urn:connection', defining_module='connection', yang_type='string', is_config=True) + + + def _get_source_node(self): + """ + Getter method for source_node, mapped from YANG variable /connection/source_node (leafref) + """ + return self.__source_node + + def _set_source_node(self, v, load=False): + """ + Setter method for source_node, mapped from YANG variable /connection/source_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__source_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_node(self): + self.__source_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_target_node(self): + """ + Getter method for target_node, mapped from YANG variable /connection/target_node (leafref) + """ + return self.__target_node + + def _set_target_node(self, v, load=False): + """ + Setter method for target_node, mapped from YANG variable /connection/target_node (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_node is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_node() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_node must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__target_node = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_node(self): + self.__target_node = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-node", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_source_port(self): + """ + Getter method for source_port, mapped from YANG variable /connection/source_port (leafref) + """ + return self.__source_port + + def _set_source_port(self, v, load=False): + """ + Setter method for source_port, mapped from YANG variable /connection/source_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_source_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_source_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """source_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__source_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_source_port(self): + self.__source_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="source-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_target_port(self): + """ + Getter method for target_port, mapped from YANG variable /connection/target_port (leafref) + """ + return self.__target_port + + def _set_target_port(self, v, load=False): + """ + Setter method for target_port, mapped from YANG variable /connection/target_port (leafref) + If this variable is read-only (config: false) in the + source YANG file, then _set_target_port is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_target_port() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """target_port must be of a type compatible with leafref""", + 'defined-type': "leafref", + 'generated-type': """YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True)""", + }) + + self.__target_port = t + if hasattr(self, '_set'): + self._set() + + def _unset_target_port(self): + self.__target_port = YANGDynClass(base=six.text_type, is_leaf=True, yang_name="target-port", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='leafref', is_config=True) + + + def _get_bandwidth(self): + """ + Getter method for bandwidth, mapped from YANG variable /connection/bandwidth (uint32) + """ + return self.__bandwidth + + def _set_bandwidth(self, v, load=False): + """ + Setter method for bandwidth, mapped from YANG variable /connection/bandwidth (uint32) + If this variable is read-only (config: false) in the + source YANG file, then _set_bandwidth is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_bandwidth() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """bandwidth must be of a type compatible with uint32""", + 'defined-type': "uint32", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True)""", + }) + + self.__bandwidth = t + if hasattr(self, '_set'): + self._set() + + def _unset_bandwidth(self): + self.__bandwidth = YANGDynClass(base=RestrictedClassType(base_type=long, restriction_dict={'range': ['0..4294967295']}, int_size=32), is_leaf=True, yang_name="bandwidth", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='uint32', is_config=True) + + + def _get_layer_protocol_name(self): + """ + Getter method for layer_protocol_name, mapped from YANG variable /connection/layer_protocol_name (topology:layer-protocol-name) + """ + return self.__layer_protocol_name + + def _set_layer_protocol_name(self, v, load=False): + """ + Setter method for layer_protocol_name, mapped from YANG variable /connection/layer_protocol_name (topology:layer-protocol-name) + If this variable is read-only (config: false) in the + source YANG file, then _set_layer_protocol_name is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_layer_protocol_name() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """layer_protocol_name must be of a type compatible with topology:layer-protocol-name""", + 'defined-type': "topology:layer-protocol-name", + 'generated-type': """YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True)""", + }) + + self.__layer_protocol_name = t + if hasattr(self, '_set'): + self._set() + + def _unset_layer_protocol_name(self): + self.__layer_protocol_name = YANGDynClass(base=RestrictedClassType(base_type=six.text_type, restriction_type="dict_key", restriction_arg={u'ETH': {}, u'OPTICAL': {}},), is_leaf=True, yang_name="layer-protocol-name", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, namespace='urn:connection', defining_module='connection', yang_type='topology:layer-protocol-name', is_config=True) + + connection_id = __builtin__.property(_get_connection_id, _set_connection_id) + source_node = __builtin__.property(_get_source_node, _set_source_node) + target_node = __builtin__.property(_get_target_node, _set_target_node) + source_port = __builtin__.property(_get_source_port, _set_source_port) + target_port = __builtin__.property(_get_target_port, _set_target_port) + bandwidth = __builtin__.property(_get_bandwidth, _set_bandwidth) + layer_protocol_name = __builtin__.property(_get_layer_protocol_name, _set_layer_protocol_name) + + + _pyangbind_elements = OrderedDict([('connection_id', connection_id), ('source_node', source_node), ('target_node', target_node), ('source_port', source_port), ('target_port', target_port), ('bandwidth', bandwidth), ('layer_protocol_name', layer_protocol_name), ]) + + +class connection(PybindBase): + """ + This class was auto-generated by the PythonClass plugin for PYANG + from YANG module connection - based on the path /connection. Each member element of + the container is represented as a class variable - with a specific + YANG type. + + YANG Description: Basic example of network topology + """ + __slots__ = ('_path_helper', '_extmethods', '__connection',) + + _yang_name = 'connection' + _yang_namespace = 'urn:connection' + + _pybind_generated_by = 'container' + + def __init__(self, *args, **kwargs): + + self._path_helper = False + + self._extmethods = False + self.__connection = YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + + load = kwargs.pop("load", None) + if args: + if len(args) > 1: + raise TypeError("cannot create a YANG container with >1 argument") + all_attr = True + for e in self._pyangbind_elements: + if not hasattr(args[0], e): + all_attr = False + break + if not all_attr: + raise ValueError("Supplied object did not have the correct attributes") + for e in self._pyangbind_elements: + nobj = getattr(args[0], e) + if nobj._changed() is False: + continue + setmethod = getattr(self, "_set_%s" % e) + if load is None: + setmethod(getattr(args[0], e)) + else: + setmethod(getattr(args[0], e), load=load) + + def _path(self): + if hasattr(self, "_parent"): + return self._parent._path()+[self._yang_name] + else: + return [] + + def _get_connection(self): + """ + Getter method for connection, mapped from YANG variable /connection (list) + """ + return self.__connection + + def _set_connection(self, v, load=False): + """ + Setter method for connection, mapped from YANG variable /connection (list) + If this variable is read-only (config: false) in the + source YANG file, then _set_connection is considered as a private + method. Backends looking to populate this variable should + do so via calling thisObj._set_connection() directly. + """ + if hasattr(v, "_utype"): + v = v._utype(v) + try: + t = YANGDynClass(v,base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + except (TypeError, ValueError): + raise ValueError({ + 'error-string': """connection must be of a type compatible with list""", + 'defined-type': "list", + 'generated-type': """YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True)""", + }) + + self.__connection = t + if hasattr(self, '_set'): + self._set() + + def _unset_connection(self): + self.__connection = YANGDynClass(base=YANGListType("connection_id",yc_connection_connection__connection, yang_name="connection", parent=self, is_container='list', user_ordered=False, path_helper=self._path_helper, yang_keys='connection-id', extensions=None), is_container='list', yang_name="connection", parent=self, path_helper=self._path_helper, extmethods=self._extmethods, register_paths=True, extensions=None, namespace='urn:connection', defining_module='connection', yang_type='list', is_config=True) + + connection = __builtin__.property(_get_connection, _set_connection) + + + _pyangbind_elements = OrderedDict([('connection', connection), ]) + + diff --git a/hackfest/yang/connection/connection.py b/hackfest/yang/connection/connection.py new file mode 100644 index 0000000000000000000000000000000000000000..c404d2f5c06508a5b23d733b618dc16dc0b20a9f --- /dev/null +++ b/hackfest/yang/connection/connection.py @@ -0,0 +1,15 @@ +from binding_connection import connection +from pyangbind.lib.serialise import pybindIETFXMLEncoder +import pyangbind.lib.pybindJSON as pybindJSON + +con = connection() +con1 = con.connection.add("con1") +con1.source_node = "node1" +con1.target_node = "node2" +con1.source_port = "node1portA" +con1.target_port = "node2portA" +con1.bandwidth = 1000 +con1.layer_protocol_name = "OPTICAL" + +print(pybindIETFXMLEncoder.serialise(con)) +print(pybindJSON.dumps(con)) diff --git a/hackfest/yang/connection/connection.tree b/hackfest/yang/connection/connection.tree new file mode 100644 index 0000000000000000000000000000000000000000..cf8954eb7ceeae52d22ba73b37c482804dcca068 --- /dev/null +++ b/hackfest/yang/connection/connection.tree @@ -0,0 +1,9 @@ +module: connection + +--rw connection* [connection-id] + +--rw connection-id string + +--rw source-node? -> /topology:topology/node/node-id + +--rw target-node? -> /topology:topology/node/node-id + +--rw source-port? -> /topology:topology/node/port/port-id + +--rw target-port? -> /topology:topology/node/port/port-id + +--rw bandwidth? uint32 + +--rw layer-protocol-name? topology:layer-protocol-name diff --git a/hackfest/yang/connection/connection.uml b/hackfest/yang/connection/connection.uml new file mode 100644 index 0000000000000000000000000000000000000000..9abf20da021b920eb4b34e963192c14e178318ad --- /dev/null +++ b/hackfest/yang/connection/connection.uml @@ -0,0 +1,38 @@ +'Download plantuml from http://plantuml.sourceforge.net/ +'Generate png with java -jar plantuml.jar +'Output in img/.png +'If Java spits out memory error increase heap size with java -Xmx1024m -jar plantuml.jar +@startuml img/connection.png +hide empty fields +hide empty methods +hide <> circle +hide <> circle +hide <> circle +hide <> stereotype +hide <> circle +page 1x1 +Title connection +package "topology:topology" as topology_topology { +} +note top of connection_connection : Namespace: urn:connection \nPrefix: connection \nOrganization : \nCTTC \nContact : \nricard.vilalta@cttc.es \nRevision : 2018-08-24 \n +package "connection:connection" as connection_connection { +topology_topology +-- connection_connection +class "connection" as connection << (M, #33CCFF) module>> +class "connection" as connection_I_connection_grouping <<(G,Lime) grouping>> +connection_I_connection_grouping : connection-id : string +connection_I_connection_grouping : source-node : leafref : /topology:topology/topology:node/topology:node-id +connection_I_connection_grouping : target-node : leafref : /topology:topology/topology:node/topology:node-id +connection_I_connection_grouping : source-port : leafref : /topology:topology/topology:node/topology:port/topology:port-id +connection_I_connection_grouping : target-port : leafref : /topology:topology/topology:node/topology:port/topology:port-id +connection_I_connection_grouping : bandwidth : uint32 +connection_I_connection_grouping : layer-protocol-name : topology:layer-protocol-name +class "connection" as connection_I_connection << (L, #FF7700) list>> +connection *-- "0..N" connection_I_connection +connection_I_connection : connection {uses} +} + +connection_I_connection --> connection_I_connection_grouping : uses +center footer + UML Generated : 2018-11-08 09:13 + endfooter +@enduml diff --git a/hackfest/yang/connection/connection.yang b/hackfest/yang/connection/connection.yang new file mode 100644 index 0000000000000000000000000000000000000000..b94f9f81d932c829c4bb13f1fdd85781e8a6cc33 --- /dev/null +++ b/hackfest/yang/connection/connection.yang @@ -0,0 +1,68 @@ +module connection { + + namespace "urn:connection"; + + prefix "connection"; + + import topology { + prefix "topology"; + } + + organization + "CTTC"; + + contact + "ricard.vilalta@cttc.es"; + + description + "Basic example of network topology"; + + revision "2018-08-24" { + description "Basic example of network topology"; + reference ""; + } + + /** + * Groupings + */ + grouping connection { + leaf connection-id { + type string; + } + leaf source-node { + type leafref { + path "/topology:topology/topology:node/topology:node-id"; + } + } + leaf target-node { + type leafref { + path "/topology:topology/topology:node/topology:node-id"; + } + } + leaf source-port { + type leafref { + path "/topology:topology/topology:node/topology:port/topology:port-id"; + } + } + leaf target-port { + type leafref { + path "/topology:topology/topology:node/topology:port/topology:port-id"; + } + } + leaf bandwidth { + type uint32; + } + leaf layer-protocol-name { + type topology:layer-protocol-name; + } + } + + /** + * Container/lists + */ + list connection { + key "connection-id"; + uses connection; + } + +} diff --git a/hackfest/yang/img/connection.png b/hackfest/yang/img/connection.png new file mode 100644 index 0000000000000000000000000000000000000000..f282df27e0ffaa079b007157c2078d1e95655d9e Binary files /dev/null and b/hackfest/yang/img/connection.png differ diff --git a/hackfest/yang/img/topology.png b/hackfest/yang/img/topology.png new file mode 100644 index 0000000000000000000000000000000000000000..69ea84a1ee6a1396233381841ffef1e00edeb88d Binary files /dev/null and b/hackfest/yang/img/topology.png differ diff --git a/hackfest/yang/plantuml.jar b/hackfest/yang/plantuml.jar new file mode 100644 index 0000000000000000000000000000000000000000..880a35ec71b4de28da4541603ee08c5189831791 Binary files /dev/null and b/hackfest/yang/plantuml.jar differ diff --git a/hackfest/yang/topology.py b/hackfest/yang/topology.py new file mode 100644 index 0000000000000000000000000000000000000000..441300fb5ca91243e55bbd1995b6610109b52d7e --- /dev/null +++ b/hackfest/yang/topology.py @@ -0,0 +1,20 @@ +from binding_topology import topology +from pyangbind.lib.serialise import pybindIETFXMLEncoder +import pyangbind.lib.pybindJSON as pybindJSON + +topo = topology() + +node1 = topo.topology.node.add("node1") +node1.port.add("node1portA") + +node2 = topo.topology.node.add("node2") +node2.port.add("node2portA") + +link = topo.topology.link.add("link1") +link.source_node = "node1" +link.target_node = "node2" +link.source_port = "node1portA" +link.target_port = "node2portA" + +print(pybindIETFXMLEncoder.serialise(topo)) +print(pybindJSON.dumps(topo)) diff --git a/hackfest/yang/topology.tree b/hackfest/yang/topology.tree new file mode 100644 index 0000000000000000000000000000000000000000..0baf4768f3cc85c5465d04b0ff1a55b939077167 --- /dev/null +++ b/hackfest/yang/topology.tree @@ -0,0 +1,13 @@ +module: topology + +--rw topology + +--rw node* [node-id] + | +--rw node-id string + | +--rw port* [port-id] + | +--rw port-id string + | +--rw layer-protocol-name? layer-protocol-name + +--rw link* [link-id] + +--rw link-id string + +--rw source-node? -> /topology/node/node-id + +--rw target-node? -> /topology/node/node-id + +--rw source-port? -> /topology/node/port/port-id + +--rw target-port? -> /topology/node/port/port-id diff --git a/hackfest/yang/topology.uml b/hackfest/yang/topology.uml new file mode 100644 index 0000000000000000000000000000000000000000..b4210312c1a594df306898de78835eb50989563d --- /dev/null +++ b/hackfest/yang/topology.uml @@ -0,0 +1,55 @@ +'Download plantuml from http://plantuml.sourceforge.net/ +'Generate png with java -jar plantuml.jar +'Output in img/.png +'If Java spits out memory error increase heap size with java -Xmx1024m -jar plantuml.jar +@startuml img/topology.png +hide empty fields +hide empty methods +hide <> circle +hide <> circle +hide <> circle +hide <> stereotype +hide <> circle +page 1x1 +Title topology +note top of topology_topology : Namespace: urn:topology \nPrefix: topology \nOrganization : \nCTTC \nContact : \nricard.vilalta@cttc.es \nRevision : 2018-08-24 \n +package "topology:topology" as topology_topology { +class "topology" as topology << (M, #33CCFF) module>> +enum "layer-protocol-name" as topology_I_layer_protocol_name { +ETH +OPTICAL +} +class "port" as topology_I_port_grouping <<(G,Lime) grouping>> +topology_I_port_grouping : port-id : string +topology_I_port_grouping : layer-protocol-name : layer-protocol-name +class "node" as topology_I_node_grouping <<(G,Lime) grouping>> +topology_I_node_grouping : node-id : string +class "port" as topology_I_node_I_port << (L, #FF7700) list>> +topology_I_node_grouping *-- "0..N" topology_I_node_I_port +topology_I_node_I_port : port {uses} +class "link" as topology_I_link_grouping <<(G,Lime) grouping>> +topology_I_link_grouping : link-id : string +topology_I_link_grouping : source-node : leafref : /topology/node/node-id +topology_I_link_grouping : target-node : leafref : /topology/node/node-id +topology_I_link_grouping : source-port : leafref : /topology/node/port/port-id +topology_I_link_grouping : target-port : leafref : /topology/node/port/port-id +class "topology" as topology_I_topology_grouping <<(G,Lime) grouping>> +class "node" as topology_I_topology_I_node << (L, #FF7700) list>> +topology_I_topology_grouping *-- "0..N" topology_I_topology_I_node +topology_I_topology_I_node : node {uses} +class "link" as topology_I_topology_I_link << (L, #FF7700) list>> +topology_I_topology_grouping *-- "0..N" topology_I_topology_I_link +topology_I_topology_I_link : link {uses} +class "topology" as topology_I_topology <> +topology *-- "1" topology_I_topology +topology_I_topology : topology {uses} +} + +topology_I_node_I_port --> topology_I_port_grouping : uses +topology_I_topology_I_node --> topology_I_node_grouping : uses +topology_I_topology_I_link --> topology_I_link_grouping : uses +topology_I_topology --> topology_I_topology_grouping : uses +center footer + UML Generated : 2022-10-10 17:35 + endfooter +@enduml diff --git a/hackfest/yang/topology.xml b/hackfest/yang/topology.xml new file mode 100644 index 0000000000000000000000000000000000000000..93af480850b540669f133a76b12519f5554b8850 --- /dev/null +++ b/hackfest/yang/topology.xml @@ -0,0 +1,23 @@ + + + + node1 + + node1portA + + + + node2 + + node2portA + + + + link1 + node1 + node1portA + node2 + node2portA + + + diff --git a/hackfest/yang/topology.yang b/hackfest/yang/topology.yang new file mode 100644 index 0000000000000000000000000000000000000000..521ceacd817fa70e89609dca825db2c7fa9c8302 --- /dev/null +++ b/hackfest/yang/topology.yang @@ -0,0 +1,99 @@ +module topology { + + namespace "urn:topology"; + + prefix "topology"; + + organization + "CTTC"; + + contact + "ricard.vilalta@cttc.es"; + + description + "Basic example of network topology"; + + revision "2018-08-24" { + description "Basic example of network topology"; + reference ""; + } + + /** + * Typedefs / identities + */ + typedef layer-protocol-name { + type enumeration { + enum "ETH"; + enum "OPTICAL"; + } + } + + + /** + * Groupings + */ + grouping port { + leaf port-id { + type string; + } + leaf layer-protocol-name { + type layer-protocol-name; + } + + } + + grouping node { + leaf node-id { + type string; + } + list port { + key "port-id"; + uses port; + } + } + + grouping link { + leaf link-id { + type string; + } + leaf source-node { + type leafref { + path "/topology/node/node-id"; + } + } + leaf target-node { + type leafref { + path "/topology/node/node-id"; + } + } + leaf source-port { + type leafref { + path "/topology/node/port/port-id"; + } + } + leaf target-port { + type leafref { + path "/topology/node/port/port-id"; + } + } + } + + grouping topology { + list node { + key "node-id"; + uses node; + } + list link { + key "link-id"; + uses link; + } + } + + /** + * Container/lists + */ + container topology { + uses topology; + } + +} diff --git a/install_development_dependencies.sh b/install_development_dependencies.sh deleted file mode 100755 index 55b52803bd10950e18695eb39fadfbe98295aee0..0000000000000000000000000000000000000000 --- a/install_development_dependencies.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - - -# installing basic tools -pip install --upgrade pip setuptools wheel pip-tools pylint pytest pytest-benchmark coverage grpcio-tools - -# creating an empty file -echo "" > requirements.in - -#TODO: include here your component -COMPONENTS="compute context device service monitoring opticalcentralizedattackdetector opticalattackmitigator dbscanserving webui" - -# compiling dependencies from all components -for component in $COMPONENTS -do - echo "computing requirements for component $component" - diff requirements.in src/$component/requirements.in | grep '^>' | sed 's/^>\ //' >> requirements.in -done - -pip-compile --output-file=requirements.txt requirements.in -python -m pip install -r requirements.txt - -# removing the temporary files -rm requirements.in -rm requirements.txt diff --git a/install_requirements.sh b/install_requirements.sh new file mode 100755 index 0000000000000000000000000000000000000000..ea9385729a6199be29926e4c13b6a05152446155 --- /dev/null +++ b/install_requirements.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# If not already set, set the list of components you want to install dependencies for. +# By default, dependencies for all components are installed. +# Components still not supported by this script: +# automation & policy : implemented in Java +# dlt : under design +# pathcomp : under design +ALL_COMPONENTS="context device service compute monitoring webui interdomain slice" +ALL_COMPONENTS="${ALL_COMPONENTS} dbscanserving opticalattackmitigator opticalcentralizedattackdetector" +ALL_COMPONENTS="${ALL_COMPONENTS} l3_attackmitigator l3_centralizedattackdetector l3_distributedattackdetector" +TFS_COMPONENTS=${TFS_COMPONENTS:-$ALL_COMPONENTS} + +echo "Updating PIP, SetupTools and Wheel..." +pip install --upgrade pip # ensure next packages get the latest versions +pip install --upgrade setuptools wheel # bring basic tooling for other requirements +pip install --upgrade pip-tools pylint # bring tooling for package compilation and code linting +printf "\n" + +echo "Creating integrated requirements file..." +touch requirements.in +diff requirements.in common_requirements.in | grep '^>' | sed 's/^>\ //' >> requirements.in +printf "\n" + +echo "Collecting requirements from components..." +for COMPONENT in $TFS_COMPONENTS +do + if [ "$COMPONENT" == "automation" ] || [ "$COMPONENT" == "policy" ]; then continue; fi + diff requirements.in src/$COMPONENT/requirements.in | grep '^>' | sed 's/^>\ //' >> requirements.in +done +printf "\n" + +echo "Compiling requirements..." +# Done in a single step to prevent breaking dependencies between components +pip-compile --quiet --output-file=requirements.txt requirements.in +printf "\n" + +echo "Installing requirements..." +python -m pip install -r requirements.txt +printf "\n" + +#echo "Removing the temporary files..." +rm requirements.in +rm requirements.txt +printf "\n" diff --git a/manifests/contextservice.yaml b/manifests/contextservice.yaml index 04da586dfeb25a01a6f5267aa31441498ce4f2cc..2998640327864c1e9c2f6782a5adf252eb6673a7 100644 --- a/manifests/contextservice.yaml +++ b/manifests/contextservice.yaml @@ -34,10 +34,10 @@ spec: - containerPort: 6379 resources: requests: - cpu: 250m - memory: 512Mi + cpu: 100m + memory: 128Mi limits: - cpu: 700m + cpu: 500m memory: 1024Mi - name: server image: registry.gitlab.com/teraflow-h2020/controller/context:latest @@ -45,6 +45,7 @@ spec: ports: - containerPort: 1010 - containerPort: 8080 + - containerPort: 9192 env: - name: DB_BACKEND value: "redis" @@ -64,16 +65,18 @@ spec: command: ["/bin/grpc_health_probe", "-addr=:1010"] resources: requests: - cpu: 250m - memory: 512Mi + cpu: 50m + memory: 64Mi limits: - cpu: 700m - memory: 1024Mi + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: contextservice + labels: + app: contextservice spec: type: ClusterIP selector: @@ -87,3 +90,7 @@ spec: protocol: TCP port: 8080 targetPort: 8080 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/deviceservice.yaml b/manifests/deviceservice.yaml index 171394f7c43b2447e898902c78d5276fe1bcbc7c..83daa41f3c0cdf8e84b02dfc0ad18d8f7644e57b 100644 --- a/manifests/deviceservice.yaml +++ b/manifests/deviceservice.yaml @@ -20,6 +20,7 @@ spec: selector: matchLabels: app: deviceservice + replicas: 1 template: metadata: labels: @@ -32,6 +33,7 @@ spec: imagePullPolicy: Always ports: - containerPort: 2020 + - containerPort: 9192 env: - name: LOG_LEVEL value: "INFO" @@ -43,16 +45,18 @@ spec: command: ["/bin/grpc_health_probe", "-addr=:2020"] resources: requests: - cpu: 250m - memory: 512Mi + cpu: 50m + memory: 64Mi limits: - cpu: 700m - memory: 1024Mi + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: deviceservice + labels: + app: deviceservice spec: type: ClusterIP selector: @@ -62,3 +66,7 @@ spec: protocol: TCP port: 2020 targetPort: 2020 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/dltservice.yaml b/manifests/dltservice.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0f6b5bb9df1ccfc6057c0746058da6754233376a --- /dev/null +++ b/manifests/dltservice.yaml @@ -0,0 +1,100 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: dltservice +spec: + selector: + matchLabels: + app: dltservice + template: + metadata: + labels: + app: dltservice + spec: + terminationGracePeriodSeconds: 5 + containers: + - name: connector + image: registry.gitlab.com/teraflow-h2020/controller/dlt-connector:latest + imagePullPolicy: Always + ports: + - containerPort: 8080 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + ## for debug purposes + #- name: DLT_GATEWAY_HOST + # value: "mock-blockchain.tfs-bchain.svc.cluster.local" + #- name: DLT_GATEWAY_PORT + # value: "50051" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:8080"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:8080"] + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 500m + memory: 512Mi + - name: gateway + image: registry.gitlab.com/teraflow-h2020/controller/dlt-gateway:latest + imagePullPolicy: Always + ports: + - containerPort: 50051 + #readinessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + #livenessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: dltservice + labels: + app: dltservice +spec: + type: ClusterIP + selector: + app: dltservice + ports: + - name: grpc + protocol: TCP + port: 8080 + targetPort: 8080 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/interdomainservice.yaml b/manifests/interdomainservice.yaml index ca30da0101659f801440af343e42851146d17bda..b275035f62c68eeb8d28f1892909650ca10defee 100644 --- a/manifests/interdomainservice.yaml +++ b/manifests/interdomainservice.yaml @@ -32,9 +32,10 @@ spec: imagePullPolicy: Always ports: - containerPort: 10010 + - containerPort: 9192 env: - name: LOG_LEVEL - value: "DEBUG" + value: "INFO" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:10010"] @@ -43,16 +44,18 @@ spec: command: ["/bin/grpc_health_probe", "-addr=:10010"] resources: requests: - cpu: 250m - memory: 512Mi + cpu: 50m + memory: 64Mi limits: - cpu: 700m - memory: 1024Mi + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: interdomainservice + labels: + app: interdomainservice spec: type: ClusterIP selector: @@ -62,3 +65,7 @@ spec: protocol: TCP port: 10010 targetPort: 10010 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/mock_blockchain.yaml b/manifests/mock_blockchain.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bf9abac703b263ad6a843f0d70848dde94a4ab97 --- /dev/null +++ b/manifests/mock_blockchain.yaml @@ -0,0 +1,64 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mock-blockchain +spec: + selector: + matchLabels: + app: mock-blockchain + template: + metadata: + labels: + app: mock-blockchain + spec: + terminationGracePeriodSeconds: 5 + containers: + - name: server + image: registry.gitlab.com/teraflow-h2020/controller/mock_blockchain:latest + imagePullPolicy: Always + ports: + - containerPort: 50051 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:50051"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:50051"] + resources: + requests: + cpu: 100m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: mock-blockchain +spec: + type: ClusterIP + selector: + app: mock-blockchain + ports: + - name: grpc + protocol: TCP + port: 50051 + targetPort: 50051 diff --git a/manifests/monitoringservice.yaml b/manifests/monitoringservice.yaml index e6fa36d1a68e4e0f85776b511631b0b619ec100c..aed8d1c51e5e84abec11dcc272c786b208dd9556 100644 --- a/manifests/monitoringservice.yaml +++ b/manifests/monitoringservice.yaml @@ -12,6 +12,42 @@ # See the License for the specific language governing permissions and # limitations under the License. +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: monitoringdb +spec: + selector: + matchLabels: + app: monitoringservice + serviceName: "monitoringservice" + replicas: 1 + template: + metadata: + labels: + app: monitoringservice + spec: + terminationGracePeriodSeconds: 5 + restartPolicy: Always + containers: + - name: metricsdb + image: questdb/questdb + ports: + - name: http + containerPort: 9000 + protocol: TCP + - name: influxdb + containerPort: 9009 + protocol: TCP + - name: postgre + containerPort: 8812 + protocol: TCP + env: + - name: QDB_CAIRO_COMMIT_LAG + value: "1000" + - name: QDB_CAIRO_MAX_UNCOMMITTED_ROWS + value: "100000" +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -29,34 +65,27 @@ spec: terminationGracePeriodSeconds: 5 restartPolicy: Always containers: - - name: influxdb - image: influxdb:1.8 - ports: - - containerPort: 8086 - envFrom: - - secretRef: - name: influxdb-secrets - readinessProbe: - exec: - command: ["curl", "-XGET", "localhost:8086/health"] - livenessProbe: - exec: - command: ["curl", "-XGET", "localhost:8086/health"] - resources: - requests: - cpu: 250m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi - name: server image: registry.gitlab.com/teraflow-h2020/controller/monitoring:latest imagePullPolicy: Always ports: - - containerPort: 7070 - envFrom: - - secretRef: - name: monitoring-secrets + - name: grpc + containerPort: 7070 + protocol: TCP + - name: metrics + containerPort: 9192 + protocol: TCP + env: + - name: LOG_LEVEL + value: "INFO" + - name: METRICSDB_HOSTNAME + value: "monitoringservice" + - name: METRICSDB_ILP_PORT + value: "9009" + - name: METRICSDB_REST_PORT + value: "9000" + - name: METRICSDB_TABLE + value: "monitoring" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:7070"] @@ -75,6 +104,8 @@ apiVersion: v1 kind: Service metadata: name: monitoringservice + labels: + app: monitoringservice spec: type: ClusterIP selector: @@ -84,7 +115,41 @@ spec: protocol: TCP port: 7070 targetPort: 7070 + - name: http + protocol: TCP + port: 9000 + targetPort: 9000 - name: influxdb protocol: TCP - port: 8086 - targetPort: 8086 + port: 9009 + targetPort: 9009 + - name: postgre + protocol: TCP + port: 8812 + targetPort: 8812 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 + +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: access-monitoring +spec: + podSelector: + matchLabels: + app: monitoringservice + ingress: + - from: [] + ports: + - port: 7070 + - port: 8812 + - from: + - podSelector: + matchLabels: + app: monitoringservice + ports: + - port: 9009 + - port: 9000 diff --git a/manifests/nginx_ingress_http.yaml b/manifests/nginx_ingress_http.yaml new file mode 100644 index 0000000000000000000000000000000000000000..50ff81c79eaa02647562456809226d1aed847204 --- /dev/null +++ b/manifests/nginx_ingress_http.yaml @@ -0,0 +1,38 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: tfs-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + rules: + - http: + paths: + - path: /webui(/|$)(.*) + pathType: Prefix + backend: + service: + name: webuiservice + port: + number: 8004 + - path: /grafana(/|$)(.*) + pathType: Prefix + backend: + service: + name: webuiservice + port: + number: 3000 + - path: /context(/|$)(.*) + pathType: Prefix + backend: + service: + name: contextservice + port: + number: 8080 + - path: /()(restconf/.*) + pathType: Prefix + backend: + service: + name: computeservice + port: + number: 8080 diff --git a/manifests/pathcompservice.yaml b/manifests/pathcompservice.yaml new file mode 100644 index 0000000000000000000000000000000000000000..71c927b567316bb118ff085f1727abd03e92c0d7 --- /dev/null +++ b/manifests/pathcompservice.yaml @@ -0,0 +1,98 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pathcompservice +spec: + selector: + matchLabels: + app: pathcompservice + replicas: 5 + template: + metadata: + labels: + app: pathcompservice + spec: + terminationGracePeriodSeconds: 5 + containers: + - name: frontend + image: registry.gitlab.com/teraflow-h2020/controller/pathcomp-frontend:latest + imagePullPolicy: Always + ports: + - containerPort: 10020 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10020"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10020"] + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 500m + memory: 512Mi + - name: backend + image: registry.gitlab.com/teraflow-h2020/controller/pathcomp-backend:latest + imagePullPolicy: Always + #readinessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + #livenessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 700m + memory: 1024Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: pathcompservice + labels: + app: pathcompservice +spec: + type: ClusterIP + selector: + app: pathcompservice + ports: + - name: grpc + protocol: TCP + port: 10020 + targetPort: 10020 + - name: http + protocol: TCP + port: 8081 + targetPort: 8081 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/servicemonitors.yaml b/manifests/servicemonitors.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ad5f042baa273d67d646a9168be1e0c0b1133ec1 --- /dev/null +++ b/manifests/servicemonitors.yaml @@ -0,0 +1,231 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-contextservice-metric + labels: + app: contextservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: contextservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-deviceservice-metric + labels: + app: deviceservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: deviceservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-serviceservice-metric + labels: + app: serviceservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: serviceservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-sliceservice-metric + labels: + app: sliceservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: sliceservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-pathcompservice-metric + labels: + app: pathcompservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: pathcompservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-monitoringservice-metric + labels: + app: monitoringservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: monitoringservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-dltservice-metric + labels: + app: dltservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: dltservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + namespace: monitoring # namespace where prometheus is running + name: tfs-interdomainservice-metric + labels: + app: interdomainservice + #release: prometheus + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, + # Prometheus cannot identify the metrics of the Flask app as the target.) +spec: + selector: + matchLabels: + # Target app service + #namespace: tfs + app: interdomainservice # same as above + #release: prometheus # same as above + endpoints: + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval + namespaceSelector: + any: false + matchNames: + - tfs # namespace where the app is running diff --git a/manifests/serviceservice.yaml b/manifests/serviceservice.yaml index 75832b94fa2a6ba97617641e7b249157508614bf..089be20f969509c9d5f12922a6cd991acd2f3bc0 100644 --- a/manifests/serviceservice.yaml +++ b/manifests/serviceservice.yaml @@ -20,6 +20,7 @@ spec: selector: matchLabels: app: serviceservice + replicas: 5 template: metadata: labels: @@ -32,6 +33,7 @@ spec: imagePullPolicy: Always ports: - containerPort: 3030 + - containerPort: 9192 env: - name: LOG_LEVEL value: "INFO" @@ -43,16 +45,18 @@ spec: command: ["/bin/grpc_health_probe", "-addr=:3030"] resources: requests: - cpu: 250m - memory: 512Mi + cpu: 50m + memory: 64Mi limits: - cpu: 700m - memory: 1024Mi + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: serviceservice + labels: + app: serviceservice spec: type: ClusterIP selector: @@ -62,3 +66,7 @@ spec: protocol: TCP port: 3030 targetPort: 3030 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/sliceservice.yaml b/manifests/sliceservice.yaml index eeed3776c10958751b74fc81b52ab79806153b18..ff4b41fe7c709acf0d58c9c73b9f6198104a89fd 100644 --- a/manifests/sliceservice.yaml +++ b/manifests/sliceservice.yaml @@ -20,6 +20,7 @@ spec: selector: matchLabels: app: sliceservice + replicas: 1 template: metadata: labels: @@ -32,9 +33,10 @@ spec: imagePullPolicy: Always ports: - containerPort: 4040 + - containerPort: 9192 env: - name: LOG_LEVEL - value: "DEBUG" + value: "INFO" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:4040"] @@ -43,16 +45,18 @@ spec: command: ["/bin/grpc_health_probe", "-addr=:4040"] resources: requests: - cpu: 250m - memory: 512Mi + cpu: 50m + memory: 64Mi limits: - cpu: 700m - memory: 1024Mi + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: sliceservice + labels: + app: sliceservice spec: type: ClusterIP selector: @@ -62,3 +66,7 @@ spec: protocol: TCP port: 4040 targetPort: 4040 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/webuiservice.yaml b/manifests/webuiservice.yaml index 8c7c3773cbc9b89e5f6fb7800928f19a42adf7f0..7f70e837c4b6b979477a3a02db6e744b41387d73 100644 --- a/manifests/webuiservice.yaml +++ b/manifests/webuiservice.yaml @@ -35,10 +35,12 @@ spec: image: registry.gitlab.com/teraflow-h2020/controller/webui:latest imagePullPolicy: Always ports: - - containerPort: 8004 # TODO: define the real port + - containerPort: 8004 env: - name: LOG_LEVEL - value: "DEBUG" + value: "INFO" + - name: WEBUISERVICE_SERVICE_BASEURL_HTTP + value: "/webui/" readinessProbe: httpGet: path: /healthz/ready @@ -53,18 +55,23 @@ spec: timeoutSeconds: 1 resources: requests: - cpu: 250m + cpu: 100m memory: 512Mi limits: cpu: 700m memory: 1024Mi - name: grafana - image: grafana/grafana:8.2.6 + image: grafana/grafana:8.5.11 imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: http-grafana protocol: TCP + env: + - name: GF_SERVER_ROOT_URL + value: "http://0.0.0.0:3000/grafana/" + - name: GF_SERVER_SERVE_FROM_SUB_PATH + value: "true" readinessProbe: failureThreshold: 3 httpGet: @@ -100,6 +107,9 @@ spec: selector: app: webuiservice ports: - - name: http + - name: webui port: 8004 targetPort: 8004 + - name: grafana + port: 3000 + targetPort: 3000 diff --git a/my_deploy.sh b/my_deploy.sh new file mode 100644 index 0000000000000000000000000000000000000000..ffd91da35186fe21f418950493ef797a9af1b522 --- /dev/null +++ b/my_deploy.sh @@ -0,0 +1,26 @@ +# Set the URL of your local Docker registry where the images will be uploaded to. +export TFS_REGISTRY_IMAGE="http://localhost:32000/tfs/" + +# Set the list of components, separated by spaces, you want to build images for, and deploy. +# Supported components are: +# context device automation policy service compute monitoring webui +# interdomain slice pathcomp dlt +# dbscanserving opticalattackmitigator opticalattackdetector +# l3_attackmitigator l3_centralizedattackdetector l3_distributedattackdetector +export TFS_COMPONENTS="context device automation monitoring pathcomp service slice compute webui" + +# Set the tag you want to use for your images. +export TFS_IMAGE_TAG="dev" + +# Set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE="tfs" + +# Set additional manifest files to be applied after the deployment +export TFS_EXTRA_MANIFESTS="manifests/nginx_ingress_http.yaml" + +# Set the new Grafana admin password +export TFS_GRAFANA_PASSWORD="admin123+" + +# If not already set, disable skip-build flag. +# If TFS_SKIP_BUILD is "YES", the containers are not rebuilt-retagged-repushed and existing ones are used. +export TFS_SKIP_BUILD=${TFS_SKIP_BUILD:-""} diff --git a/nfvsdn22 b/nfvsdn22 new file mode 120000 index 0000000000000000000000000000000000000000..ac93a84be42e09c11106c5e0836bb4e51cc1fa1a --- /dev/null +++ b/nfvsdn22 @@ -0,0 +1 @@ +src/tests/nfvsdn22/ \ No newline at end of file diff --git a/open_webui.sh b/open_webui.sh deleted file mode 100755 index e4dfdb709ef5008091f3f73357087272dfd7c34e..0000000000000000000000000000000000000000 --- a/open_webui.sh +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -# this script opens the webui - -K8S_NAMESPACE=${K8S_NAMESPACE:-'tf-dev'} - -WEBUI_SERVICE_NAME="webuiservice-public" -WEBUI_PROTO=`kubectl get service ${WEBUI_SERVICE_NAME} -n ${K8S_NAMESPACE} -o jsonpath='{.spec.ports[0].name}'` -WEBUI_IP=`kubectl get service ${WEBUI_SERVICE_NAME} -n ${K8S_NAMESPACE} -o jsonpath='{.spec.clusterIP}'` -# WEBUI_PORT=$(kubectl get service ${WEBUI_SERVICE_NAME} --namespace $K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.port==8004)].nodePort}') -WEBUI_PORT=8004 -# GRAFANA_PORT=$(kubectl get service ${WEBUI_SERVICE_NAME} --namespace $K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.port==3000)].nodePort}') -GRAFANA_PORT=3000 - -# Open WebUI -URL=${WEBUI_PROTO}://${WEBUI_IP}:${WEBUI_PORT} -echo Opening web UI on URL ${URL} -# curl -kL ${URL} -python3 -m webbrowser ${URL} - -# Open Dashboard -URL=${WEBUI_PROTO}://${WEBUI_IP}:${GRAFANA_PORT} -echo Opening Dashboard on URL ${URL} -# curl -kL ${URL} -python3 -m webbrowser ${URL} diff --git a/proto/.gitignore b/proto/.gitignore index 79d17a55d24e501e34b462c9005e8e5429fc43ba..d1dea37b3a85abaa18b5bd65d3ec0e1d3c6fe9b6 100644 --- a/proto/.gitignore +++ b/proto/.gitignore @@ -1,2 +1,7 @@ -src/ +src/*/* + +# used to prevent breaking symbolic links from source code folders +!src/*/.gitignore +!src/python/__init__.py + uml/generated diff --git a/proto/acl.proto b/proto/acl.proto new file mode 100644 index 0000000000000000000000000000000000000000..d3717e9c4cdcf978324d08757b260ab1e9be028a --- /dev/null +++ b/proto/acl.proto @@ -0,0 +1,69 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package acl; + +enum AclRuleTypeEnum { + ACLRULETYPE_UNDEFINED = 0; + ACLRULETYPE_IPV4 = 1; + ACLRULETYPE_IPV6 = 2; + ACLRULETYPE_L2 = 3; + ACLRULETYPE_MPLS = 4; + ACLRULETYPE_MIXED = 5; +} + +enum AclForwardActionEnum { + ACLFORWARDINGACTION_UNDEFINED = 0; + ACLFORWARDINGACTION_DROP = 1; + ACLFORWARDINGACTION_ACCEPT = 2; + ACLFORWARDINGACTION_REJECT = 3; +} + +enum AclLogActionEnum { + ACLLOGACTION_UNDEFINED = 0; + ACLLOGACTION_NOLOG = 1; + ACLLOGACTION_SYSLOG = 2; +} + +message AclMatch { + uint32 dscp = 1; + uint32 protocol = 2; + string src_address = 3; + string dst_address = 4; + uint32 src_port = 5; + uint32 dst_port = 6; + uint32 start_mpls_label = 7; + uint32 end_mpls_label = 8; +} + +message AclAction { + AclForwardActionEnum forward_action = 1; + AclLogActionEnum log_action = 2; +} + +message AclEntry { + uint32 sequence_id = 1; + string description = 2; + AclMatch match = 3; + AclAction action = 4; +} + +message AclRuleSet { + string name = 1; + AclRuleTypeEnum type = 2; + string description = 3; + string user_id = 4; + repeated AclEntry entries = 5; +} diff --git a/proto/automation.proto b/proto/automation.proto index 02aba0a9cd3d5867a8c7f5d6581ade426ea0c290..9297236766a28878a5f0c0de6a4aeae0487d330a 100644 --- a/proto/automation.proto +++ b/proto/automation.proto @@ -21,9 +21,9 @@ service AutomationService { rpc ZtpGetDeviceRole(DeviceRoleId) returns (DeviceRole) {} rpc ZtpGetDeviceRolesByDeviceId(context.DeviceId) returns (DeviceRoleList) {} rpc ZtpAdd(DeviceRole) returns (DeviceRoleState) {} - rpc ZtpUpdate(DeviceRole) returns (DeviceRoleState) {} + rpc ZtpUpdate(DeviceRoleConfig) returns (DeviceRoleState) {} rpc ZtpDelete(DeviceRole) returns (DeviceRoleState) {} - rpc ZtpDeleteAll(Empty) returns (DeviceDeletionResult) {} + rpc ZtpDeleteAll(context.Empty) returns (DeviceDeletionResult) {} } enum DeviceRoleType { @@ -43,6 +43,11 @@ message DeviceRole { DeviceRoleType devRoleType = 2; } +message DeviceRoleConfig { + DeviceRole devRole = 1; + context.DeviceConfig devConfig = 2; +} + message DeviceRoleList { repeated DeviceRole devRole = 1; } @@ -56,8 +61,6 @@ message DeviceDeletionResult { repeated string deleted = 1; } -message Empty {} - enum ZtpDeviceState { ZTP_DEV_STATE_UNDEFINED = 0; ZTP_DEV_STATE_CREATED = 1; diff --git a/proto/context.proto b/proto/context.proto index bc0bfa0c6d41c6eb3474f69c05f87cc456269c66..3f0532d231535c2e59c798cbc9a6b1c92e1eb4bf 100644 --- a/proto/context.proto +++ b/proto/context.proto @@ -15,6 +15,7 @@ syntax = "proto3"; package context; +import "acl.proto"; import "kpi_sample_types.proto"; service ContextService { @@ -50,6 +51,7 @@ service ContextService { rpc ListServices (ContextId ) returns ( ServiceList ) {} rpc GetService (ServiceId ) returns ( Service ) {} rpc SetService (Service ) returns ( ServiceId ) {} + rpc UnsetService (Service ) returns ( ServiceId ) {} rpc RemoveService (ServiceId ) returns ( Empty ) {} rpc GetServiceEvents (Empty ) returns (stream ServiceEvent ) {} @@ -57,6 +59,7 @@ service ContextService { rpc ListSlices (ContextId ) returns ( SliceList ) {} rpc GetSlice (SliceId ) returns ( Slice ) {} rpc SetSlice (Slice ) returns ( SliceId ) {} + rpc UnsetSlice (Slice ) returns ( SliceId ) {} rpc RemoveSlice (SliceId ) returns ( Empty ) {} rpc GetSliceEvents (Empty ) returns (stream SliceEvent ) {} @@ -82,8 +85,12 @@ enum EventTypeEnum { EVENTTYPE_REMOVE = 3; } -message Event { +message Timestamp { double timestamp = 1; +} + +message Event { + Timestamp timestamp = 1; EventTypeEnum event_type = 2; } @@ -151,6 +158,11 @@ message Device { DeviceOperationalStatusEnum device_operational_status = 4; repeated DeviceDriverEnum device_drivers = 5; repeated EndPoint device_endpoints = 6; + repeated Component component = 7; // Used for inventory +} + +message Component { + repeated string comp_string = 1; } message DeviceConfig { @@ -164,6 +176,7 @@ enum DeviceDriverEnum { DEVICEDRIVER_P4 = 3; DEVICEDRIVER_IETF_NETWORK_TOPOLOGY = 4; DEVICEDRIVER_ONF_TR_352 = 5; + DEVICEDRIVER_XR = 6; } enum DeviceOperationalStatusEnum { @@ -183,6 +196,7 @@ message DeviceList { message DeviceEvent { Event event = 1; DeviceId device_id = 2; + DeviceConfig device_config = 3; } @@ -223,6 +237,7 @@ message Service { repeated Constraint service_constraints = 4; ServiceStatus service_status = 5; ServiceConfig service_config = 6; + Timestamp timestamp = 7; } enum ServiceTypeEnum { @@ -237,6 +252,7 @@ enum ServiceStatusEnum { SERVICESTATUS_PLANNED = 1; SERVICESTATUS_ACTIVE = 2; SERVICESTATUS_PENDING_REMOVAL = 3; + SERVICESTATUS_SLA_VIOLATED = 4; } message ServiceStatus { @@ -273,6 +289,14 @@ message Slice { repeated ServiceId slice_service_ids = 4; repeated SliceId slice_subslice_ids = 5; SliceStatus slice_status = 6; + SliceConfig slice_config = 7; + SliceOwner slice_owner = 8; + Timestamp timestamp = 9; +} + +message SliceOwner { + Uuid owner_uuid = 1; + string owner_string = 2; } enum SliceStatusEnum { @@ -281,12 +305,17 @@ enum SliceStatusEnum { SLICESTATUS_INIT = 2; SLICESTATUS_ACTIVE = 3; SLICESTATUS_DEINIT = 4; + SLICESTATUS_SLA_VIOLATED = 5; } message SliceStatus { SliceStatusEnum slice_status = 1; } +message SliceConfig { + repeated ConfigRule config_rules = 1; +} + message SliceIdList { repeated SliceId slice_ids = 1; } @@ -305,11 +334,47 @@ message ConnectionId { Uuid connection_uuid = 1; } +message ConnectionSettings_L0 { + string lsp_symbolic_name = 1; +} + +message ConnectionSettings_L2 { + string src_mac_address = 1; + string dst_mac_address = 2; + uint32 ether_type = 3; + uint32 vlan_id = 4; + uint32 mpls_label = 5; + uint32 mpls_traffic_class = 6; +} + +message ConnectionSettings_L3 { + string src_ip_address = 1; + string dst_ip_address = 2; + uint32 dscp = 3; + uint32 protocol = 4; + uint32 ttl = 5; +} + +message ConnectionSettings_L4 { + uint32 src_port = 1; + uint32 dst_port = 2; + uint32 tcp_flags = 3; + uint32 ttl = 4; +} + +message ConnectionSettings { + ConnectionSettings_L0 l0 = 1; + ConnectionSettings_L2 l2 = 2; + ConnectionSettings_L3 l3 = 3; + ConnectionSettings_L4 l4 = 4; +} + message Connection { ConnectionId connection_id = 1; ServiceId service_id = 2; repeated EndPointId path_hops_endpoint_ids = 3; repeated ServiceId sub_service_ids = 4; + ConnectionSettings settings = 5; } message ConnectionIdList { @@ -337,6 +402,7 @@ message EndPoint { EndPointId endpoint_id = 1; string endpoint_type = 2; repeated kpi_sample_types.KpiSampleType kpi_sample_types = 3; + Location endpoint_location = 4; } @@ -347,19 +413,100 @@ enum ConfigActionEnum { CONFIGACTION_DELETE = 2; } +message ConfigRule_Custom { + string resource_key = 1; + string resource_value = 2; +} + +message ConfigRule_ACL { + EndPointId endpoint_id = 1; + acl.AclRuleSet rule_set = 2; +} + message ConfigRule { ConfigActionEnum action = 1; - string resource_key = 2; - string resource_value = 3; + oneof config_rule { + ConfigRule_Custom custom = 2; + ConfigRule_ACL acl = 3; + } } // ----- Constraint ---------------------------------------------------------------------------------------------------- -message Constraint { +message Constraint_Custom { string constraint_type = 1; string constraint_value = 2; } +message Constraint_Schedule { + float start_timestamp = 1; + float duration_days = 2; +} + +message GPS_Position { + float latitude = 1; + float longitude = 2; +} + +message Location { + oneof location { + string region = 1; + GPS_Position gps_position = 2; + } +} + +message Constraint_EndPointLocation { + EndPointId endpoint_id = 1; + Location location = 2; +} + +message Constraint_EndPointPriority { + EndPointId endpoint_id = 1; + uint32 priority = 2; +} + +message Constraint_SLA_Latency { + float e2e_latency_ms = 1; +} + +message Constraint_SLA_Capacity { + float capacity_gbps = 1; +} + +message Constraint_SLA_Availability { + uint32 num_disjoint_paths = 1; + bool all_active = 2; +} + +enum IsolationLevelEnum { + NO_ISOLATION = 0; + PHYSICAL_ISOLATION = 1; + LOGICAL_ISOLATION = 2; + PROCESS_ISOLATION = 3; + PHYSICAL_MEMORY_ISOLATION = 4; + PHYSICAL_NETWORK_ISOLATION = 5; + VIRTUAL_RESOURCE_ISOLATION = 6; + NETWORK_FUNCTIONS_ISOLATION = 7; + SERVICE_ISOLATION = 8; +} + +message Constraint_SLA_Isolation_level { + repeated IsolationLevelEnum isolation_level = 1; +} + +message Constraint { + oneof constraint { + Constraint_Custom custom = 1; + Constraint_Schedule schedule = 2; + Constraint_EndPointLocation endpoint_location = 3; + Constraint_EndPointPriority endpoint_priority = 4; + Constraint_SLA_Capacity sla_capacity = 5; + Constraint_SLA_Latency sla_latency = 6; + Constraint_SLA_Availability sla_availability = 7; + Constraint_SLA_Isolation_level sla_isolation = 8; + } +} + // ----- Miscellaneous ------------------------------------------------------------------------------------------------- message TeraFlowController { diff --git a/proto/context_policy.proto b/proto/context_policy.proto new file mode 100644 index 0000000000000000000000000000000000000000..efad68df6c65481a3a8c21417bc62ed230673c44 --- /dev/null +++ b/proto/context_policy.proto @@ -0,0 +1,28 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package context_policy; + +import "context.proto"; +import "policy.proto"; + +// created as a separate service to prevent import-loops in context and policy +service ContextPolicyService { + rpc ListPolicyRuleIds(context.Empty ) returns (policy.PolicyRuleIdList) {} + rpc ListPolicyRules (context.Empty ) returns (policy.PolicyRuleList ) {} + rpc GetPolicyRule (policy.PolicyRuleId ) returns (policy.PolicyRule ) {} + rpc SetPolicyRule (policy.PolicyRule ) returns (policy.PolicyRuleId ) {} + rpc RemovePolicyRule (policy.PolicyRuleId ) returns (context.Empty ) {} +} diff --git a/proto/dlt.proto b/proto/dlt.proto deleted file mode 100644 index 29a0db198313533393a8f87a1fc328c9335e0a0a..0000000000000000000000000000000000000000 --- a/proto/dlt.proto +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -// -// 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. - -//Example of topology -syntax = "proto3"; -package dlt; - -import "context.proto"; - -service DltService { - rpc RecordToDlt ( DltRecord ) returns ( RecordStatus ) {} - rpc GetFromDlt ( DltRecordId ) returns ( DltRecord ) {} - rpc SubscribeToDlt ( DltRecordSubscription ) returns ( stream DltRecord ) {} - rpc GetDltStatus ( context.Empty ) returns ( DltStatus ) {} -} - -message DltRecordSubscription { - DltRecordType type = 1; - DltRecordOperation operation = 2; -} - -enum DltRecordType { - UNKNOWN = 0; - SERVICE = 1; - DEVICE = 2; - SLICE = 3; -} - -enum DltRecordOperation { - ADD = 0; - UPDATE = 1; - DELETE = 2; -} - -message DltRecord { - DltRecordId id = 1; - DltRecordType type = 2; - DltRecordOperation operation = 3; - string json = 4; -} - -message DltRecordId { - context.Uuid id = 1; -} - -message RecordStatus { - DltRecordId id = 1; - DltRecordStatusEnum status = 2; -} - -enum DltRecordStatusEnum { - REQUESTED = 0; - STORED = 1; - DISABLED = 2; -} - - -message DltStatus { - context.TeraFlowController ctl = 1; - DltStatusEnum status = 2; -} - -enum DltStatusEnum { - NOT_AVAILABLE = 0; - INITIALIZED = 1; - AVAILABLE = 2; - DEINIT = 3; -} - - - - diff --git a/proto/dlt_connector.proto b/proto/dlt_connector.proto new file mode 100644 index 0000000000000000000000000000000000000000..cee0c70bdcda42f435339751c6cfabf609b14d21 --- /dev/null +++ b/proto/dlt_connector.proto @@ -0,0 +1,58 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package dlt; + +import "context.proto"; + +service DltConnectorService { + rpc RecordAll (context.TopologyId) returns (context.Empty) {} + + rpc RecordAllDevices (context.TopologyId) returns (context.Empty) {} + rpc RecordDevice (DltDeviceId ) returns (context.Empty) {} + + rpc RecordAllLinks (context.TopologyId) returns (context.Empty) {} + rpc RecordLink (DltLinkId ) returns (context.Empty) {} + + rpc RecordAllServices(context.TopologyId) returns (context.Empty) {} + rpc RecordService (DltServiceId ) returns (context.Empty) {} + + rpc RecordAllSlices (context.TopologyId) returns (context.Empty) {} + rpc RecordSlice (DltSliceId ) returns (context.Empty) {} +} + +message DltDeviceId { + context.TopologyId topology_id = 1; + context.DeviceId device_id = 2; + bool delete = 3; +} + +message DltLinkId { + context.TopologyId topology_id = 1; + context.LinkId link_id = 2; + bool delete = 3; +} + +message DltServiceId { + context.TopologyId topology_id = 1; + context.ServiceId service_id = 2; + bool delete = 3; +} + +message DltSliceId { + context.TopologyId topology_id = 1; + context.SliceId slice_id = 2; + bool delete = 3; +} diff --git a/proto/dlt_gateway.proto b/proto/dlt_gateway.proto new file mode 100644 index 0000000000000000000000000000000000000000..84fe0fef6be366deb9286d49193ddb934c70a55c --- /dev/null +++ b/proto/dlt_gateway.proto @@ -0,0 +1,97 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package dlt; + +import "context.proto"; + +service DltGatewayService { + rpc RecordToDlt (DltRecord ) returns ( DltRecordStatus ) {} + rpc GetFromDlt (DltRecordId ) returns ( DltRecord ) {} + rpc SubscribeToDlt(DltRecordSubscription ) returns (stream DltRecordEvent ) {} + rpc GetDltStatus (context.TeraFlowController) returns ( DltPeerStatus ) {} // NEC is checking if it is possible + rpc GetDltPeers (context.Empty ) returns ( DltPeerStatusList) {} // NEC is checking if it is possible +} + +enum DltRecordTypeEnum { + DLTRECORDTYPE_UNDEFINED = 0; + DLTRECORDTYPE_CONTEXT = 1; + DLTRECORDTYPE_TOPOLOGY = 2; + DLTRECORDTYPE_DEVICE = 3; + DLTRECORDTYPE_LINK = 4; + DLTRECORDTYPE_SERVICE = 5; + DLTRECORDTYPE_SLICE = 6; +} + +enum DltRecordOperationEnum { + DLTRECORDOPERATION_UNDEFINED = 0; + DLTRECORDOPERATION_ADD = 1; + DLTRECORDOPERATION_UPDATE = 2; + DLTRECORDOPERATION_DELETE = 3; +} + +enum DltRecordStatusEnum { + DLTRECORDSTATUS_UNDEFINED = 0; + DLTRECORDSTATUS_SUCCEEDED = 1; + DLTRECORDSTATUS_FAILED = 2; +} + +enum DltStatusEnum { + DLTSTATUS_UNDEFINED = 0; + DLTSTATUS_NOTAVAILABLE = 1; + DLTSTATUS_INITIALIZED = 2; + DLTSTATUS_AVAILABLE = 3; + DLTSTATUS_DEINIT = 4; +} + +message DltRecordId { + context.Uuid domain_uuid = 1; // unique identifier of domain owning the record + DltRecordTypeEnum type = 2; // type of record + context.Uuid record_uuid = 3; // unique identifier of the record within the domain context_uuid/topology_uuid +} + +message DltRecord { + DltRecordId record_id = 1; // record identifier + DltRecordOperationEnum operation = 2; // operation to be performed over the record + string data_json = 3; // record content: JSON-encoded record content +} + +message DltRecordSubscription { + // retrieved events have to match ALL conditions. + // i.e., type in types requested, AND operation in operations requested + // TODO: consider adding a more sophisticated filtering + repeated DltRecordTypeEnum type = 1; // selected event types, empty=all + repeated DltRecordOperationEnum operation = 2; // selected event operations, empty=all +} + +message DltRecordEvent { + context.Event event = 1; // common event data (timestamp & event_type) + DltRecordId record_id = 2; // record identifier associated with this event +} + +message DltRecordStatus { + DltRecordId record_id = 1; // identifier of the associated record + DltRecordStatusEnum status = 2; // status of the record + string error_message = 3; // error message in case of failure, empty otherwise +} + +message DltPeerStatus { + context.TeraFlowController controller = 1; // Identifier of the TeraFlow controller instance + DltStatusEnum status = 2; // Status of the TeraFlow controller instance +} + +message DltPeerStatusList { + repeated DltPeerStatus peers = 1; // List of peers and their status +} diff --git a/proto/forecaster.proto b/proto/forecaster.proto new file mode 100644 index 0000000000000000000000000000000000000000..576afb101ea4c8d733f3adf37fdf061e44b390eb --- /dev/null +++ b/proto/forecaster.proto @@ -0,0 +1,45 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package forecaster; + +import "context.proto"; + +service ForecasterService { + rpc GetForecastOfTopology (context.TopologyId) returns (Forecast) {} + rpc GetForecastOfLink(context.LinkId) returns (Forecast) {} + rpc CheckService (context.ServiceId) returns (ForecastPrediction) {} +} + +message SingleForecast { + context.Timestamp timestamp= 1; + double value = 2; +} + +message Forecast { + oneof uuid { + context.TopologyId topologyId= 1; + context.LinkId linkId = 2; + } + repeated SingleForecast forecast = 3; +} + +enum AvailabilityPredictionEnum { + FORECASTED_AVAILABILITY = 0; + FORECASTED_UNAVAILABILITY = 1; +} +message ForecastPrediction { + AvailabilityPredictionEnum prediction = 1; +} diff --git a/src/l3_distributedattackdetector/genproto.sh b/proto/generate_code_python.sh similarity index 77% rename from src/l3_distributedattackdetector/genproto.sh rename to proto/generate_code_python.sh index c1f54c0dc1cdb6ef2681504ec0783f5479084fa8..b0df357eb079fb2721cffca43465588f7013e341 100755 --- a/src/l3_distributedattackdetector/genproto.sh +++ b/proto/generate_code_python.sh @@ -1,5 +1,4 @@ #!/bin/bash -eu -# # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,9 +16,10 @@ # Make folder containing the script the root folder for its execution cd $(dirname $0) -rm -rf proto/*.py -rm -rf proto/__pycache__ -tee proto/__init__.py << EOF > /dev/null +mkdir -p src/python +rm -rf src/python/*.py + +tee src/python/__init__.py << EOF > /dev/null # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,10 +33,10 @@ tee proto/__init__.py << EOF > /dev/null # 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. - EOF -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto l3_centralizedattackdetector.proto +# Generate Python code +python3 -m grpc_tools.protoc -I=./ --python_out=src/python/ --grpc_python_out=src/python/ *.proto -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/l3_centralizedattackdetector_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/l3_centralizedattackdetector_pb2_grpc.py +# Arrange generated code imports to enable imports from arbitrary subpackages +find src/python -type f -iname *.py -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; diff --git a/proto/compile.sh b/proto/generate_uml.sh similarity index 89% rename from proto/compile.sh rename to proto/generate_uml.sh index 520ead69a95cdfd1a076aee221d672f81810b5f0..6f20b6f4cf695274fe5d6ed27e57671196c44b70 100755 --- a/proto/compile.sh +++ b/proto/generate_uml.sh @@ -13,12 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -python3 -m grpc_tools.protoc -I=./ --python_out=../src/ --grpc_python_out=../src/ *.proto #requires installation of protoc-gen-uml export PATH=${HOME}/protoc-gen-uml/target/universal/stage/bin:$PATH protoc --uml_out=uml/ -I ./ *.proto cd uml java -jar plantuml.7997.jar *.puml rm *.puml - - diff --git a/proto/interdomain.proto b/proto/interdomain.proto index 735d4c1cd3ec92de41a0a0a1bc91de6acc846cd9..b8a31c2498a216e183aecbb975821d5c0ec25885 100644 --- a/proto/interdomain.proto +++ b/proto/interdomain.proto @@ -18,9 +18,11 @@ package interdomain; import "context.proto"; service InterdomainService { - rpc Authenticate (context.TeraFlowController) returns (context.AuthenticationResult) {} + rpc Authenticate (context.TeraFlowController) returns (context.AuthenticationResult) {} // Deprecated rpc RequestSlice (context.Slice ) returns (context.SliceId ) {} rpc LookUpSlice (context.Slice ) returns (context.SliceId ) {} rpc OrderSliceFromCatalog (context.Slice ) returns (context.Slice ) {} rpc CreateSliceAndAddToCatalog(context.Slice ) returns (context.Slice ) {} + rpc OrderSliceWithSLA (context.Slice) returns (context.SliceId) {} // If slice with SLA already exists, returns slice. If not, it creates it. + rpc UpdateSlice (context.Slice ) returns (context.Slice ) {} } diff --git a/proto/kpi_sample_types.proto b/proto/kpi_sample_types.proto index 7445a0f25a57df9793bd8761da024581988cf9e6..4419a8df4a22047d8708c5cf2e2c3657148b5eeb 100644 --- a/proto/kpi_sample_types.proto +++ b/proto/kpi_sample_types.proto @@ -16,9 +16,19 @@ syntax = "proto3"; package kpi_sample_types; enum KpiSampleType { - KPISAMPLETYPE_UNKNOWN = 0; - KPISAMPLETYPE_PACKETS_TRANSMITTED = 101; - KPISAMPLETYPE_PACKETS_RECEIVED = 102; - KPISAMPLETYPE_BYTES_TRANSMITTED = 201; - KPISAMPLETYPE_BYTES_RECEIVED = 202; + KPISAMPLETYPE_UNKNOWN = 0; + KPISAMPLETYPE_PACKETS_TRANSMITTED = 101; + KPISAMPLETYPE_PACKETS_RECEIVED = 102; + KPISAMPLETYPE_PACKETS_DROPPED = 103; + KPISAMPLETYPE_BYTES_TRANSMITTED = 201; + KPISAMPLETYPE_BYTES_RECEIVED = 202; + KPISAMPLETYPE_BYTES_DROPPED = 203; + KPISAMPLETYPE_ML_CONFIDENCE = 401; //. can be used by both optical and L3 without any issue + KPISAMPLETYPE_OPTICAL_SECURITY_STATUS = 501; //. can be used by both optical and L3 without any issue + KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS = 601; + KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS = 602; + KPISAMPLETYPE_L3_UNIQUE_ATTACKERS = 603; + KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS = 604; + KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO = 605; + KPISAMPLETYPE_SERVICE_LATENCY_MS = 701; } diff --git a/proto/monitoring.proto b/proto/monitoring.proto index 293eb982a758e9869d8310134bd65bca6c8dfd32..f9c408c96ced121f35cc1116bf64d013e7320e6a 100644 --- a/proto/monitoring.proto +++ b/proto/monitoring.proto @@ -19,27 +19,66 @@ import "context.proto"; import "kpi_sample_types.proto"; service MonitoringService { - rpc CreateKpi (KpiDescriptor ) returns (KpiId ) {} - rpc GetKpiDescriptor(KpiId ) returns (KpiDescriptor) {} - rpc IncludeKpi (Kpi ) returns (context.Empty) {} - rpc MonitorKpi (MonitorKpiRequest) returns (context.Empty) {} - rpc GetStreamKpi (KpiId ) returns (stream Kpi ) {} - rpc GetInstantKpi (KpiId ) returns (Kpi ) {} + rpc SetKpi (KpiDescriptor ) returns (KpiId ) {} // Stable not final + rpc DeleteKpi (KpiId ) returns (context.Empty ) {} // Stable and final + rpc GetKpiDescriptor (KpiId ) returns (KpiDescriptor ) {} // Stable and final + rpc GetKpiDescriptorList (context.Empty ) returns (KpiDescriptorList ) {} // Stable and final + rpc IncludeKpi (Kpi ) returns (context.Empty ) {} // Stable and final + rpc MonitorKpi (MonitorKpiRequest ) returns (context.Empty ) {} // Stable and final + rpc QueryKpiData (KpiQuery ) returns (RawKpiTable ) {} // Not implemented + rpc SetKpiSubscription (SubsDescriptor ) returns (stream SubsResponse ) {} // Stable not final + rpc GetSubsDescriptor (SubscriptionID ) returns (SubsDescriptor ) {} // Stable and final + rpc GetSubscriptions (context.Empty ) returns (SubsList ) {} // Stable and final + rpc DeleteSubscription (SubscriptionID ) returns (context.Empty ) {} // Stable and final + rpc SetKpiAlarm (AlarmDescriptor ) returns (AlarmID ) {} // Stable not final + rpc GetAlarms (context.Empty ) returns (AlarmList ) {} // Stable and final + rpc GetAlarmDescriptor (AlarmID ) returns (AlarmDescriptor ) {} // Stable and final + rpc GetAlarmResponseStream(AlarmSubscription ) returns (stream AlarmResponse) {} // Not Stable not final + rpc DeleteAlarm (AlarmID ) returns (context.Empty ) {} // Stable and final + rpc GetStreamKpi (KpiId ) returns (stream Kpi ) {} // Stable not final + rpc GetInstantKpi (KpiId ) returns (Kpi ) {} // Stable not final } message KpiDescriptor { - string kpi_description = 1; - kpi_sample_types.KpiSampleType kpi_sample_type = 2; - context.DeviceId device_id = 3; - context.EndPointId endpoint_id = 4; - context.ServiceId service_id = 5; -// context.SliceId slice_id = 6; + KpiId kpi_id = 1; + string kpi_description = 2; + repeated KpiId kpi_id_list = 3; + kpi_sample_types.KpiSampleType kpi_sample_type = 4; + context.DeviceId device_id = 5; + context.EndPointId endpoint_id = 6; + context.ServiceId service_id = 7; + context.SliceId slice_id = 8; + context.ConnectionId connection_id = 9; } -message MonitorKpiRequest{ - KpiId kpi_id = 1; - float sampling_duration_s = 2; - float sampling_interval_s = 3; +message MonitorKpiRequest { + KpiId kpi_id = 1; + float monitoring_window_s = 2; + float sampling_rate_s = 3; + // Pending add field to reflect Available Device Protocols +} + +message KpiQuery { + repeated KpiId kpi_ids = 1; + float monitoring_window_s = 2; + uint32 last_n_samples = 3; // used when you want something like "get the last N many samples + context.Timestamp start_timestamp = 4; // used when you want something like "get the samples since X date/time" + context.Timestamp end_timestamp = 5; // used when you want something like "get the samples until X date/time" +} + + +message RawKpi { // cell + context.Timestamp timestamp = 1; + KpiValue kpi_value = 2; +} + +message RawKpiList { // column + KpiId kpi_id = 1; + repeated RawKpi raw_kpis = 2; +} + +message RawKpiTable { // table + repeated RawKpiList raw_kpi_lists = 1; } message KpiId { @@ -47,20 +86,88 @@ message KpiId { } message Kpi { - KpiId kpi_id = 1; - string timestamp = 2; - KpiValue kpi_value = 4; + KpiId kpi_id = 1; + context.Timestamp timestamp = 2; + KpiValue kpi_value = 3; +} + +message KpiValueRange { + KpiValue kpiMinValue = 1; + KpiValue kpiMaxValue = 2; + bool inRange = 3; // by default True + bool includeMinValue = 4; // False is outside the interval + bool includeMaxValue = 5; // False is outside the interval } message KpiValue { oneof value { - uint32 intVal = 1; - float floatVal = 2; - string stringVal = 3; - bool boolVal = 4; + int32 int32Val = 1; + uint32 uint32Val = 2; + int64 int64Val = 3; + uint64 uint64Val = 4; + float floatVal = 5; + string stringVal = 6; + bool boolVal = 7; } } + message KpiList { - repeated Kpi kpi_list = 1; + repeated Kpi kpi = 1; +} + +message KpiDescriptorList { + repeated KpiDescriptor kpi_descriptor_list = 1; +} + +message SubsDescriptor{ + SubscriptionID subs_id = 1; + KpiId kpi_id = 2; + float sampling_duration_s = 3; + float sampling_interval_s = 4; + context.Timestamp start_timestamp = 5; // used when you want something like "get the samples since X date/time" + context.Timestamp end_timestamp = 6; // used when you want something like "get the samples until X date/time" + // Pending add field to reflect Available Device Protocols +} + +message SubscriptionID { + context.Uuid subs_id = 1; +} + +message SubsResponse { + SubscriptionID subs_id = 1; + KpiList kpi_list = 2; +} + +message SubsList { + repeated SubsDescriptor subs_descriptor = 1; +} + +message AlarmDescriptor { + AlarmID alarm_id = 1; + string alarm_description = 2; + string name = 3; + KpiId kpi_id = 4; + KpiValueRange kpi_value_range = 5; + context.Timestamp timestamp = 6; +} + +message AlarmID{ + context.Uuid alarm_id = 1; +} + +message AlarmSubscription{ + AlarmID alarm_id = 1; + float subscription_timeout_s = 2; + float subscription_frequency_ms = 3; +} + +message AlarmResponse { + AlarmID alarm_id = 1; + string text = 2; + KpiList kpi_list = 3; +} + +message AlarmList { + repeated AlarmDescriptor alarm_descriptor = 1; } diff --git a/proto/pathcomp.proto b/proto/pathcomp.proto new file mode 100644 index 0000000000000000000000000000000000000000..08f33efe99b6a25c568c8be14f1355b3d4521909 --- /dev/null +++ b/proto/pathcomp.proto @@ -0,0 +1,53 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package pathcomp; + +import "context.proto"; + +service PathCompService { + rpc Compute(PathCompRequest) returns (PathCompReply) {} +} + +message Algorithm_ShortestPath {} + +message Algorithm_KShortestPath { + uint32 k_inspection = 1; + uint32 k_return = 2; +} + +message Algorithm_KDisjointPath { + uint32 num_disjoint = 1; +} + +message PathCompRequest { + repeated context.Service services = 1; + oneof algorithm { + Algorithm_ShortestPath shortest_path = 10; + Algorithm_KShortestPath k_shortest_path = 11; + Algorithm_KDisjointPath k_disjoint_path = 12; + } +} + +message PathCompReply { + // Services requested completed with possible missing fields, and + // sub-services required for supporting requested services on the + // underlying layers. + repeated context.Service services = 1; + + // Connections supporting the requested services and sub-services + // required for the underlying layers. + repeated context.Connection connections = 2; +} diff --git a/proto/policy.proto b/proto/policy.proto index 447eda2e19188a39a1980181d3018a25ed9f83c7..9d0c34a3304f68c47a19ac56d0e96b10936bee7b 100644 --- a/proto/policy.proto +++ b/proto/policy.proto @@ -16,25 +16,32 @@ syntax = "proto3"; package policy; import "context.proto"; +import "policy_condition.proto"; +import "policy_action.proto"; service PolicyService { - rpc PolicyAdd (PolicyRule) returns (PolicyRuleState) {} - rpc PolicyUpdate (PolicyRule) returns (PolicyRuleState) {} - rpc PolicyDelete (PolicyRule) returns (PolicyRuleState) {} - rpc GetPolicy (PolicyRuleId) returns (PolicyRule) {} - rpc GetPolicyByDeviceId (context.DeviceId) returns (PolicyRuleList) {} - rpc GetPolicyByServiceId (context.ServiceId) returns (PolicyRuleList) {} + rpc PolicyAddService (PolicyRuleService) returns (PolicyRuleState) {} + rpc PolicyAddDevice (PolicyRuleDevice) returns (PolicyRuleState) {} + rpc PolicyUpdateService (PolicyRuleService) returns (PolicyRuleState) {} + rpc PolicyUpdateDevice (PolicyRuleDevice) returns (PolicyRuleState) {} + rpc PolicyDelete (PolicyRuleId) returns (PolicyRuleState) {} + rpc GetPolicyService (PolicyRuleId) returns (PolicyRuleService) {} + rpc GetPolicyDevice (PolicyRuleId) returns (PolicyRuleDevice) {} + rpc GetPolicyByServiceId (context.ServiceId) returns (PolicyRuleServiceList) {} } -enum RuleState { - POLICY_INACTIVE = 0; // Rule is currently inactive - POLICY_PLANNED = 1; // Rule installation planned - POLICY_ACTIVE = 2; // Rule is currently active -} - -enum PolicyRuleType { - POLICYTYPE_DEVICE = 0; // Device-level - POLICYTYPE_NETWORK = 1; // Network-wide +enum PolicyRuleStateEnum { + POLICY_UNDEFINED = 0; // Undefined rule state + POLICY_FAILED = 1; // Rule failed + POLICY_INSERTED = 2; // Rule is just inserted + POLICY_VALIDATED = 3; // Rule content is correct + POLICY_PROVISIONED = 4; // Rule subscribed to Monitoring + POLICY_ACTIVE = 5; // Rule is currently active (alarm is just thrown by Monitoring) + POLICY_ENFORCED = 6; // Rule action is successfully enforced + POLICY_INEFFECTIVE = 7; // The applied rule action did not work as expected + POLICY_EFFECTIVE = 8; // The applied rule action did work as expected + POLICY_UPDATED = 9; // Operator requires a policy to change + POLICY_REMOVED = 10; // Operator requires to remove a policy } message PolicyRuleId { @@ -42,58 +49,65 @@ message PolicyRuleId { } message PolicyRuleState { - context.Uuid policyRuleId = 1; - RuleState policyRuleState = 2; + PolicyRuleStateEnum policyRuleState = 1; + string policyRuleStateMessage = 2; } -message PolicyRuleVariable { - string policyRuleVariable = 1; -} +// Basic policy rule attributes +message PolicyRuleBasic { + PolicyRuleId policyRuleId = 1; + PolicyRuleState policyRuleState = 2; //policy.proto:58:12: Explicit 'optional' labels are disallowed in the Proto3 syntax. To define 'optional' fields in Proto3, simply remove the 'optional' label, as fields are 'optional' by default. + uint32 priority = 3; -message PolicyRuleValue { - string policyRuleValue = 1; + // Event-Condition-Action (ECA) model + repeated PolicyRuleCondition conditionList = 4; // When these policy conditions are met, an event is automatically thrown + BooleanOperator booleanOperator = 5; // Evaluation operator to be used + repeated PolicyRuleAction actionList = 6; // One or more actions should be applied } -// IETF draft: Framework for Use of ECA (Event Condition Action) in Network Self Management -// Source: https://datatracker.ietf.org/doc/draft-bwd-netmod-eca-framework/ -// Event -message PolicyRuleEvent { - context.Event event = 1; -} +// Service-oriented policy rule +message PolicyRuleService { + // Basic policy rule attributes + PolicyRuleBasic policyRuleBasic = 1; -// Condition -message PolicyRuleCondition { - PolicyRuleVariable polRuleConditionVar = 1; - PolicyRuleValue polRuleConditionVal = 2; + // Affected service and (some of) its device(s) + context.ServiceId serviceId = 2; + repeated context.DeviceId deviceList = 3; // List of devices this service is traversing (not exhaustive) } -// Action -message PolicyRuleAction { - PolicyRuleVariable polRuleActionVar = 1; - PolicyRuleValue polRuleActionVal = 2; +// Device-oriented policy rule +message PolicyRuleDevice { + // Basic policy rule attributes + PolicyRuleBasic policyRuleBasic = 1; + + // Affected device(s) + repeated context.DeviceId deviceList = 2; } -// Policy rule partially complies with IETF’s: -// RFC 3060: https://datatracker.ietf.org/doc/html/rfc3060 -// RFC 3460: https://datatracker.ietf.org/doc/html/rfc3460 -// Enhanced with a policy rule event according to the ECA model +// Wrapper policy rule object message PolicyRule { - // Basic policy rule attributes - PolicyRuleId policyRuleId = 1; - PolicyRuleType policyRuleType = 2; - uint32 PolicyRulePriority = 3; + oneof policy_rule { + PolicyRuleService service = 1; + PolicyRuleDevice device = 2; + } +} - // Event-Condition-Action model - PolicyRuleEvent event = 4; // A single event triggers the policy - repeated PolicyRuleCondition polRuleConditionList = 5; // One or more conditions must be met - repeated PolicyRuleAction polRuleActionList = 6; // One or more actions should be applied +// A list of policy rule IDs +message PolicyRuleIdList { + repeated PolicyRuleId policyRuleIdList = 1; +} + +// A list of service-oriented policy rules +message PolicyRuleServiceList { + repeated PolicyRuleService policyRuleServiceList = 1; +} - // Affected services and devices - repeated context.ServiceId serviceList = 7; - repeated context.DeviceId deviceList = 8; +// A list of device-oriented policy rules +message PolicyRuleDeviceList { + repeated PolicyRuleDevice policyRuleDeviceList = 1; } // A list of policy rules message PolicyRuleList { - repeated PolicyRule policyRuleList = 1; + repeated PolicyRule policyRules = 1; } diff --git a/proto/policy_action.proto b/proto/policy_action.proto new file mode 100644 index 0000000000000000000000000000000000000000..8f681adf38f321aa06410bcb1bac26ea69fe14ec --- /dev/null +++ b/proto/policy_action.proto @@ -0,0 +1,40 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package policy; + +// Action +message PolicyRuleAction { + PolicyRuleActionEnum action = 1; + repeated PolicyRuleActionConfig action_config = 2; +} + +enum PolicyRuleActionEnum { + POLICYRULE_ACTION_NO_ACTION = 0; + POLICYRULE_ACTION_SET_DEVICE_STATUS = 1; + POLICYRULE_ACTION_ADD_SERVICE_CONFIGRULE = 2; + POLICYRULE_ACTION_ADD_SERVICE_CONSTRAINT = 3; +} + +// Action configuration +message PolicyRuleActionConfig { + string action_key = 1; + string action_value = 2; +} + +// message PolicyRuleAction { +// PolicyRuleActionEnum action = 1; +// repeated string parameters = 2; +// } \ No newline at end of file diff --git a/proto/policy_condition.proto b/proto/policy_condition.proto new file mode 100644 index 0000000000000000000000000000000000000000..7cd6576678872df07a2da6a3706349f004b3a8a1 --- /dev/null +++ b/proto/policy_condition.proto @@ -0,0 +1,43 @@ +// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +// +// 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. + +syntax = "proto3"; +package policy; + +import "monitoring.proto"; + +// Condition +message PolicyRuleCondition { + monitoring.KpiId kpiId = 1; + NumericalOperator numericalOperator = 2; + monitoring.KpiValue kpiValue = 3; +} + +// Operator to be used when comparing Kpis with condition values +enum NumericalOperator { + POLICYRULE_CONDITION_NUMERICAL_UNDEFINED = 0; // Kpi numerical operator undefined + POLICYRULE_CONDITION_NUMERICAL_EQUAL = 1; // Kpi is equal with value + POLICYRULE_CONDITION_NUMERICAL_NOT_EQUAL = 2; // Kpi is not equal with value + POLICYRULE_CONDITION_NUMERICAL_LESS_THAN = 3; // Kpi is less than value + POLICYRULE_CONDITION_NUMERICAL_LESS_THAN_EQUAL = 4; // Kpi is less than or equal with value + POLICYRULE_CONDITION_NUMERICAL_GREATER_THAN = 5; // Kpi is greater than value + POLICYRULE_CONDITION_NUMERICAL_GREATER_THAN_EQUAL = 6; // Kpi is less than or equal with value +} + +// Operator to be used when evaluating each condition +enum BooleanOperator { + POLICYRULE_CONDITION_BOOLEAN_UNDEFINED = 0; // Boolean operator undefined + POLICYRULE_CONDITION_BOOLEAN_AND = 1; // Boolean AND operator + POLICYRULE_CONDITION_BOOLEAN_OR = 2; // Boolean OR operator +} \ No newline at end of file diff --git a/proto/slice.proto b/proto/slice.proto index 9c518c9da05f850f209dc8a3f8d945fff4aced2b..69fa242e2310f791faa2429d59c01fc2572025d2 100644 --- a/proto/slice.proto +++ b/proto/slice.proto @@ -21,4 +21,6 @@ service SliceService { rpc CreateSlice(context.Slice ) returns (context.SliceId) {} rpc UpdateSlice(context.Slice ) returns (context.SliceId) {} rpc DeleteSlice(context.SliceId) returns (context.Empty ) {} + rpc OrderSliceWithSLA(context.Slice) returns (context.SliceId) {} // If slice with SLA already exists, returns slice. If not, it creates it. + rpc RunSliceGrouping (context.Empty) returns (context.Empty) {} // Optimizes the underlying services and re-maps them to the requested slices. } diff --git a/proto/src/java/.gitignore b/proto/src/java/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..377ccd3fdffacc5b8e7260cff64905faf5e472f2 --- /dev/null +++ b/proto/src/java/.gitignore @@ -0,0 +1,2 @@ +* +!.gitkeep diff --git a/proto/src/java/.gitkeep b/proto/src/java/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/proto/src/python/.gitignore b/proto/src/python/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..53b5ddc0011f758f564b7560108243b5d5b02d0c --- /dev/null +++ b/proto/src/python/.gitignore @@ -0,0 +1,5 @@ +* +!.gitkeep + +# prevent breaking symbolic links on Python source code folders +!__init__.py diff --git a/proto/src/python/.gitkeep b/proto/src/python/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/proto/src/python/__init__.py b/proto/src/python/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..9953c820575d42fa88351cc8de022d880ba96e6a --- /dev/null +++ b/proto/src/python/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. diff --git a/proto/te.proto b/proto/te.proto index f811f86fed64220cd98d1d8439cca5af3dd8548a..d639cb7f45f682d3e95d77e8b6d10d404ee51b9f 100644 --- a/proto/te.proto +++ b/proto/te.proto @@ -16,10 +16,9 @@ syntax = "proto3"; package te; import "context.proto"; -import "service.proto"; service TEService { - rpc RequestLSP(service.Service ) returns (service.ServiceState) {} - rpc UpdateLSP (service.ServiceId) returns (service.ServiceState) {} - rpc DeleteLSP (service.ServiceId) returns (context.Empty ) {} + rpc RequestLSP(context.Service ) returns (context.ServiceStatus) {} + rpc UpdateLSP (context.ServiceId) returns (context.ServiceStatus) {} + rpc DeleteLSP (context.ServiceId) returns (context.Empty ) {} } diff --git a/proto/uml/acl.png b/proto/uml/acl.png new file mode 100644 index 0000000000000000000000000000000000000000..3cc4e0f9decb0ecac761c6ab971ecdb80890a4b4 Binary files /dev/null and b/proto/uml/acl.png differ diff --git a/proto/uml/context.png b/proto/uml/context.png index 57a2493cf8596d1f4e70f2e3056d1a9d71432aee..3ea3a6e21dd3eddba749c2f0b483d41b365ef11f 100644 Binary files a/proto/uml/context.png and b/proto/uml/context.png differ diff --git a/proto/uml/dlt.png b/proto/uml/dlt.png index 51988d55b4e63230ff62e647f1b52e5f9418ad25..f8d4e25c1881a932c49bf151eab56921a4ff8a7b 100644 Binary files a/proto/uml/dlt.png and b/proto/uml/dlt.png differ diff --git a/proto/uml/forecaster.png b/proto/uml/forecaster.png new file mode 100644 index 0000000000000000000000000000000000000000..d32e142959ca0060556ce6ce622552dc5ff4d416 Binary files /dev/null and b/proto/uml/forecaster.png differ diff --git a/proto/uml/monitoring.png b/proto/uml/monitoring.png index 676389fc6971457b3d0c4194484bb78b4be52404..4257b4d3f4b570fa9c51734480bd8c73e8c72622 100644 Binary files a/proto/uml/monitoring.png and b/proto/uml/monitoring.png differ diff --git a/proto/uml/pathcomp.png b/proto/uml/pathcomp.png new file mode 100644 index 0000000000000000000000000000000000000000..bd14fe5235febb43b24ffc52291696edc65c4e99 Binary files /dev/null and b/proto/uml/pathcomp.png differ diff --git a/proto/uml/policy.png b/proto/uml/policy.png index e4f5c52848b75643c3a8272fb0223147bced5b90..845a1e883223d7588ab20afabf559067cdc27454 100644 Binary files a/proto/uml/policy.png and b/proto/uml/policy.png differ diff --git a/proto/uml/slice.png b/proto/uml/slice.png deleted file mode 100644 index 01b62425b28f6bb5319a96ddd7fc5b62ff620620..0000000000000000000000000000000000000000 Binary files a/proto/uml/slice.png and /dev/null differ diff --git a/run_tests_docker.sh b/run_tests_docker.sh new file mode 100755 index 0000000000000000000000000000000000000000..fd885140999ac0f045c162f361f0075af96a8d48 --- /dev/null +++ b/run_tests_docker.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# Set the URL of your local Docker registry where the images will be uploaded to. Leave it blank if you do not want to +# use any Docker registry. +REGISTRY_IMAGE="" +#REGISTRY_IMAGE="http://my-container-registry.local/" + +# Set the list of components you want to build images for, and deploy. +COMPONENTS="context device automation policy service compute monitoring centralizedattackdetector" + +# Set the tag you want to use for your images. +IMAGE_TAG="tf-dev" + +# Constants +TMP_FOLDER="./tmp" + +TMP_LOGS_FOLDER="$TMP_FOLDER/logs" +mkdir -p $TMP_LOGS_FOLDER + +for COMPONENT in $COMPONENTS; do + echo "Processing '$COMPONENT' component..." + IMAGE_NAME="$COMPONENT:$IMAGE_TAG" + IMAGE_URL="$REGISTRY_IMAGE/$IMAGE_NAME" + + echo " Building Docker image..." + BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" + + if [ "$COMPONENT" == "automation" ] || [ "$COMPONENT" == "policy" ]; then + docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" + else + docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/ > "$BUILD_LOG" + fi + + if [ -n "$REGISTRY_IMAGE" ]; then + echo "Pushing Docker image to '$REGISTRY_IMAGE'..." + + TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}.log" + docker tag "$IMAGE_NAME" "$IMAGE_URL" > "$TAG_LOG" + + PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log" + docker push "$IMAGE_URL" > "$PUSH_LOG" + fi +done + +echo "Preparing for running the tests..." + +if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi + +for COMPONENT in $COMPONENTS; do + IMAGE_NAME="$COMPONENT:$IMAGE_TAG" + echo " Running tests for $COMPONENT:" + docker run -it -d --name $COMPONENT $IMAGE_NAME --network=teraflowbridge + docker exec -it $COMPONENT bash -c "pytest --log-level=DEBUG --verbose $COMPONENT/tests/test_unitary.py" + docker stop $COMPONENT +done diff --git a/scripts/build_run_report_tests_locally.sh b/scripts/build_run_report_tests_locally.sh new file mode 100755 index 0000000000000000000000000000000000000000..9bdc81d9894df35a6bcc325d78e7f1f5214e8a96 --- /dev/null +++ b/scripts/build_run_report_tests_locally.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +die () { + echo >&2 "$@" + exit 1 +} + +[ "$#" -eq 1 ] || die "component name required but not provided" + +COMPONENT_NAME=$1 # parameter +IMAGE_NAME="${COMPONENT_NAME}-local" +IMAGE_TAG="latest" + +if docker ps | grep $IMAGE_NAME +then + docker stop $IMAGE_NAME +fi + +if docker network list | grep teraflowbridge +then + echo "teraflowbridge is already created" +else + docker network create -d bridge teraflowbridge +fi + +docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$COMPONENT_NAME/Dockerfile . + +docker run --name $IMAGE_NAME -d -v "${PWD}/src/${COMPONENT_NAME}/tests:/home/${COMPONENT_NAME}/results" --network=teraflowbridge --rm $IMAGE_NAME:$IMAGE_TAG + +docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $COMPONENT_NAME/tests/ --junitxml=/home/${COMPONENT_NAME}/results/${COMPONENT_NAME}_report.xml" + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +echo +echo "Coverage report:" +echo "----------------" +docker exec -i $IMAGE_NAME bash -c "coverage report --include='${COMPONENT_NAME}/*' --show-missing" + +# docker stop $IMAGE_NAME +docker rm -f $IMAGE_NAME +docker network rm teraflowbridge diff --git a/scripts/create_component.sh b/scripts/create_component.sh new file mode 100755 index 0000000000000000000000000000000000000000..17f6abc64140f88e0b8f09f548afdaf1f1362f6f --- /dev/null +++ b/scripts/create_component.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +COMPONENT_NAME=$1 +PROJECTDIR=`pwd` + +mkdir -p ${PROJECTDIR}/src/${COMPONENT_NAME} +mkdir -p ${PROJECTDIR}/src/${COMPONENT_NAME}/client +mkdir -p ${PROJECTDIR}/src/${COMPONENT_NAME}/service +mkdir -p ${PROJECTDIR}/src/${COMPONENT_NAME}/tests + +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/client/__init__.py +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/service/__init__.py +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/tests/__init__.py +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/.gitlab-ci.yml +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/__init__.py +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/Config.py +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/Dockerfile +touch ${PROJECTDIR}/src/${COMPONENT_NAME}/requirements.in + +cd ${PROJECTDIR}/src +python gitlab-ci.yml_generator.py -t latest forecaster + +cd ${PROJECTDIR}/src/${COMPONENT_NAME} +mv .gitlab-ci.yml gitlab-ci.yaml +${PROJECTDIR}/scripts/add_license_header_to_files.sh +mv gitlab-ci.yaml .gitlab-ci.yml diff --git a/scripts/dump_logs.sh b/scripts/dump_logs.sh new file mode 100755 index 0000000000000000000000000000000000000000..a6db945d245b832564353de71610bf720eb0acb8 --- /dev/null +++ b/scripts/dump_logs.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +mkdir -p tmp/exec_logs/$TFS_K8S_NAMESPACE/ +rm tmp/exec_logs/$TFS_K8S_NAMESPACE/* + +PODS=$(kubectl get pods --namespace $TFS_K8S_NAMESPACE --no-headers --output=custom-columns=":metadata.name") +for POD in $PODS; do + CONTAINERS=$(kubectl get pods --namespace $TFS_K8S_NAMESPACE $POD -o jsonpath='{.spec.containers[*].name}') + for CONTAINER in $CONTAINERS; do + kubectl --namespace $TFS_K8S_NAMESPACE logs pod/${POD} --container ${CONTAINER} \ + > tmp/exec_logs/$TFS_K8S_NAMESPACE/$POD\_\_$CONTAINER.log + done +done diff --git a/configure_dashboards.sh b/scripts/old/configure_dashboards_in_kubernetes.sh similarity index 100% rename from configure_dashboards.sh rename to scripts/old/configure_dashboards_in_kubernetes.sh diff --git a/deploy_in_kubernetes.sh b/scripts/old/deploy_in_kubernetes.sh similarity index 95% rename from deploy_in_kubernetes.sh rename to scripts/old/deploy_in_kubernetes.sh index a1b4551dd939e7b1a727307cc177d379e6938182..89f45a5484f95f065f6656249f3fb04bf507a782 100755 --- a/deploy_in_kubernetes.sh +++ b/scripts/old/deploy_in_kubernetes.sh @@ -81,7 +81,7 @@ for COMPONENT in $COMPONENTS; do if [ "$COMPONENT" == "automation" ] || [ "$COMPONENT" == "policy" ]; then docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" else - docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/ > "$BUILD_LOG" + docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile . > "$BUILD_LOG" fi if [ -n "$REGISTRY_IMAGE" ]; then @@ -110,10 +110,12 @@ for COMPONENT in $COMPONENTS; do fi echo " Deploying '$COMPONENT' component to Kubernetes..." - DEPLOY_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log" + DEPLOY_LOG="$TMP_LOGS_FOLDER/deploy_${COMPONENT}.log" kubectl --namespace $K8S_NAMESPACE apply -f "$MANIFEST" > "$DEPLOY_LOG" - kubectl --namespace $K8S_NAMESPACE scale deployment --replicas=0 ${COMPONENT}service >> "$DEPLOY_LOG" - kubectl --namespace $K8S_NAMESPACE scale deployment --replicas=1 ${COMPONENT}service >> "$DEPLOY_LOG" + + COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") + kubectl --namespace $K8S_NAMESPACE scale deployment --replicas=0 ${COMPONENT_OBJNAME}service >> "$DEPLOY_LOG" + kubectl --namespace $K8S_NAMESPACE scale deployment --replicas=1 ${COMPONENT_OBJNAME}service >> "$DEPLOY_LOG" printf "\n" done @@ -134,7 +136,7 @@ done if [[ "$COMPONENTS" == *"webui"* ]]; then echo "Configuring WebUI DataStores and Dashboards..." - ./configure_dashboards.sh + ./configure_dashboards_in_kubernetes.sh printf "\n\n" fi diff --git a/open_dashboard.sh b/scripts/old/open_dashboard.sh similarity index 73% rename from open_dashboard.sh rename to scripts/old/open_dashboard.sh index 8291a22c75cd2c2b83bedcab2ac0167c56c966a6..d0529a00921be896ae976c86d10d67139719de9c 100755 --- a/open_dashboard.sh +++ b/scripts/old/open_dashboard.sh @@ -16,10 +16,10 @@ # this script opens the dashboard -K8S_NAMESPACE=${K8S_NAMESPACE:-'tf-dev'} +K8S_NAMESPACE=${K8S_NAMESPACE:-'tfs'} -GRAFANA_IP=$(kubectl get service/webuiservice -n ${K8S_NAMESPACE} -o jsonpath='{.spec.clusterIP}') -GRAFANA_PORT=$(kubectl get service webuiservice-public --namespace $K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.port==3000)].nodePort}') +GRAFANA_IP=$(kubectl get service/webuiservice -n ${TFS_K8S_NAMESPACE} -o jsonpath='{.spec.clusterIP}') +GRAFANA_PORT=3000 #$(kubectl get service webuiservice --namespace $TFS_K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.port==3000)].nodePort}') URL=http://${GRAFANA_IP}:${GRAFANA_PORT} echo Opening Dashboard on URL ${URL} diff --git a/scripts/old/open_webui.sh b/scripts/old/open_webui.sh new file mode 100755 index 0000000000000000000000000000000000000000..d539c1970adb7882c9621fc909acf21c2dde743a --- /dev/null +++ b/scripts/old/open_webui.sh @@ -0,0 +1,88 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# this script opens the webui + +K8S_NAMESPACE=${K8S_NAMESPACE:-'tfs'} + +WEBUI_SERVICE_NAME="webuiservice" +WEBUI_IP=`kubectl get service ${WEBUI_SERVICE_NAME} -n ${K8S_NAMESPACE} -o jsonpath='{.spec.clusterIP}'` +# WEBUI_PORT=$(kubectl get service ${WEBUI_SERVICE_NAME} --namespace $K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.port==8004)].nodePort}') +WEBUI_PORT=8004 +# GRAFANA_PORT=$(kubectl get service ${WEBUI_SERVICE_NAME} --namespace $K8S_NAMESPACE -o 'jsonpath={.spec.ports[?(@.port==3000)].nodePort}') +GRAFANA_PORT=3000 + +echo "Configuring WebUI DataStores and Dashboards..." +sleep 3 +INFLUXDB_HOST="monitoringservice" +INFLUXDB_PORT=$(kubectl --namespace $TFS_K8S_NAMESPACE get service/monitoringservice -o jsonpath='{.spec.ports[?(@.name=="influxdb")].port}') +INFLUXDB_URL="http://${INFLUXDB_HOST}:${INFLUXDB_PORT}" +INFLUXDB_USER=$(kubectl --namespace $TFS_K8S_NAMESPACE get secrets influxdb-secrets -o jsonpath='{.data.INFLUXDB_ADMIN_USER}' | base64 --decode) +INFLUXDB_PASSWORD=$(kubectl --namespace $TFS_K8S_NAMESPACE get secrets influxdb-secrets -o jsonpath='{.data.INFLUXDB_ADMIN_PASSWORD}' | base64 --decode) +INFLUXDB_DATABASE=$(kubectl --namespace $TFS_K8S_NAMESPACE get secrets influxdb-secrets -o jsonpath='{.data.INFLUXDB_DB}' | base64 --decode) +# Exposed through the ingress controller "tfs-ingress" +# GRAFANA_HOSTNAME="127.0.0.1" +# GRAFANA_PORT="80" +# GRAFANA_BASEURL="/grafana" +# Default Grafana credentials +GRAFANA_USERNAME="admin" +GRAFANA_PASSWORD="admin" +# Default Grafana API URL +GRAFANA_URL_DEFAULT=http://${GRAFANA_USERNAME}:${GRAFANA_PASSWORD}@${WEBUI_IP}:${GRAFANA_PORT} #"http://${GRAFANA_USERNAME}:${GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:${GRAFANA_PORT}${GRAFANA_BASEURL}" +# Updated Grafana API URL +GRAFANA_URL_UPDATED=http://${GRAFANA_USERNAME}:${TFS_GRAFANA_PASSWORD}@${WEBUI_IP}:${GRAFANA_PORT} #"http://${GRAFANA_USERNAME}:${TFS_GRAFANA_PASSWORD}@${GRAFANA_HOSTNAME}:${GRAFANA_PORT}${GRAFANA_BASEURL}" +echo "Connecting to grafana at URL: ${GRAFANA_URL_DEFAULT}..." +# Configure Grafana Admin Password +# Ref: https://grafana.com/docs/grafana/latest/http_api/user/#change-password +curl -X PUT -H "Content-Type: application/json" -d '{ + "oldPassword": "'${GRAFANA_PASSWORD}'", + "newPassword": "'${TFS_GRAFANA_PASSWORD}'", + "confirmNew" : "'${TFS_GRAFANA_PASSWORD}'" +}' ${GRAFANA_URL_DEFAULT}/api/user/password +echo +# Create InfluxDB DataSource +# Ref: https://grafana.com/docs/grafana/latest/http_api/data_source/ +curl -X POST -H "Content-Type: application/json" -d '{ + "type" : "influxdb", + "name" : "InfluxDB", + "url" : "'"$INFLUXDB_URL"'", + "access" : "proxy", + "basicAuth": false, + "user" : "'"$INFLUXDB_USER"'", + "password" : "'"$INFLUXDB_PASSWORD"'", + "isDefault": true, + "database" : "'"$INFLUXDB_DATABASE"'" +}' ${GRAFANA_URL_UPDATED}/api/datasources +echo +# Create Monitoring Dashboard +# Ref: https://grafana.com/docs/grafana/latest/http_api/dashboard/ +curl -X POST -H "Content-Type: application/json" \ +-d '@src/webui/grafana_dashboard.json' \ +${GRAFANA_URL_UPDATED}/api/dashboards/db +echo +DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tf-l3-monit" +DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') +curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} + +# Open WebUI +UI_URL="http://${WEBUI_IP}:${WEBUI_PORT}" +echo "Opening web UI on URL ${UI_URL}" +# curl -kL ${UI_URL} +python3 -m webbrowser ${UI_URL} + +# Open Dashboard +DASHB_URL="http://${WEBUI_IP}:${GRAFANA_PORT}" +echo "Opening Dashboard on URL ${DASHB_URL}" +# curl -kL ${DASHB_URL} +python3 -m webbrowser ${DASHB_URL} diff --git a/scripts/report_coverage_all.sh b/scripts/report_coverage_all.sh index a7e4797f3118a03c5f4db7eb384a67bdea4d795a..3b7df170c880ede72dea356752c5120e59dd9d71 100755 --- a/scripts/report_coverage_all.sh +++ b/scripts/report_coverage_all.sh @@ -16,7 +16,7 @@ PROJECTDIR=`pwd` -cd $(dirname $0)/src +cd $PROJECTDIR/src RCFILE=$PROJECTDIR/coverage/.coveragerc echo diff --git a/src/tests/ofc22/show_deploy.sh b/scripts/report_coverage_pathcomp.sh similarity index 90% rename from src/tests/ofc22/show_deploy.sh rename to scripts/report_coverage_pathcomp.sh index 58fce79e32819478627c87b8a5fb8ea7701db2d7..3af2790f838619e495a9b5727506f6829ad12a35 100755 --- a/src/tests/ofc22/show_deploy.sh +++ b/scripts/report_coverage_pathcomp.sh @@ -14,5 +14,4 @@ # limitations under the License. -K8S_NAMESPACE="ofc22" -kubectl --namespace $K8S_NAMESPACE get all +./report_coverage_all.sh | grep --color -E -i "^pathcomp/.*$|$" diff --git a/src/tests/ofc22/show_logs_device.sh b/scripts/report_coverage_slice.sh similarity index 88% rename from src/tests/ofc22/show_logs_device.sh rename to scripts/report_coverage_slice.sh index 9d976755a959dd8674a5cfe4fffb7104c27e8521..f9b17e8bd162500e2be77a871f7f2976f923ca68 100755 --- a/src/tests/ofc22/show_logs_device.sh +++ b/scripts/report_coverage_slice.sh @@ -13,5 +13,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -K8S_NAMESPACE="ofc22" -kubectl --namespace $K8S_NAMESPACE logs deployment/deviceservice + +./report_coverage_all.sh | grep --color -E -i "^slice/.*$|$" diff --git a/scripts/run_tests_locally-compute.sh b/scripts/run_tests_locally-compute.sh index 48ce6e232a8005ee37fce8a0dbd9f7aed4cf83dc..d48fe417134d2f8c3078d549b3bb84e2cc745da6 100755 --- a/scripts/run_tests_locally-compute.sh +++ b/scripts/run_tests_locally-compute.sh @@ -20,9 +20,5 @@ cd $PROJECTDIR/src RCFILE=$PROJECTDIR/coverage/.coveragerc # Run unitary tests and analyze coverage of code at same time - -# Useful flags for pytest: -#-o log_cli=true -o log_file=service.log -o log_file_level=DEBUG - coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ compute/tests/test_unitary.py diff --git a/scripts/run_tests_locally-context.sh b/scripts/run_tests_locally-context.sh new file mode 100755 index 0000000000000000000000000000000000000000..7033fcb01a468731b498708096a80fac8d9a9a85 --- /dev/null +++ b/scripts/run_tests_locally-context.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +export TFS_K8S_HOSTNAME="tfs-vm" + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +kubectl --namespace $TFS_K8S_NAMESPACE expose deployment contextservice --name=redis-tests --port=6379 --type=NodePort +#export REDIS_SERVICE_HOST=$(kubectl --namespace $TFS_K8S_NAMESPACE get service redis-tests -o 'jsonpath={.spec.clusterIP}') +export REDIS_SERVICE_HOST=$(kubectl get node $TFS_K8S_HOSTNAME -o 'jsonpath={.status.addresses[?(@.type=="InternalIP")].address}') +export REDIS_SERVICE_PORT=$(kubectl --namespace $TFS_K8S_NAMESPACE get service redis-tests -o 'jsonpath={.spec.ports[?(@.port==6379)].nodePort}') + +# Run unitary tests and analyze coverage of code at same time +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose --maxfail=1 \ + context/tests/test_unitary.py + +kubectl --namespace $TFS_K8S_NAMESPACE delete service redis-tests diff --git a/scripts/run_tests_locally-device-all.sh b/scripts/run_tests_locally-device-all.sh new file mode 100755 index 0000000000000000000000000000000000000000..a60eab0be932862cf1adc3a81678239de566bd37 --- /dev/null +++ b/scripts/run_tests_locally-device-all.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +# Run unitary tests and analyze coverage of code at same time + +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_emulated.py + +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_openconfig.py + +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_tapi.py + +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_p4.py + +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_microwave.py diff --git a/scripts/run_tests_locally-device-emulated.sh b/scripts/run_tests_locally-device-emulated.sh new file mode 100755 index 0000000000000000000000000000000000000000..541017f7a6b9f3d1289162ad69b27f572aa046cb --- /dev/null +++ b/scripts/run_tests_locally-device-emulated.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +# Run unitary tests and analyze coverage of code at same time +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_emulated.py diff --git a/scripts/run_tests_locally-device-microwave.sh b/scripts/run_tests_locally-device-microwave.sh new file mode 100755 index 0000000000000000000000000000000000000000..21f3e5ab67c882ab51f7c8c14a95ed6df26418de --- /dev/null +++ b/scripts/run_tests_locally-device-microwave.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +# Run unitary tests and analyze coverage of code at same time +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_microwave.py diff --git a/scripts/run_tests_locally-device-openconfig.sh b/scripts/run_tests_locally-device-openconfig.sh new file mode 100755 index 0000000000000000000000000000000000000000..f87346fed8ebe9b27c806759fafc851a15afd068 --- /dev/null +++ b/scripts/run_tests_locally-device-openconfig.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +# Run unitary tests and analyze coverage of code at same time +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_openconfig.py diff --git a/scripts/run_tests_locally-device-p4.sh b/scripts/run_tests_locally-device-p4.sh new file mode 100755 index 0000000000000000000000000000000000000000..4e6754e4d56741f960e1e5562abb0c10abc0ccb4 --- /dev/null +++ b/scripts/run_tests_locally-device-p4.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +# Run unitary tests and analyze coverage of code at same time +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_p4.py diff --git a/scripts/run_tests_locally-device-tapi.sh b/scripts/run_tests_locally-device-tapi.sh new file mode 100755 index 0000000000000000000000000000000000000000..d37e4e2b7f8545c2033b0049722cdbb8c589b55b --- /dev/null +++ b/scripts/run_tests_locally-device-tapi.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +PROJECTDIR=`pwd` + +cd $PROJECTDIR/src +RCFILE=$PROJECTDIR/coverage/.coveragerc + +# Run unitary tests and analyze coverage of code at same time +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + device/tests/test_unitary_tapi.py diff --git a/scripts/run_tests_locally-device.sh b/scripts/run_tests_locally-pathcomp-frontend.sh similarity index 88% rename from scripts/run_tests_locally-device.sh rename to scripts/run_tests_locally-pathcomp-frontend.sh index ba6c0b6a58031720addc17cc0de9169e592099f5..1bcf5e7f3792622622f9e59978fddbf11c54e492 100755 --- a/scripts/run_tests_locally-device.sh +++ b/scripts/run_tests_locally-pathcomp-frontend.sh @@ -22,7 +22,7 @@ RCFILE=$PROJECTDIR/coverage/.coveragerc # Run unitary tests and analyze coverage of code at same time # Useful flags for pytest: -#-o log_cli=true -o log_file=device.log -o log_file_level=DEBUG +#-o log_cli=true -o log_file=service.log -o log_file_level=DEBUG coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ - device/tests/test_unitary.py + pathcomp/frontend/tests/test_unitary.py diff --git a/scripts/run_tests_locally-service.sh b/scripts/run_tests_locally-service.sh index 853eb97673e9e2a3a3fa28d025bd8af9ef4ea6cf..8816b9faa24e55e486a54852632fdb8e00db1d04 100755 --- a/scripts/run_tests_locally-service.sh +++ b/scripts/run_tests_locally-service.sh @@ -20,9 +20,6 @@ cd $PROJECTDIR/src RCFILE=$PROJECTDIR/coverage/.coveragerc # Run unitary tests and analyze coverage of code at same time - -# Useful flags for pytest: -#-o log_cli=true -o log_file=service.log -o log_file_level=DEBUG - coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + service/tests/test_unitary_task_scheduler.py \ service/tests/test_unitary.py diff --git a/scripts/run_tests_locally-slice.sh b/scripts/run_tests_locally-slice.sh index adad39b5b2de2f4de0f2451e89a20732d1ecda2c..fa3af4eba1f9d42a1f9d283964a536a00f9547ae 100755 --- a/scripts/run_tests_locally-slice.sh +++ b/scripts/run_tests_locally-slice.sh @@ -20,9 +20,5 @@ cd $PROJECTDIR/src RCFILE=$PROJECTDIR/coverage/.coveragerc # Run unitary tests and analyze coverage of code at same time - -# Useful flags for pytest: -#-o log_cli=true -o log_file=service.log -o log_file_level=DEBUG - coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ slice/tests/test_unitary.py diff --git a/scripts/run_tests_locally.sh b/scripts/run_tests_locally.sh index 633510a54c33d0603be7cc35706114c29561b958..1d48cc1af18629874b0275b1fa92bf31961741c3 100755 --- a/scripts/run_tests_locally.sh +++ b/scripts/run_tests_locally.sh @@ -51,9 +51,6 @@ export INFLUXDB_DATABASE=$(kubectl --namespace $K8S_NAMESPACE get secrets influx # First destroy old coverage file rm -f $COVERAGEFILE -# Useful flags for pytest: -#-o log_cli=true -o log_file=device.log -o log_file_level=DEBUG - coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ common/orm/tests/test_unitary.py \ common/message_broker/tests/test_unitary.py \ @@ -63,7 +60,7 @@ coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ context/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ - device/tests/test_unitary.py + device/tests/test_unitary_emulated.py coverage run --rcfile=$RCFILE --append -m pytest -s --log-level=INFO --verbose \ l3_centralizedattackdetector/tests/test_unitary.py @@ -97,3 +94,6 @@ coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ slice/tests/test_unitary.py + +coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ + pathcomp/tests/test_unitary.py diff --git a/scripts/show_logs_automation.sh b/scripts/show_logs_automation.sh new file mode 100755 index 0000000000000000000000000000000000000000..0c0615d9915db6e5b9958ec1205c7a99f096f019 --- /dev/null +++ b/scripts/show_logs_automation.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/automationservice diff --git a/scripts/show_logs_compute.sh b/scripts/show_logs_compute.sh new file mode 100755 index 0000000000000000000000000000000000000000..759918f11a366450b5c7058a9a2c46bbb701f2cd --- /dev/null +++ b/scripts/show_logs_compute.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/computeservice diff --git a/scripts/show_logs_context.sh b/scripts/show_logs_context.sh new file mode 100755 index 0000000000000000000000000000000000000000..f4b6c620b89d566c8af6950d7240a8286152417d --- /dev/null +++ b/scripts/show_logs_context.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server diff --git a/scripts/show_logs_device.sh b/scripts/show_logs_device.sh new file mode 100755 index 0000000000000000000000000000000000000000..d3ef781c92274ecf6b9f2b9ef8eb44b2fde497d6 --- /dev/null +++ b/scripts/show_logs_device.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice diff --git a/scripts/show_logs_dlt_connector.sh b/scripts/show_logs_dlt_connector.sh new file mode 100755 index 0000000000000000000000000000000000000000..db4c388c20399007ba10b357a5e153df4a86c519 --- /dev/null +++ b/scripts/show_logs_dlt_connector.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/dltservice -c connector diff --git a/scripts/show_logs_dlt_gateway.sh b/scripts/show_logs_dlt_gateway.sh new file mode 100755 index 0000000000000000000000000000000000000000..c00be2df16cb69b3ace501a854d1248a72abbf3e --- /dev/null +++ b/scripts/show_logs_dlt_gateway.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/dltservice -c gateway diff --git a/scripts/show_logs_monitoring.sh b/scripts/show_logs_monitoring.sh new file mode 100755 index 0000000000000000000000000000000000000000..faa825fdfae2bb85f0790a877b75d533ff5aa0d5 --- /dev/null +++ b/scripts/show_logs_monitoring.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice server diff --git a/scripts/show_logs_pathcomp_backend.sh b/scripts/show_logs_pathcomp_backend.sh new file mode 100755 index 0000000000000000000000000000000000000000..cee99ee4bd19de9b7cd4e45eb651e809397ccaeb --- /dev/null +++ b/scripts/show_logs_pathcomp_backend.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c backend diff --git a/scripts/show_logs_pathcomp_frontend.sh b/scripts/show_logs_pathcomp_frontend.sh new file mode 100755 index 0000000000000000000000000000000000000000..32f92b59d53b5804e9f1a0b145576667cfa21131 --- /dev/null +++ b/scripts/show_logs_pathcomp_frontend.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend diff --git a/scripts/show_logs_service.sh b/scripts/show_logs_service.sh new file mode 100755 index 0000000000000000000000000000000000000000..6089d0ac6f3008bd5f35e2f813fd1cab2c4d4060 --- /dev/null +++ b/scripts/show_logs_service.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice diff --git a/scripts/show_logs_slice.sh b/scripts/show_logs_slice.sh new file mode 100755 index 0000000000000000000000000000000000000000..c7bc0b69588307092b22ea3c600669359f04de99 --- /dev/null +++ b/scripts/show_logs_slice.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice diff --git a/scripts/show_logs_webui.sh b/scripts/show_logs_webui.sh new file mode 100755 index 0000000000000000000000000000000000000000..38cffd624b35ce8196c7bbde2838a0971a7d7024 --- /dev/null +++ b/scripts/show_logs_webui.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/webuiservice -c server diff --git a/show_deploy.sh b/show_deploy.sh new file mode 100755 index 0000000000000000000000000000000000000000..68a5659aab529be5644015d6e6fbdf9885f7a1ec --- /dev/null +++ b/show_deploy.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +echo "Deployment Resources:" +kubectl --namespace $TFS_K8S_NAMESPACE get all +printf "\n" + +echo "Deployment Ingress:" +kubectl --namespace $TFS_K8S_NAMESPACE get ingress +printf "\n" diff --git a/src/automation/.gitlab-ci.yml b/src/automation/.gitlab-ci.yml index 76cd4ea0d07496af864275cd63c5fbd8f94b7659..87d141d5bef56c8d3fbd5bb5a0a961ac12598dd6 100644 --- a/src/automation/.gitlab-ci.yml +++ b/src/automation/.gitlab-ci.yml @@ -69,7 +69,6 @@ unit_test automation: coverage: '/JaCoCo Coverage Total: ([0-9]{1,3})%/' artifacts: reports: - cobertura: ${REPORTS_PATH}/cobertura.xml junit: - ${REPORTS_PATH}/surefire-reports/TEST-*.xml rules: diff --git a/src/automation/README.md b/src/automation/README.md index 099980bcc4172bf9e5c2d59459f40ae4331696cf..e98d2b8ab62563f43cf2c1011e91fb2a1d08d378 100644 --- a/src/automation/README.md +++ b/src/automation/README.md @@ -1,28 +1,57 @@ -# Automation TeraFlow OS service +# TeraFlowSDN Automation service -The Automation service, also known as Zero-Touch Provisioning (ZTP), is tested on Ubuntu 20.04. Follow the instructions below to build, test, and run this service on your local environment. +This repository hosts the TeraFlowSDN Automation service, also known as Zero-Touch Provisioning (ZTP) service. +Follow the instructions below to build, test, and run this service on your local environment. -## Automation Teraflow OS service architecture +## TeraFlowSDN Automation service architecture -| The Automation Teraflow OS service architecture consists of six (6) interfaces listed below: | +The TeraFlowSDN Automation architecture consists of six (6) interfaces listed below: + +Interfaces | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 1. The `AutomationGateway` interface that implements all the rpc functions that are described in `automation.proto` file. | -| 2. The `ContextGateway` interface that communicates with a `Context` Service gRPC client and implements all the rpc functions that are described in `context.proto` file. | -| 3. The `DeviceGateway` interface that communicates with a `Device` Service gRPC client and implements all the rpc functions that are described in `device.proto` file. | -| 4. The `AutomationService` interface that implements the `addDevice()` method by communicating with a `Context` gRPC client & a `Device` gRPC client through the use of `ContextService` interface & `DeviceService` interface respectively. | -| 5. The `ContextService` interface that implements the `getDevice()` & `getDeviceEvents()` methods by communicating with a `Context` gRPC client through the use of `ContextGateway` interface. | -| 6. The `DeviceService` interface that implements the `getInitialConfiguration()` & `configureDevice()` methods by communicating with a `Device` gRPC client through the use of `DeviceGateway` interface. | +| 1. The `AutomationGateway` interface that implements all the RPC functions that are described in `automation.proto` file. | +| 2. The `ContextGateway` interface that communicates with a `Context` Service gRPC client to invoke key RPC functions described in `context.proto` file. | +| 3. The `DeviceGateway` interface that communicates with a `Device` Service gRPC client to invoke key RPC functions described in `device.proto` file. | +| 4. The `AutomationService` interface that implements the `addDevice()`, `updateDevice()`, and `deleteDevice()` methods by communicating with a `Context` gRPC client and a `Device` gRPC client through the use of `ContextService` interface and `DeviceService` interface respectively. | +| 5. The `ContextService` interface that implements the `getDevice()` and `getDeviceEvents()` methods by communicating with a `Context` gRPC client through the use of `ContextGateway` interface. | +| 6. The `DeviceService` interface that implements the `getInitialConfiguration()`, `configureDevice()`, and `deleteDevice()` methods by communicating with a `Device` gRPC client through the use of `DeviceGateway` interface. | + + +## Prerequisites +The Automation service is currently tested against Ubuntu 20.04 and Java 11. -## Run with dev profile +To quickly install Java 11 on a Debian-based Linux distro do: ```bash -./mvnw clean quarkus:dev +sudo apt-get install openjdk-11-jdk -y ``` -## Running tests +Feel free to try more recent Java versions. + +## Compile + +```bash +./mvnw compile +``` + +## Run tests + +```bash +./mvnw test +``` -Run unit and functional tests `./mvnw clean test` +## Run service + +```bash +./mvnw quarkus:dev +```` + +## Clean + +```bash +./mvnw clean +``` ## Deploying on a Kubernetes cluster @@ -30,10 +59,16 @@ To create the K8s manifest file under `target/kubernetes/kubernetes.yml` to be u ```bash ./mvnw clean package -DskipUTs -DskipITs -``` +``` To deploy the application in a K8s cluster run ```bash kubectl apply -f "manifests/automationservice.yaml" ``` + +## Maintainers + +This TeraFlowSDN service is implemented by [UBITECH](https://www.ubitech.eu). + +Feel free to contact Georgios Katsikas (gkatsikas at ubitech dot eu) in case you have questions. diff --git a/src/automation/pom.xml b/src/automation/pom.xml index bedee7b7f23296fa4adb7585191d19b5a917d689..4609c2c8db9aae825a86e3820efa9c00a9d737f0 100644 --- a/src/automation/pom.xml +++ b/src/automation/pom.xml @@ -297,6 +297,7 @@ device/* monitoring/* kpi_sample_types/* + acl/* diff --git a/src/automation/src/main/docker/Dockerfile.multistage.jvm b/src/automation/src/main/docker/Dockerfile.multistage.jvm index 111527d46d08891480894240f381e7bd6501f051..426e154baf71b1854fa688fb9302bbc539a1a635 100644 --- a/src/automation/src/main/docker/Dockerfile.multistage.jvm +++ b/src/automation/src/main/docker/Dockerfile.multistage.jvm @@ -60,7 +60,7 @@ COPY --from=builder --chown=1001 /app/target/quarkus-app/app/ /deployments/app/ COPY --from=builder --chown=1001 /app/target/quarkus-app/quarkus/ /deployments/quarkus/ EXPOSE 8080 -EXPOSE 9999 +EXPOSE 5050 USER 1001 ENTRYPOINT [ "/deployments/run-java.sh" ] diff --git a/src/automation/src/main/java/eu/teraflow/automation/AutomationConfiguration.java b/src/automation/src/main/java/eu/teraflow/automation/AutomationConfiguration.java index 55f5cce25e8a03a1a5c0da567f16bd858c668d0f..91b6e159d26c86afaf0412af0406657a9c72f8d5 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/AutomationConfiguration.java +++ b/src/automation/src/main/java/eu/teraflow/automation/AutomationConfiguration.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; diff --git a/src/automation/src/main/java/eu/teraflow/automation/AutomationGateway.java b/src/automation/src/main/java/eu/teraflow/automation/AutomationGateway.java index 1533643d14cb0d78ababe57242a4f01a50c3b0b8..2d8194c6902037b09cf1f707dc8ff9c264e2f2c5 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/AutomationGateway.java +++ b/src/automation/src/main/java/eu/teraflow/automation/AutomationGateway.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; diff --git a/src/automation/src/main/java/eu/teraflow/automation/AutomationGatewayImpl.java b/src/automation/src/main/java/eu/teraflow/automation/AutomationGatewayImpl.java index 7f403459a2ff28809046a292c7c64d413c066243..466ebf7fefe69645cd23c72ca3b61d8e5bdd4713 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/AutomationGatewayImpl.java +++ b/src/automation/src/main/java/eu/teraflow/automation/AutomationGatewayImpl.java @@ -1,25 +1,28 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; import automation.Automation; +import automation.Automation.DeviceRoleConfig; +import automation.Automation.DeviceRoleState; import context.ContextOuterClass; -import eu.teraflow.automation.device.model.Device; +import eu.teraflow.automation.context.model.Device; import eu.teraflow.automation.model.DeviceRoleId; +import eu.teraflow.automation.model.DeviceState; import io.quarkus.grpc.GrpcService; import io.smallrye.mutiny.Uni; import javax.inject.Inject; @@ -56,43 +59,44 @@ public class AutomationGatewayImpl implements AutomationGateway { return automationService .addDevice(deviceId) .onItem() - .transform( device -> transformToDeviceRoleState(device, devRoleId)); + .transform(device -> transformToDeviceRoleState(device, devRoleId, DeviceState.CREATED)); } @Override - public Uni ztpUpdate(Automation.DeviceRole request) { - return Uni.createFrom() - .item( - () -> - Automation.DeviceRoleState.newBuilder() - .setDevRoleId(request.getDevRoleId()) - .build()); + public Uni ztpUpdate(DeviceRoleConfig request) { + final var devRoleId = request.getDevRole().getDevRoleId().getDevRoleId().getUuid(); + final var deviceId = serializer.deserialize(request.getDevRole().getDevRoleId().getDevId()); + final var deviceConfig = serializer.deserialize(request.getDevConfig()); + + return automationService + .updateDevice(deviceId, deviceConfig) + .onItem() + .transform(device -> transformToDeviceRoleState(device, devRoleId, DeviceState.UPDATED)); } @Override public Uni ztpDelete(Automation.DeviceRole request) { - return Uni.createFrom() - .item( - () -> - Automation.DeviceRoleState.newBuilder() - .setDevRoleId(request.getDevRoleId()) - .build()); + final var devRoleId = request.getDevRoleId().getDevRoleId().getUuid(); + return automationService + .deleteDevice(devRoleId) + .onItem() + .transform(device -> transformToDeviceRoleState(device, devRoleId, DeviceState.DELETED)); } @Override - public Uni ztpDeleteAll(Automation.Empty empty) { + public Uni ztpDeleteAll(ContextOuterClass.Empty empty) { return Uni.createFrom().item(() -> Automation.DeviceDeletionResult.newBuilder().build()); } - // TODO When `DeviceRoleState` domain object will be created, move this method to Serializer class and create related tests - private Automation.DeviceRoleState transformToDeviceRoleState(Device device, String devRoleId){ - + private Automation.DeviceRoleState transformToDeviceRoleState( + Device device, String devRoleId, DeviceState deviceState) { final var deviceRoleId = new DeviceRoleId(devRoleId, device.getDeviceId()); final var serializeDeviceRoleId = serializer.serialize(deviceRoleId); + final var serializedDeviceState = serializer.serialize(deviceState); return Automation.DeviceRoleState.newBuilder() .setDevRoleId(serializeDeviceRoleId) - .setDevRoleState(Automation.ZtpDeviceState.ZTP_DEV_STATE_CREATED) + .setDevRoleState(serializedDeviceState) .build(); } -} \ No newline at end of file +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/AutomationService.java b/src/automation/src/main/java/eu/teraflow/automation/AutomationService.java index 38d7420ed3ba865ae141843c9ba41a6a345e8f31..b9f34d8e4bd3e1703bff1cf48a18a0a2b84e61b1 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/AutomationService.java +++ b/src/automation/src/main/java/eu/teraflow/automation/AutomationService.java @@ -1,25 +1,30 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; -import eu.teraflow.automation.device.model.Device; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; import io.smallrye.mutiny.Uni; public interface AutomationService { Uni addDevice(String deviceId); + + Uni deleteDevice(String deviceId); + + Uni updateDevice(String deviceId, DeviceConfig deviceConfig); } diff --git a/src/automation/src/main/java/eu/teraflow/automation/AutomationServiceImpl.java b/src/automation/src/main/java/eu/teraflow/automation/AutomationServiceImpl.java index 433dffbc727f685fb0d8f80ae0c2e4dc559bae87..54255cf78481bbaa1ecdd81a097a335292d81ed5 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/AutomationServiceImpl.java +++ b/src/automation/src/main/java/eu/teraflow/automation/AutomationServiceImpl.java @@ -1,24 +1,25 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; import eu.teraflow.automation.context.ContextService; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; import eu.teraflow.automation.device.DeviceService; -import eu.teraflow.automation.device.model.Device; import io.smallrye.mutiny.Uni; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @@ -27,6 +28,7 @@ import org.jboss.logging.Logger; @ApplicationScoped public class AutomationServiceImpl implements AutomationService { private static final Logger LOGGER = Logger.getLogger(AutomationServiceImpl.class); + private static final String MESSAGE = "Retrieved %s"; private final DeviceService deviceService; private final ContextService contextService; @@ -43,39 +45,102 @@ public class AutomationServiceImpl implements AutomationService { final var deserializedDeviceUni = contextService.getDevice(deviceId); deserializedDeviceUni - // TODO fix subscribe + .subscribe() + .with( + device -> { + final var id = deviceId; + + if (device.isEnabled()) { + LOGGER.warnf("%s has already been enabled. Ignoring...", device); + return; + } + + LOGGER.infof(MESSAGE, device); + + final var initialConfiguration = + deviceService.getInitialConfiguration(device.getDeviceId()); + + device.enableDevice(); + LOGGER.infof("Enabled device [%s]", id); + + initialConfiguration + .subscribe() + .with( + deviceConfig -> { + device.setDeviceConfiguration(deviceConfig); + final var configuredDeviceIdUni = deviceService.configureDevice(device); + + configuredDeviceIdUni + .subscribe() + .with( + configuredDeviceId -> + LOGGER.infof( + "Device [%s] has been successfully enabled and configured with %s.\n", + id, deviceConfig)); + }); + }); + + return deserializedDeviceUni; + } + + @Override + public Uni deleteDevice(String deviceId) { + final var deserializedDeviceUni = contextService.getDevice(deviceId); + + deserializedDeviceUni + .subscribe() + .with( + device -> { + final var id = deviceId; + + if (device.isDisabled()) { + LOGGER.warnf("%s has already been disabled. Ignoring...", device); + return; + } + + device.disableDevice(); + LOGGER.infof("Disabled device [%s]", id); + + LOGGER.infof(MESSAGE, device); + + final var empty = deviceService.deleteDevice(device.getDeviceId()); + + empty + .subscribe() + .with( + emptyMessage -> + LOGGER.infof("Device [%s] has been successfully deleted.\n", id)); + }); + + return deserializedDeviceUni; + } + + @Override + public Uni updateDevice(String deviceId, DeviceConfig deviceConfig) { + final var deserializedDeviceUni = contextService.getDevice(deviceId); + + deserializedDeviceUni .subscribe() .with( device -> { final var id = deviceId; if (!device.isEnabled()) { - LOGGER.infof("Retrieved %s", device); - - final var initialConfiguration = - deviceService.getInitialConfiguration(device.getDeviceId()); - - device.enableDevice(); - LOGGER.infof("Enabled device [%s]", id); - - initialConfiguration - .subscribe() - .with( - deviceConfig -> { - device.setDeviceConfiguration(deviceConfig); - final var configuredDeviceIdUni = deviceService.configureDevice(device); - - configuredDeviceIdUni - .subscribe() - .with( - configuredDeviceId -> - LOGGER.infof( - "Device [%s] has been enabled and configured successfully with %s.\n", - id, deviceConfig)); - }); - } else { - LOGGER.infof("%s has been already enabled. Ignoring...", device); + LOGGER.warnf("Cannot update disabled device %s. Ignoring...", device); + return; } + + LOGGER.infof(MESSAGE, device); + device.setDeviceConfiguration(deviceConfig); + final var updatedDeviceIdUni = deviceService.configureDevice(device); + + updatedDeviceIdUni + .subscribe() + .with( + configuredDeviceId -> + LOGGER.infof( + "Device [%s] has been successfully updated with %s.\n", + id, deviceConfig)); }); return deserializedDeviceUni; diff --git a/src/automation/src/main/java/eu/teraflow/automation/ContextSubscriber.java b/src/automation/src/main/java/eu/teraflow/automation/ContextSubscriber.java index cb80a6428fbab7ca69952eb5ead760ae815e99c6..76e536d9bc03c196005a91be1c82d15879a6f8e8 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/ContextSubscriber.java +++ b/src/automation/src/main/java/eu/teraflow/automation/ContextSubscriber.java @@ -1,22 +1,24 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; import eu.teraflow.automation.context.ContextService; +import eu.teraflow.automation.context.model.Event; +import eu.teraflow.automation.context.model.EventTypeEnum; import io.quarkus.runtime.StartupEvent; import java.time.Duration; import javax.enterprise.context.ApplicationScoped; @@ -71,15 +73,18 @@ public class ContextSubscriber { LOGGER.infof("Received %s for device [%s]", event, deviceId); automationService.addDevice(deviceEvent.getDeviceId()); break; - - case UPDATE: case REMOVE: + LOGGER.infof("Received %s for device [%s]", event, deviceId); + automationService.deleteDevice(deviceEvent.getDeviceId()); + break; + case UPDATE: + LOGGER.warnf( + "Received %s for device [%s]. " + + "No automation action on an already updated device", + event, deviceId); + break; case UNDEFINED: - { - LOGGER.warnf( - "Received %s for device [%s]. [%s] event handling is not yet implemented, ignoring...", - event, deviceId, eventType); - } + logWarningMessage(event, deviceId, eventType); break; } }); @@ -94,4 +99,10 @@ public class ContextSubscriber { LOGGER.info("Not subscribing to Context service for device events..."); } } + + private void logWarningMessage(Event event, String deviceId, EventTypeEnum eventType) { + LOGGER.warnf( + "Received %s for device [%s]. [%s] event handling is not yet implemented, ignoring...", + event, deviceId, eventType); + } } diff --git a/src/automation/src/main/java/eu/teraflow/automation/Serializer.java b/src/automation/src/main/java/eu/teraflow/automation/Serializer.java index 1cabde5bf714b4427e4abb5551b39f30b5474a79..445dea540b57717f1005d8b37269777f7e2147ee 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/Serializer.java +++ b/src/automation/src/main/java/eu/teraflow/automation/Serializer.java @@ -1,39 +1,69 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; +import acl.Acl; import automation.Automation; +import automation.Automation.ZtpDeviceState; import context.ContextOuterClass; +import context.ContextOuterClass.ConfigRule_ACL; +import context.ContextOuterClass.ConfigRule_Custom; +import context.ContextOuterClass.ContextId; import context.ContextOuterClass.DeviceId; import context.ContextOuterClass.DeviceOperationalStatusEnum; +import context.ContextOuterClass.Location.LocationCase; import context.ContextOuterClass.Uuid; +import eu.teraflow.automation.acl.AclAction; +import eu.teraflow.automation.acl.AclEntry; +import eu.teraflow.automation.acl.AclForwardActionEnum; +import eu.teraflow.automation.acl.AclLogActionEnum; +import eu.teraflow.automation.acl.AclMatch; +import eu.teraflow.automation.acl.AclRuleSet; +import eu.teraflow.automation.acl.AclRuleTypeEnum; +import eu.teraflow.automation.context.model.ConfigActionEnum; +import eu.teraflow.automation.context.model.ConfigRule; +import eu.teraflow.automation.context.model.ConfigRuleAcl; +import eu.teraflow.automation.context.model.ConfigRuleCustom; +import eu.teraflow.automation.context.model.ConfigRuleTypeAcl; +import eu.teraflow.automation.context.model.ConfigRuleTypeCustom; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.DeviceDriverEnum; +import eu.teraflow.automation.context.model.DeviceEvent; +import eu.teraflow.automation.context.model.DeviceOperationalStatus; +import eu.teraflow.automation.context.model.Empty; +import eu.teraflow.automation.context.model.EndPoint; +import eu.teraflow.automation.context.model.EndPointId; import eu.teraflow.automation.context.model.Event; import eu.teraflow.automation.context.model.EventTypeEnum; -import eu.teraflow.automation.device.model.ConfigActionEnum; -import eu.teraflow.automation.device.model.ConfigRule; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceConfig; -import eu.teraflow.automation.device.model.DeviceEvent; -import eu.teraflow.automation.device.model.DeviceOperationalStatus; +import eu.teraflow.automation.context.model.GpsPosition; +import eu.teraflow.automation.context.model.Location; +import eu.teraflow.automation.context.model.LocationTypeGpsPosition; +import eu.teraflow.automation.context.model.LocationTypeRegion; +import eu.teraflow.automation.context.model.TopologyId; +import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType; import eu.teraflow.automation.model.DeviceRole; +import eu.teraflow.automation.model.DeviceRoleConfig; import eu.teraflow.automation.model.DeviceRoleId; import eu.teraflow.automation.model.DeviceRoleType; +import eu.teraflow.automation.model.DeviceState; import java.util.stream.Collectors; import javax.inject.Singleton; +import kpi_sample_types.KpiSampleTypes; @Singleton public class Serializer { @@ -105,6 +135,36 @@ public class Serializer { } } + public Automation.ZtpDeviceState serialize(DeviceState deviceState) { + switch (deviceState) { + case CREATED: + return ZtpDeviceState.ZTP_DEV_STATE_CREATED; + case UPDATED: + return ZtpDeviceState.ZTP_DEV_STATE_UPDATED; + case DELETED: + return ZtpDeviceState.ZTP_DEV_STATE_DELETED; + case UNDEFINED: + return ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED; + default: + return ZtpDeviceState.UNRECOGNIZED; + } + } + + public DeviceState deserialize(Automation.ZtpDeviceState serializedDeviceState) { + switch (serializedDeviceState) { + case ZTP_DEV_STATE_CREATED: + return DeviceState.CREATED; + case ZTP_DEV_STATE_UPDATED: + return DeviceState.UPDATED; + case ZTP_DEV_STATE_DELETED: + return DeviceState.DELETED; + case ZTP_DEV_STATE_UNDEFINED: + case UNRECOGNIZED: + default: + return DeviceState.UNDEFINED; + } + } + public Automation.DeviceRole serialize(DeviceRole deviceRole) { final var builder = Automation.DeviceRole.newBuilder(); final var serializedDeviceRoleId = serialize(deviceRole.getDeviceRoleId()); @@ -123,6 +183,24 @@ public class Serializer { return new DeviceRole(deviceRoleId, deviceRoleType); } + public Automation.DeviceRoleConfig serialize(DeviceRoleConfig deviceRoleConfig) { + final var builder = Automation.DeviceRoleConfig.newBuilder(); + final var serializedDeviceRole = serialize(deviceRoleConfig.getDeviceRole()); + final var serializedDeviceConfig = serialize(deviceRoleConfig.getDeviceConfig()); + + builder.setDevRole(serializedDeviceRole); + builder.setDevConfig(serializedDeviceConfig); + + return builder.build(); + } + + public DeviceRoleConfig deserialize(Automation.DeviceRoleConfig deviceRoleConfig) { + final var deviceRole = deserialize(deviceRoleConfig.getDevRole()); + final var deviceConfig = deserialize(deviceRoleConfig.getDevConfig()); + + return new DeviceRoleConfig(deviceRole, deviceConfig); + } + public ContextOuterClass.EventTypeEnum serialize(EventTypeEnum eventTypeEnum) { switch (eventTypeEnum) { case CREATE: @@ -153,18 +231,32 @@ public class Serializer { } } + public ContextOuterClass.Timestamp serialize(double timestamp) { + final var builder = ContextOuterClass.Timestamp.newBuilder(); + + builder.setTimestamp(timestamp); + + return builder.build(); + } + + public double deserialize(ContextOuterClass.Timestamp serializedTimeStamp) { + + return serializedTimeStamp.getTimestamp(); + } + public ContextOuterClass.Event serialize(Event event) { final var builder = ContextOuterClass.Event.newBuilder(); final var eventType = serialize(event.getEventTypeEnum()); + final var timestamp = serialize(event.getTimestamp()); builder.setEventType(eventType); - builder.setTimestamp(event.getTimestamp()); + builder.setTimestamp(timestamp); return builder.build(); } public Event deserialize(ContextOuterClass.Event serializedEvent) { - final var timestamp = serializedEvent.getTimestamp(); + final var timestamp = deserialize(serializedEvent.getTimestamp()); final var eventType = deserialize(serializedEvent.getEventType()); return new Event(timestamp, eventType); @@ -177,6 +269,7 @@ public class Serializer { builder.setDeviceId(deviceId); builder.setEvent(serialize(deviceEvent.getEvent())); + builder.setDeviceConfig(serialize(deviceEvent.getDeviceConfig().orElse(null))); return builder.build(); } @@ -184,8 +277,9 @@ public class Serializer { public DeviceEvent deserialize(ContextOuterClass.DeviceEvent deviceEvent) { final var deviceId = deserialize(deviceEvent.getDeviceId()); final var event = deserialize(deviceEvent.getEvent()); + final var deviceConfig = deserialize(deviceEvent.getDeviceConfig()); - return new DeviceEvent(deviceId, event); + return new DeviceEvent(deviceId, event, deviceConfig); } public ContextOuterClass.ConfigActionEnum serialize(ConfigActionEnum configAction) { @@ -213,21 +307,406 @@ public class Serializer { } } + public ContextId serializeContextId(String expectedContextId) { + final var builder = ContextId.newBuilder(); + final var uuid = serializeUuid(expectedContextId); + + builder.setContextUuid(uuid); + + return builder.build(); + } + + public String deserialize(ContextId contextId) { + return contextId.getContextUuid().getUuid(); + } + + public ContextOuterClass.TopologyId serialize(TopologyId topologyId) { + final var builder = ContextOuterClass.TopologyId.newBuilder(); + + final var topologyIdContextId = topologyId.getContextId(); + final var topologyIdId = topologyId.getId(); + + final var contextId = serializeContextId(topologyIdContextId); + final var topologyIdIdUuid = serializeUuid(topologyIdId); + + builder.setContextId(contextId); + builder.setTopologyUuid(topologyIdIdUuid); + + return builder.build(); + } + + public TopologyId deserialize(ContextOuterClass.TopologyId topologyId) { + final var topologyIdContextId = deserialize(topologyId.getContextId()); + final var topologyIdId = deserialize(topologyId.getTopologyUuid()); + + return new TopologyId(topologyIdContextId, topologyIdId); + } + + public ContextOuterClass.EndPointId serialize(EndPointId endPointId) { + final var builder = ContextOuterClass.EndPointId.newBuilder(); + + final var endPointIdTopologyId = endPointId.getTopologyId(); + final var endPointIdDeviceId = endPointId.getDeviceId(); + final var endPointIdId = endPointId.getId(); + + final var serializedTopologyId = serialize(endPointIdTopologyId); + final var serializedDeviceId = serializeDeviceId(endPointIdDeviceId); + final var serializedEndPointIdId = serializeUuid(endPointIdId); + + builder.setTopologyId(serializedTopologyId); + builder.setDeviceId(serializedDeviceId); + builder.setEndpointUuid(serializedEndPointIdId); + + return builder.build(); + } + + public EndPointId deserialize(ContextOuterClass.EndPointId serializedEndPointId) { + final var serializedTopologyId = serializedEndPointId.getTopologyId(); + final var serializedDeviceId = serializedEndPointId.getDeviceId(); + final var serializedId = serializedEndPointId.getEndpointUuid(); + + final var topologyId = deserialize(serializedTopologyId); + final var deviceId = deserialize(serializedDeviceId); + final var id = deserialize(serializedId); + + return new EndPointId(topologyId, deviceId, id); + } + + public Acl.AclRuleTypeEnum serialize(AclRuleTypeEnum aclRuleTypeEnum) { + switch (aclRuleTypeEnum) { + case IPV4: + return Acl.AclRuleTypeEnum.ACLRULETYPE_IPV4; + case IPV6: + return Acl.AclRuleTypeEnum.ACLRULETYPE_IPV6; + case L2: + return Acl.AclRuleTypeEnum.ACLRULETYPE_L2; + case MPLS: + return Acl.AclRuleTypeEnum.ACLRULETYPE_MPLS; + case MIXED: + return Acl.AclRuleTypeEnum.ACLRULETYPE_MIXED; + case UNDEFINED: + return Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED; + default: + return Acl.AclRuleTypeEnum.UNRECOGNIZED; + } + } + + public AclRuleTypeEnum deserialize(Acl.AclRuleTypeEnum serializedAclRuleTypeEnum) { + switch (serializedAclRuleTypeEnum) { + case ACLRULETYPE_IPV4: + return AclRuleTypeEnum.IPV4; + case ACLRULETYPE_IPV6: + return AclRuleTypeEnum.IPV6; + case ACLRULETYPE_L2: + return AclRuleTypeEnum.L2; + case ACLRULETYPE_MPLS: + return AclRuleTypeEnum.MPLS; + case ACLRULETYPE_MIXED: + return AclRuleTypeEnum.MIXED; + case UNRECOGNIZED: + default: + return AclRuleTypeEnum.UNDEFINED; + } + } + + public Acl.AclMatch serialize(AclMatch aclMatch) { + final var builder = Acl.AclMatch.newBuilder(); + + final var dscp = aclMatch.getDscp(); + final var protocol = aclMatch.getProtocol(); + final var srcAddress = aclMatch.getSrcAddress(); + final var dstAddress = aclMatch.getDstAddress(); + final var srcPort = aclMatch.getSrcPort(); + final var dstPort = aclMatch.getDstPort(); + final var startMplsLabel = aclMatch.getStartMplsLabel(); + final var endMplsLabel = aclMatch.getEndMplsLabel(); + + builder.setDscp(dscp); + builder.setProtocol(protocol); + builder.setSrcAddress(srcAddress); + builder.setDstAddress(dstAddress); + builder.setSrcPort(srcPort); + builder.setDstPort(dstPort); + builder.setStartMplsLabel(startMplsLabel); + builder.setEndMplsLabel(endMplsLabel); + + return builder.build(); + } + + public AclMatch deserialize(Acl.AclMatch serializedAclMatch) { + final var dscp = serializedAclMatch.getDscp(); + final var protocol = serializedAclMatch.getProtocol(); + final var srcAddress = serializedAclMatch.getSrcAddress(); + final var dstAddress = serializedAclMatch.getDstAddress(); + final var srcPort = serializedAclMatch.getSrcPort(); + final var dstPort = serializedAclMatch.getDstPort(); + final var startMplsLabel = serializedAclMatch.getStartMplsLabel(); + final var endMplsLabel = serializedAclMatch.getEndMplsLabel(); + + return new AclMatch( + dscp, protocol, srcAddress, dstAddress, srcPort, dstPort, startMplsLabel, endMplsLabel); + } + + public Acl.AclForwardActionEnum serialize(AclForwardActionEnum aclForwardActionEnum) { + switch (aclForwardActionEnum) { + case DROP: + return Acl.AclForwardActionEnum.ACLFORWARDINGACTION_DROP; + case ACCEPT: + return Acl.AclForwardActionEnum.ACLFORWARDINGACTION_ACCEPT; + case REJECT: + return Acl.AclForwardActionEnum.ACLFORWARDINGACTION_REJECT; + case UNDEFINED: + return Acl.AclForwardActionEnum.ACLFORWARDINGACTION_UNDEFINED; + default: + return Acl.AclForwardActionEnum.UNRECOGNIZED; + } + } + + public AclForwardActionEnum deserialize(Acl.AclForwardActionEnum serializedAclForwardActionEnum) { + switch (serializedAclForwardActionEnum) { + case ACLFORWARDINGACTION_DROP: + return AclForwardActionEnum.DROP; + case ACLFORWARDINGACTION_ACCEPT: + return AclForwardActionEnum.ACCEPT; + case ACLFORWARDINGACTION_REJECT: + return AclForwardActionEnum.REJECT; + case UNRECOGNIZED: + default: + return AclForwardActionEnum.UNDEFINED; + } + } + + public Acl.AclLogActionEnum serialize(AclLogActionEnum aclLogActionEnum) { + switch (aclLogActionEnum) { + case NO_LOG: + return Acl.AclLogActionEnum.ACLLOGACTION_NOLOG; + case SYSLOG: + return Acl.AclLogActionEnum.ACLLOGACTION_SYSLOG; + case UNDEFINED: + return Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED; + default: + return Acl.AclLogActionEnum.UNRECOGNIZED; + } + } + + public AclLogActionEnum deserialize(Acl.AclLogActionEnum serializedAclLogActionEnum) { + switch (serializedAclLogActionEnum) { + case ACLLOGACTION_NOLOG: + return AclLogActionEnum.NO_LOG; + case ACLLOGACTION_SYSLOG: + return AclLogActionEnum.SYSLOG; + case UNRECOGNIZED: + default: + return AclLogActionEnum.UNDEFINED; + } + } + + public Acl.AclAction serialize(AclAction aclAction) { + final var builder = Acl.AclAction.newBuilder(); + + final var aclForwardActionEnum = aclAction.getAclForwardActionEnum(); + final var aclLogActionEnum = aclAction.getAclLogActionEnum(); + + final var serializedAclForwardActionEnum = serialize(aclForwardActionEnum); + final var serializedAclLogActionEnum = serialize(aclLogActionEnum); + + builder.setForwardAction(serializedAclForwardActionEnum); + builder.setLogAction(serializedAclLogActionEnum); + + return builder.build(); + } + + public AclAction deserialize(Acl.AclAction serializedAclAction) { + final var serializedAclForwardActionEnum = serializedAclAction.getForwardAction(); + final var serializedAclLogActionEnum = serializedAclAction.getLogAction(); + + final var aclForwardActionEnum = deserialize(serializedAclForwardActionEnum); + final var aclLogActionEnum = deserialize(serializedAclLogActionEnum); + + return new AclAction(aclForwardActionEnum, aclLogActionEnum); + } + + public Acl.AclEntry serialize(AclEntry aclEntry) { + final var builder = Acl.AclEntry.newBuilder(); + + final var sequenceId = aclEntry.getSequenceId(); + final var description = aclEntry.getDescription(); + final var aclMatch = aclEntry.getMatch(); + final var aclAction = aclEntry.getAction(); + + final var serializedAclMatch = serialize(aclMatch); + final var serializedAclAction = serialize(aclAction); + + builder.setSequenceId(sequenceId); + builder.setDescription(description); + builder.setMatch(serializedAclMatch); + builder.setAction(serializedAclAction); + + return builder.build(); + } + + public AclEntry deserialize(Acl.AclEntry serializedAclEntry) { + final var sequenceId = serializedAclEntry.getSequenceId(); + final var description = serializedAclEntry.getDescription(); + final var serializedAclMatch = serializedAclEntry.getMatch(); + final var serializedAclAction = serializedAclEntry.getAction(); + + final var aclMatch = deserialize(serializedAclMatch); + final var aclAction = deserialize(serializedAclAction); + + return new AclEntry(sequenceId, description, aclMatch, aclAction); + } + + public Acl.AclRuleSet serialize(AclRuleSet aclRuleSet) { + final var builder = Acl.AclRuleSet.newBuilder(); + + final var name = aclRuleSet.getName(); + final var type = aclRuleSet.getType(); + final var description = aclRuleSet.getDescription(); + final var userId = aclRuleSet.getUserId(); + final var entries = aclRuleSet.getEntries(); + + final var serializedType = serialize(type); + final var serializedEntries = + entries.stream().map(this::serialize).collect(Collectors.toList()); + + builder.setName(name); + builder.setType(serializedType); + builder.setDescription(description); + builder.setUserId(userId); + builder.addAllEntries(serializedEntries); + + return builder.build(); + } + + public AclRuleSet deserialize(Acl.AclRuleSet serializedAclRuleSet) { + final var serializedName = serializedAclRuleSet.getName(); + final var serializedType = serializedAclRuleSet.getType(); + final var serializedDescription = serializedAclRuleSet.getDescription(); + final var serializedUserId = serializedAclRuleSet.getUserId(); + final var serializedEntries = serializedAclRuleSet.getEntriesList(); + + final var type = deserialize(serializedType); + final var entries = + serializedEntries.stream().map(this::deserialize).collect(Collectors.toList()); + + return new AclRuleSet(serializedName, type, serializedDescription, serializedUserId, entries); + } + + public ConfigRule_ACL serialize(ConfigRuleAcl configRuleAcl) { + final var builder = ContextOuterClass.ConfigRule_ACL.newBuilder(); + + final var endPointId = configRuleAcl.getEndPointId(); + final var aclRuleSet = configRuleAcl.getRuleSet(); + + final var serializedEndPointId = serialize(endPointId); + final var serializedAclRuleSet = serialize(aclRuleSet); + + builder.setEndpointId(serializedEndPointId); + builder.setRuleSet(serializedAclRuleSet); + + return builder.build(); + } + + public ConfigRuleAcl deserialize(ConfigRule_ACL serializedConfigRuleAcl) { + final var serializedEndPointId = serializedConfigRuleAcl.getEndpointId(); + final var serializedAclRuleSet = serializedConfigRuleAcl.getRuleSet(); + + final var endPointId = deserialize(serializedEndPointId); + final var aclRuleSet = deserialize(serializedAclRuleSet); + + return new ConfigRuleAcl(endPointId, aclRuleSet); + } + + public ConfigRule_Custom serialize(ConfigRuleCustom configRuleCustom) { + final var builder = ConfigRule_Custom.newBuilder(); + + final var resourceKey = configRuleCustom.getResourceKey(); + final var resourceValue = configRuleCustom.getResourceValue(); + + builder.setResourceKey(resourceKey); + builder.setResourceValue(resourceValue); + + return builder.build(); + } + + public ConfigRuleCustom deserialize(ConfigRule_Custom serializedConfigRuleCustom) { + final var serializedResourceKey = serializedConfigRuleCustom.getResourceKey(); + final var serializedResourceValue = serializedConfigRuleCustom.getResourceValue(); + + return new ConfigRuleCustom(serializedResourceKey, serializedResourceValue); + } + public ContextOuterClass.ConfigRule serialize(ConfigRule configRule) { final var builder = ContextOuterClass.ConfigRule.newBuilder(); - builder.setAction(serialize(configRule.getConfigActionEnum())); - builder.setResourceKey(configRule.getResourceKey()); - builder.setResourceValue(configRule.getResourceValue()); + final var configActionEnum = configRule.getConfigActionEnum(); + final var configRuleType = configRule.getConfigRuleType(); + final var configRuleTypeSpecificType = configRuleType.getConfigRuleType(); + + if (configRuleTypeSpecificType instanceof ConfigRuleAcl) { + final var endPointId = ((ConfigRuleAcl) configRuleTypeSpecificType).getEndPointId(); + final var aclRuleSet = ((ConfigRuleAcl) configRuleTypeSpecificType).getRuleSet(); + + final var serializedEndPointId = serialize(endPointId); + final var serializedAclRuleSet = serialize(aclRuleSet); + + final var serializedConfigRuleAcl = + ConfigRule_ACL.newBuilder() + .setEndpointId(serializedEndPointId) + .setRuleSet(serializedAclRuleSet) + .build(); + + builder.setAcl(serializedConfigRuleAcl); + } + + if (configRuleTypeSpecificType instanceof ConfigRuleCustom) { + final var configRuleCustomResourceKey = + ((ConfigRuleCustom) configRuleTypeSpecificType).getResourceKey(); + final var configRuleCustomResourceValue = + ((ConfigRuleCustom) configRuleTypeSpecificType).getResourceValue(); + + final var serializedConfigRuleCustom = + ConfigRule_Custom.newBuilder() + .setResourceKey(configRuleCustomResourceKey) + .setResourceValue(configRuleCustomResourceValue) + .build(); + + builder.setCustom(serializedConfigRuleCustom); + } + + final var serializedConfigActionEnum = serialize(configActionEnum); + + builder.setAction(serializedConfigActionEnum); return builder.build(); } - public ConfigRule deserialize(ContextOuterClass.ConfigRule configRule) { - final var configActionEnum = deserialize(configRule.getAction()); + public ConfigRule deserialize(ContextOuterClass.ConfigRule serializedConfigRule) { + final var serializedConfigActionEnum = serializedConfigRule.getAction(); + final var typeOfConfigRule = serializedConfigRule.getConfigRuleCase(); + + final var configActionEnum = deserialize(serializedConfigActionEnum); + + switch (typeOfConfigRule) { + case ACL: + final var serializedConfigRuleAcl = serializedConfigRule.getAcl(); + + final var configRuleAcl = deserialize(serializedConfigRuleAcl); + final var configRuleTypeAcl = new ConfigRuleTypeAcl(configRuleAcl); + + return new ConfigRule(configActionEnum, configRuleTypeAcl); + case CUSTOM: + final var serializedConfigRuleCustom = serializedConfigRule.getCustom(); + + final var configRuleCustom = deserialize(serializedConfigRuleCustom); + final var configRuleTypeCustom = new ConfigRuleTypeCustom(configRuleCustom); - return new ConfigRule( - configActionEnum, configRule.getResourceKey(), configRule.getResourceValue()); + return new ConfigRule(configActionEnum, configRuleTypeCustom); + default: + case CONFIGRULE_NOT_SET: + throw new IllegalStateException("Config Rule not set"); + } } public ContextOuterClass.DeviceConfig serialize(DeviceConfig deviceConfig) { @@ -275,26 +754,239 @@ public class Serializer { } } + public KpiSampleTypes.KpiSampleType serialize(KpiSampleType kpiSampleType) { + switch (kpiSampleType) { + case PACKETS_TRANSMITTED: + return KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_PACKETS_TRANSMITTED; + case PACKETS_RECEIVED: + return KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_PACKETS_RECEIVED; + case BYTES_TRANSMITTED: + return KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_BYTES_TRANSMITTED; + case BYTES_RECEIVED: + return KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_BYTES_RECEIVED; + case UNKNOWN: + return KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_UNKNOWN; + default: + return KpiSampleTypes.KpiSampleType.UNRECOGNIZED; + } + } + + public KpiSampleType deserialize(KpiSampleTypes.KpiSampleType serializedKpiSampleType) { + switch (serializedKpiSampleType) { + case KPISAMPLETYPE_PACKETS_TRANSMITTED: + return KpiSampleType.PACKETS_TRANSMITTED; + case KPISAMPLETYPE_PACKETS_RECEIVED: + return KpiSampleType.PACKETS_RECEIVED; + case KPISAMPLETYPE_BYTES_TRANSMITTED: + return KpiSampleType.BYTES_TRANSMITTED; + case KPISAMPLETYPE_BYTES_RECEIVED: + return KpiSampleType.BYTES_RECEIVED; + case KPISAMPLETYPE_UNKNOWN: + default: + return KpiSampleType.UNKNOWN; + } + } + + public ContextOuterClass.Location serialize(Location location) { + final var builder = ContextOuterClass.Location.newBuilder(); + + final var locationType = location.getLocationType(); + final var locationTypeSpecificType = locationType.getLocationType(); + + if (locationTypeSpecificType instanceof GpsPosition) { + final var latitude = ((GpsPosition) locationTypeSpecificType).getLatitude(); + final var longitude = ((GpsPosition) locationTypeSpecificType).getLongitude(); + + final var serializedGpsPosition = + ContextOuterClass.GPS_Position.newBuilder() + .setLatitude(latitude) + .setLongitude(longitude) + .build(); + + builder.setGpsPosition(serializedGpsPosition); + } + + if (locationTypeSpecificType instanceof String) { + final var region = ((String) locationTypeSpecificType); + + builder.setRegion(region); + } + + return builder.build(); + } + + public Location deserialize(ContextOuterClass.Location serializedLocation) { + final var typeOfLocation = serializedLocation.getLocationCase(); + + switch (typeOfLocation) { + case REGION: + final var region = serializedLocation.getRegion(); + final var locationTypeRegion = new LocationTypeRegion(region); + + return new Location(locationTypeRegion); + case GPS_POSITION: + final var serializedGpsPosition = serializedLocation.getGpsPosition(); + final var latitude = serializedGpsPosition.getLatitude(); + final var longitude = serializedGpsPosition.getLongitude(); + + final var gpsPosition = new GpsPosition(latitude, longitude); + final var locationTypeGpsPosition = new LocationTypeGpsPosition(gpsPosition); + + return new Location(locationTypeGpsPosition); + default: + case LOCATION_NOT_SET: + throw new IllegalStateException("Location value not set"); + } + } + + public ContextOuterClass.DeviceDriverEnum serialize(DeviceDriverEnum deviceDriverEnum) { + switch (deviceDriverEnum) { + case OPENCONFIG: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPENCONFIG; + case TRANSPORT_API: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_TRANSPORT_API; + case P4: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_P4; + case IETF_NETWORK_TOPOLOGY: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_NETWORK_TOPOLOGY; + case ONF_TR_352: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_ONF_TR_352; + case XR: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_XR; + case UNDEFINED: + default: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_UNDEFINED; + } + } + + public DeviceDriverEnum deserialize( + ContextOuterClass.DeviceDriverEnum serializedDeviceDriverEnum) { + switch (serializedDeviceDriverEnum) { + case DEVICEDRIVER_OPENCONFIG: + return DeviceDriverEnum.OPENCONFIG; + case DEVICEDRIVER_TRANSPORT_API: + return DeviceDriverEnum.TRANSPORT_API; + case DEVICEDRIVER_P4: + return DeviceDriverEnum.P4; + case DEVICEDRIVER_IETF_NETWORK_TOPOLOGY: + return DeviceDriverEnum.IETF_NETWORK_TOPOLOGY; + case DEVICEDRIVER_ONF_TR_352: + return DeviceDriverEnum.ONF_TR_352; + case DEVICEDRIVER_XR: + return DeviceDriverEnum.XR; + case DEVICEDRIVER_UNDEFINED: + case UNRECOGNIZED: + default: + return DeviceDriverEnum.UNDEFINED; + } + } + + public ContextOuterClass.EndPoint serialize(EndPoint endPoint) { + final var builder = ContextOuterClass.EndPoint.newBuilder(); + + final var endPointId = endPoint.getEndPointId(); + final var endPointType = endPoint.getEndPointType(); + final var kpiSampleTypes = endPoint.getKpiSampleTypes(); + final var endPointLocation = endPoint.getEndPointLocation(); + + final var serializedEndPointId = serialize(endPointId); + final var serializedKpiSampleTypes = + kpiSampleTypes.stream().map(this::serialize).collect(Collectors.toList()); + if (endPointLocation != null) { + final var serializedEndPointLocation = serialize(endPointLocation); + builder.setEndpointLocation(serializedEndPointLocation); + } + + builder.setEndpointId(serializedEndPointId); + builder.setEndpointType(endPointType); + builder.addAllKpiSampleTypes(serializedKpiSampleTypes); + + return builder.build(); + } + + public EndPoint deserialize(ContextOuterClass.EndPoint serializedEndPoint) { + final var serializedEndPointId = serializedEndPoint.getEndpointId(); + final var endPointType = serializedEndPoint.getEndpointType(); + final var serializedKpiSampleTypes = serializedEndPoint.getKpiSampleTypesList(); + final var serializedEndPointLocation = serializedEndPoint.getEndpointLocation(); + + final var endPointId = deserialize(serializedEndPointId); + final var kpiSampleTypes = + serializedKpiSampleTypes.stream().map(this::deserialize).collect(Collectors.toList()); + + if (serializedEndPointLocation.getLocationCase() != LocationCase.LOCATION_NOT_SET) { + final var endPointLocation = deserialize(serializedEndPointLocation); + return new EndPoint.EndPointBuilder(endPointId, endPointType, kpiSampleTypes) + .location(endPointLocation) + .build(); + } + + return new EndPoint.EndPointBuilder(endPointId, endPointType, kpiSampleTypes).build(); + } + public ContextOuterClass.Device serialize(Device device) { final var builder = ContextOuterClass.Device.newBuilder(); + final var deviceIdUuid = serializeUuid(device.getDeviceId()); final var deviceId = DeviceId.newBuilder().setDeviceUuid(deviceIdUuid); + final var deviceType = device.getDeviceType(); + final var deviceConfig = device.getDeviceConfig(); + final var deviceOperationalStatus = device.getDeviceOperationalStatus(); + final var deviceDrivers = device.getDeviceDrivers(); + final var deviceEndPoints = device.getEndPoints(); + + final var serializedDeviceConfig = serialize(deviceConfig); + final var serializedDeviceOperationalStatus = serialize(deviceOperationalStatus); + final var serializedDeviceDrivers = + deviceDrivers.stream().map(this::serialize).collect(Collectors.toList()); + final var serializedDeviceEndPoints = + deviceEndPoints.stream().map(this::serialize).collect(Collectors.toList()); builder.setDeviceId(deviceId); - builder.setDeviceType(device.getDeviceType()); - builder.setDeviceConfig(serialize(device.getDeviceConfig())); - builder.setDeviceOperationalStatus(serialize(device.getDeviceOperationalStatus())); + builder.setDeviceType(deviceType); + builder.setDeviceConfig(serializedDeviceConfig); + builder.setDeviceOperationalStatus(serializedDeviceOperationalStatus); + builder.addAllDeviceDrivers(serializedDeviceDrivers); + builder.addAllDeviceEndpoints(serializedDeviceEndPoints); return builder.build(); } public Device deserialize(ContextOuterClass.Device device) { - final var id = deserialize(device.getDeviceId()); - final var type = device.getDeviceType(); - final var config = deserialize(device.getDeviceConfig()); - final var operationalStatus = deserialize(device.getDeviceOperationalStatus()); - return new Device(id, type, config, operationalStatus); + final var serializedDeviceId = device.getDeviceId(); + final var deviceType = device.getDeviceType(); + final var serializedDeviceConfig = device.getDeviceConfig(); + final var serializedDeviceOperationalStatus = device.getDeviceOperationalStatus(); + final var serializedDeviceDrivers = device.getDeviceDriversList(); + final var serializedDeviceEndPoints = device.getDeviceEndpointsList(); + + final var deviceId = deserialize(serializedDeviceId); + final var deviceConfig = deserialize(serializedDeviceConfig); + final var deviceOperationalStatus = deserialize(serializedDeviceOperationalStatus); + final var deviceDrivers = + serializedDeviceDrivers.stream().map(this::deserialize).collect(Collectors.toList()); + final var deviceEndPoints = + serializedDeviceEndPoints.stream().map(this::deserialize).collect(Collectors.toList()); + + return new Device( + deviceId, + deviceType, + deviceConfig, + deviceOperationalStatus, + deviceDrivers, + deviceEndPoints); + } + + public ContextOuterClass.Empty serializeEmpty(Empty empty) { + + final var builder = ContextOuterClass.Empty.newBuilder(); + + return builder.build(); + } + + public Empty deserializeEmpty(ContextOuterClass.Empty serializedEmpty) { + return new Empty(); } public Uuid serializeUuid(String uuid) { diff --git a/src/automation/src/main/java/eu/teraflow/automation/SimpleLivenessCheck.java b/src/automation/src/main/java/eu/teraflow/automation/SimpleLivenessCheck.java index 056b844d5e702db37cf51cce7f86a9e387fa9c12..7c3a2ccb5409d8df5ea95d3cd02eda8d97d74496 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/SimpleLivenessCheck.java +++ b/src/automation/src/main/java/eu/teraflow/automation/SimpleLivenessCheck.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; diff --git a/src/automation/src/main/java/eu/teraflow/automation/SimpleReadinessCheck.java b/src/automation/src/main/java/eu/teraflow/automation/SimpleReadinessCheck.java index ef1b4c4efceeeb042adf50f0b20a688c5e1004da..c863a6c285b4abbe9002a0d33c2648d0b1017b45 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/SimpleReadinessCheck.java +++ b/src/automation/src/main/java/eu/teraflow/automation/SimpleReadinessCheck.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclAction.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclAction.java new file mode 100644 index 0000000000000000000000000000000000000000..7e3621bb45959becc80f03d51ad09471dc310eeb --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclAction.java @@ -0,0 +1,43 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +public class AclAction { + + private final AclForwardActionEnum aclForwardActionEnum; + private final AclLogActionEnum aclLogActionEnum; + + public AclAction(AclForwardActionEnum aclForwardActionEnum, AclLogActionEnum aclLogActionEnum) { + this.aclForwardActionEnum = aclForwardActionEnum; + this.aclLogActionEnum = aclLogActionEnum; + } + + public AclForwardActionEnum getAclForwardActionEnum() { + return aclForwardActionEnum; + } + + public AclLogActionEnum getAclLogActionEnum() { + return aclLogActionEnum; + } + + @Override + public String toString() { + return String.format( + "%s:{aclForwardActionEnum:\"%s\", aclLogActionEnum:\"%s\"}", + getClass().getSimpleName(), aclForwardActionEnum.toString(), aclLogActionEnum.toString()); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclEntry.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..3324a55cd0c9d165531b06aee4b3de09cce2506c --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclEntry.java @@ -0,0 +1,55 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +public class AclEntry { + + private final int sequenceId; + private final String description; + private final AclMatch match; + private final AclAction action; + + public AclEntry(int sequenceId, String description, AclMatch match, AclAction action) { + this.sequenceId = sequenceId; + this.description = description; + this.match = match; + this.action = action; + } + + public int getSequenceId() { + return sequenceId; + } + + public String getDescription() { + return description; + } + + public AclMatch getMatch() { + return match; + } + + public AclAction getAction() { + return action; + } + + @Override + public String toString() { + return String.format( + "%s:{sequenceId:\"%d\", description:\"%s\", %s, %s}", + getClass().getSimpleName(), sequenceId, description, match, action); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclForwardActionEnum.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclForwardActionEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..9afaabcd945adcbf474499efee930c54f7e12649 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclForwardActionEnum.java @@ -0,0 +1,24 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +public enum AclForwardActionEnum { + UNDEFINED, + DROP, + ACCEPT, + REJECT, +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclLogActionEnum.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclLogActionEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..cb9a75b43a67c1445239231c456f49546308b16f --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclLogActionEnum.java @@ -0,0 +1,23 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +public enum AclLogActionEnum { + UNDEFINED, + NO_LOG, + SYSLOG +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclMatch.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclMatch.java new file mode 100644 index 0000000000000000000000000000000000000000..ca679ea3691ce5c05a64caa17bc86cfc3436dfc2 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclMatch.java @@ -0,0 +1,95 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +public class AclMatch { + + private final int dscp; + private final int protocol; + private final String srcAddress; + private final String dstAddress; + private final int srcPort; + private final int dstPort; + private final int startMplsLabel; + private final int endMplsLabel; + + public AclMatch( + int dscp, + int protocol, + String srcAddress, + String dstAddress, + int srcPort, + int dstPort, + int startMplsLabel, + int endMplsLabel) { + this.dscp = dscp; + this.protocol = protocol; + this.srcAddress = srcAddress; + this.dstAddress = dstAddress; + this.srcPort = srcPort; + this.dstPort = dstPort; + this.startMplsLabel = startMplsLabel; + this.endMplsLabel = endMplsLabel; + } + + public int getDscp() { + return dscp; + } + + public int getProtocol() { + return protocol; + } + + public String getSrcAddress() { + return srcAddress; + } + + public String getDstAddress() { + return dstAddress; + } + + public int getSrcPort() { + return srcPort; + } + + public int getDstPort() { + return dstPort; + } + + public int getStartMplsLabel() { + return startMplsLabel; + } + + public int getEndMplsLabel() { + return endMplsLabel; + } + + @Override + public String toString() { + return String.format( + "%s:{dscp:\"%d\", protocol:\"%d\", srcAddress:\"%s\", dstAddress:\"%s\", srcPort:\"%d\", dstPort:\"%d\", startMplsLabel:\"%d\", endMplsLabel:\"%d\"}", + getClass().getSimpleName(), + dscp, + protocol, + srcAddress, + dstAddress, + srcPort, + dstPort, + startMplsLabel, + endMplsLabel); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclRuleSet.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclRuleSet.java new file mode 100644 index 0000000000000000000000000000000000000000..6dacab0480647609b85c9b45504341e6b47600fa --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclRuleSet.java @@ -0,0 +1,74 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +import eu.teraflow.automation.common.Util; +import java.util.List; + +public class AclRuleSet { + + private final String name; + private final AclRuleTypeEnum type; + private final String description; + private final String userId; + private final List entries; + + public AclRuleSet( + String name, + AclRuleTypeEnum type, + String description, + String userId, + List entries) { + this.name = name; + this.type = type; + this.description = description; + this.userId = userId; + this.entries = entries; + } + + public String getName() { + return name; + } + + public AclRuleTypeEnum getType() { + return type; + } + + public String getDescription() { + return description; + } + + public String getUserId() { + return userId; + } + + public List getEntries() { + return entries; + } + + @Override + public String toString() { + return String.format( + "%s:{name:\"%s\", type:\"%s\", description:\"%s\", userId:\"%s\", [%s]}", + getClass().getSimpleName(), + name, + type.toString(), + description, + userId, + Util.toString(entries)); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/acl/AclRuleTypeEnum.java b/src/automation/src/main/java/eu/teraflow/automation/acl/AclRuleTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..2361e21c10ab940337503d478798ed1d90075abe --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/acl/AclRuleTypeEnum.java @@ -0,0 +1,26 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.acl; + +public enum AclRuleTypeEnum { + UNDEFINED, + IPV4, + IPV6, + L2, + MPLS, + MIXED +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/common/Util.java b/src/automation/src/main/java/eu/teraflow/automation/common/Util.java new file mode 100644 index 0000000000000000000000000000000000000000..aeb5a14f48a2ed9524479bacd6d85e51fc410e7f --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/common/Util.java @@ -0,0 +1,29 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.common; + +import java.util.List; +import java.util.stream.Collectors; + +public class Util { + + private Util() {} + + public static String toString(List list) { + return list.stream().map(T::toString).collect(Collectors.joining(", ")); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/ContextGateway.java b/src/automation/src/main/java/eu/teraflow/automation/context/ContextGateway.java index 83bcc1afddeeeea8545b64f06d4157457d951e84..2b96acecebc7fbf76167931d953af27c46338fe8 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/context/ContextGateway.java +++ b/src/automation/src/main/java/eu/teraflow/automation/context/ContextGateway.java @@ -1,23 +1,23 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.context; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceEvent; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceEvent; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/ContextGatewayImpl.java b/src/automation/src/main/java/eu/teraflow/automation/context/ContextGatewayImpl.java index 1b11d09a4ce26c3c98af65aa4d5a13f45c049bb7..7a50500377399692bd6f1497b8fd4366da55a413 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/context/ContextGatewayImpl.java +++ b/src/automation/src/main/java/eu/teraflow/automation/context/ContextGatewayImpl.java @@ -1,36 +1,34 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.context; import context.ContextOuterClass; import context.MutinyContextServiceGrpc.MutinyContextServiceStub; import eu.teraflow.automation.Serializer; -import eu.teraflow.automation.device.model.*; -import eu.teraflow.automation.device.model.Device; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceEvent; import io.quarkus.grpc.GrpcClient; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; -import org.jboss.logging.Logger; @ApplicationScoped public class ContextGatewayImpl implements ContextGateway { - private static final Logger LOGGER = Logger.getLogger(ContextGatewayImpl.class); @GrpcClient("context") MutinyContextServiceStub streamingDelegateContext; diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/ContextService.java b/src/automation/src/main/java/eu/teraflow/automation/context/ContextService.java index 8b690782aec7ca1ebf23af4c2d91946330314be6..f5316dc4158d514d3b524f52a63f92317b777ddb 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/context/ContextService.java +++ b/src/automation/src/main/java/eu/teraflow/automation/context/ContextService.java @@ -1,23 +1,23 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.context; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceEvent; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceEvent; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/ContextServiceImpl.java b/src/automation/src/main/java/eu/teraflow/automation/context/ContextServiceImpl.java index 38a938833628cceb5d67c3f51daa06e93fa464d4..fc65296b7c39b86567e63169e0a6f7d1b0f43fce 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/context/ContextServiceImpl.java +++ b/src/automation/src/main/java/eu/teraflow/automation/context/ContextServiceImpl.java @@ -1,23 +1,23 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.context; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceEvent; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceEvent; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import javax.enterprise.context.ApplicationScoped; diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigActionEnum.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigActionEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..f79562d0dc69cf1582998c7bd6625634498174d4 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigActionEnum.java @@ -0,0 +1,23 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public enum ConfigActionEnum { + UNDEFINED, + SET, + DELETE +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRule.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRule.java new file mode 100644 index 0000000000000000000000000000000000000000..334bb8964a917f27c752360e362796389f8b0056 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRule.java @@ -0,0 +1,43 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class ConfigRule { + + private final ConfigActionEnum configActionEnum; + private final ConfigRuleType configRuleType; + + public ConfigRule(ConfigActionEnum configActionEnum, ConfigRuleType configRuleType) { + this.configActionEnum = configActionEnum; + this.configRuleType = configRuleType; + } + + public ConfigActionEnum getConfigActionEnum() { + return configActionEnum; + } + + public ConfigRuleType getConfigRuleType() { + return configRuleType; + } + + @Override + public String toString() { + return String.format( + "%s:{configActionEnum:\"%s\", %s}", + getClass().getSimpleName(), configActionEnum, configRuleType); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleAcl.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleAcl.java new file mode 100644 index 0000000000000000000000000000000000000000..c749519fdddaf6f5466f81d713bdece51ff7f026 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleAcl.java @@ -0,0 +1,43 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +import eu.teraflow.automation.acl.AclRuleSet; + +public class ConfigRuleAcl { + + private final EndPointId endPointId; + private final AclRuleSet ruleSet; + + public ConfigRuleAcl(EndPointId endPointId, AclRuleSet ruleSet) { + this.endPointId = endPointId; + this.ruleSet = ruleSet; + } + + public EndPointId getEndPointId() { + return endPointId; + } + + public AclRuleSet getRuleSet() { + return ruleSet; + } + + @Override + public String toString() { + return String.format("%s:{%s, %s}", getClass().getSimpleName(), endPointId, ruleSet); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleCustom.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleCustom.java new file mode 100644 index 0000000000000000000000000000000000000000..d60411fb4acc88e73ed840d827ca1d078fd36856 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleCustom.java @@ -0,0 +1,41 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class ConfigRuleCustom { + + private final String resourceKey; + private final String resourceValue; + + public ConfigRuleCustom(String resourceKey, String resourceValue) { + this.resourceKey = resourceKey; + this.resourceValue = resourceValue; + } + + public String getResourceKey() { + return resourceKey; + } + + public String getResourceValue() { + return resourceValue; + } + + @Override + public String toString() { + return String.format("%s:{%s, %s}", getClass().getSimpleName(), resourceKey, resourceValue); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleType.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleType.java new file mode 100644 index 0000000000000000000000000000000000000000..874c633d0f0509381851a728413a1fc909cb380d --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleType.java @@ -0,0 +1,22 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public interface ConfigRuleType { + + public T getConfigRuleType(); +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleTypeAcl.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleTypeAcl.java new file mode 100644 index 0000000000000000000000000000000000000000..f802549132f0a48973442bbbee6240d1611d2fa1 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleTypeAcl.java @@ -0,0 +1,36 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class ConfigRuleTypeAcl implements ConfigRuleType { + + private final ConfigRuleAcl configRuleAcl; + + public ConfigRuleTypeAcl(ConfigRuleAcl configRuleAcl) { + this.configRuleAcl = configRuleAcl; + } + + @Override + public ConfigRuleAcl getConfigRuleType() { + return this.configRuleAcl; + } + + @Override + public String toString() { + return String.format("%s:%s}", getClass().getSimpleName(), configRuleAcl); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleTypeCustom.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleTypeCustom.java new file mode 100644 index 0000000000000000000000000000000000000000..86137244d166e254ab27952ecb85611474ae14eb --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/ConfigRuleTypeCustom.java @@ -0,0 +1,36 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class ConfigRuleTypeCustom implements ConfigRuleType { + + private final ConfigRuleCustom configRuleCustom; + + public ConfigRuleTypeCustom(ConfigRuleCustom configRuleCustom) { + this.configRuleCustom = configRuleCustom; + } + + @Override + public ConfigRuleCustom getConfigRuleType() { + return this.configRuleCustom; + } + + @Override + public String toString() { + return String.format("%s:%s}", getClass().getSimpleName(), configRuleCustom); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java new file mode 100644 index 0000000000000000000000000000000000000000..1e5563917625a9679feb9e9491990885cc4a3c22 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/Device.java @@ -0,0 +1,116 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +import eu.teraflow.automation.common.Util; +import java.util.List; + +public class Device { + + private final String deviceId; + private final String deviceType; + private DeviceConfig deviceConfig; + private DeviceOperationalStatus deviceOperationalStatus; + private List deviceDrivers; + private List endPoints; + + public Device( + String deviceId, + String deviceType, + DeviceConfig deviceConfig, + DeviceOperationalStatus deviceOperationalStatus, + List deviceDrivers, + List endPoints) { + + this.deviceId = deviceId; + this.deviceType = deviceType; + this.deviceConfig = deviceConfig; + this.deviceOperationalStatus = deviceOperationalStatus; + this.deviceDrivers = deviceDrivers; + this.endPoints = endPoints; + } + + public Device( + String deviceId, + String deviceType, + DeviceOperationalStatus deviceOperationalStatus, + List deviceDrivers, + List endPoints) { + this.deviceId = deviceId; + this.deviceType = deviceType; + this.deviceOperationalStatus = deviceOperationalStatus; + this.deviceDrivers = deviceDrivers; + this.endPoints = endPoints; + } + + public boolean isEnabled() { + return deviceOperationalStatus == DeviceOperationalStatus.ENABLED; + } + + public boolean isDisabled() { + return deviceOperationalStatus == DeviceOperationalStatus.DISABLED; + } + + public void enableDevice() { + this.deviceOperationalStatus = DeviceOperationalStatus.ENABLED; + } + + public void disableDevice() { + this.deviceOperationalStatus = DeviceOperationalStatus.DISABLED; + } + + public String getDeviceId() { + return deviceId; + } + + public String getDeviceType() { + return deviceType; + } + + public DeviceConfig getDeviceConfig() { + return deviceConfig; + } + + public List getDeviceDrivers() { + return deviceDrivers; + } + + public List getEndPoints() { + return endPoints; + } + + public DeviceOperationalStatus getDeviceOperationalStatus() { + return deviceOperationalStatus; + } + + public void setDeviceConfiguration(DeviceConfig deviceConfig) { + this.deviceConfig = deviceConfig; + } + + @Override + public String toString() { + return String.format( + "%s:{deviceId:\"%s\", deviceType:\"%s\", %s, deviceOperationalStatus=\"%s\", [%s], [%s]}", + getClass().getSimpleName(), + deviceId, + deviceType, + deviceConfig, + deviceOperationalStatus.toString(), + Util.toString(deviceDrivers), + Util.toString(endPoints)); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceConfig.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..edf2dbc6ff96bd26ee45345928b0c6d33b4ec73a --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceConfig.java @@ -0,0 +1,41 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +import java.util.List; +import java.util.stream.Collectors; + +public class DeviceConfig { + + private final List configRules; + + public DeviceConfig(List configRules) { + + this.configRules = configRules; + } + + public List getConfigRules() { + return configRules; + } + + @Override + public String toString() { + final var configRulesDescription = + configRules.stream().map(ConfigRule::toString).collect(Collectors.joining(", ")); + return String.format("%s[%s]", getClass().getSimpleName(), configRulesDescription); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceDriverEnum.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceDriverEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..fc0521927dfc695229016ad42bc612b27304d6eb --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceDriverEnum.java @@ -0,0 +1,27 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public enum DeviceDriverEnum { + UNDEFINED, + OPENCONFIG, + TRANSPORT_API, + P4, + IETF_NETWORK_TOPOLOGY, + ONF_TR_352, + XR +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceEvent.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..526b9b7b2ba34edc6d538619bdb190a9aefa9d97 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceEvent.java @@ -0,0 +1,56 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +import java.util.Optional; + +public class DeviceEvent { + + private final Event event; + private final String deviceId; + private final Optional deviceConfig; + + public DeviceEvent(String deviceId, Event event) { + this(deviceId, event, null); + } + + public DeviceEvent(String deviceId, Event event, DeviceConfig deviceConfig) { + this.event = event; + this.deviceId = deviceId; + this.deviceConfig = + (deviceConfig == null) ? Optional.empty() : Optional.ofNullable(deviceConfig); + } + + public Event getEvent() { + return event; + } + + public String getDeviceId() { + return deviceId; + } + + public Optional getDeviceConfig() { + return deviceConfig; + } + + @Override + public String toString() { + return String.format( + "%s[%s, %s, %s]", + getClass().getSimpleName(), deviceId, event.toString(), deviceConfig.orElse(null)); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceOperationalStatus.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceOperationalStatus.java new file mode 100644 index 0000000000000000000000000000000000000000..50486469f1c8e9f8b9f965723b3432dbb7d0d4ca --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/DeviceOperationalStatus.java @@ -0,0 +1,23 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public enum DeviceOperationalStatus { + UNDEFINED, + DISABLED, + ENABLED +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/Empty.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/Empty.java new file mode 100644 index 0000000000000000000000000000000000000000..67649243bc356a58e3df64c491c73aee132feecc --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/Empty.java @@ -0,0 +1,24 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class Empty { + + public Empty() { + // Empty constructor to represent the Empty rpc message of context service + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/EndPoint.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/EndPoint.java new file mode 100644 index 0000000000000000000000000000000000000000..25b3864c5d367b7767dc8afb52e9edc04bb31817 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/EndPoint.java @@ -0,0 +1,105 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +import eu.teraflow.automation.common.Util; +import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType; +import java.util.List; + +public class EndPoint { + private final EndPointId endPointId; + private final String endPointType; + private final List kpiSampleTypes; + private final Location endPointLocation; + + EndPoint(EndPointBuilder builder) { + this.endPointId = builder.endPointId; + this.endPointType = builder.endPointType; + this.kpiSampleTypes = builder.kpiSampleTypes; + this.endPointLocation = builder.endPointLocation; + } + + public EndPointId getEndPointId() { + return endPointId; + } + + public String getEndPointType() { + return endPointType; + } + + public List getKpiSampleTypes() { + return kpiSampleTypes; + } + + public Location getEndPointLocation() { + return endPointLocation; + } + + @Override + public String toString() { + return String.format( + "%s:{%s, endPointType:\"%s\", [%s], %s}", + getClass().getSimpleName(), + endPointId, + endPointType, + Util.toString(kpiSampleTypes), + endPointLocation); + } + + public static class EndPointBuilder { + private final EndPointId endPointId; + private final String endPointType; + private final List kpiSampleTypes; + private Location endPointLocation; + + public EndPointBuilder( + EndPointId endPointId, String endPointType, List kpiSampleTypes) { + this.endPointId = endPointId; + this.endPointType = endPointType; + this.kpiSampleTypes = kpiSampleTypes; + } + + public EndPointBuilder location(Location endPointLocation) { + this.endPointLocation = endPointLocation; + return this; + } + + public EndPoint build() { + EndPoint endPoint = new EndPoint(this); + validateEndPointObject(endPoint); + return endPoint; + } + + private void validateEndPointObject(EndPoint endPoint) { + final var validatedEndPointId = endPoint.getEndPointId(); + final var validatedEndPointType = endPoint.getEndPointType(); + final var validatedKpiSampleTypes = endPoint.getKpiSampleTypes(); + + if (validatedEndPointId == null) { + throw new IllegalStateException("EndPoint ID cannot be null"); + } + + if (validatedEndPointType == null) { + throw new IllegalStateException("EndPoint type cannot be null"); + } + + if (validatedKpiSampleTypes == null) { + throw new IllegalStateException("Kpi sample types cannot be null"); + } + } + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/EndPointId.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/EndPointId.java new file mode 100644 index 0000000000000000000000000000000000000000..c94bcb0b16ecdb638bd37aea468b70e52ee68f99 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/EndPointId.java @@ -0,0 +1,49 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class EndPointId { + + private final TopologyId topologyId; + private final String deviceId; + private final String id; + + public EndPointId(TopologyId topologyId, String deviceId, String id) { + this.topologyId = topologyId; + this.deviceId = deviceId; + this.id = id; + } + + public TopologyId getTopologyId() { + return topologyId; + } + + public String getDeviceId() { + return deviceId; + } + + public String getId() { + return id; + } + + @Override + public String toString() { + return String.format( + "%s:{%s, deviceId:\"%s\", id:\"%s\"}", + getClass().getSimpleName(), topologyId, deviceId, id); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/Event.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/Event.java index 974d8dc93ae83c7fccff234753edb3e9fa0ae05b..2b4a4bab6730e5ba18749eb62cecde8811797e87 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/context/model/Event.java +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/Event.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.context.model; diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/EventTypeEnum.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/EventTypeEnum.java index 4c723b29838ef8d4f2bddbfeba8ae4deda67a60a..38c2cd3f08eed5140e20983b5614428b5f6218c0 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/context/model/EventTypeEnum.java +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/EventTypeEnum.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.context.model; diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/GpsPosition.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/GpsPosition.java new file mode 100644 index 0000000000000000000000000000000000000000..9ee65b706bdb84e541b37f59108e6daa4b5fbf16 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/GpsPosition.java @@ -0,0 +1,42 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class GpsPosition { + + private final float latitude; + private final float longitude; + + public GpsPosition(float latitude, float longitude) { + this.latitude = latitude; + this.longitude = longitude; + } + + public float getLatitude() { + return latitude; + } + + public float getLongitude() { + return longitude; + } + + @Override + public String toString() { + return String.format( + "%s:{latitude:\"%f\", longitude:\"%f\"}", getClass().getSimpleName(), latitude, longitude); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/Location.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/Location.java new file mode 100644 index 0000000000000000000000000000000000000000..bd056e80c65d1f75621253f3b4021827503ac0ad --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/Location.java @@ -0,0 +1,35 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class Location { + + private final LocationType locationType; + + public Location(LocationType locationType) { + this.locationType = locationType; + } + + public LocationType getLocationType() { + return locationType; + } + + @Override + public String toString() { + return String.format("%s:{%s}", getClass().getSimpleName(), locationType); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationType.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationType.java new file mode 100644 index 0000000000000000000000000000000000000000..e5e23ab6278d748766347b61ffb0fa481a16ef68 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationType.java @@ -0,0 +1,22 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public interface LocationType { + + public T getLocationType(); +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationTypeGpsPosition.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationTypeGpsPosition.java new file mode 100644 index 0000000000000000000000000000000000000000..a9af77dea36948cd80ce2ce9d48c349923127839 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationTypeGpsPosition.java @@ -0,0 +1,35 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class LocationTypeGpsPosition implements LocationType { + private final GpsPosition gpsPosition; + + public LocationTypeGpsPosition(GpsPosition gpsPosition) { + this.gpsPosition = gpsPosition; + } + + @Override + public GpsPosition getLocationType() { + return this.gpsPosition; + } + + @Override + public String toString() { + return String.format("%s:{%s}", getClass().getSimpleName(), gpsPosition); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationTypeRegion.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationTypeRegion.java new file mode 100644 index 0000000000000000000000000000000000000000..5b12ee0169504874a12125ca6cd04db877946646 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/LocationTypeRegion.java @@ -0,0 +1,35 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class LocationTypeRegion implements LocationType { + private final String region; + + public LocationTypeRegion(String region) { + this.region = region; + } + + @Override + public String getLocationType() { + return this.region; + } + + @Override + public String toString() { + return String.format("%s:{region:\"%s\"}", getClass().getSimpleName(), region); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/context/model/TopologyId.java b/src/automation/src/main/java/eu/teraflow/automation/context/model/TopologyId.java new file mode 100644 index 0000000000000000000000000000000000000000..ce9f7836f6fe9cd2fc6095f43b02875fdcb98e26 --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/context/model/TopologyId.java @@ -0,0 +1,43 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.context.model; + +public class TopologyId { + + private final String contextId; + private final String id; + + public TopologyId(String contextId, String id) { + + this.contextId = contextId; + this.id = id; + } + + public String getContextId() { + return contextId; + } + + public String getId() { + return id; + } + + @Override + public String toString() { + return String.format( + "%s:{contextId:\"%s\", id:\"%s\"}", getClass().getSimpleName(), contextId, id); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGateway.java b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGateway.java index 6a285c14cfc6f55e1809a6523603396701612872..5244f8ea63abdf88ce50cd6c30074809a1fb0c7b 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGateway.java +++ b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGateway.java @@ -1,27 +1,30 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.device; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceConfig; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.Empty; import io.smallrye.mutiny.Uni; public interface DeviceGateway { Uni getInitialConfiguration(String deviceId); Uni configureDevice(Device device); + + Uni deleteDevice(String deviceId); } diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGatewayImpl.java b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGatewayImpl.java index e10bd5ee04c6252d0b5af065ff6f60fcbe9f67e8..f045833eb98e3ce2e784ff11c9ba28bb3e955a84 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGatewayImpl.java +++ b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceGatewayImpl.java @@ -1,35 +1,33 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.device; -import context.ContextOuterClass; import device.DeviceService; import eu.teraflow.automation.Serializer; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceConfig; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.Empty; import io.quarkus.grpc.GrpcClient; import io.smallrye.mutiny.Uni; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; -import org.jboss.logging.Logger; @ApplicationScoped public class DeviceGatewayImpl implements DeviceGateway { - private static final Logger LOGGER = Logger.getLogger(DeviceGatewayImpl.class); @GrpcClient("device") DeviceService deviceDelegate; @@ -60,4 +58,14 @@ public class DeviceGatewayImpl implements DeviceGateway { .onItem() .transform(serializer::deserialize); } + + @Override + public Uni deleteDevice(String deviceId) { + final var serializedDeviceId = serializer.serializeDeviceId(deviceId); + + return deviceDelegate + .deleteDevice(serializedDeviceId) + .onItem() + .transform(serializer::deserializeEmpty); + } } diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceService.java b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceService.java index 1d982bbd5d6e8c01211b4c607232777711e88192..d9f03d612743a765adbbe6b8ecbabaf48c39a9a0 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceService.java +++ b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceService.java @@ -1,23 +1,24 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.device; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceConfig; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.Empty; import io.smallrye.mutiny.Uni; public interface DeviceService { @@ -25,4 +26,6 @@ public interface DeviceService { Uni getInitialConfiguration(String deviceId); Uni configureDevice(Device device); + + Uni deleteDevice(String deviceId); } diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceServiceImpl.java b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceServiceImpl.java index 992c9e07a4daa6620ed92d5aacf1edd5c4f5127c..e6a8fc675479ba61a045445fdb03e2c7f7b924e2 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/device/DeviceServiceImpl.java +++ b/src/automation/src/main/java/eu/teraflow/automation/device/DeviceServiceImpl.java @@ -1,23 +1,24 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.device; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceConfig; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.Empty; import io.smallrye.mutiny.Uni; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @@ -43,4 +44,9 @@ public class DeviceServiceImpl implements DeviceService { return deviceGateway.configureDevice(device); } + + @Override + public Uni deleteDevice(String deviceId) { + return deviceGateway.deleteDevice(deviceId); + } } diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/model/ConfigActionEnum.java b/src/automation/src/main/java/eu/teraflow/automation/device/model/ConfigActionEnum.java deleted file mode 100644 index 103703c22a522035710c4aa214074229d7edb56c..0000000000000000000000000000000000000000 --- a/src/automation/src/main/java/eu/teraflow/automation/device/model/ConfigActionEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ - -package eu.teraflow.automation.device.model; - -public enum ConfigActionEnum { - UNDEFINED, - SET, - DELETE -} diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/model/ConfigRule.java b/src/automation/src/main/java/eu/teraflow/automation/device/model/ConfigRule.java deleted file mode 100644 index b419984b77ea122051fcee3eff9531de484b35aa..0000000000000000000000000000000000000000 --- a/src/automation/src/main/java/eu/teraflow/automation/device/model/ConfigRule.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ - -package eu.teraflow.automation.device.model; - -public class ConfigRule { - - private final ConfigActionEnum configActionEnum; - private final String resourceKey; - private final String resourceValue; - - public ConfigRule(ConfigActionEnum configActionEnum, String resourceKey, String resourceValue) { - this.configActionEnum = configActionEnum; - this.resourceKey = resourceKey; - this.resourceValue = resourceValue; - } - - public ConfigActionEnum getConfigActionEnum() { - return configActionEnum; - } - - public String getResourceKey() { - return resourceKey; - } - - public String getResourceValue() { - return resourceValue; - } - - @Override - public String toString() { - return String.format( - "%s<%s, %s,%s>", getClass().getSimpleName(), configActionEnum, resourceKey, resourceValue); - } -} diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/model/Device.java b/src/automation/src/main/java/eu/teraflow/automation/device/model/Device.java deleted file mode 100644 index 1cd0f9c324f378e2ecc73d5a24ccdaf093b69268..0000000000000000000000000000000000000000 --- a/src/automation/src/main/java/eu/teraflow/automation/device/model/Device.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ - -package eu.teraflow.automation.device.model; - -public class Device { - - private final String deviceId; - private final String deviceType; - private DeviceConfig deviceConfig; - private DeviceOperationalStatus deviceOperationalStatus; - - public Device( - String deviceId, - String deviceType, - DeviceConfig deviceConfig, - DeviceOperationalStatus deviceOperationalStatus) { - - this.deviceId = deviceId; - this.deviceType = deviceType; - this.deviceConfig = deviceConfig; - this.deviceOperationalStatus = deviceOperationalStatus; - } - - public Device( - String deviceId, String deviceType, DeviceOperationalStatus deviceOperationalStatus) { - this.deviceId = deviceId; - this.deviceType = deviceType; - this.deviceOperationalStatus = deviceOperationalStatus; - } - - public boolean isEnabled() { - return deviceOperationalStatus == DeviceOperationalStatus.ENABLED; - } - - public void enableDevice() { - this.deviceOperationalStatus = DeviceOperationalStatus.ENABLED; - } - - public String getDeviceId() { - return deviceId; - } - - public String getDeviceType() { - return deviceType; - } - - public DeviceConfig getDeviceConfig() { - return deviceConfig; - } - - public DeviceOperationalStatus getDeviceOperationalStatus() { - return deviceOperationalStatus; - } - - public void setDeviceConfiguration(DeviceConfig deviceConfig) { - this.deviceConfig = deviceConfig; - } - - @Override - public String toString() { - return String.format( - "%s{id=\"%s\", type=\"%s\", operationalStatus=\"%s\", config=%s", - getClass().getSimpleName(), deviceId, deviceType, deviceOperationalStatus, deviceConfig); - } -} diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceConfig.java b/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceConfig.java deleted file mode 100644 index 68248136a34d4c0a0b6c519c4eeec54596f6c962..0000000000000000000000000000000000000000 --- a/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ - -package eu.teraflow.automation.device.model; - -import java.util.List; -import java.util.stream.Collectors; - -public class DeviceConfig { - - private final List configRules; - - public DeviceConfig(List configRules) { - - this.configRules = configRules; - } - - public List getConfigRules() { - return configRules; - } - - @Override - public String toString() { - final var configRulesDescription = - configRules.stream().map(ConfigRule::toString).collect(Collectors.joining(", ")); - return String.format("%s[%s]", getClass().getSimpleName(), configRulesDescription); - } -} diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceEvent.java b/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceEvent.java deleted file mode 100644 index 6589e224e5dac191435d915b50d410ff40ae1afb..0000000000000000000000000000000000000000 --- a/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceEvent.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ - -package eu.teraflow.automation.device.model; - -import eu.teraflow.automation.context.model.Event; - -public class DeviceEvent { - - private final Event event; - private final String deviceId; - - public DeviceEvent(String deviceId, Event event) { - this.event = event; - this.deviceId = deviceId; - } - - public Event getEvent() { - return event; - } - - public String getDeviceId() { - return deviceId; - } - - @Override - public String toString() { - return String.format("%s[%s, %s]", getClass().getSimpleName(), deviceId, event.toString()); - } -} diff --git a/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceOperationalStatus.java b/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceOperationalStatus.java deleted file mode 100644 index 397c5276c108924c14c58d5213044f264576a9db..0000000000000000000000000000000000000000 --- a/src/automation/src/main/java/eu/teraflow/automation/device/model/DeviceOperationalStatus.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ - -package eu.teraflow.automation.device.model; - -public enum DeviceOperationalStatus { - UNDEFINED, - DISABLED, - ENABLED -} diff --git a/src/automation/src/main/java/eu/teraflow/automation/kpi_sample_types/model/KpiSampleType.java b/src/automation/src/main/java/eu/teraflow/automation/kpi_sample_types/model/KpiSampleType.java new file mode 100644 index 0000000000000000000000000000000000000000..9a46e8ffde183deb4a23e5fde16ae8a798fb6e4b --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/kpi_sample_types/model/KpiSampleType.java @@ -0,0 +1,25 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.kpi_sample_types.model; + +public enum KpiSampleType { + UNKNOWN, + PACKETS_TRANSMITTED, + PACKETS_RECEIVED, + BYTES_TRANSMITTED, + BYTES_RECEIVED +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRole.java b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRole.java index fb538fee298e6cc3ec521f474a14a7252c03bc4f..da2f1c80e2f1433fe0cff6ba5397a86dd1c2da55 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRole.java +++ b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRole.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.model; @@ -34,4 +34,10 @@ public class DeviceRole { public DeviceRoleType getType() { return type; } + + @Override + public String toString() { + return String.format( + "%s:{%s, deviceRoleType:\"%s\"}", getClass().getSimpleName(), id, type.toString()); + } } diff --git a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleConfig.java b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..aae556fff704ec22dac16304e55f31cc185517ad --- /dev/null +++ b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleConfig.java @@ -0,0 +1,43 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation.model; + +import eu.teraflow.automation.context.model.DeviceConfig; + +public class DeviceRoleConfig { + + private final DeviceRole deviceRole; + private final DeviceConfig deviceConfig; + + public DeviceRoleConfig(DeviceRole deviceRole, DeviceConfig deviceConfig) { + this.deviceRole = deviceRole; + this.deviceConfig = deviceConfig; + } + + public DeviceRole getDeviceRole() { + return deviceRole; + } + + public DeviceConfig getDeviceConfig() { + return deviceConfig; + } + + @Override + public String toString() { + return String.format("%s:{%s, %s}", getClass().getSimpleName(), deviceRole, deviceConfig); + } +} diff --git a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleId.java b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleId.java index d0b7e6a2ae1e7795f90ae8fc00c8488dedab7567..064c4f1e647ce6fded0f67925924d50d582f29e2 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleId.java +++ b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleId.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.model; @@ -33,4 +33,10 @@ public class DeviceRoleId { public String getDeviceId() { return deviceId; } + + @Override + public String toString() { + return String.format( + "%s:{id:\"%s\", deviceId:\"%s\"}", getClass().getSimpleName(), id, deviceId); + } } diff --git a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleType.java b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleType.java index e92c88c4ac3e46eb0e53e5bae0a361299f547992..8d55e0cb4e231fcc5378ee4304fe5b19c525548c 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleType.java +++ b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceRoleType.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.model; diff --git a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceState.java b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceState.java index 53a6b2712930f698987ce3c6a60277605fb604a1..48bc37ef7797562c48eed16091ea35cdb06eacd6 100644 --- a/src/automation/src/main/java/eu/teraflow/automation/model/DeviceState.java +++ b/src/automation/src/main/java/eu/teraflow/automation/model/DeviceState.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation.model; diff --git a/src/automation/src/main/proto/acl.proto b/src/automation/src/main/proto/acl.proto new file mode 120000 index 0000000000000000000000000000000000000000..158ae78eb5bdea534ba7008114c2b97ed6dffed8 --- /dev/null +++ b/src/automation/src/main/proto/acl.proto @@ -0,0 +1 @@ +../../../../../proto/acl.proto \ No newline at end of file diff --git a/src/automation/src/main/resources/application.yml b/src/automation/src/main/resources/application.yml index 24280803e81ecb90933a7ccd531a754b034cabb7..bc89d4348dfdfc5dc3f9159fb167d00509a8e4dc 100644 --- a/src/automation/src/main/resources/application.yml +++ b/src/automation/src/main/resources/application.yml @@ -19,7 +19,7 @@ quarkus: path: teraflow-automation-banner.txt grpc: server: - port: 9999 + port: 5050 enable-reflection-service: true clients: context: @@ -53,9 +53,9 @@ quarkus: http: host-port: 8080 container-port: 8080 - grpc-server: - host-port: 9999 - container-port: 9999 + grpc: + host-port: 5050 + container-port: 5050 env: vars: context-service-host: "contextservice" diff --git a/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java b/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java index f584a86ca72885df1249ea6d956384b50e129268..75045288c99ff041e9fdc1d4a1bdf7365f9dd48a 100644 --- a/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java +++ b/src/automation/src/test/java/eu/teraflow/automation/AutomationFunctionalServiceTest.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; @@ -21,9 +21,21 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import automation.Automation; import context.ContextOuterClass; import eu.teraflow.automation.context.ContextGateway; +import eu.teraflow.automation.context.model.ConfigActionEnum; +import eu.teraflow.automation.context.model.ConfigRule; +import eu.teraflow.automation.context.model.ConfigRuleCustom; +import eu.teraflow.automation.context.model.ConfigRuleTypeCustom; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.DeviceDriverEnum; +import eu.teraflow.automation.context.model.DeviceOperationalStatus; +import eu.teraflow.automation.context.model.EndPoint.EndPointBuilder; +import eu.teraflow.automation.context.model.EndPointId; +import eu.teraflow.automation.context.model.Location; +import eu.teraflow.automation.context.model.LocationTypeRegion; +import eu.teraflow.automation.context.model.TopologyId; import eu.teraflow.automation.device.DeviceGateway; -import eu.teraflow.automation.device.model.*; -import eu.teraflow.automation.device.model.Device; +import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType; import io.quarkus.test.junit.QuarkusTest; import io.quarkus.test.junit.mockito.InjectMock; import io.smallrye.mutiny.Uni; @@ -37,7 +49,7 @@ import org.junit.jupiter.api.Test; import org.mockito.Mockito; @QuarkusTest -public class AutomationFunctionalServiceTest { +class AutomationFunctionalServiceTest { private static final Logger LOGGER = Logger.getLogger(AutomationFunctionalServiceTest.class); @Inject AutomationService automationService; @@ -47,7 +59,6 @@ public class AutomationFunctionalServiceTest { @Test void shouldConfigureDevice() { - final var uuidForDeviceRoleId = ContextOuterClass.Uuid.newBuilder() .setUuid(UUID.fromString("0f14d0ab-9608-7862-a9e4-5ed26688389b").toString()) @@ -70,8 +81,14 @@ public class AutomationFunctionalServiceTest { String deviceId = outDeviceRoleId.getDevRoleId().toString(); String deviceType = "cisco"; - ConfigRule configRule1 = new ConfigRule(ConfigActionEnum.UNDEFINED, "1", "1"); - ConfigRule configRule2 = new ConfigRule(ConfigActionEnum.SET, "2", "2"); + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + ConfigRule configRule1 = new ConfigRule(ConfigActionEnum.UNDEFINED, configRuleTypeA); + + final var configRuleCustomB = new ConfigRuleCustom("resourceKeyB", "resourceValueB"); + final var configRuleTypeB = new ConfigRuleTypeCustom(configRuleCustomB); + ConfigRule configRule2 = new ConfigRule(ConfigActionEnum.SET, configRuleTypeB); + List configRuleList = new ArrayList<>(); configRuleList.add(configRule1); configRuleList.add(configRule2); @@ -80,7 +97,42 @@ public class AutomationFunctionalServiceTest { Uni expectedDeviceConfigUni = Uni.createFrom().item(expectedDeviceConfig); Uni expectedDeviceId = Uni.createFrom().item(deviceId); - Device device = new Device(deviceId, deviceType, DeviceOperationalStatus.DISABLED); + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var topologyIdA = new TopologyId("contextIdA", "idA"); + final var deviceIdA = "deviceIdA"; + final var idA = "idA"; + final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var topologyIdB = new TopologyId("contextIdB", "idB"); + final var deviceIdB = "deviceIdB"; + final var idB = "idB"; + final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB); + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + + Device device = + new Device( + deviceId, deviceType, DeviceOperationalStatus.DISABLED, deviceDrivers, endPoints); Uni deviceUni = Uni.createFrom().item(device); Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(deviceUni); @@ -97,16 +149,27 @@ public class AutomationFunctionalServiceTest { deviceConfig -> { LOGGER.infof("Received response %s", deviceConfig); - assertThat(deviceConfig.getDeviceOperationalStatus().toString()) - .isEqualTo(device.getDeviceOperationalStatus().toString()); + assertThat(deviceConfig).hasToString(device.getDeviceOperationalStatus().toString()); assertThat(deviceConfig.getDeviceConfig().toString()).isNotNull(); final var rulesList = deviceConfig.getDeviceConfig().getConfigRules(); for (int i = 0; i < rulesList.size(); i++) { - assertThat(rulesList.get(i).getResourceKey()).isEqualTo(String.valueOf(i + 1)); - assertThat(rulesList.get(i).getResourceValue()).isEqualTo(String.valueOf(i + 1)); + + if (rulesList.get(i).getConfigRuleType().getConfigRuleType() + instanceof ConfigRuleCustom) { + assertThat( + ((ConfigRuleCustom) + rulesList.get(i).getConfigRuleType().getConfigRuleType()) + .getResourceKey()) + .isEqualTo(String.valueOf(i + 1)); + assertThat( + ((ConfigRuleCustom) + rulesList.get(i).getConfigRuleType().getConfigRuleType()) + .getResourceValue()) + .isEqualTo(String.valueOf(i + 1)); + } } assertThat(deviceConfig.getDeviceType()).isEqualTo("cisco"); assertThat(deviceConfig.getDeviceId()).isEqualTo(deviceId); @@ -140,14 +203,55 @@ public class AutomationFunctionalServiceTest { List configRuleList = new ArrayList<>(); - ConfigRule expectedConfigRule = - new ConfigRule(ConfigActionEnum.UNDEFINED, "001", "already-configured"); + final var configRuleCustom = new ConfigRuleCustom("resourceKey", "resourceValue"); + final var configRuleType = new ConfigRuleTypeCustom(configRuleCustom); + + ConfigRule expectedConfigRule = new ConfigRule(ConfigActionEnum.UNDEFINED, configRuleType); configRuleList.add(expectedConfigRule); DeviceConfig expectedDeviceConfig = new DeviceConfig(configRuleList); + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var topologyIdA = new TopologyId("contextIdA", "idA"); + final var deviceIdA = "deviceIdA"; + final var idA = "idA"; + final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var topologyIdB = new TopologyId("contextIdB", "idB"); + final var deviceIdB = "deviceIdB"; + final var idB = "idB"; + final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB); + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + Device device = - new Device(deviceId, deviceType, expectedDeviceConfig, DeviceOperationalStatus.ENABLED); + new Device( + deviceId, + deviceType, + expectedDeviceConfig, + DeviceOperationalStatus.ENABLED, + deviceDrivers, + endPoints); Uni deviceUni = Uni.createFrom().item(device); @@ -163,21 +267,113 @@ public class AutomationFunctionalServiceTest { deviceConfig -> { LOGGER.infof("Received response %s", deviceConfig); - assertThat(deviceConfig.getDeviceOperationalStatus().toString()) - .isEqualTo(device.getDeviceOperationalStatus().toString()); + assertThat(deviceConfig).hasToString(device.getDeviceOperationalStatus().toString()); assertThat(deviceConfig.getDeviceConfig().toString()).isNotNull(); final var rulesList = deviceConfig.getDeviceConfig().getConfigRules(); for (ConfigRule configRule : rulesList) { - assertThat(configRule.getResourceKey()) - .isEqualTo(expectedConfigRule.getResourceKey()); - assertThat(configRule.getResourceValue()) - .isEqualTo(expectedConfigRule.getResourceValue()); + if (configRule.getConfigRuleType().getConfigRuleType() + instanceof ConfigRuleCustom) { + + if (expectedConfigRule.getConfigRuleType().getConfigRuleType() + instanceof ConfigRuleCustom) { + assertThat( + ((ConfigRuleCustom) configRule.getConfigRuleType().getConfigRuleType()) + .getResourceKey()) + .isEqualTo( + ((ConfigRuleCustom) + expectedConfigRule.getConfigRuleType().getConfigRuleType()) + .getResourceKey()); + assertThat( + ((ConfigRuleCustom) configRule.getConfigRuleType().getConfigRuleType()) + .getResourceValue()) + .isEqualTo( + ((ConfigRuleCustom) + expectedConfigRule.getConfigRuleType().getConfigRuleType()) + .getResourceValue()); + } + } } assertThat(deviceConfig.getDeviceType()).isEqualTo("ztp"); assertThat(deviceConfig.getDeviceId()).isEqualTo(deviceId); }); } + + @Test + void shouldDeleteDevice() { + final var uuidForDeviceRoleId = + ContextOuterClass.Uuid.newBuilder() + .setUuid(UUID.fromString("0f14d0ab-9608-7862-a9e4-5ed26688389b").toString()) + .build(); + + final var uuidForDeviceId = + ContextOuterClass.Uuid.newBuilder() + .setUuid(UUID.fromString("9f14d0ab-9608-7862-a9e4-5ed26688389c").toString()) + .build(); + + final var outDeviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(uuidForDeviceId).build(); + + final var outDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(uuidForDeviceRoleId) + .setDevId(outDeviceId) + .build(); + + String deviceId = outDeviceRoleId.getDevRoleId().toString(); + String deviceType = "cisco"; + + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var topologyIdA = new TopologyId("contextIdA", "idA"); + final var deviceIdA = "deviceIdA"; + final var idA = "idA"; + final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var topologyIdB = new TopologyId("contextIdB", "idB"); + final var deviceIdB = "deviceIdB"; + final var idB = "idB"; + final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB); + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + + Device device = + new Device( + deviceId, deviceType, DeviceOperationalStatus.DISABLED, deviceDrivers, endPoints); + Uni deviceUni = Uni.createFrom().item(device); + + Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(deviceUni); + + final var deletedDevice = automationService.deleteDevice(deviceId); + + Assertions.assertThat(deletedDevice).isNotNull(); + + deletedDevice + .subscribe() + .with( + removedDevice -> { + assertThat(removedDevice).isEqualTo(deletedDevice); + }); + } } diff --git a/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java b/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java index 56c2743216d7204da4f4b4bd64b6281accb5e604..e17fc8304455a543ffa96b4c1239abb77be4daca 100644 --- a/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java +++ b/src/automation/src/test/java/eu/teraflow/automation/AutomationServiceTest.java @@ -1,18 +1,18 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; @@ -21,12 +21,25 @@ import static org.assertj.core.api.Assertions.assertThat; import automation.Automation; import automation.AutomationService; import context.ContextOuterClass; -import eu.teraflow.automation.model.DeviceRole; -import eu.teraflow.automation.model.DeviceRoleId; import eu.teraflow.automation.context.ContextGateway; +import eu.teraflow.automation.context.model.ConfigActionEnum; +import eu.teraflow.automation.context.model.ConfigRule; +import eu.teraflow.automation.context.model.ConfigRuleCustom; +import eu.teraflow.automation.context.model.ConfigRuleTypeCustom; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.DeviceDriverEnum; +import eu.teraflow.automation.context.model.DeviceOperationalStatus; +import eu.teraflow.automation.context.model.EndPoint.EndPointBuilder; +import eu.teraflow.automation.context.model.EndPointId; +import eu.teraflow.automation.context.model.Location; +import eu.teraflow.automation.context.model.LocationTypeRegion; +import eu.teraflow.automation.context.model.TopologyId; import eu.teraflow.automation.device.DeviceGateway; -import eu.teraflow.automation.device.model.*; -import eu.teraflow.automation.device.model.Device; +import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType; +import eu.teraflow.automation.model.DeviceRole; +import eu.teraflow.automation.model.DeviceRoleConfig; +import eu.teraflow.automation.model.DeviceRoleId; import eu.teraflow.automation.model.DeviceRoleType; import io.quarkus.grpc.GrpcClient; import io.quarkus.test.junit.QuarkusTest; @@ -64,13 +77,54 @@ class AutomationServiceTest { final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a"; final var DEVICE_TYPE = "ztp"; + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var topologyIdA = new TopologyId("contextIdA", "idA"); + final var deviceIdA = "deviceIdA"; + final var idA = "idA"; + final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var topologyIdB = new TopologyId("contextIdB", "idB"); + final var deviceIdB = "deviceIdB"; + final var idB = "idB"; + final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB); + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + final var emptyDeviceConfig = new DeviceConfig(List.of()); final var disabledDevice = - new Device(DEVICE_ID, DEVICE_TYPE, emptyDeviceConfig, DeviceOperationalStatus.DISABLED); + new Device( + DEVICE_ID, + DEVICE_TYPE, + emptyDeviceConfig, + DeviceOperationalStatus.DISABLED, + deviceDrivers, + endPoints); Mockito.when(contextGateway.getDevice(Mockito.any())) .thenReturn(Uni.createFrom().item(disabledDevice)); - final var configRule = new ConfigRule(ConfigActionEnum.SET, "001", "initial-configuration"); + final var configRuleCustom = new ConfigRuleCustom("resourceKey", "resourceValue"); + final var configRuleType = new ConfigRuleTypeCustom(configRuleCustom); + final var configRule = new ConfigRule(ConfigActionEnum.SET, configRuleType); final var initialDeviceConfig = new DeviceConfig(List.of(configRule)); Mockito.when(deviceGateway.getInitialConfiguration(Mockito.any())) .thenReturn(Uni.createFrom().item(initialDeviceConfig)); @@ -107,16 +161,68 @@ class AutomationServiceTest { @Test void shouldUpdateDeviceRole() throws ExecutionException, InterruptedException, TimeoutException { CompletableFuture message = new CompletableFuture<>(); + final var DEVICE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389b"; final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a"; + final var DEVICE_TYPE = "ztp"; + + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var topologyIdA = new TopologyId("contextIdA", "idA"); + final var deviceIdA = "deviceIdA"; + final var idA = "idA"; + final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var topologyIdB = new TopologyId("contextIdB", "idB"); + final var deviceIdB = "deviceIdB"; + final var idB = "idB"; + final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB); + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + + final var emptyDeviceConfig = new DeviceConfig(List.of()); + final var device = + new Device( + DEVICE_ID, + DEVICE_TYPE, + emptyDeviceConfig, + DeviceOperationalStatus.ENABLED, + deviceDrivers, + endPoints); + Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(Uni.createFrom().item(device)); final var deviceRoleId = new DeviceRoleId(DEVICE_ROLE_ID, DEVICE_ID); - final var deviceRoleType = DeviceRoleType.DEV_CONF; - final var deviceRole = new DeviceRole(deviceRoleId, deviceRoleType); - final var serializedDeviceRole = serializer.serialize(deviceRole); + final var deviceRole = new DeviceRole(deviceRoleId, DeviceRoleType.DEV_OPS); + + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + final var deviceConfig = + new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA))); + + final var deviceRoleConfig = new DeviceRoleConfig(deviceRole, deviceConfig); + final var serializedDeviceRoleConfig = serializer.serialize(deviceRoleConfig); client - .ztpUpdate(serializedDeviceRole) + .ztpUpdate(serializedDeviceRoleConfig) .subscribe() .with( deviceRoleState -> { @@ -174,6 +280,53 @@ class AutomationServiceTest { final var uuid = serializer.serializeUuid(UUID_VALUE); final var deviceRoleId = Automation.DeviceRoleId.newBuilder().setDevRoleId(uuid).build(); final var deviceRole = Automation.DeviceRole.newBuilder().setDevRoleId(deviceRoleId).build(); + final var DEVICE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389b"; + final var DEVICE_ROLE_ID = "0f14d0ab-9608-7862-a9e4-5ed26688389a"; + final var DEVICE_TYPE = "ztp"; + + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var topologyIdA = new TopologyId("contextIdA", "idA"); + final var deviceIdA = "deviceIdA"; + final var idA = "idA"; + final var endPointIdA = new EndPointId(topologyIdA, deviceIdA, idA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var topologyIdB = new TopologyId("contextIdB", "idB"); + final var deviceIdB = "deviceIdB"; + final var idB = "idB"; + final var endPointIdB = new EndPointId(topologyIdB, deviceIdB, idB); + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + + final var emptyDeviceConfig = new DeviceConfig(List.of()); + final var device = + new Device( + DEVICE_ID, + DEVICE_TYPE, + emptyDeviceConfig, + DeviceOperationalStatus.ENABLED, + deviceDrivers, + endPoints); + Mockito.when(contextGateway.getDevice(Mockito.any())).thenReturn(Uni.createFrom().item(device)); client .ztpDelete(deviceRole) @@ -190,7 +343,7 @@ class AutomationServiceTest { void shouldDeleteAllDevicesRolesByDeviceId() throws ExecutionException, InterruptedException, TimeoutException { CompletableFuture message = new CompletableFuture<>(); - final var empty = Automation.Empty.newBuilder().build(); + final var empty = ContextOuterClass.Empty.newBuilder().build(); client .ztpDeleteAll(empty) diff --git a/src/automation/src/test/java/eu/teraflow/automation/ConfigRuleTypeTest.java b/src/automation/src/test/java/eu/teraflow/automation/ConfigRuleTypeTest.java new file mode 100644 index 0000000000000000000000000000000000000000..ec1da0ccb4e9bee46d6327f1da2016610494714e --- /dev/null +++ b/src/automation/src/test/java/eu/teraflow/automation/ConfigRuleTypeTest.java @@ -0,0 +1,90 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation; + +import static org.assertj.core.api.Assertions.assertThat; + +import eu.teraflow.automation.acl.AclAction; +import eu.teraflow.automation.acl.AclEntry; +import eu.teraflow.automation.acl.AclForwardActionEnum; +import eu.teraflow.automation.acl.AclLogActionEnum; +import eu.teraflow.automation.acl.AclMatch; +import eu.teraflow.automation.acl.AclRuleSet; +import eu.teraflow.automation.acl.AclRuleTypeEnum; +import eu.teraflow.automation.context.model.ConfigRuleAcl; +import eu.teraflow.automation.context.model.ConfigRuleCustom; +import eu.teraflow.automation.context.model.ConfigRuleTypeAcl; +import eu.teraflow.automation.context.model.ConfigRuleTypeCustom; +import eu.teraflow.automation.context.model.EndPointId; +import eu.teraflow.automation.context.model.TopologyId; +import io.quarkus.test.junit.QuarkusTest; +import java.util.List; +import org.junit.jupiter.api.Test; + +@QuarkusTest +class ConfigRuleTypeTest { + + private AclMatch createAclMatch() { + + return new AclMatch(1, 2, "192.168.3.52", "192.168.4.192", 3224, 3845, 5, 10); + } + + private AclAction createAclAction() { + + return new AclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + } + + private AclEntry createAclEntry(AclMatch aclMatch, AclAction aclAction) { + + return new AclEntry(1, "aclEntryDescription", aclMatch, aclAction); + } + + @Test + void shouldExtractConfigRuleCustomFromConfigRuleTypeCustom() { + final var resourceKey = "resourceKey"; + final var resourceValue = "resourceValue"; + + final var expectedConfigRuleCustom = new ConfigRuleCustom(resourceKey, resourceValue); + final var configRuleTypeCustom = new ConfigRuleTypeCustom(expectedConfigRuleCustom); + + assertThat(configRuleTypeCustom.getConfigRuleType()).isEqualTo(expectedConfigRuleCustom); + } + + @Test + void shouldExtractConfigRuleAclFromConfigRuleTypeAcl() { + final var contextIdUuid = "contextId"; + final var topologyIdUuid = "topologyUuid"; + final var deviceIdUuid = "deviceIdUuid"; + final var endpointIdUuid = "endpointIdUuid"; + + final var topologyId = new TopologyId(contextIdUuid, topologyIdUuid); + final var endPointId = new EndPointId(topologyId, deviceIdUuid, endpointIdUuid); + + final var aclMatch = createAclMatch(); + final var aclAction = createAclAction(); + final var aclEntry = createAclEntry(aclMatch, aclAction); + + final var aclRuleSet = + new AclRuleSet( + "aclRuleName", AclRuleTypeEnum.IPV4, "AclRuleDescription", "userId", List.of(aclEntry)); + + final var expectedConfigRuleAcl = new ConfigRuleAcl(endPointId, aclRuleSet); + final var configRuleTypeAcl = new ConfigRuleTypeAcl(expectedConfigRuleAcl); + + assertThat(configRuleTypeAcl.getConfigRuleType()).isEqualTo(expectedConfigRuleAcl); + } +} diff --git a/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java b/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java new file mode 100644 index 0000000000000000000000000000000000000000..6f8834a1f68e96d3f0be38f8d918ad1be7d391e9 --- /dev/null +++ b/src/automation/src/test/java/eu/teraflow/automation/ContextSubscriberTest.java @@ -0,0 +1,201 @@ +package eu.teraflow.automation; + +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import automation.Automation; +import context.ContextOuterClass; +import eu.teraflow.automation.context.ContextGateway; +import eu.teraflow.automation.context.model.DeviceEvent; +import eu.teraflow.automation.context.model.Event; +import eu.teraflow.automation.context.model.EventTypeEnum; +import io.quarkus.runtime.StartupEvent; +import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.mockito.InjectMock; +import io.smallrye.mutiny.Multi; +import java.util.UUID; +import javax.inject.Inject; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; + +@QuarkusTest +class ContextSubscriberTest { + + private static final String UUID_FOR_DEVICE_ROLE_ID = + UUID.fromString("0f14d0ab-9608-7862-a9e4-5ed26688389b").toString(); + private static final String UUID_FOR_DEVICE_ID = + UUID.fromString("9f14d0ab-9608-7862-a9e4-5ed26688389c").toString(); + + @Inject ContextSubscriber contextSubscriber; + + @InjectMock ContextGateway contextGateway; + + @InjectMock AutomationService automationService; + + @InjectMock AutomationConfiguration automationConfiguration; + + @Test + void shouldCallAddDeviceUponCreateEvent() { + final var uuidForDeviceRoleId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ROLE_ID).build(); + + final var uuidForDeviceId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ID).build(); + + final var outDeviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(uuidForDeviceId).build(); + + final var outDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(uuidForDeviceRoleId) + .setDevId(outDeviceId) + .build(); + + String deviceId = outDeviceRoleId.getDevId().toString(); + + Event event = new Event(3.4, EventTypeEnum.CREATE); + DeviceEvent deviceEvent = new DeviceEvent(deviceId, event); + final var deviceEventsMulti = Multi.createFrom().item(deviceEvent); + + Mockito.when(contextGateway.getDeviceEvents()).thenReturn(deviceEventsMulti); + + contextSubscriber.listenForDeviceEvents(); + + verify(automationService, times(0)).deleteDevice(deviceId); + verify(automationService, times(1)).addDevice(deviceId); + } + + @Test + void shouldNotCallAddDeviceUponUpdateEvent() { + final var uuidForDeviceRoleId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ROLE_ID).build(); + + final var uuidForDeviceId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ID).build(); + + final var outDeviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(uuidForDeviceId).build(); + + final var outDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(uuidForDeviceRoleId) + .setDevId(outDeviceId) + .build(); + + String deviceId = outDeviceRoleId.getDevId().toString(); + + Event event = new Event(3.4, EventTypeEnum.UPDATE); + DeviceEvent deviceEvent = new DeviceEvent(deviceId, event); + final var deviceEventsMulti = Multi.createFrom().item(deviceEvent); + + Mockito.when(contextGateway.getDeviceEvents()).thenReturn(deviceEventsMulti); + + contextSubscriber.listenForDeviceEvents(); + + verify(automationService, times(0)).addDevice(deviceId); + } + + @Test + void shouldCallRemoveDeviceUponRemoveEvent() { + final var uuidForDeviceRoleId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ROLE_ID).build(); + + final var uuidForDeviceId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ID).build(); + + final var outDeviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(uuidForDeviceId).build(); + + final var outDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(uuidForDeviceRoleId) + .setDevId(outDeviceId) + .build(); + + String deviceId = outDeviceRoleId.getDevId().toString(); + + Event event = new Event(3.4, EventTypeEnum.REMOVE); + DeviceEvent deviceEvent = new DeviceEvent(deviceId, event); + final var deviceEventsMulti = Multi.createFrom().item(deviceEvent); + + Mockito.when(contextGateway.getDeviceEvents()).thenReturn(deviceEventsMulti); + + contextSubscriber.listenForDeviceEvents(); + + verify(automationService, times(0)).addDevice(deviceId); + verify(automationService, times(1)).deleteDevice(deviceId); + } + + @Test + void shouldNotCallAddDeviceUponNullEvent() { + final var uuidForDeviceRoleId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ROLE_ID).build(); + + final var uuidForDeviceId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ID).build(); + + final var outDeviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(uuidForDeviceId).build(); + + final var outDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(uuidForDeviceRoleId) + .setDevId(outDeviceId) + .build(); + + String deviceId = outDeviceRoleId.getDevId().toString(); + + DeviceEvent deviceEvent = new DeviceEvent(deviceId, null); + final var deviceEventsMulti = Multi.createFrom().item(deviceEvent); + + Mockito.when(contextGateway.getDeviceEvents()).thenReturn(deviceEventsMulti); + + contextSubscriber.listenForDeviceEvents(); + + verify(automationService, times(0)).addDevice(deviceId); + } + + @Test + void shouldCallListenForDeviceEventsUponStart() { + final var uuidForDeviceRoleId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ROLE_ID).build(); + + final var uuidForDeviceId = + ContextOuterClass.Uuid.newBuilder().setUuid(UUID_FOR_DEVICE_ID).build(); + + final var outDeviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(uuidForDeviceId).build(); + + final var outDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(uuidForDeviceRoleId) + .setDevId(outDeviceId) + .build(); + + String deviceId = outDeviceRoleId.getDevId().toString(); + + Event event = new Event(3.4, EventTypeEnum.CREATE); + DeviceEvent deviceEvent = new DeviceEvent(deviceId, event); + final var deviceEventsMulti = Multi.createFrom().item(deviceEvent); + + Mockito.when(contextGateway.getDeviceEvents()).thenReturn(deviceEventsMulti); + Mockito.when(automationConfiguration.shouldSubscribeToContextComponent()).thenReturn(true); + + StartupEvent y = new StartupEvent(); + contextSubscriber.onStart(y); + + verify(contextGateway, times(1)).getDeviceEvents(); + verify(automationService, times(1)).addDevice(deviceId); + } + + @Test + void shouldNotCallListenForDeviceEventsUponStart() { + final var automationConfiguration = Mockito.mock(AutomationConfiguration.class); + Mockito.when(automationConfiguration.shouldSubscribeToContextComponent()).thenReturn(false); + + StartupEvent y = new StartupEvent(); + contextSubscriber.onStart(y); + + verify(contextGateway, times(0)).getDeviceEvents(); + } +} diff --git a/src/automation/src/test/java/eu/teraflow/automation/EndPointCreationTest.java b/src/automation/src/test/java/eu/teraflow/automation/EndPointCreationTest.java new file mode 100644 index 0000000000000000000000000000000000000000..d2094efaf48338c710121eddffc4b5fb1edd3790 --- /dev/null +++ b/src/automation/src/test/java/eu/teraflow/automation/EndPointCreationTest.java @@ -0,0 +1,124 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import eu.teraflow.automation.context.model.EndPoint; +import eu.teraflow.automation.context.model.EndPointId; +import eu.teraflow.automation.context.model.Location; +import eu.teraflow.automation.context.model.LocationTypeRegion; +import eu.teraflow.automation.context.model.TopologyId; +import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType; +import io.quarkus.test.junit.QuarkusTest; +import java.util.List; +import org.junit.jupiter.api.Test; + +@QuarkusTest +class EndPointCreationTest { + + @Test + void shouldCreateEndPointObjectGivenAllAvailableFields() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var expectedEndPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + final var expectedEndPointType = "expectedEndPointType"; + final var expectedKpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + + final var expectedLocationType = new LocationTypeRegion("ATH"); + final var expectedEndPointLocation = new Location(expectedLocationType); + + final var expectedEndPoint = + new EndPoint.EndPointBuilder( + expectedEndPointId, expectedEndPointType, expectedKpiSampleTypes) + .location(expectedEndPointLocation) + .build(); + + assertThat(expectedEndPoint.getEndPointId()).isEqualTo(expectedEndPointId); + assertThat(expectedEndPoint.getEndPointType()).isEqualTo(expectedEndPointType); + assertThat(expectedEndPoint.getKpiSampleTypes()).isEqualTo(expectedKpiSampleTypes); + assertThat(expectedEndPoint.getEndPointLocation()).isEqualTo(expectedEndPointLocation); + } + + @Test + void shouldCreateEndPointObjectGivenAllFieldsExceptFromLocation() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var expectedEndPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + final var expectedEndPointType = "expectedEndPointType"; + final var expectedKpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + + final var expectedEndPoint = + new EndPoint.EndPointBuilder( + expectedEndPointId, expectedEndPointType, expectedKpiSampleTypes) + .build(); + + assertThat(expectedEndPoint.getEndPointId()).isEqualTo(expectedEndPointId); + assertThat(expectedEndPoint.getEndPointType()).isEqualTo(expectedEndPointType); + assertThat(expectedEndPoint.getKpiSampleTypes()).isEqualTo(expectedKpiSampleTypes); + } + + @Test + void shouldThrowIllegalStateExceptionDuringCreationOfEndPointObjectUponMissingEndPointId() { + final var expectedEndPointType = "expectedEndPointType"; + final var expectedKpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + + final var endPoint = + new EndPoint.EndPointBuilder(null, expectedEndPointType, expectedKpiSampleTypes); + + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(endPoint::build); + } + + @Test + void shouldThrowIllegalStateExceptionDuringCreationOfEndPointObjectUponMissingEndPointType() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var expectedEndPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + final var expectedKpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + + final var endPoint = + new EndPoint.EndPointBuilder(expectedEndPointId, null, expectedKpiSampleTypes); + + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(endPoint::build); + } + + @Test + void shouldThrowIllegalStateExceptionDuringCreationOfEndPointObjectUponMissingKpiSampleTypes() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var expectedEndPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + final var expectedEndPointType = "expectedEndPointType"; + + final var endPoint = + new EndPoint.EndPointBuilder(expectedEndPointId, expectedEndPointType, null); + + assertThatExceptionOfType(IllegalStateException.class).isThrownBy(endPoint::build); + } +} diff --git a/src/automation/src/test/java/eu/teraflow/automation/LocationTypeTest.java b/src/automation/src/test/java/eu/teraflow/automation/LocationTypeTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f89830e425feffeac377c9d20c0561221f835ec6 --- /dev/null +++ b/src/automation/src/test/java/eu/teraflow/automation/LocationTypeTest.java @@ -0,0 +1,49 @@ +/* +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ + +package eu.teraflow.automation; + +import static org.assertj.core.api.Assertions.assertThat; + +import eu.teraflow.automation.context.model.GpsPosition; +import eu.teraflow.automation.context.model.LocationTypeGpsPosition; +import eu.teraflow.automation.context.model.LocationTypeRegion; +import io.quarkus.test.junit.QuarkusTest; +import org.junit.jupiter.api.Test; + +@QuarkusTest +class LocationTypeTest { + + @Test + void shouldExtractRegionFromLocationTypeRegion() { + final var expectedRegion = "ATH"; + + final var locationTypeRegion = new LocationTypeRegion(expectedRegion); + + assertThat(locationTypeRegion.getLocationType()).isEqualTo(expectedRegion); + } + + @Test + void shouldExtractLocationGpsPositionFromLocationTypeGpsPosition() { + final var latitude = 3.99f; + final var longitude = 77.32f; + + final var expectedLocationGpsPosition = new GpsPosition(latitude, longitude); + final var locationTypeGpsPosition = new LocationTypeGpsPosition(expectedLocationGpsPosition); + + assertThat(locationTypeGpsPosition.getLocationType()).isEqualTo(expectedLocationGpsPosition); + } +} diff --git a/src/automation/src/test/java/eu/teraflow/automation/MockAutomationConfiguration.java b/src/automation/src/test/java/eu/teraflow/automation/MockAutomationConfiguration.java new file mode 100644 index 0000000000000000000000000000000000000000..24c0433e0ed5fb5e3d20ff762f640406d8bf9f1b --- /dev/null +++ b/src/automation/src/test/java/eu/teraflow/automation/MockAutomationConfiguration.java @@ -0,0 +1,18 @@ +package eu.teraflow.automation; + +import io.smallrye.config.SmallRyeConfig; +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; +import javax.ws.rs.Produces; +import org.eclipse.microprofile.config.Config; + +public class MockAutomationConfiguration { + @Inject Config config; + + @Produces + @ApplicationScoped + @io.quarkus.test.Mock + AutomationConfiguration automationConfiguration() { + return config.unwrap(SmallRyeConfig.class).getConfigMapping(AutomationConfiguration.class); + } +} diff --git a/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java b/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java index 4d4a57da7286997c1194ccc5d711ab9999d39567..1161d9552e9794412d6c1ee78b89d2e2404ea3d7 100644 --- a/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java +++ b/src/automation/src/test/java/eu/teraflow/automation/SerializerTest.java @@ -1,43 +1,71 @@ /* - * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) - * - * 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. - */ +* Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +* +* 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. +*/ package eu.teraflow.automation; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import acl.Acl; import automation.Automation; +import automation.Automation.ZtpDeviceState; import context.ContextOuterClass; import context.ContextOuterClass.DeviceId; import context.ContextOuterClass.DeviceOperationalStatusEnum; import context.ContextOuterClass.Uuid; +import eu.teraflow.automation.acl.AclAction; +import eu.teraflow.automation.acl.AclEntry; +import eu.teraflow.automation.acl.AclForwardActionEnum; +import eu.teraflow.automation.acl.AclLogActionEnum; +import eu.teraflow.automation.acl.AclMatch; +import eu.teraflow.automation.acl.AclRuleSet; +import eu.teraflow.automation.acl.AclRuleTypeEnum; +import eu.teraflow.automation.context.model.ConfigActionEnum; +import eu.teraflow.automation.context.model.ConfigRule; +import eu.teraflow.automation.context.model.ConfigRuleAcl; +import eu.teraflow.automation.context.model.ConfigRuleCustom; +import eu.teraflow.automation.context.model.ConfigRuleTypeAcl; +import eu.teraflow.automation.context.model.ConfigRuleTypeCustom; +import eu.teraflow.automation.context.model.Device; +import eu.teraflow.automation.context.model.DeviceConfig; +import eu.teraflow.automation.context.model.DeviceDriverEnum; +import eu.teraflow.automation.context.model.DeviceEvent; +import eu.teraflow.automation.context.model.DeviceOperationalStatus; +import eu.teraflow.automation.context.model.Empty; +import eu.teraflow.automation.context.model.EndPoint.EndPointBuilder; +import eu.teraflow.automation.context.model.EndPointId; import eu.teraflow.automation.context.model.Event; import eu.teraflow.automation.context.model.EventTypeEnum; -import eu.teraflow.automation.device.model.ConfigActionEnum; -import eu.teraflow.automation.device.model.ConfigRule; -import eu.teraflow.automation.device.model.Device; -import eu.teraflow.automation.device.model.DeviceConfig; -import eu.teraflow.automation.device.model.DeviceEvent; -import eu.teraflow.automation.device.model.DeviceOperationalStatus; +import eu.teraflow.automation.context.model.GpsPosition; +import eu.teraflow.automation.context.model.Location; +import eu.teraflow.automation.context.model.LocationTypeGpsPosition; +import eu.teraflow.automation.context.model.LocationTypeRegion; +import eu.teraflow.automation.context.model.TopologyId; +import eu.teraflow.automation.kpi_sample_types.model.KpiSampleType; import eu.teraflow.automation.model.DeviceRole; +import eu.teraflow.automation.model.DeviceRoleConfig; import eu.teraflow.automation.model.DeviceRoleId; import eu.teraflow.automation.model.DeviceRoleType; +import eu.teraflow.automation.model.DeviceState; import io.quarkus.test.junit.QuarkusTest; import java.util.List; +import java.util.stream.Collectors; import java.util.stream.Stream; import javax.inject.Inject; +import kpi_sample_types.KpiSampleTypes; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -48,12 +76,38 @@ class SerializerTest { @Inject Serializer serializer; + private AclMatch createAclMatch( + int dscp, + int protocol, + String srcAddress, + String dstAddress, + int srcPort, + int dstPort, + int startMplsLabel, + int endMplsLabel) { + return new AclMatch( + dscp, protocol, srcAddress, dstAddress, srcPort, dstPort, startMplsLabel, endMplsLabel); + } + + private AclAction createAclAction( + AclForwardActionEnum forwardActionEnum, AclLogActionEnum logActionEnum) { + + return new AclAction(forwardActionEnum, logActionEnum); + } + + private AclEntry createAclEntry( + int sequenceId, String description, AclMatch aclMatch, AclAction aclAction) { + + return new AclEntry(sequenceId, description, aclMatch, aclAction); + } + @Test void shouldSerializeDeviceId() { final var expectedDeviceId = "expectedDeviceId"; final var deviceIdUuid = serializer.serializeUuid(expectedDeviceId); - final var deviceId = ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(deviceIdUuid).build(); + final var deviceId = + ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(deviceIdUuid).build(); final var serializedDeviceId = serializer.serializeDeviceId(expectedDeviceId); @@ -65,7 +119,8 @@ class SerializerTest { final var expectedDeviceId = "expectedDeviceId"; final var serializedDeviceIdUuid = serializer.serializeUuid("expectedDeviceId"); - final var serializedDeviceId = DeviceId.newBuilder().setDeviceUuid(serializedDeviceIdUuid).build(); + final var serializedDeviceId = + DeviceId.newBuilder().setDeviceUuid(serializedDeviceIdUuid).build(); final var deviceId = serializer.deserialize(serializedDeviceId); @@ -80,7 +135,10 @@ class SerializerTest { final var deviceRoleId = new DeviceRoleId(expectedDevRoleId, expectedDeviceId); final var serializedDeviceRoleIdUuid = serializer.serializeUuid(expectedDevRoleId); final var serializedDeviceRoleDeviceIdUuid = serializer.serializeUuid(expectedDeviceId); - final var serializedDeviceRoleDeviceId = ContextOuterClass.DeviceId.newBuilder().setDeviceUuid(serializedDeviceRoleDeviceIdUuid).build(); + final var serializedDeviceRoleDeviceId = + ContextOuterClass.DeviceId.newBuilder() + .setDeviceUuid(serializedDeviceRoleDeviceIdUuid) + .build(); final var expectedDeviceRoleId = Automation.DeviceRoleId.newBuilder() @@ -88,8 +146,7 @@ class SerializerTest { .setDevId(serializedDeviceRoleDeviceId) .build(); - final var serializedDevRoleId = - serializer.serialize(deviceRoleId); + final var serializedDevRoleId = serializer.serialize(deviceRoleId); assertThat(serializedDevRoleId).usingRecursiveComparison().isEqualTo(expectedDeviceRoleId); } @@ -142,19 +199,21 @@ class SerializerTest { final var serializedDeviceRoleDevRoleIdUuid = serializer.serializeUuid(expectedDevRoleId); final var serializedDeviceRoleDeviceId = serializer.serializeDeviceId(expectedDeviceId); - final var expectedDeviceRoleId = Automation.DeviceRoleId.newBuilder() - .setDevRoleId(serializedDeviceRoleDevRoleIdUuid) - .setDevId(serializedDeviceRoleDeviceId) - .build(); + final var expectedDeviceRoleId = + Automation.DeviceRoleId.newBuilder() + .setDevRoleId(serializedDeviceRoleDevRoleIdUuid) + .setDevId(serializedDeviceRoleDeviceId) + .build(); final var expectedDeviceRoleType = Automation.DeviceRoleType.PIPELINE_CONF; - final var expectedDeviceRole = Automation.DeviceRole.newBuilder() - .setDevRoleId(expectedDeviceRoleId) - .setDevRoleType(expectedDeviceRoleType) - .build(); + final var expectedDeviceRole = + Automation.DeviceRole.newBuilder() + .setDevRoleId(expectedDeviceRoleId) + .setDevRoleType(expectedDeviceRoleType) + .build(); - final var deviceRoleId = new DeviceRoleId(expectedDevRoleId,expectedDeviceId); + final var deviceRoleId = new DeviceRoleId(expectedDevRoleId, expectedDeviceId); final var deviceRoleType = DeviceRoleType.PIPELINE_CONF; final var deviceRole = new DeviceRole(deviceRoleId, deviceRoleType); @@ -187,6 +246,61 @@ class SerializerTest { assertThat(deviceRole).usingRecursiveComparison().isEqualTo(expectedDeviceRole); } + @Test + void shouldSerializeDeviceRoleConfig() { + final var expectedDevRoleId = new DeviceRoleId("expectedDevRoleId", "expectedDeviceId"); + final var expectedDevRoleType = DeviceRoleType.DEV_OPS; + + final var deviceRole = new DeviceRole(expectedDevRoleId, expectedDevRoleType); + final var serializedDeviceRole = serializer.serialize(deviceRole); + + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + final var deviceConfig = + new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA))); + final var serializedDeviceConfig = serializer.serialize(deviceConfig); + + final var expectedDeviceRoleConfig = + Automation.DeviceRoleConfig.newBuilder() + .setDevRole(serializedDeviceRole) + .setDevConfig(serializedDeviceConfig) + .build(); + + final var deviceRoleConfig = new DeviceRoleConfig(deviceRole, deviceConfig); + final var serializedDeviceRoleConfig = serializer.serialize(deviceRoleConfig); + + assertThat(serializedDeviceRoleConfig) + .usingRecursiveComparison() + .isEqualTo(expectedDeviceRoleConfig); + } + + @Test + void shouldDeserializeDeviceRoleConfig() { + final var expectedDevRoleId = new DeviceRoleId("expectedDevRoleId", "expectedDeviceId"); + final var expectedDevRoleType = DeviceRoleType.DEV_OPS; + + final var deviceRole = new DeviceRole(expectedDevRoleId, expectedDevRoleType); + final var serializedDeviceRole = serializer.serialize(deviceRole); + + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + final var deviceConfig = + new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA))); + final var serializedDeviceConfig = serializer.serialize(deviceConfig); + + final var expectedDeviceRoleConfig = new DeviceRoleConfig(deviceRole, deviceConfig); + + final var serializedDeviceRoleConfig = + Automation.DeviceRoleConfig.newBuilder() + .setDevRole(serializedDeviceRole) + .setDevConfig(serializedDeviceConfig) + .build(); + + final var deviceRoleConfig = serializer.deserialize(serializedDeviceRoleConfig); + + assertThat(deviceRoleConfig).usingRecursiveComparison().isEqualTo(expectedDeviceRoleConfig); + } + private static Stream provideEventTypeEnum() { return Stream.of( Arguments.of(EventTypeEnum.CREATE, ContextOuterClass.EventTypeEnum.EVENTTYPE_CREATE), @@ -211,11 +325,38 @@ class SerializerTest { assertThat(eventType).isEqualTo(expectedEventType); } + private static Stream provideDeviceState() { + return Stream.of( + Arguments.of(DeviceState.CREATED, ZtpDeviceState.ZTP_DEV_STATE_CREATED), + Arguments.of(DeviceState.UPDATED, ZtpDeviceState.ZTP_DEV_STATE_UPDATED), + Arguments.of(DeviceState.DELETED, ZtpDeviceState.ZTP_DEV_STATE_DELETED), + Arguments.of(DeviceState.UNDEFINED, ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED)); + } + + @ParameterizedTest + @MethodSource("provideDeviceState") + void shouldSerializeDeviceState( + DeviceState deviceState, ZtpDeviceState expectedSerializedDeviceState) { + final var serializedDeviceState = serializer.serialize(deviceState); + assertThat(serializedDeviceState.getNumber()) + .isEqualTo(expectedSerializedDeviceState.getNumber()); + } + + @ParameterizedTest + @MethodSource("provideDeviceState") + void shouldDeserializeDeviceState( + DeviceState expectedDeviceState, ZtpDeviceState serializedDeviceState) { + final var deviceState = serializer.deserialize(serializedDeviceState); + assertThat(deviceState).isEqualTo(expectedDeviceState); + } + @Test void shouldSerializeEvent() { + final var timestamp = ContextOuterClass.Timestamp.newBuilder().setTimestamp(1).build(); + final var expectedEvent = ContextOuterClass.Event.newBuilder() - .setTimestamp(1) + .setTimestamp(timestamp) .setEventType(ContextOuterClass.EventTypeEnum.EVENTTYPE_CREATE) .build(); @@ -228,10 +369,11 @@ class SerializerTest { @Test void shouldDeserializeEvent() { final var expectedEvent = new Event(1, EventTypeEnum.CREATE); + final var timestamp = ContextOuterClass.Timestamp.newBuilder().setTimestamp(1).build(); final var serializedEvent = ContextOuterClass.Event.newBuilder() - .setTimestamp(1) + .setTimestamp(timestamp) .setEventType(ContextOuterClass.EventTypeEnum.EVENTTYPE_CREATE) .build(); final var event = serializer.deserialize(serializedEvent); @@ -243,19 +385,58 @@ class SerializerTest { void shouldSerializeDeviceEvent() { final var expectedUuid = Uuid.newBuilder().setUuid("deviceId"); final var expectedDeviceId = DeviceId.newBuilder().setDeviceUuid(expectedUuid).build(); + final var expectedTimestamp = ContextOuterClass.Timestamp.newBuilder().setTimestamp(1).build(); + final var expectedEvent = ContextOuterClass.Event.newBuilder() - .setTimestamp(1) + .setTimestamp(expectedTimestamp) .setEventType(ContextOuterClass.EventTypeEnum.EVENTTYPE_CREATE) .build(); + + final var expectedConfigRuleCustomA = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyA") + .setResourceValue("resourceValueA") + .build(); + + final var expectedConfigRuleCustomB = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyB") + .setResourceValue("resourceValueB") + .build(); + + final var expectedConfigRuleA = + ContextOuterClass.ConfigRule.newBuilder() + .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) + .setCustom(expectedConfigRuleCustomA) + .build(); + final var expectedConfigRuleB = + ContextOuterClass.ConfigRule.newBuilder() + .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_DELETE) + .setCustom(expectedConfigRuleCustomB) + .build(); + + final var expectedDeviceConfig = + ContextOuterClass.DeviceConfig.newBuilder() + .addAllConfigRules(List.of(expectedConfigRuleA, expectedConfigRuleB)) + .build(); + final var expectedDeviceEvent = ContextOuterClass.DeviceEvent.newBuilder() .setDeviceId(expectedDeviceId) .setEvent(expectedEvent) + .setDeviceConfig(expectedDeviceConfig) .build(); final var creationEvent = new Event(1, EventTypeEnum.CREATE); - final var deviceEvent = new DeviceEvent("deviceId", creationEvent); + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var configRuleCustomB = new ConfigRuleCustom("resourceKeyB", "resourceValueB"); + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + final var configRuleTypeB = new ConfigRuleTypeCustom(configRuleCustomB); + final var configRuleA = new ConfigRule(ConfigActionEnum.SET, configRuleTypeA); + final var configRuleB = new ConfigRule(ConfigActionEnum.DELETE, configRuleTypeB); + final var deviceConfig = new DeviceConfig(List.of(configRuleA, configRuleB)); + final var deviceEvent = new DeviceEvent("deviceId", creationEvent, deviceConfig); final var serializedDeviceEvent = serializer.serialize(deviceEvent); assertThat(serializedDeviceEvent).usingRecursiveComparison().isEqualTo(expectedDeviceEvent); @@ -265,19 +446,65 @@ class SerializerTest { void shouldDeserializeDeviceEvent() { final var dummyDeviceId = "deviceId"; final var expectedEventType = EventTypeEnum.REMOVE; - final var expectedTimestamp = 1; - final var creationEvent = new Event(expectedTimestamp, expectedEventType); - final var expectedDeviceEvent = new DeviceEvent(dummyDeviceId, creationEvent); + final var expectedTimestamp = ContextOuterClass.Timestamp.newBuilder().setTimestamp(1).build(); + + final var creationEvent = new Event(1, expectedEventType); + + final var expectedConfigRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var expectedConfigRuleCustomB = new ConfigRuleCustom("resourceKeyB", "resourceValueB"); + + final var expectedConfigRuleTypeA = new ConfigRuleTypeCustom(expectedConfigRuleCustomA); + final var expectedConfigRuleTypeB = new ConfigRuleTypeCustom(expectedConfigRuleCustomB); + + final var expectedConfigRuleA = new ConfigRule(ConfigActionEnum.SET, expectedConfigRuleTypeA); + final var expectedConfigRuleB = + new ConfigRule(ConfigActionEnum.DELETE, expectedConfigRuleTypeB); + + final var expectedDeviceConfig = + new DeviceConfig(List.of(expectedConfigRuleA, expectedConfigRuleB)); + + final var expectedDeviceEvent = + new DeviceEvent(dummyDeviceId, creationEvent, expectedDeviceConfig); final var deviceUuid = Uuid.newBuilder().setUuid("deviceId"); final var deviceId = DeviceId.newBuilder().setDeviceUuid(deviceUuid).build(); final var event = ContextOuterClass.Event.newBuilder() - .setTimestamp(1) + .setTimestamp(expectedTimestamp) .setEventType(ContextOuterClass.EventTypeEnum.EVENTTYPE_REMOVE) .build(); + + final var configRuleCustomA = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyA") + .setResourceValue("resourceValueA") + .build(); + final var configRuleCustomB = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyB") + .setResourceValue("resourceValueB") + .build(); + final var configRuleA = + ContextOuterClass.ConfigRule.newBuilder() + .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) + .setCustom(configRuleCustomA) + .build(); + final var configRuleB = + ContextOuterClass.ConfigRule.newBuilder() + .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_DELETE) + .setCustom(configRuleCustomB) + .build(); + final var deviceConfig = + ContextOuterClass.DeviceConfig.newBuilder() + .addAllConfigRules(List.of(configRuleA, configRuleB)) + .build(); + final var serializedDeviceEvent = - ContextOuterClass.DeviceEvent.newBuilder().setDeviceId(deviceId).setEvent(event).build(); + ContextOuterClass.DeviceEvent.newBuilder() + .setDeviceId(deviceId) + .setEvent(event) + .setDeviceConfig(deviceConfig) + .build(); final var deviceEvent = serializer.deserialize(serializedDeviceEvent); assertThat(deviceEvent).usingRecursiveComparison().isEqualTo(expectedDeviceEvent); @@ -309,85 +536,792 @@ class SerializerTest { assertThat(configAction).isEqualTo(expectedConfigAction); } + private static Stream provideAclRuleTypeEnum() { + return Stream.of( + Arguments.of(AclRuleTypeEnum.IPV4, Acl.AclRuleTypeEnum.ACLRULETYPE_IPV4), + Arguments.of(AclRuleTypeEnum.IPV6, Acl.AclRuleTypeEnum.ACLRULETYPE_IPV6), + Arguments.of(AclRuleTypeEnum.L2, Acl.AclRuleTypeEnum.ACLRULETYPE_L2), + Arguments.of(AclRuleTypeEnum.MPLS, Acl.AclRuleTypeEnum.ACLRULETYPE_MPLS), + Arguments.of(AclRuleTypeEnum.MIXED, Acl.AclRuleTypeEnum.ACLRULETYPE_MIXED), + Arguments.of(AclRuleTypeEnum.UNDEFINED, Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED)); + } + + @ParameterizedTest + @MethodSource("provideAclRuleTypeEnum") + void shouldSerializeAclRuleTypeEnum( + AclRuleTypeEnum aclRuleTypeEnum, Acl.AclRuleTypeEnum expectedAclRuleTypeEnum) { + final var serializedAclRuleTypeEnum = serializer.serialize(aclRuleTypeEnum); + assertThat(serializedAclRuleTypeEnum.getNumber()) + .isEqualTo(expectedAclRuleTypeEnum.getNumber()); + } + + @ParameterizedTest + @MethodSource("provideAclRuleTypeEnum") + void shouldDeserializeAclRuleTypeEnum( + AclRuleTypeEnum expectedAclRuleTypeEnum, Acl.AclRuleTypeEnum serializedAclRuleTypeEnum) { + final var aclRuleTypeEnum = serializer.deserialize(serializedAclRuleTypeEnum); + assertThat(aclRuleTypeEnum).isEqualTo(expectedAclRuleTypeEnum); + } + + private static Stream provideAclForwardActionEnum() { + return Stream.of( + Arguments.of(AclForwardActionEnum.DROP, Acl.AclForwardActionEnum.ACLFORWARDINGACTION_DROP), + Arguments.of( + AclForwardActionEnum.ACCEPT, Acl.AclForwardActionEnum.ACLFORWARDINGACTION_ACCEPT), + Arguments.of( + AclForwardActionEnum.REJECT, Acl.AclForwardActionEnum.ACLFORWARDINGACTION_REJECT), + Arguments.of( + AclForwardActionEnum.UNDEFINED, + Acl.AclForwardActionEnum.ACLFORWARDINGACTION_UNDEFINED)); + } + + @ParameterizedTest + @MethodSource("provideAclForwardActionEnum") + void shouldSerializeAclForwardActionEnum( + AclForwardActionEnum aclForwardActionEnum, + Acl.AclForwardActionEnum expectedAclForwardActionEnum) { + final var serializedAclForwardActionEnum = serializer.serialize(aclForwardActionEnum); + assertThat(serializedAclForwardActionEnum.getNumber()) + .isEqualTo(expectedAclForwardActionEnum.getNumber()); + } + + @ParameterizedTest + @MethodSource("provideAclForwardActionEnum") + void shouldDeserializeAclForwardActionEnum( + AclForwardActionEnum expectedAclForwardActionEnum, + Acl.AclForwardActionEnum serializedAclForwardActionEnum) { + final var aclForwardActionEnum = serializer.deserialize(serializedAclForwardActionEnum); + assertThat(aclForwardActionEnum).isEqualTo(expectedAclForwardActionEnum); + } + + private static Stream provideAclLogActionEnum() { + return Stream.of( + Arguments.of(AclLogActionEnum.NO_LOG, Acl.AclLogActionEnum.ACLLOGACTION_NOLOG), + Arguments.of(AclLogActionEnum.SYSLOG, Acl.AclLogActionEnum.ACLLOGACTION_SYSLOG), + Arguments.of(AclLogActionEnum.UNDEFINED, Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED)); + } + + @ParameterizedTest + @MethodSource("provideAclLogActionEnum") + void shouldSerializeAclLogActionEnum( + AclLogActionEnum aclLogActionEnum, Acl.AclLogActionEnum expectedAclLogActionEnum) { + final var serializedAclLogActionEnum = serializer.serialize(aclLogActionEnum); + assertThat(serializedAclLogActionEnum.getNumber()) + .isEqualTo(expectedAclLogActionEnum.getNumber()); + } + + @Test + void shouldSerializeAclAction() { + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + + final var expectedAclAction = + Acl.AclAction.newBuilder() + .setForwardAction(Acl.AclForwardActionEnum.ACLFORWARDINGACTION_ACCEPT) + .setLogAction(Acl.AclLogActionEnum.ACLLOGACTION_SYSLOG) + .build(); + + final var serializedAclAction = serializer.serialize(aclAction); + + assertThat(serializedAclAction).usingRecursiveComparison().isEqualTo(expectedAclAction); + } + + @Test + void shouldDeserializeAclAction() { + final var expectedAclAction = + createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + + final var serializedAclAction = serializer.serialize(expectedAclAction); + final var aclAction = serializer.deserialize(serializedAclAction); + + assertThat(aclAction).usingRecursiveComparison().isEqualTo(expectedAclAction); + } + + @Test + void shouldSerializeAclMatch() { + final var aclMatch = createAclMatch(1, 1, "127.0.0.1", "127.0.0.2", 5601, 5602, 1, 2); + + final var expectedAclMatch = + Acl.AclMatch.newBuilder() + .setDscp(1) + .setProtocol(1) + .setSrcAddress("127.0.0.1") + .setDstAddress("127.0.0.2") + .setSrcPort(5601) + .setDstPort(5602) + .setStartMplsLabel(1) + .setEndMplsLabel(2) + .build(); + + final var serializedAclMatch = serializer.serialize(aclMatch); + + assertThat(serializedAclMatch).usingRecursiveComparison().isEqualTo(expectedAclMatch); + } + + @Test + void shouldDeserializeAclMatch() { + final var expectedAclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + + final var serializedAclMatch = serializer.serialize(expectedAclMatch); + final var aclMatch = serializer.deserialize(serializedAclMatch); + + assertThat(aclMatch).usingRecursiveComparison().isEqualTo(expectedAclMatch); + } + + @Test + void shouldSerializeAclEntry() { + final var sequenceId = 1; + final var description = "aclEntryDescription"; + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var aclEntry = createAclEntry(sequenceId, description, aclMatch, aclAction); + + final var serializedAclMatch = serializer.serialize(aclMatch); + final var serializedAclAction = serializer.serialize(aclAction); + + final var expectedAclEntry = + Acl.AclEntry.newBuilder() + .setSequenceId(sequenceId) + .setDescription(description) + .setMatch(serializedAclMatch) + .setAction(serializedAclAction) + .build(); + + final var serializedAclEntry = serializer.serialize(aclEntry); + + assertThat(serializedAclEntry).usingRecursiveComparison().isEqualTo(expectedAclEntry); + } + + @Test + void shouldDeserializeAclEntry() { + final var sequenceId = 1; + final var description = "aclEntryDescription"; + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var expectedAclEntry = createAclEntry(sequenceId, description, aclMatch, aclAction); + + final var serializedAclEntry = serializer.serialize(expectedAclEntry); + final var aclEntry = serializer.deserialize(serializedAclEntry); + + assertThat(aclEntry).usingRecursiveComparison().isEqualTo(expectedAclEntry); + } + + @Test + void shouldSerializeAclRuleSet() { + final var sequenceId = 1; + final var aclEntryDescription = "aclEntryDescription"; + + final var aclRuleSetName = "aclRuleSetName"; + final var aclRuleSetDescription = "aclRuleSetDescription"; + final var aclRuleSetUserId = "aclRuleSetUserId"; + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var aclEntry = createAclEntry(sequenceId, aclEntryDescription, aclMatch, aclAction); + final var aclRuleSet = + new AclRuleSet( + aclRuleSetName, + AclRuleTypeEnum.MIXED, + aclRuleSetDescription, + aclRuleSetUserId, + List.of(aclEntry)); + + final var serializedAclEntry = serializer.serialize(aclEntry); + final var serializedAclEntries = List.of(serializedAclEntry); + + final var expectedAclRuleSet = + Acl.AclRuleSet.newBuilder() + .setName(aclRuleSetName) + .setType(Acl.AclRuleTypeEnum.ACLRULETYPE_MIXED) + .setDescription(aclRuleSetDescription) + .setUserId(aclRuleSetUserId) + .addAllEntries(serializedAclEntries) + .build(); + + final var serializedAclRuleset = serializer.serialize(aclRuleSet); + + assertThat(serializedAclRuleset).usingRecursiveComparison().isEqualTo(expectedAclRuleSet); + } + + @Test + void shouldDeserializeAclRuleSet() { + final var sequenceId = 1; + final var aclEntryDescription = "aclEntryDescription"; + + final var aclRuleSetName = "aclRuleSetName"; + final var aclRuleSetDescription = "aclRuleSetDescription"; + final var aclRuleSetUserId = "aclRuleSetUserId"; + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var aclEntry = createAclEntry(sequenceId, aclEntryDescription, aclMatch, aclAction); + final var expectedAclRuleSet = + new AclRuleSet( + aclRuleSetName, + AclRuleTypeEnum.MIXED, + aclRuleSetDescription, + aclRuleSetUserId, + List.of(aclEntry)); + + final var serializedAclRuleSet = serializer.serialize(expectedAclRuleSet); + final var aclRuleSet = serializer.deserialize(serializedAclRuleSet); + + assertThat(aclRuleSet).usingRecursiveComparison().isEqualTo(expectedAclRuleSet); + } + + @ParameterizedTest + @MethodSource("provideAclLogActionEnum") + void shouldDeserializeAclLogActionEnum( + AclLogActionEnum expectedAclLogActionEnum, Acl.AclLogActionEnum serializedAclLogActionEnum) { + final var aclLogActionEnum = serializer.deserialize(serializedAclLogActionEnum); + assertThat(aclLogActionEnum).isEqualTo(expectedAclLogActionEnum); + } + + @Test + void shouldSerializeTopologyId() { + final var expectedContextId = "expectedContextId"; + final var expectedId = "expectedId"; + final var topologyId = new TopologyId(expectedContextId, expectedId); + + final var serializedContextId = serializer.serializeContextId(expectedContextId); + final var serializedIdUuid = serializer.serializeUuid(expectedId); + + final var expectedTopologyId = + ContextOuterClass.TopologyId.newBuilder() + .setContextId(serializedContextId) + .setTopologyUuid(serializedIdUuid) + .build(); + + final var serializedTopologyId = serializer.serialize(topologyId); + + assertThat(serializedTopologyId).usingRecursiveComparison().isEqualTo(expectedTopologyId); + } + + @Test + void shouldDeserializeTopologyId() { + final var expectedContextId = "expectedContextId"; + final var expectedId = "expectedId"; + + final var expectedTopologyId = new TopologyId(expectedContextId, expectedId); + + final var serializedTopologyId = serializer.serialize(expectedTopologyId); + final var topologyId = serializer.deserialize(serializedTopologyId); + + assertThat(topologyId).usingRecursiveComparison().isEqualTo(expectedTopologyId); + } + + @Test + void shouldSerializeEndPointId() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var serializedTopologyId = serializer.serialize(expectedTopologyId); + final var serializedDeviceId = serializer.serializeDeviceId(expectedDeviceId); + final var serializedEndPointUuid = serializer.serializeUuid(expectedId); + + final var expectedEndPointId = + ContextOuterClass.EndPointId.newBuilder() + .setTopologyId(serializedTopologyId) + .setDeviceId(serializedDeviceId) + .setEndpointUuid(serializedEndPointUuid) + .build(); + + final var serializedEndPointId = serializer.serialize(endPointId); + + assertThat(serializedEndPointId).usingRecursiveComparison().isEqualTo(expectedEndPointId); + } + + @Test + void shouldDeserializeEndPointId() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var expectedEndPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var serializedEndPointId = serializer.serialize(expectedEndPointId); + final var endPointId = serializer.deserialize(serializedEndPointId); + + assertThat(endPointId).usingRecursiveComparison().isEqualTo(expectedEndPointId); + } + + @Test + void shouldSerializeConfigRuleAcl() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var sequenceId = 1; + final var aclEntryDescription = "aclEntryDescription"; + + final var aclRuleSetName = "aclRuleSetName"; + final var aclRuleSetDescription = "aclRuleSetDescription"; + final var aclRuleSetUserId = "aclRuleSetUserId"; + + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var aclEntry = createAclEntry(sequenceId, aclEntryDescription, aclMatch, aclAction); + final var aclRuleSet = + new AclRuleSet( + aclRuleSetName, + AclRuleTypeEnum.MIXED, + aclRuleSetDescription, + aclRuleSetUserId, + List.of(aclEntry)); + + final var configRuleAcl = new ConfigRuleAcl(endPointId, aclRuleSet); + + final var serializedEndPointId = serializer.serialize(endPointId); + final var serializedAclRuleSet = serializer.serialize(aclRuleSet); + + final var expectedConfigRuleAcl = + ContextOuterClass.ConfigRule_ACL.newBuilder() + .setEndpointId(serializedEndPointId) + .setRuleSet(serializedAclRuleSet) + .build(); + + final var serializedConfigRuleAcl = serializer.serialize(configRuleAcl); + + assertThat(serializedConfigRuleAcl).usingRecursiveComparison().isEqualTo(expectedConfigRuleAcl); + } + + @Test + void shouldDeserializeConfigRuleAcl() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + + final var sequenceId = 1; + final var aclEntryDescription = "aclEntryDescription"; + + final var aclRuleSetName = "aclRuleSetName"; + final var aclRuleSetDescription = "aclRuleSetDescription"; + final var aclRuleSetUserId = "aclRuleSetUserId"; + + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var aclEntry = createAclEntry(sequenceId, aclEntryDescription, aclMatch, aclAction); + final var aclRuleSet = + new AclRuleSet( + aclRuleSetName, + AclRuleTypeEnum.MIXED, + aclRuleSetDescription, + aclRuleSetUserId, + List.of(aclEntry)); + + final var expectedConfigRuleAcl = new ConfigRuleAcl(endPointId, aclRuleSet); + + final var serializedConfigRuleAcl = serializer.serialize(expectedConfigRuleAcl); + final var configRuleAcl = serializer.deserialize(serializedConfigRuleAcl); + + assertThat(configRuleAcl).usingRecursiveComparison().isEqualTo(expectedConfigRuleAcl); + } + + @Test + void shouldSerializeConfigRuleCustom() { + final var resourceKey = "resourceKey"; + final var resourceValue = "resourceValue"; + + final var configRuleCustom = new ConfigRuleCustom(resourceKey, resourceValue); + + final var expectedConfigRuleCustom = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey(resourceKey) + .setResourceValue(resourceValue) + .build(); + + final var serializedConfigRuleCustom = serializer.serialize(configRuleCustom); + + assertThat(serializedConfigRuleCustom) + .usingRecursiveComparison() + .isEqualTo(expectedConfigRuleCustom); + } + + @Test + void shouldDeserializeConfigRuleCustom() { + final var resourceKey = "resourceKey"; + final var resourceValue = "resourceValue"; + + final var expectedConfigRuleCustom = new ConfigRuleCustom(resourceKey, resourceValue); + + final var serializedConfigRuleCustom = serializer.serialize(expectedConfigRuleCustom); + final var configRuleCustom = serializer.deserialize(serializedConfigRuleCustom); + + assertThat(configRuleCustom).usingRecursiveComparison().isEqualTo(expectedConfigRuleCustom); + } + @Test void shouldSerializeConfigRule() { + final var contextIdUuid = "contextId"; + final var topologyIdUuid = "topologyUuid"; + final var deviceIdUuid = "deviceIdUuid"; + final var endpointIdUuid = "endpointIdUuid"; + + final var expectedSerializedContextId = serializer.serializeContextId(contextIdUuid); + final var expectedSerializedTopologyIdUuid = serializer.serializeUuid(topologyIdUuid); + final var expectedSerializedDeviceId = serializer.serializeDeviceId(deviceIdUuid); + final var expectedSerializedEndPointIdUuid = serializer.serializeUuid(endpointIdUuid); + + final var expectedSerializedTopologyId = + ContextOuterClass.TopologyId.newBuilder() + .setContextId(expectedSerializedContextId) + .setTopologyUuid(expectedSerializedTopologyIdUuid) + .build(); + + final var topologyId = new TopologyId(contextIdUuid, topologyIdUuid); + + final var expectedSerializedEndPointId = + ContextOuterClass.EndPointId.newBuilder() + .setTopologyId(expectedSerializedTopologyId) + .setDeviceId(expectedSerializedDeviceId) + .setEndpointUuid(expectedSerializedEndPointIdUuid) + .build(); + + final var endPointId = new EndPointId(topologyId, deviceIdUuid, endpointIdUuid); + + final var expectedSerializedAclMatch = + Acl.AclMatch.newBuilder() + .setDscp(1) + .setProtocol(1) + .setSrcAddress("127.0.0.1") + .setDstAddress("127.0.0.2") + .setSrcPort(5601) + .setDstPort(5602) + .setStartMplsLabel(1) + .setEndMplsLabel(2) + .build(); + + final var aclMatch = createAclMatch(1, 1, "127.0.0.1", "127.0.0.2", 5601, 5602, 1, 2); + + final var expectedSerializedAclAction = + Acl.AclAction.newBuilder() + .setForwardAction(Acl.AclForwardActionEnum.ACLFORWARDINGACTION_ACCEPT) + .setLogAction(Acl.AclLogActionEnum.ACLLOGACTION_SYSLOG) + .build(); + + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + + final var expectedSerializedAclEntry = + Acl.AclEntry.newBuilder() + .setSequenceId(1) + .setDescription("aclEntryDescription") + .setMatch(expectedSerializedAclMatch) + .setAction(expectedSerializedAclAction) + .build(); + + final var aclEntry = createAclEntry(1, "aclEntryDescription", aclMatch, aclAction); + + final var expectedSerializedAclRuleSet = + Acl.AclRuleSet.newBuilder() + .setName("aclRuleName") + .setType(Acl.AclRuleTypeEnum.ACLRULETYPE_IPV4) + .setDescription("AclRuleDescription") + .setUserId("userId") + .addEntries(expectedSerializedAclEntry) + .build(); + + final var aclRuleSet = + new AclRuleSet( + "aclRuleName", + eu.teraflow.automation.acl.AclRuleTypeEnum.IPV4, + "AclRuleDescription", + "userId", + List.of(aclEntry)); + + final var expectedSerializedConfigRuleAcl = + ContextOuterClass.ConfigRule_ACL.newBuilder() + .setEndpointId(expectedSerializedEndPointId) + .setRuleSet(expectedSerializedAclRuleSet) + .build(); + + final var configRuleAcl = new ConfigRuleAcl(endPointId, aclRuleSet); + final var expectedConfigRule = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) - .setResourceKey("resourceKey") - .setResourceValue("resourceValue") + .setAcl(expectedSerializedConfigRuleAcl) .build(); - final var configRule = new ConfigRule(ConfigActionEnum.SET, "resourceKey", "resourceValue"); + final var configRuleTypeAcl = new ConfigRuleTypeAcl(configRuleAcl); + final var configRule = new ConfigRule(ConfigActionEnum.SET, configRuleTypeAcl); final var serializedConfigRule = serializer.serialize(configRule); - assertThat(serializedConfigRule).usingRecursiveComparison().isEqualTo(expectedConfigRule); + assertThat(serializedConfigRule).isEqualTo(expectedConfigRule); } @Test void shouldDeserializeConfigRule() { - final var expectedConfigRule = - new ConfigRule(ConfigActionEnum.DELETE, "resourceKey", "resourceValue"); + final var contextIdUuid = "contextId"; + final var topologyIdUuid = "topologyUuid"; + final var deviceIdUuid = "deviceIdUuid"; + final var endpointIdUuid = "endpointIdUuid"; + + final var serializedContextId = serializer.serializeContextId(contextIdUuid); + final var serializedTopologyIdUuid = serializer.serializeUuid(topologyIdUuid); + final var serializedDeviceId = serializer.serializeDeviceId(deviceIdUuid); + final var serializedEndPointIdUuid = serializer.serializeUuid(endpointIdUuid); + + final var topologyId = new TopologyId(contextIdUuid, topologyIdUuid); + final var serializedTopologyId = + ContextOuterClass.TopologyId.newBuilder() + .setContextId(serializedContextId) + .setTopologyUuid(serializedTopologyIdUuid) + .build(); + + final var endPointId = new EndPointId(topologyId, deviceIdUuid, endpointIdUuid); + final var serializedEndPointId = + ContextOuterClass.EndPointId.newBuilder() + .setTopologyId(serializedTopologyId) + .setDeviceId(serializedDeviceId) + .setEndpointUuid(serializedEndPointIdUuid) + .build(); + + final var aclMatch = createAclMatch(1, 2, "127.0.0.1", "127.0.0.2", 5601, 5602, 5, 10); + final var serializedAclMatch = + Acl.AclMatch.newBuilder() + .setDscp(1) + .setProtocol(2) + .setSrcAddress("127.0.0.1") + .setDstAddress("127.0.0.2") + .setSrcPort(5601) + .setDstPort(5602) + .setStartMplsLabel(5) + .setEndMplsLabel(10) + .build(); + + final var aclAction = createAclAction(AclForwardActionEnum.ACCEPT, AclLogActionEnum.SYSLOG); + final var serializedAclAction = + Acl.AclAction.newBuilder() + .setForwardAction(Acl.AclForwardActionEnum.ACLFORWARDINGACTION_ACCEPT) + .setLogAction(Acl.AclLogActionEnum.ACLLOGACTION_SYSLOG) + .build(); + + final var aclEntry = createAclEntry(1, "aclEntryDescription", aclMatch, aclAction); + + final var serializedAclEntry = + Acl.AclEntry.newBuilder() + .setSequenceId(1) + .setDescription("aclEntryDescription") + .setMatch(serializedAclMatch) + .setAction(serializedAclAction) + .build(); + + final var aclRuleSet = + new AclRuleSet( + "aclRuleName", + eu.teraflow.automation.acl.AclRuleTypeEnum.IPV4, + "AclRuleDescription", + "userId", + List.of(aclEntry)); + + final var serializedAclRuleSet = + Acl.AclRuleSet.newBuilder() + .setName("aclRuleName") + .setType(Acl.AclRuleTypeEnum.ACLRULETYPE_IPV4) + .setDescription("AclRuleDescription") + .setUserId("userId") + .addEntries(serializedAclEntry) + .build(); + + final var configRuleAcl = new ConfigRuleAcl(endPointId, aclRuleSet); + final var configRuleTypeAcl = new ConfigRuleTypeAcl(configRuleAcl); + + final var expectedConfigRule = new ConfigRule(ConfigActionEnum.DELETE, configRuleTypeAcl); + + final var serializedConfigRuleAcl = + ContextOuterClass.ConfigRule_ACL.newBuilder() + .setEndpointId(serializedEndPointId) + .setRuleSet(serializedAclRuleSet) + .build(); final var serializedConfigRule = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_DELETE) - .setResourceKey("resourceKey") - .setResourceValue("resourceValue") + .setAcl(serializedConfigRuleAcl) .build(); + final var configRule = serializer.deserialize(serializedConfigRule); assertThat(configRule).usingRecursiveComparison().isEqualTo(expectedConfigRule); } @Test - void shouldSerializeDeviceConfig() { - final var expectedConfigRuleA = + void shouldThrowIllegalStateExceptionDuringDeserializationOfNonSpecifiedConfigRule() { + final var serializedConfigRule = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) + .build(); + + assertThatExceptionOfType(IllegalStateException.class) + .isThrownBy(() -> serializer.deserialize(serializedConfigRule)); + } + + private static Stream provideKpiSampleType() { + return Stream.of( + Arguments.of( + KpiSampleType.PACKETS_TRANSMITTED, + KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_PACKETS_TRANSMITTED), + Arguments.of( + KpiSampleType.PACKETS_RECEIVED, + KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_PACKETS_RECEIVED), + Arguments.of( + KpiSampleType.BYTES_TRANSMITTED, + KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_BYTES_TRANSMITTED), + Arguments.of( + KpiSampleType.BYTES_RECEIVED, + KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_BYTES_RECEIVED), + Arguments.of(KpiSampleType.UNKNOWN, KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_UNKNOWN)); + } + + @ParameterizedTest + @MethodSource("provideKpiSampleType") + void shouldSerializeKpiSampleType( + KpiSampleType kpiSampleType, KpiSampleTypes.KpiSampleType expectedSerializedType) { + final var serializedKpiSampleType = serializer.serialize(kpiSampleType); + + assertThat(serializedKpiSampleType.getNumber()).isEqualTo(expectedSerializedType.getNumber()); + } + + @ParameterizedTest + @MethodSource("provideKpiSampleType") + void shouldDeserializeKpiSampleType( + KpiSampleType expectedKpiSampleType, KpiSampleTypes.KpiSampleType serializedKpiSampleType) { + final var kpiSampleType = serializer.deserialize(serializedKpiSampleType); + + assertThat(kpiSampleType).isEqualTo(expectedKpiSampleType); + } + + private static Stream provideDeviceDriverEnum() { + return Stream.of( + Arguments.of( + DeviceDriverEnum.OPENCONFIG, + ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPENCONFIG), + Arguments.of( + DeviceDriverEnum.TRANSPORT_API, + ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_TRANSPORT_API), + Arguments.of(DeviceDriverEnum.P4, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_P4), + Arguments.of( + DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, + ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_NETWORK_TOPOLOGY), + Arguments.of( + DeviceDriverEnum.ONF_TR_352, + ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_ONF_TR_352), + Arguments.of(DeviceDriverEnum.XR, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_XR), + Arguments.of( + DeviceDriverEnum.UNDEFINED, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_UNDEFINED)); + } + + @ParameterizedTest + @MethodSource("provideDeviceDriverEnum") + void shouldSerializeDeviceDriverEnum( + DeviceDriverEnum deviceDriverEnum, + ContextOuterClass.DeviceDriverEnum expectedDeviceDriverEnum) { + final var serializedDeviceDriverEnum = serializer.serialize(deviceDriverEnum); + + assertThat(serializedDeviceDriverEnum.getNumber()) + .isEqualTo(expectedDeviceDriverEnum.getNumber()); + } + + @ParameterizedTest + @MethodSource("provideDeviceDriverEnum") + void shouldDeserializeDeviceDriverEnum( + DeviceDriverEnum expectedDeviceDriverEnum, + ContextOuterClass.DeviceDriverEnum serializedDeviceDriverEnum) { + final var deviceDriverEnum = serializer.deserialize(serializedDeviceDriverEnum); + + assertThat(deviceDriverEnum).isEqualTo(expectedDeviceDriverEnum); + } + + @Test + void shouldSerializeDeviceConfig() { + final var expectedConfigRuleCustomA = + ContextOuterClass.ConfigRule_Custom.newBuilder() .setResourceKey("resourceKeyA") .setResourceValue("resourceValueA") .build(); + + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + + final var expectedConfigRuleCustomB = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyB") + .setResourceValue("resourceValueB") + .build(); + + final var configRuleCustomB = new ConfigRuleCustom("resourceKeyB", "resourceValueB"); + + final var expectedConfigRuleA = + ContextOuterClass.ConfigRule.newBuilder() + .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) + .setCustom(expectedConfigRuleCustomA) + .build(); final var expectedConfigRuleB = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_DELETE) - .setResourceKey("resourceKeyB") - .setResourceValue("resourceValueB") + .setCustom(expectedConfigRuleCustomB) .build(); + final var expectedDeviceConfig = ContextOuterClass.DeviceConfig.newBuilder() .addAllConfigRules(List.of(expectedConfigRuleA, expectedConfigRuleB)) .build(); - final var configRuleA = new ConfigRule(ConfigActionEnum.SET, "resourceKeyA", "resourceValueA"); - final var configRuleB = - new ConfigRule(ConfigActionEnum.DELETE, "resourceKeyB", "resourceValueB"); + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + final var configRuleTypeB = new ConfigRuleTypeCustom(configRuleCustomB); + + final var configRuleA = new ConfigRule(ConfigActionEnum.SET, configRuleTypeA); + final var configRuleB = new ConfigRule(ConfigActionEnum.DELETE, configRuleTypeB); + final var deviceConfig = new DeviceConfig(List.of(configRuleA, configRuleB)); final var serializedDeviceConfig = serializer.serialize(deviceConfig); - assertThat(serializedDeviceConfig).usingRecursiveComparison().isEqualTo(expectedDeviceConfig); + assertThat(serializedDeviceConfig).isEqualTo(expectedDeviceConfig); } @Test void shouldDeserializeDeviceConfig() { - final var expectedConfigRuleA = - new ConfigRule(ConfigActionEnum.SET, "resourceKeyA", "resourceValueA"); + final var expectedConfigRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var expectedConfigRuleCustomB = new ConfigRuleCustom("resourceKeyB", "resourceValueB"); + + final var expectedConfigRuleTypeA = new ConfigRuleTypeCustom(expectedConfigRuleCustomA); + final var expectedConfigRuleTypeB = new ConfigRuleTypeCustom(expectedConfigRuleCustomB); + + final var expectedConfigRuleA = new ConfigRule(ConfigActionEnum.SET, expectedConfigRuleTypeA); final var expectedConfigRuleB = - new ConfigRule(ConfigActionEnum.DELETE, "resourceKeyB", "resourceValueB"); + new ConfigRule(ConfigActionEnum.DELETE, expectedConfigRuleTypeB); + final var expectedDeviceConfig = new DeviceConfig(List.of(expectedConfigRuleA, expectedConfigRuleB)); + final var configRuleCustomA = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyA") + .setResourceValue("resourceValueA") + .build(); + + final var configRuleCustomB = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyB") + .setResourceValue("resourceValueB") + .build(); + final var configRuleA = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) - .setResourceKey("resourceKeyA") - .setResourceValue("resourceValueA") + .setCustom(configRuleCustomA) .build(); final var configRuleB = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_DELETE) - .setResourceKey("resourceKeyB") - .setResourceValue("resourceValueB") + .setCustom(configRuleCustomB) .build(); final var serializedDeviceConfig = ContextOuterClass.DeviceConfig.newBuilder() @@ -429,66 +1363,420 @@ class SerializerTest { assertThat(operationalStatus).isEqualTo(expectedOpStatus); } + @Test + void shouldSerializeLocationOfTypeRegion() { + final var region = "Tokyo"; + + final var locationTypeRegion = new LocationTypeRegion(region); + final var location = new Location(locationTypeRegion); + + final var expectedLocation = ContextOuterClass.Location.newBuilder().setRegion(region).build(); + + final var serializedLocation = serializer.serialize(location); + + assertThat(serializedLocation).isEqualTo(expectedLocation); + } + + @Test + void shouldDeserializeLocationOfTypeRegion() { + final var region = "Tokyo"; + + final var locationTypeRegion = new LocationTypeRegion(region); + final var expectedLocation = new Location(locationTypeRegion); + + final var serializedLocation = + ContextOuterClass.Location.newBuilder().setRegion(region).build(); + + final var location = serializer.deserialize(serializedLocation); + + assertThat(location).usingRecursiveComparison().isEqualTo(expectedLocation); + } + + @Test + void shouldSerializeLocationOfTypeGpsPosition() { + final var latitude = 33.3f; + final var longitude = 86.4f; + + final var gpsPosition = new GpsPosition(latitude, longitude); + final var locationTypeGpsPosition = new LocationTypeGpsPosition(gpsPosition); + final var location = new Location(locationTypeGpsPosition); + + final var serializedGpsPosition = + ContextOuterClass.GPS_Position.newBuilder() + .setLatitude(latitude) + .setLongitude(longitude) + .build(); + + final var expectedLocation = + ContextOuterClass.Location.newBuilder().setGpsPosition(serializedGpsPosition).build(); + + final var serializedLocation = serializer.serialize(location); + + assertThat(serializedLocation).isEqualTo(expectedLocation); + } + + @Test + void shouldDeserializeLocationOfTypeGpsPosition() { + final var latitude = 33.3f; + final var longitude = 86.4f; + + final var gpsPosition = new GpsPosition(latitude, longitude); + final var locationTypeGpsPosition = new LocationTypeGpsPosition(gpsPosition); + final var expectedLocation = new Location(locationTypeGpsPosition); + + final var serializedGpsPosition = + ContextOuterClass.GPS_Position.newBuilder() + .setLatitude(latitude) + .setLongitude(longitude) + .build(); + + final var serializedLocation = + ContextOuterClass.Location.newBuilder().setGpsPosition(serializedGpsPosition).build(); + + final var location = serializer.deserialize(serializedLocation); + + assertThat(location).usingRecursiveComparison().isEqualTo(expectedLocation); + } + + @Test + void shouldThrowIllegalStateExceptionDuringDeserializationOfNonSpecifiedLocation() { + final var serializedLocation = ContextOuterClass.Location.newBuilder().build(); + + assertThatExceptionOfType(IllegalStateException.class) + .isThrownBy(() -> serializer.deserialize(serializedLocation)); + } + + @Test + void shouldSerializeEndPointWithAllAvailableFields() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var endPointType = "endPointType"; + final var kpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegion = new LocationTypeRegion("ATH"); + final var location = new Location(locationTypeRegion); + + final var endPoint = + new EndPointBuilder(endPointId, endPointType, kpiSampleTypes).location(location).build(); + + final var serializedEndPointId = serializer.serialize(endPointId); + final var serializedKpiSampleTypes = + kpiSampleTypes.stream().map(serializer::serialize).collect(Collectors.toList()); + final var serializedEndPointLocation = serializer.serialize(location); + + final var expectedEndPoint = + ContextOuterClass.EndPoint.newBuilder() + .setEndpointId(serializedEndPointId) + .setEndpointType(endPointType) + .addAllKpiSampleTypes(serializedKpiSampleTypes) + .setEndpointLocation(serializedEndPointLocation) + .build(); + + final var serializedEndPoint = serializer.serialize(endPoint); + + assertThat(serializedEndPoint).isEqualTo(expectedEndPoint); + } + + @Test + void shouldDeserializeEndPointWithAllAvailableFields() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var endPointType = "endPointType"; + final var kpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegion = new LocationTypeRegion("ATH"); + final var location = new Location(locationTypeRegion); + + final var expectedEndPoint = + new EndPointBuilder(endPointId, endPointType, kpiSampleTypes).location(location).build(); + + final var serializedEndPointId = serializer.serialize(endPointId); + final var serializedKpiSampleTypes = + kpiSampleTypes.stream().map(serializer::serialize).collect(Collectors.toList()); + final var serializedEndPointLocation = serializer.serialize(location); + + final var serializedEndPoint = + ContextOuterClass.EndPoint.newBuilder() + .setEndpointId(serializedEndPointId) + .setEndpointType(endPointType) + .addAllKpiSampleTypes(serializedKpiSampleTypes) + .setEndpointLocation(serializedEndPointLocation) + .build(); + + final var endPoint = serializer.deserialize(serializedEndPoint); + + assertThat(endPoint).usingRecursiveComparison().isEqualTo(expectedEndPoint); + } + + @Test + void shouldSerializeEndPointWithAllAvailableFieldsMissingLocation() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var endPointType = "endPointType"; + final var kpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + + final var endPoint = new EndPointBuilder(endPointId, endPointType, kpiSampleTypes).build(); + + final var serializedEndPointId = serializer.serialize(endPointId); + final var serializedKpiSampleTypes = + kpiSampleTypes.stream().map(serializer::serialize).collect(Collectors.toList()); + + final var expectedEndPoint = + ContextOuterClass.EndPoint.newBuilder() + .setEndpointId(serializedEndPointId) + .setEndpointType(endPointType) + .addAllKpiSampleTypes(serializedKpiSampleTypes) + .build(); + + final var serializedEndPoint = serializer.serialize(endPoint); + + assertThat(serializedEndPoint).isEqualTo(expectedEndPoint); + } + + @Test + void shouldDeserializeEndPointWithAllAvailableFieldsMissingLocation() { + final var expectedTopologyId = new TopologyId("contextId", "id"); + final var expectedDeviceId = "expectedDeviceId"; + final var expectedId = "expectedId"; + final var endPointId = new EndPointId(expectedTopologyId, expectedDeviceId, expectedId); + + final var endPointType = "endPointType"; + final var kpiSampleTypes = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + + final var expectedEndPoint = + new EndPointBuilder(endPointId, endPointType, kpiSampleTypes).build(); + + final var serializedEndPointId = serializer.serialize(endPointId); + final var serializedKpiSampleTypes = + kpiSampleTypes.stream().map(serializer::serialize).collect(Collectors.toList()); + + final var serializedEndPoint = + ContextOuterClass.EndPoint.newBuilder() + .setEndpointId(serializedEndPointId) + .setEndpointType(endPointType) + .addAllKpiSampleTypes(serializedKpiSampleTypes) + .build(); + + final var endPoint = serializer.deserialize(serializedEndPoint); + + assertThat(endPoint).usingRecursiveComparison().isEqualTo(expectedEndPoint); + } + @Test void shouldSerializeDevice() { + final var expectedConfigRuleCustomA = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyA") + .setResourceValue("resourceValueA") + .build(); + final var configRuleCustomA = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var expectedConfigRule = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_SET) - .setResourceKey("resourceKey") - .setResourceValue("resourceValue") + .setCustom(expectedConfigRuleCustomA) + .build(); + + final var configRuleTypeA = new ConfigRuleTypeCustom(configRuleCustomA); + final var deviceConfig = + new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.SET, configRuleTypeA))); + + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var expectedTopologyIdA = new TopologyId("contextIdA", "idA"); + final var expectedDeviceIdA = "expectedDeviceIdA"; + final var expectedIdA = "expectedIdA"; + final var endPointIdA = new EndPointId(expectedTopologyIdA, expectedDeviceIdA, expectedIdA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) .build(); + + final var expectedTopologyIdB = new TopologyId("contextIdB", "idB"); + final var expectedDeviceIdB = "expectedDeviceIdB"; + final var expectedIdB = "expectedIdB"; + final var endPointIdB = new EndPointId(expectedTopologyIdB, expectedDeviceIdB, expectedIdB); + + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + final var expectedDeviceConfig = ContextOuterClass.DeviceConfig.newBuilder().addConfigRules(expectedConfigRule).build(); - final var deviceBuilder = ContextOuterClass.Device.newBuilder(); final var serializedDeviceId = serializer.serializeDeviceId("deviceId"); + final var serializedDrivers = + deviceDrivers.stream() + .map(deviceDriverEnum -> serializer.serialize(deviceDriverEnum)) + .collect(Collectors.toList()); + + final var serializedEndPoints = + endPoints.stream() + .map(endPoint -> serializer.serialize(endPoint)) + .collect(Collectors.toList()); + + final var deviceBuilder = ContextOuterClass.Device.newBuilder(); deviceBuilder.setDeviceId(serializedDeviceId); deviceBuilder.setDeviceType("deviceType"); deviceBuilder.setDeviceConfig(expectedDeviceConfig); deviceBuilder.setDeviceOperationalStatus(serializer.serialize(DeviceOperationalStatus.ENABLED)); + deviceBuilder.addAllDeviceDrivers(serializedDrivers); + deviceBuilder.addAllDeviceEndpoints(serializedEndPoints); + final var expectedDevice = deviceBuilder.build(); - final var deviceConfig = - new DeviceConfig( - List.of(new ConfigRule(ConfigActionEnum.SET, "resourceKey", "resourceValue"))); final var device = - new Device("deviceId", "deviceType", deviceConfig, DeviceOperationalStatus.ENABLED); + new Device( + "deviceId", + "deviceType", + deviceConfig, + DeviceOperationalStatus.ENABLED, + deviceDrivers, + endPoints); final var serializedDevice = serializer.serialize(device); - assertThat(serializedDevice).usingRecursiveComparison().isEqualTo(expectedDevice); + assertThat(serializedDevice).isEqualTo(expectedDevice); } @Test void shouldDeserializeDevice() { + final var configRuleCustom = new ConfigRuleCustom("resourceKeyA", "resourceValueA"); + final var expectedConfigRuleCustom = + ContextOuterClass.ConfigRule_Custom.newBuilder() + .setResourceKey("resourceKeyA") + .setResourceValue("resourceValueA") + .build(); + final var configRuleType = new ConfigRuleTypeCustom(configRuleCustom); + final var expectedConfig = - new DeviceConfig( - List.of(new ConfigRule(ConfigActionEnum.DELETE, "resourceKey", "resourceValue"))); + new DeviceConfig(List.of(new ConfigRule(ConfigActionEnum.DELETE, configRuleType))); + + final var deviceDrivers = List.of(DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, DeviceDriverEnum.P4); + + final var expectedTopologyIdA = new TopologyId("contextIdA", "idA"); + final var expectedDeviceIdA = "expectedDeviceIdA"; + final var expectedIdA = "expectedIdA"; + final var endPointIdA = new EndPointId(expectedTopologyIdA, expectedDeviceIdA, expectedIdA); + + final var endPointTypeA = "endPointTypeA"; + final var kpiSampleTypesA = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionA = new LocationTypeRegion("ATH"); + final var locationA = new Location(locationTypeRegionA); + final var endPointA = + new EndPointBuilder(endPointIdA, endPointTypeA, kpiSampleTypesA) + .location(locationA) + .build(); + + final var expectedTopologyIdB = new TopologyId("contextIdB", "idB"); + final var expectedDeviceIdB = "expectedDeviceIdB"; + final var expectedIdB = "expectedIdB"; + final var endPointIdB = new EndPointId(expectedTopologyIdB, expectedDeviceIdB, expectedIdB); + + final var endPointTypeB = "endPointTypeB"; + final var kpiSampleTypesB = + List.of(KpiSampleType.BYTES_RECEIVED, KpiSampleType.BYTES_TRANSMITTED); + final var locationTypeRegionB = new LocationTypeRegion("ATH"); + final var locationB = new Location(locationTypeRegionB); + final var endPointB = + new EndPointBuilder(endPointIdB, endPointTypeB, kpiSampleTypesB) + .location(locationB) + .build(); + + final var endPoints = List.of(endPointA, endPointB); + final var expectedDevice = - new Device("deviceId", "deviceType", expectedConfig, DeviceOperationalStatus.ENABLED); + new Device( + "deviceId", + "deviceType", + expectedConfig, + DeviceOperationalStatus.ENABLED, + deviceDrivers, + endPoints); final var configRule = ContextOuterClass.ConfigRule.newBuilder() .setAction(ContextOuterClass.ConfigActionEnum.CONFIGACTION_DELETE) - .setResourceKey("resourceKey") - .setResourceValue("resourceValue") + .setCustom(expectedConfigRuleCustom) .build(); final var deviceConfig = ContextOuterClass.DeviceConfig.newBuilder().addConfigRules(configRule).build(); final var serializedDeviceId = serializer.serializeDeviceId("deviceId"); + final var serializedDeviceOperationalStatus = + serializer.serialize(DeviceOperationalStatus.ENABLED); + + final var serializedDrivers = + deviceDrivers.stream() + .map(deviceDriverEnum -> serializer.serialize(deviceDriverEnum)) + .collect(Collectors.toList()); + + final var serializedEndPoints = + endPoints.stream() + .map(endPoint -> serializer.serialize(endPoint)) + .collect(Collectors.toList()); final var deviceBuilder = ContextOuterClass.Device.newBuilder(); deviceBuilder.setDeviceId(serializedDeviceId); deviceBuilder.setDeviceType("deviceType"); deviceBuilder.setDeviceConfig(deviceConfig); - deviceBuilder.setDeviceOperationalStatus(serializer.serialize(DeviceOperationalStatus.ENABLED)); + deviceBuilder.setDeviceOperationalStatus(serializedDeviceOperationalStatus); + deviceBuilder.addAllDeviceDrivers(serializedDrivers); + deviceBuilder.addAllDeviceEndpoints(serializedEndPoints); + final var serializedDevice = deviceBuilder.build(); final var device = serializer.deserialize(serializedDevice); assertThat(device).usingRecursiveComparison().isEqualTo(expectedDevice); } + @Test + void shouldSerializeEmpty() { + final var empty = new Empty(); + final var expectedEmpty = ContextOuterClass.Empty.newBuilder().build(); + + final var serializeEmpty = serializer.serializeEmpty(empty); + + assertThat(serializeEmpty).isEqualTo(expectedEmpty); + } + + @Test + void shouldDeserializeEmpty() { + final var expectedEmpty = new Empty(); + + final var serializedEmpty = serializer.serializeEmpty(expectedEmpty); + + final var empty = serializer.deserializeEmpty(serializedEmpty); + + assertThat(empty).usingRecursiveComparison().isEqualTo(expectedEmpty); + } + @Test void shouldSerializeUuid() { final var expectedUuid = "uuid"; diff --git a/src/automation/target/generated-sources/grpc/acl/Acl.java b/src/automation/target/generated-sources/grpc/acl/Acl.java new file mode 100644 index 0000000000000000000000000000000000000000..521294eefdec36b373b99aaca5281be28e01d2db --- /dev/null +++ b/src/automation/target/generated-sources/grpc/acl/Acl.java @@ -0,0 +1,4654 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: acl.proto + +package acl; + +public final class Acl { + private Acl() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + /** + * Protobuf enum {@code acl.AclRuleTypeEnum} + */ + public enum AclRuleTypeEnum + implements com.google.protobuf.ProtocolMessageEnum { + /** + * ACLRULETYPE_UNDEFINED = 0; + */ + ACLRULETYPE_UNDEFINED(0), + /** + * ACLRULETYPE_IPV4 = 1; + */ + ACLRULETYPE_IPV4(1), + /** + * ACLRULETYPE_IPV6 = 2; + */ + ACLRULETYPE_IPV6(2), + /** + * ACLRULETYPE_L2 = 3; + */ + ACLRULETYPE_L2(3), + /** + * ACLRULETYPE_MPLS = 4; + */ + ACLRULETYPE_MPLS(4), + /** + * ACLRULETYPE_MIXED = 5; + */ + ACLRULETYPE_MIXED(5), + UNRECOGNIZED(-1), + ; + + /** + * ACLRULETYPE_UNDEFINED = 0; + */ + public static final int ACLRULETYPE_UNDEFINED_VALUE = 0; + /** + * ACLRULETYPE_IPV4 = 1; + */ + public static final int ACLRULETYPE_IPV4_VALUE = 1; + /** + * ACLRULETYPE_IPV6 = 2; + */ + public static final int ACLRULETYPE_IPV6_VALUE = 2; + /** + * ACLRULETYPE_L2 = 3; + */ + public static final int ACLRULETYPE_L2_VALUE = 3; + /** + * ACLRULETYPE_MPLS = 4; + */ + public static final int ACLRULETYPE_MPLS_VALUE = 4; + /** + * ACLRULETYPE_MIXED = 5; + */ + public static final int ACLRULETYPE_MIXED_VALUE = 5; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static AclRuleTypeEnum valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static AclRuleTypeEnum forNumber(int value) { + switch (value) { + case 0: return ACLRULETYPE_UNDEFINED; + case 1: return ACLRULETYPE_IPV4; + case 2: return ACLRULETYPE_IPV6; + case 3: return ACLRULETYPE_L2; + case 4: return ACLRULETYPE_MPLS; + case 5: return ACLRULETYPE_MIXED; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + AclRuleTypeEnum> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public AclRuleTypeEnum findValueByNumber(int number) { + return AclRuleTypeEnum.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return acl.Acl.getDescriptor().getEnumTypes().get(0); + } + + private static final AclRuleTypeEnum[] VALUES = values(); + + public static AclRuleTypeEnum valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private AclRuleTypeEnum(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:acl.AclRuleTypeEnum) + } + + /** + * Protobuf enum {@code acl.AclForwardActionEnum} + */ + public enum AclForwardActionEnum + implements com.google.protobuf.ProtocolMessageEnum { + /** + * ACLFORWARDINGACTION_UNDEFINED = 0; + */ + ACLFORWARDINGACTION_UNDEFINED(0), + /** + * ACLFORWARDINGACTION_DROP = 1; + */ + ACLFORWARDINGACTION_DROP(1), + /** + * ACLFORWARDINGACTION_ACCEPT = 2; + */ + ACLFORWARDINGACTION_ACCEPT(2), + /** + * ACLFORWARDINGACTION_REJECT = 3; + */ + ACLFORWARDINGACTION_REJECT(3), + UNRECOGNIZED(-1), + ; + + /** + * ACLFORWARDINGACTION_UNDEFINED = 0; + */ + public static final int ACLFORWARDINGACTION_UNDEFINED_VALUE = 0; + /** + * ACLFORWARDINGACTION_DROP = 1; + */ + public static final int ACLFORWARDINGACTION_DROP_VALUE = 1; + /** + * ACLFORWARDINGACTION_ACCEPT = 2; + */ + public static final int ACLFORWARDINGACTION_ACCEPT_VALUE = 2; + /** + * ACLFORWARDINGACTION_REJECT = 3; + */ + public static final int ACLFORWARDINGACTION_REJECT_VALUE = 3; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static AclForwardActionEnum valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static AclForwardActionEnum forNumber(int value) { + switch (value) { + case 0: return ACLFORWARDINGACTION_UNDEFINED; + case 1: return ACLFORWARDINGACTION_DROP; + case 2: return ACLFORWARDINGACTION_ACCEPT; + case 3: return ACLFORWARDINGACTION_REJECT; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + AclForwardActionEnum> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public AclForwardActionEnum findValueByNumber(int number) { + return AclForwardActionEnum.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return acl.Acl.getDescriptor().getEnumTypes().get(1); + } + + private static final AclForwardActionEnum[] VALUES = values(); + + public static AclForwardActionEnum valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private AclForwardActionEnum(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:acl.AclForwardActionEnum) + } + + /** + * Protobuf enum {@code acl.AclLogActionEnum} + */ + public enum AclLogActionEnum + implements com.google.protobuf.ProtocolMessageEnum { + /** + * ACLLOGACTION_UNDEFINED = 0; + */ + ACLLOGACTION_UNDEFINED(0), + /** + * ACLLOGACTION_NOLOG = 1; + */ + ACLLOGACTION_NOLOG(1), + /** + * ACLLOGACTION_SYSLOG = 2; + */ + ACLLOGACTION_SYSLOG(2), + UNRECOGNIZED(-1), + ; + + /** + * ACLLOGACTION_UNDEFINED = 0; + */ + public static final int ACLLOGACTION_UNDEFINED_VALUE = 0; + /** + * ACLLOGACTION_NOLOG = 1; + */ + public static final int ACLLOGACTION_NOLOG_VALUE = 1; + /** + * ACLLOGACTION_SYSLOG = 2; + */ + public static final int ACLLOGACTION_SYSLOG_VALUE = 2; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static AclLogActionEnum valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static AclLogActionEnum forNumber(int value) { + switch (value) { + case 0: return ACLLOGACTION_UNDEFINED; + case 1: return ACLLOGACTION_NOLOG; + case 2: return ACLLOGACTION_SYSLOG; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + AclLogActionEnum> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public AclLogActionEnum findValueByNumber(int number) { + return AclLogActionEnum.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return acl.Acl.getDescriptor().getEnumTypes().get(2); + } + + private static final AclLogActionEnum[] VALUES = values(); + + public static AclLogActionEnum valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private AclLogActionEnum(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:acl.AclLogActionEnum) + } + + public interface AclMatchOrBuilder extends + // @@protoc_insertion_point(interface_extends:acl.AclMatch) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 dscp = 1; + * @return The dscp. + */ + int getDscp(); + + /** + * uint32 protocol = 2; + * @return The protocol. + */ + int getProtocol(); + + /** + * string src_address = 3; + * @return The srcAddress. + */ + java.lang.String getSrcAddress(); + /** + * string src_address = 3; + * @return The bytes for srcAddress. + */ + com.google.protobuf.ByteString + getSrcAddressBytes(); + + /** + * string dst_address = 4; + * @return The dstAddress. + */ + java.lang.String getDstAddress(); + /** + * string dst_address = 4; + * @return The bytes for dstAddress. + */ + com.google.protobuf.ByteString + getDstAddressBytes(); + + /** + * uint32 src_port = 5; + * @return The srcPort. + */ + int getSrcPort(); + + /** + * uint32 dst_port = 6; + * @return The dstPort. + */ + int getDstPort(); + + /** + * uint32 start_mpls_label = 7; + * @return The startMplsLabel. + */ + int getStartMplsLabel(); + + /** + * uint32 end_mpls_label = 8; + * @return The endMplsLabel. + */ + int getEndMplsLabel(); + } + /** + * Protobuf type {@code acl.AclMatch} + */ + public static final class AclMatch extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:acl.AclMatch) + AclMatchOrBuilder { + private static final long serialVersionUID = 0L; + // Use AclMatch.newBuilder() to construct. + private AclMatch(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AclMatch() { + srcAddress_ = ""; + dstAddress_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AclMatch(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AclMatch( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + dscp_ = input.readUInt32(); + break; + } + case 16: { + + protocol_ = input.readUInt32(); + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + srcAddress_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + dstAddress_ = s; + break; + } + case 40: { + + srcPort_ = input.readUInt32(); + break; + } + case 48: { + + dstPort_ = input.readUInt32(); + break; + } + case 56: { + + startMplsLabel_ = input.readUInt32(); + break; + } + case 64: { + + endMplsLabel_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclMatch_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclMatch_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclMatch.class, acl.Acl.AclMatch.Builder.class); + } + + public static final int DSCP_FIELD_NUMBER = 1; + private int dscp_; + /** + * uint32 dscp = 1; + * @return The dscp. + */ + @java.lang.Override + public int getDscp() { + return dscp_; + } + + public static final int PROTOCOL_FIELD_NUMBER = 2; + private int protocol_; + /** + * uint32 protocol = 2; + * @return The protocol. + */ + @java.lang.Override + public int getProtocol() { + return protocol_; + } + + public static final int SRC_ADDRESS_FIELD_NUMBER = 3; + private volatile java.lang.Object srcAddress_; + /** + * string src_address = 3; + * @return The srcAddress. + */ + @java.lang.Override + public java.lang.String getSrcAddress() { + java.lang.Object ref = srcAddress_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcAddress_ = s; + return s; + } + } + /** + * string src_address = 3; + * @return The bytes for srcAddress. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSrcAddressBytes() { + java.lang.Object ref = srcAddress_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + srcAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DST_ADDRESS_FIELD_NUMBER = 4; + private volatile java.lang.Object dstAddress_; + /** + * string dst_address = 4; + * @return The dstAddress. + */ + @java.lang.Override + public java.lang.String getDstAddress() { + java.lang.Object ref = dstAddress_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstAddress_ = s; + return s; + } + } + /** + * string dst_address = 4; + * @return The bytes for dstAddress. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDstAddressBytes() { + java.lang.Object ref = dstAddress_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dstAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SRC_PORT_FIELD_NUMBER = 5; + private int srcPort_; + /** + * uint32 src_port = 5; + * @return The srcPort. + */ + @java.lang.Override + public int getSrcPort() { + return srcPort_; + } + + public static final int DST_PORT_FIELD_NUMBER = 6; + private int dstPort_; + /** + * uint32 dst_port = 6; + * @return The dstPort. + */ + @java.lang.Override + public int getDstPort() { + return dstPort_; + } + + public static final int START_MPLS_LABEL_FIELD_NUMBER = 7; + private int startMplsLabel_; + /** + * uint32 start_mpls_label = 7; + * @return The startMplsLabel. + */ + @java.lang.Override + public int getStartMplsLabel() { + return startMplsLabel_; + } + + public static final int END_MPLS_LABEL_FIELD_NUMBER = 8; + private int endMplsLabel_; + /** + * uint32 end_mpls_label = 8; + * @return The endMplsLabel. + */ + @java.lang.Override + public int getEndMplsLabel() { + return endMplsLabel_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (dscp_ != 0) { + output.writeUInt32(1, dscp_); + } + if (protocol_ != 0) { + output.writeUInt32(2, protocol_); + } + if (!getSrcAddressBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, srcAddress_); + } + if (!getDstAddressBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, dstAddress_); + } + if (srcPort_ != 0) { + output.writeUInt32(5, srcPort_); + } + if (dstPort_ != 0) { + output.writeUInt32(6, dstPort_); + } + if (startMplsLabel_ != 0) { + output.writeUInt32(7, startMplsLabel_); + } + if (endMplsLabel_ != 0) { + output.writeUInt32(8, endMplsLabel_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (dscp_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, dscp_); + } + if (protocol_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, protocol_); + } + if (!getSrcAddressBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, srcAddress_); + } + if (!getDstAddressBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, dstAddress_); + } + if (srcPort_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, srcPort_); + } + if (dstPort_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, dstPort_); + } + if (startMplsLabel_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(7, startMplsLabel_); + } + if (endMplsLabel_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(8, endMplsLabel_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof acl.Acl.AclMatch)) { + return super.equals(obj); + } + acl.Acl.AclMatch other = (acl.Acl.AclMatch) obj; + + if (getDscp() + != other.getDscp()) return false; + if (getProtocol() + != other.getProtocol()) return false; + if (!getSrcAddress() + .equals(other.getSrcAddress())) return false; + if (!getDstAddress() + .equals(other.getDstAddress())) return false; + if (getSrcPort() + != other.getSrcPort()) return false; + if (getDstPort() + != other.getDstPort()) return false; + if (getStartMplsLabel() + != other.getStartMplsLabel()) return false; + if (getEndMplsLabel() + != other.getEndMplsLabel()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + DSCP_FIELD_NUMBER; + hash = (53 * hash) + getDscp(); + hash = (37 * hash) + PROTOCOL_FIELD_NUMBER; + hash = (53 * hash) + getProtocol(); + hash = (37 * hash) + SRC_ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getSrcAddress().hashCode(); + hash = (37 * hash) + DST_ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getDstAddress().hashCode(); + hash = (37 * hash) + SRC_PORT_FIELD_NUMBER; + hash = (53 * hash) + getSrcPort(); + hash = (37 * hash) + DST_PORT_FIELD_NUMBER; + hash = (53 * hash) + getDstPort(); + hash = (37 * hash) + START_MPLS_LABEL_FIELD_NUMBER; + hash = (53 * hash) + getStartMplsLabel(); + hash = (37 * hash) + END_MPLS_LABEL_FIELD_NUMBER; + hash = (53 * hash) + getEndMplsLabel(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static acl.Acl.AclMatch parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclMatch parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclMatch parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclMatch parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclMatch parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclMatch parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclMatch parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclMatch parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclMatch parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static acl.Acl.AclMatch parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclMatch parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclMatch parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(acl.Acl.AclMatch prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code acl.AclMatch} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:acl.AclMatch) + acl.Acl.AclMatchOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclMatch_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclMatch_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclMatch.class, acl.Acl.AclMatch.Builder.class); + } + + // Construct using acl.Acl.AclMatch.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + dscp_ = 0; + + protocol_ = 0; + + srcAddress_ = ""; + + dstAddress_ = ""; + + srcPort_ = 0; + + dstPort_ = 0; + + startMplsLabel_ = 0; + + endMplsLabel_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return acl.Acl.internal_static_acl_AclMatch_descriptor; + } + + @java.lang.Override + public acl.Acl.AclMatch getDefaultInstanceForType() { + return acl.Acl.AclMatch.getDefaultInstance(); + } + + @java.lang.Override + public acl.Acl.AclMatch build() { + acl.Acl.AclMatch result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public acl.Acl.AclMatch buildPartial() { + acl.Acl.AclMatch result = new acl.Acl.AclMatch(this); + result.dscp_ = dscp_; + result.protocol_ = protocol_; + result.srcAddress_ = srcAddress_; + result.dstAddress_ = dstAddress_; + result.srcPort_ = srcPort_; + result.dstPort_ = dstPort_; + result.startMplsLabel_ = startMplsLabel_; + result.endMplsLabel_ = endMplsLabel_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof acl.Acl.AclMatch) { + return mergeFrom((acl.Acl.AclMatch)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(acl.Acl.AclMatch other) { + if (other == acl.Acl.AclMatch.getDefaultInstance()) return this; + if (other.getDscp() != 0) { + setDscp(other.getDscp()); + } + if (other.getProtocol() != 0) { + setProtocol(other.getProtocol()); + } + if (!other.getSrcAddress().isEmpty()) { + srcAddress_ = other.srcAddress_; + onChanged(); + } + if (!other.getDstAddress().isEmpty()) { + dstAddress_ = other.dstAddress_; + onChanged(); + } + if (other.getSrcPort() != 0) { + setSrcPort(other.getSrcPort()); + } + if (other.getDstPort() != 0) { + setDstPort(other.getDstPort()); + } + if (other.getStartMplsLabel() != 0) { + setStartMplsLabel(other.getStartMplsLabel()); + } + if (other.getEndMplsLabel() != 0) { + setEndMplsLabel(other.getEndMplsLabel()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + acl.Acl.AclMatch parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclMatch) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int dscp_ ; + /** + * uint32 dscp = 1; + * @return The dscp. + */ + @java.lang.Override + public int getDscp() { + return dscp_; + } + /** + * uint32 dscp = 1; + * @param value The dscp to set. + * @return This builder for chaining. + */ + public Builder setDscp(int value) { + + dscp_ = value; + onChanged(); + return this; + } + /** + * uint32 dscp = 1; + * @return This builder for chaining. + */ + public Builder clearDscp() { + + dscp_ = 0; + onChanged(); + return this; + } + + private int protocol_ ; + /** + * uint32 protocol = 2; + * @return The protocol. + */ + @java.lang.Override + public int getProtocol() { + return protocol_; + } + /** + * uint32 protocol = 2; + * @param value The protocol to set. + * @return This builder for chaining. + */ + public Builder setProtocol(int value) { + + protocol_ = value; + onChanged(); + return this; + } + /** + * uint32 protocol = 2; + * @return This builder for chaining. + */ + public Builder clearProtocol() { + + protocol_ = 0; + onChanged(); + return this; + } + + private java.lang.Object srcAddress_ = ""; + /** + * string src_address = 3; + * @return The srcAddress. + */ + public java.lang.String getSrcAddress() { + java.lang.Object ref = srcAddress_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcAddress_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string src_address = 3; + * @return The bytes for srcAddress. + */ + public com.google.protobuf.ByteString + getSrcAddressBytes() { + java.lang.Object ref = srcAddress_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + srcAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string src_address = 3; + * @param value The srcAddress to set. + * @return This builder for chaining. + */ + public Builder setSrcAddress( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + srcAddress_ = value; + onChanged(); + return this; + } + /** + * string src_address = 3; + * @return This builder for chaining. + */ + public Builder clearSrcAddress() { + + srcAddress_ = getDefaultInstance().getSrcAddress(); + onChanged(); + return this; + } + /** + * string src_address = 3; + * @param value The bytes for srcAddress to set. + * @return This builder for chaining. + */ + public Builder setSrcAddressBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + srcAddress_ = value; + onChanged(); + return this; + } + + private java.lang.Object dstAddress_ = ""; + /** + * string dst_address = 4; + * @return The dstAddress. + */ + public java.lang.String getDstAddress() { + java.lang.Object ref = dstAddress_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstAddress_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string dst_address = 4; + * @return The bytes for dstAddress. + */ + public com.google.protobuf.ByteString + getDstAddressBytes() { + java.lang.Object ref = dstAddress_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dstAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string dst_address = 4; + * @param value The dstAddress to set. + * @return This builder for chaining. + */ + public Builder setDstAddress( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + dstAddress_ = value; + onChanged(); + return this; + } + /** + * string dst_address = 4; + * @return This builder for chaining. + */ + public Builder clearDstAddress() { + + dstAddress_ = getDefaultInstance().getDstAddress(); + onChanged(); + return this; + } + /** + * string dst_address = 4; + * @param value The bytes for dstAddress to set. + * @return This builder for chaining. + */ + public Builder setDstAddressBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + dstAddress_ = value; + onChanged(); + return this; + } + + private int srcPort_ ; + /** + * uint32 src_port = 5; + * @return The srcPort. + */ + @java.lang.Override + public int getSrcPort() { + return srcPort_; + } + /** + * uint32 src_port = 5; + * @param value The srcPort to set. + * @return This builder for chaining. + */ + public Builder setSrcPort(int value) { + + srcPort_ = value; + onChanged(); + return this; + } + /** + * uint32 src_port = 5; + * @return This builder for chaining. + */ + public Builder clearSrcPort() { + + srcPort_ = 0; + onChanged(); + return this; + } + + private int dstPort_ ; + /** + * uint32 dst_port = 6; + * @return The dstPort. + */ + @java.lang.Override + public int getDstPort() { + return dstPort_; + } + /** + * uint32 dst_port = 6; + * @param value The dstPort to set. + * @return This builder for chaining. + */ + public Builder setDstPort(int value) { + + dstPort_ = value; + onChanged(); + return this; + } + /** + * uint32 dst_port = 6; + * @return This builder for chaining. + */ + public Builder clearDstPort() { + + dstPort_ = 0; + onChanged(); + return this; + } + + private int startMplsLabel_ ; + /** + * uint32 start_mpls_label = 7; + * @return The startMplsLabel. + */ + @java.lang.Override + public int getStartMplsLabel() { + return startMplsLabel_; + } + /** + * uint32 start_mpls_label = 7; + * @param value The startMplsLabel to set. + * @return This builder for chaining. + */ + public Builder setStartMplsLabel(int value) { + + startMplsLabel_ = value; + onChanged(); + return this; + } + /** + * uint32 start_mpls_label = 7; + * @return This builder for chaining. + */ + public Builder clearStartMplsLabel() { + + startMplsLabel_ = 0; + onChanged(); + return this; + } + + private int endMplsLabel_ ; + /** + * uint32 end_mpls_label = 8; + * @return The endMplsLabel. + */ + @java.lang.Override + public int getEndMplsLabel() { + return endMplsLabel_; + } + /** + * uint32 end_mpls_label = 8; + * @param value The endMplsLabel to set. + * @return This builder for chaining. + */ + public Builder setEndMplsLabel(int value) { + + endMplsLabel_ = value; + onChanged(); + return this; + } + /** + * uint32 end_mpls_label = 8; + * @return This builder for chaining. + */ + public Builder clearEndMplsLabel() { + + endMplsLabel_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:acl.AclMatch) + } + + // @@protoc_insertion_point(class_scope:acl.AclMatch) + private static final acl.Acl.AclMatch DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new acl.Acl.AclMatch(); + } + + public static acl.Acl.AclMatch getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AclMatch parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AclMatch(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public acl.Acl.AclMatch getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AclActionOrBuilder extends + // @@protoc_insertion_point(interface_extends:acl.AclAction) + com.google.protobuf.MessageOrBuilder { + + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return The enum numeric value on the wire for forwardAction. + */ + int getForwardActionValue(); + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return The forwardAction. + */ + acl.Acl.AclForwardActionEnum getForwardAction(); + + /** + * .acl.AclLogActionEnum log_action = 2; + * @return The enum numeric value on the wire for logAction. + */ + int getLogActionValue(); + /** + * .acl.AclLogActionEnum log_action = 2; + * @return The logAction. + */ + acl.Acl.AclLogActionEnum getLogAction(); + } + /** + * Protobuf type {@code acl.AclAction} + */ + public static final class AclAction extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:acl.AclAction) + AclActionOrBuilder { + private static final long serialVersionUID = 0L; + // Use AclAction.newBuilder() to construct. + private AclAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AclAction() { + forwardAction_ = 0; + logAction_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AclAction(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AclAction( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + forwardAction_ = rawValue; + break; + } + case 16: { + int rawValue = input.readEnum(); + + logAction_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclAction_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclAction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclAction.class, acl.Acl.AclAction.Builder.class); + } + + public static final int FORWARD_ACTION_FIELD_NUMBER = 1; + private int forwardAction_; + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return The enum numeric value on the wire for forwardAction. + */ + @java.lang.Override public int getForwardActionValue() { + return forwardAction_; + } + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return The forwardAction. + */ + @java.lang.Override public acl.Acl.AclForwardActionEnum getForwardAction() { + @SuppressWarnings("deprecation") + acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.valueOf(forwardAction_); + return result == null ? acl.Acl.AclForwardActionEnum.UNRECOGNIZED : result; + } + + public static final int LOG_ACTION_FIELD_NUMBER = 2; + private int logAction_; + /** + * .acl.AclLogActionEnum log_action = 2; + * @return The enum numeric value on the wire for logAction. + */ + @java.lang.Override public int getLogActionValue() { + return logAction_; + } + /** + * .acl.AclLogActionEnum log_action = 2; + * @return The logAction. + */ + @java.lang.Override public acl.Acl.AclLogActionEnum getLogAction() { + @SuppressWarnings("deprecation") + acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.valueOf(logAction_); + return result == null ? acl.Acl.AclLogActionEnum.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (forwardAction_ != acl.Acl.AclForwardActionEnum.ACLFORWARDINGACTION_UNDEFINED.getNumber()) { + output.writeEnum(1, forwardAction_); + } + if (logAction_ != acl.Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED.getNumber()) { + output.writeEnum(2, logAction_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (forwardAction_ != acl.Acl.AclForwardActionEnum.ACLFORWARDINGACTION_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, forwardAction_); + } + if (logAction_ != acl.Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, logAction_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof acl.Acl.AclAction)) { + return super.equals(obj); + } + acl.Acl.AclAction other = (acl.Acl.AclAction) obj; + + if (forwardAction_ != other.forwardAction_) return false; + if (logAction_ != other.logAction_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + FORWARD_ACTION_FIELD_NUMBER; + hash = (53 * hash) + forwardAction_; + hash = (37 * hash) + LOG_ACTION_FIELD_NUMBER; + hash = (53 * hash) + logAction_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static acl.Acl.AclAction parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclAction parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclAction parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclAction parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclAction parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclAction parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclAction parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclAction parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclAction parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static acl.Acl.AclAction parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclAction parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclAction parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(acl.Acl.AclAction prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code acl.AclAction} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:acl.AclAction) + acl.Acl.AclActionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclAction_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclAction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclAction.class, acl.Acl.AclAction.Builder.class); + } + + // Construct using acl.Acl.AclAction.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + forwardAction_ = 0; + + logAction_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return acl.Acl.internal_static_acl_AclAction_descriptor; + } + + @java.lang.Override + public acl.Acl.AclAction getDefaultInstanceForType() { + return acl.Acl.AclAction.getDefaultInstance(); + } + + @java.lang.Override + public acl.Acl.AclAction build() { + acl.Acl.AclAction result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public acl.Acl.AclAction buildPartial() { + acl.Acl.AclAction result = new acl.Acl.AclAction(this); + result.forwardAction_ = forwardAction_; + result.logAction_ = logAction_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof acl.Acl.AclAction) { + return mergeFrom((acl.Acl.AclAction)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(acl.Acl.AclAction other) { + if (other == acl.Acl.AclAction.getDefaultInstance()) return this; + if (other.forwardAction_ != 0) { + setForwardActionValue(other.getForwardActionValue()); + } + if (other.logAction_ != 0) { + setLogActionValue(other.getLogActionValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + acl.Acl.AclAction parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclAction) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int forwardAction_ = 0; + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return The enum numeric value on the wire for forwardAction. + */ + @java.lang.Override public int getForwardActionValue() { + return forwardAction_; + } + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @param value The enum numeric value on the wire for forwardAction to set. + * @return This builder for chaining. + */ + public Builder setForwardActionValue(int value) { + + forwardAction_ = value; + onChanged(); + return this; + } + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return The forwardAction. + */ + @java.lang.Override + public acl.Acl.AclForwardActionEnum getForwardAction() { + @SuppressWarnings("deprecation") + acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.valueOf(forwardAction_); + return result == null ? acl.Acl.AclForwardActionEnum.UNRECOGNIZED : result; + } + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @param value The forwardAction to set. + * @return This builder for chaining. + */ + public Builder setForwardAction(acl.Acl.AclForwardActionEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + forwardAction_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .acl.AclForwardActionEnum forward_action = 1; + * @return This builder for chaining. + */ + public Builder clearForwardAction() { + + forwardAction_ = 0; + onChanged(); + return this; + } + + private int logAction_ = 0; + /** + * .acl.AclLogActionEnum log_action = 2; + * @return The enum numeric value on the wire for logAction. + */ + @java.lang.Override public int getLogActionValue() { + return logAction_; + } + /** + * .acl.AclLogActionEnum log_action = 2; + * @param value The enum numeric value on the wire for logAction to set. + * @return This builder for chaining. + */ + public Builder setLogActionValue(int value) { + + logAction_ = value; + onChanged(); + return this; + } + /** + * .acl.AclLogActionEnum log_action = 2; + * @return The logAction. + */ + @java.lang.Override + public acl.Acl.AclLogActionEnum getLogAction() { + @SuppressWarnings("deprecation") + acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.valueOf(logAction_); + return result == null ? acl.Acl.AclLogActionEnum.UNRECOGNIZED : result; + } + /** + * .acl.AclLogActionEnum log_action = 2; + * @param value The logAction to set. + * @return This builder for chaining. + */ + public Builder setLogAction(acl.Acl.AclLogActionEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + logAction_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .acl.AclLogActionEnum log_action = 2; + * @return This builder for chaining. + */ + public Builder clearLogAction() { + + logAction_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:acl.AclAction) + } + + // @@protoc_insertion_point(class_scope:acl.AclAction) + private static final acl.Acl.AclAction DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new acl.Acl.AclAction(); + } + + public static acl.Acl.AclAction getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AclAction parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AclAction(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public acl.Acl.AclAction getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AclEntryOrBuilder extends + // @@protoc_insertion_point(interface_extends:acl.AclEntry) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 sequence_id = 1; + * @return The sequenceId. + */ + int getSequenceId(); + + /** + * string description = 2; + * @return The description. + */ + java.lang.String getDescription(); + /** + * string description = 2; + * @return The bytes for description. + */ + com.google.protobuf.ByteString + getDescriptionBytes(); + + /** + * .acl.AclMatch match = 3; + * @return Whether the match field is set. + */ + boolean hasMatch(); + /** + * .acl.AclMatch match = 3; + * @return The match. + */ + acl.Acl.AclMatch getMatch(); + /** + * .acl.AclMatch match = 3; + */ + acl.Acl.AclMatchOrBuilder getMatchOrBuilder(); + + /** + * .acl.AclAction action = 4; + * @return Whether the action field is set. + */ + boolean hasAction(); + /** + * .acl.AclAction action = 4; + * @return The action. + */ + acl.Acl.AclAction getAction(); + /** + * .acl.AclAction action = 4; + */ + acl.Acl.AclActionOrBuilder getActionOrBuilder(); + } + /** + * Protobuf type {@code acl.AclEntry} + */ + public static final class AclEntry extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:acl.AclEntry) + AclEntryOrBuilder { + private static final long serialVersionUID = 0L; + // Use AclEntry.newBuilder() to construct. + private AclEntry(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AclEntry() { + description_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AclEntry(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AclEntry( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + sequenceId_ = input.readUInt32(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + description_ = s; + break; + } + case 26: { + acl.Acl.AclMatch.Builder subBuilder = null; + if (match_ != null) { + subBuilder = match_.toBuilder(); + } + match_ = input.readMessage(acl.Acl.AclMatch.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(match_); + match_ = subBuilder.buildPartial(); + } + + break; + } + case 34: { + acl.Acl.AclAction.Builder subBuilder = null; + if (action_ != null) { + subBuilder = action_.toBuilder(); + } + action_ = input.readMessage(acl.Acl.AclAction.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(action_); + action_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclEntry_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclEntry_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclEntry.class, acl.Acl.AclEntry.Builder.class); + } + + public static final int SEQUENCE_ID_FIELD_NUMBER = 1; + private int sequenceId_; + /** + * uint32 sequence_id = 1; + * @return The sequenceId. + */ + @java.lang.Override + public int getSequenceId() { + return sequenceId_; + } + + public static final int DESCRIPTION_FIELD_NUMBER = 2; + private volatile java.lang.Object description_; + /** + * string description = 2; + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + /** + * string description = 2; + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MATCH_FIELD_NUMBER = 3; + private acl.Acl.AclMatch match_; + /** + * .acl.AclMatch match = 3; + * @return Whether the match field is set. + */ + @java.lang.Override + public boolean hasMatch() { + return match_ != null; + } + /** + * .acl.AclMatch match = 3; + * @return The match. + */ + @java.lang.Override + public acl.Acl.AclMatch getMatch() { + return match_ == null ? acl.Acl.AclMatch.getDefaultInstance() : match_; + } + /** + * .acl.AclMatch match = 3; + */ + @java.lang.Override + public acl.Acl.AclMatchOrBuilder getMatchOrBuilder() { + return getMatch(); + } + + public static final int ACTION_FIELD_NUMBER = 4; + private acl.Acl.AclAction action_; + /** + * .acl.AclAction action = 4; + * @return Whether the action field is set. + */ + @java.lang.Override + public boolean hasAction() { + return action_ != null; + } + /** + * .acl.AclAction action = 4; + * @return The action. + */ + @java.lang.Override + public acl.Acl.AclAction getAction() { + return action_ == null ? acl.Acl.AclAction.getDefaultInstance() : action_; + } + /** + * .acl.AclAction action = 4; + */ + @java.lang.Override + public acl.Acl.AclActionOrBuilder getActionOrBuilder() { + return getAction(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (sequenceId_ != 0) { + output.writeUInt32(1, sequenceId_); + } + if (!getDescriptionBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_); + } + if (match_ != null) { + output.writeMessage(3, getMatch()); + } + if (action_ != null) { + output.writeMessage(4, getAction()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (sequenceId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, sequenceId_); + } + if (!getDescriptionBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_); + } + if (match_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getMatch()); + } + if (action_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getAction()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof acl.Acl.AclEntry)) { + return super.equals(obj); + } + acl.Acl.AclEntry other = (acl.Acl.AclEntry) obj; + + if (getSequenceId() + != other.getSequenceId()) return false; + if (!getDescription() + .equals(other.getDescription())) return false; + if (hasMatch() != other.hasMatch()) return false; + if (hasMatch()) { + if (!getMatch() + .equals(other.getMatch())) return false; + } + if (hasAction() != other.hasAction()) return false; + if (hasAction()) { + if (!getAction() + .equals(other.getAction())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SEQUENCE_ID_FIELD_NUMBER; + hash = (53 * hash) + getSequenceId(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (hasMatch()) { + hash = (37 * hash) + MATCH_FIELD_NUMBER; + hash = (53 * hash) + getMatch().hashCode(); + } + if (hasAction()) { + hash = (37 * hash) + ACTION_FIELD_NUMBER; + hash = (53 * hash) + getAction().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static acl.Acl.AclEntry parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclEntry parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclEntry parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclEntry parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclEntry parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclEntry parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclEntry parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclEntry parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclEntry parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static acl.Acl.AclEntry parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclEntry parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclEntry parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(acl.Acl.AclEntry prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code acl.AclEntry} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:acl.AclEntry) + acl.Acl.AclEntryOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclEntry_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclEntry_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclEntry.class, acl.Acl.AclEntry.Builder.class); + } + + // Construct using acl.Acl.AclEntry.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + sequenceId_ = 0; + + description_ = ""; + + if (matchBuilder_ == null) { + match_ = null; + } else { + match_ = null; + matchBuilder_ = null; + } + if (actionBuilder_ == null) { + action_ = null; + } else { + action_ = null; + actionBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return acl.Acl.internal_static_acl_AclEntry_descriptor; + } + + @java.lang.Override + public acl.Acl.AclEntry getDefaultInstanceForType() { + return acl.Acl.AclEntry.getDefaultInstance(); + } + + @java.lang.Override + public acl.Acl.AclEntry build() { + acl.Acl.AclEntry result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public acl.Acl.AclEntry buildPartial() { + acl.Acl.AclEntry result = new acl.Acl.AclEntry(this); + result.sequenceId_ = sequenceId_; + result.description_ = description_; + if (matchBuilder_ == null) { + result.match_ = match_; + } else { + result.match_ = matchBuilder_.build(); + } + if (actionBuilder_ == null) { + result.action_ = action_; + } else { + result.action_ = actionBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof acl.Acl.AclEntry) { + return mergeFrom((acl.Acl.AclEntry)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(acl.Acl.AclEntry other) { + if (other == acl.Acl.AclEntry.getDefaultInstance()) return this; + if (other.getSequenceId() != 0) { + setSequenceId(other.getSequenceId()); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + onChanged(); + } + if (other.hasMatch()) { + mergeMatch(other.getMatch()); + } + if (other.hasAction()) { + mergeAction(other.getAction()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + acl.Acl.AclEntry parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclEntry) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int sequenceId_ ; + /** + * uint32 sequence_id = 1; + * @return The sequenceId. + */ + @java.lang.Override + public int getSequenceId() { + return sequenceId_; + } + /** + * uint32 sequence_id = 1; + * @param value The sequenceId to set. + * @return This builder for chaining. + */ + public Builder setSequenceId(int value) { + + sequenceId_ = value; + onChanged(); + return this; + } + /** + * uint32 sequence_id = 1; + * @return This builder for chaining. + */ + public Builder clearSequenceId() { + + sequenceId_ = 0; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + /** + * string description = 2; + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string description = 2; + * @return The bytes for description. + */ + public com.google.protobuf.ByteString + getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string description = 2; + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + description_ = value; + onChanged(); + return this; + } + /** + * string description = 2; + * @return This builder for chaining. + */ + public Builder clearDescription() { + + description_ = getDefaultInstance().getDescription(); + onChanged(); + return this; + } + /** + * string description = 2; + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + description_ = value; + onChanged(); + return this; + } + + private acl.Acl.AclMatch match_; + private com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclMatch, acl.Acl.AclMatch.Builder, acl.Acl.AclMatchOrBuilder> matchBuilder_; + /** + * .acl.AclMatch match = 3; + * @return Whether the match field is set. + */ + public boolean hasMatch() { + return matchBuilder_ != null || match_ != null; + } + /** + * .acl.AclMatch match = 3; + * @return The match. + */ + public acl.Acl.AclMatch getMatch() { + if (matchBuilder_ == null) { + return match_ == null ? acl.Acl.AclMatch.getDefaultInstance() : match_; + } else { + return matchBuilder_.getMessage(); + } + } + /** + * .acl.AclMatch match = 3; + */ + public Builder setMatch(acl.Acl.AclMatch value) { + if (matchBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + match_ = value; + onChanged(); + } else { + matchBuilder_.setMessage(value); + } + + return this; + } + /** + * .acl.AclMatch match = 3; + */ + public Builder setMatch( + acl.Acl.AclMatch.Builder builderForValue) { + if (matchBuilder_ == null) { + match_ = builderForValue.build(); + onChanged(); + } else { + matchBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .acl.AclMatch match = 3; + */ + public Builder mergeMatch(acl.Acl.AclMatch value) { + if (matchBuilder_ == null) { + if (match_ != null) { + match_ = + acl.Acl.AclMatch.newBuilder(match_).mergeFrom(value).buildPartial(); + } else { + match_ = value; + } + onChanged(); + } else { + matchBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .acl.AclMatch match = 3; + */ + public Builder clearMatch() { + if (matchBuilder_ == null) { + match_ = null; + onChanged(); + } else { + match_ = null; + matchBuilder_ = null; + } + + return this; + } + /** + * .acl.AclMatch match = 3; + */ + public acl.Acl.AclMatch.Builder getMatchBuilder() { + + onChanged(); + return getMatchFieldBuilder().getBuilder(); + } + /** + * .acl.AclMatch match = 3; + */ + public acl.Acl.AclMatchOrBuilder getMatchOrBuilder() { + if (matchBuilder_ != null) { + return matchBuilder_.getMessageOrBuilder(); + } else { + return match_ == null ? + acl.Acl.AclMatch.getDefaultInstance() : match_; + } + } + /** + * .acl.AclMatch match = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclMatch, acl.Acl.AclMatch.Builder, acl.Acl.AclMatchOrBuilder> + getMatchFieldBuilder() { + if (matchBuilder_ == null) { + matchBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclMatch, acl.Acl.AclMatch.Builder, acl.Acl.AclMatchOrBuilder>( + getMatch(), + getParentForChildren(), + isClean()); + match_ = null; + } + return matchBuilder_; + } + + private acl.Acl.AclAction action_; + private com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclAction, acl.Acl.AclAction.Builder, acl.Acl.AclActionOrBuilder> actionBuilder_; + /** + * .acl.AclAction action = 4; + * @return Whether the action field is set. + */ + public boolean hasAction() { + return actionBuilder_ != null || action_ != null; + } + /** + * .acl.AclAction action = 4; + * @return The action. + */ + public acl.Acl.AclAction getAction() { + if (actionBuilder_ == null) { + return action_ == null ? acl.Acl.AclAction.getDefaultInstance() : action_; + } else { + return actionBuilder_.getMessage(); + } + } + /** + * .acl.AclAction action = 4; + */ + public Builder setAction(acl.Acl.AclAction value) { + if (actionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + actionBuilder_.setMessage(value); + } + + return this; + } + /** + * .acl.AclAction action = 4; + */ + public Builder setAction( + acl.Acl.AclAction.Builder builderForValue) { + if (actionBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + actionBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .acl.AclAction action = 4; + */ + public Builder mergeAction(acl.Acl.AclAction value) { + if (actionBuilder_ == null) { + if (action_ != null) { + action_ = + acl.Acl.AclAction.newBuilder(action_).mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + actionBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .acl.AclAction action = 4; + */ + public Builder clearAction() { + if (actionBuilder_ == null) { + action_ = null; + onChanged(); + } else { + action_ = null; + actionBuilder_ = null; + } + + return this; + } + /** + * .acl.AclAction action = 4; + */ + public acl.Acl.AclAction.Builder getActionBuilder() { + + onChanged(); + return getActionFieldBuilder().getBuilder(); + } + /** + * .acl.AclAction action = 4; + */ + public acl.Acl.AclActionOrBuilder getActionOrBuilder() { + if (actionBuilder_ != null) { + return actionBuilder_.getMessageOrBuilder(); + } else { + return action_ == null ? + acl.Acl.AclAction.getDefaultInstance() : action_; + } + } + /** + * .acl.AclAction action = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclAction, acl.Acl.AclAction.Builder, acl.Acl.AclActionOrBuilder> + getActionFieldBuilder() { + if (actionBuilder_ == null) { + actionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclAction, acl.Acl.AclAction.Builder, acl.Acl.AclActionOrBuilder>( + getAction(), + getParentForChildren(), + isClean()); + action_ = null; + } + return actionBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:acl.AclEntry) + } + + // @@protoc_insertion_point(class_scope:acl.AclEntry) + private static final acl.Acl.AclEntry DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new acl.Acl.AclEntry(); + } + + public static acl.Acl.AclEntry getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AclEntry parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AclEntry(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public acl.Acl.AclEntry getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AclRuleSetOrBuilder extends + // @@protoc_insertion_point(interface_extends:acl.AclRuleSet) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 1; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * .acl.AclRuleTypeEnum type = 2; + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + /** + * .acl.AclRuleTypeEnum type = 2; + * @return The type. + */ + acl.Acl.AclRuleTypeEnum getType(); + + /** + * string description = 3; + * @return The description. + */ + java.lang.String getDescription(); + /** + * string description = 3; + * @return The bytes for description. + */ + com.google.protobuf.ByteString + getDescriptionBytes(); + + /** + * string user_id = 4; + * @return The userId. + */ + java.lang.String getUserId(); + /** + * string user_id = 4; + * @return The bytes for userId. + */ + com.google.protobuf.ByteString + getUserIdBytes(); + + /** + * repeated .acl.AclEntry entries = 5; + */ + java.util.List + getEntriesList(); + /** + * repeated .acl.AclEntry entries = 5; + */ + acl.Acl.AclEntry getEntries(int index); + /** + * repeated .acl.AclEntry entries = 5; + */ + int getEntriesCount(); + /** + * repeated .acl.AclEntry entries = 5; + */ + java.util.List + getEntriesOrBuilderList(); + /** + * repeated .acl.AclEntry entries = 5; + */ + acl.Acl.AclEntryOrBuilder getEntriesOrBuilder( + int index); + } + /** + * Protobuf type {@code acl.AclRuleSet} + */ + public static final class AclRuleSet extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:acl.AclRuleSet) + AclRuleSetOrBuilder { + private static final long serialVersionUID = 0L; + // Use AclRuleSet.newBuilder() to construct. + private AclRuleSet(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AclRuleSet() { + name_ = ""; + type_ = 0; + description_ = ""; + userId_ = ""; + entries_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AclRuleSet(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AclRuleSet( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 16: { + int rawValue = input.readEnum(); + + type_ = rawValue; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + description_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + userId_ = s; + break; + } + case 42: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + entries_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + entries_.add( + input.readMessage(acl.Acl.AclEntry.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + entries_ = java.util.Collections.unmodifiableList(entries_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclRuleSet_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclRuleSet_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclRuleSet.class, acl.Acl.AclRuleSet.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * string name = 1; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + * string name = 1; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TYPE_FIELD_NUMBER = 2; + private int type_; + /** + * .acl.AclRuleTypeEnum type = 2; + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override public int getTypeValue() { + return type_; + } + /** + * .acl.AclRuleTypeEnum type = 2; + * @return The type. + */ + @java.lang.Override public acl.Acl.AclRuleTypeEnum getType() { + @SuppressWarnings("deprecation") + acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.valueOf(type_); + return result == null ? acl.Acl.AclRuleTypeEnum.UNRECOGNIZED : result; + } + + public static final int DESCRIPTION_FIELD_NUMBER = 3; + private volatile java.lang.Object description_; + /** + * string description = 3; + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + /** + * string description = 3; + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int USER_ID_FIELD_NUMBER = 4; + private volatile java.lang.Object userId_; + /** + * string user_id = 4; + * @return The userId. + */ + @java.lang.Override + public java.lang.String getUserId() { + java.lang.Object ref = userId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + userId_ = s; + return s; + } + } + /** + * string user_id = 4; + * @return The bytes for userId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getUserIdBytes() { + java.lang.Object ref = userId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + userId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ENTRIES_FIELD_NUMBER = 5; + private java.util.List entries_; + /** + * repeated .acl.AclEntry entries = 5; + */ + @java.lang.Override + public java.util.List getEntriesList() { + return entries_; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + @java.lang.Override + public java.util.List + getEntriesOrBuilderList() { + return entries_; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + @java.lang.Override + public int getEntriesCount() { + return entries_.size(); + } + /** + * repeated .acl.AclEntry entries = 5; + */ + @java.lang.Override + public acl.Acl.AclEntry getEntries(int index) { + return entries_.get(index); + } + /** + * repeated .acl.AclEntry entries = 5; + */ + @java.lang.Override + public acl.Acl.AclEntryOrBuilder getEntriesOrBuilder( + int index) { + return entries_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (type_ != acl.Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED.getNumber()) { + output.writeEnum(2, type_); + } + if (!getDescriptionBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_); + } + if (!getUserIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, userId_); + } + for (int i = 0; i < entries_.size(); i++) { + output.writeMessage(5, entries_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (type_ != acl.Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, type_); + } + if (!getDescriptionBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_); + } + if (!getUserIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, userId_); + } + for (int i = 0; i < entries_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, entries_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof acl.Acl.AclRuleSet)) { + return super.equals(obj); + } + acl.Acl.AclRuleSet other = (acl.Acl.AclRuleSet) obj; + + if (!getName() + .equals(other.getName())) return false; + if (type_ != other.type_) return false; + if (!getDescription() + .equals(other.getDescription())) return false; + if (!getUserId() + .equals(other.getUserId())) return false; + if (!getEntriesList() + .equals(other.getEntriesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + hash = (37 * hash) + USER_ID_FIELD_NUMBER; + hash = (53 * hash) + getUserId().hashCode(); + if (getEntriesCount() > 0) { + hash = (37 * hash) + ENTRIES_FIELD_NUMBER; + hash = (53 * hash) + getEntriesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static acl.Acl.AclRuleSet parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclRuleSet parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclRuleSet parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclRuleSet parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclRuleSet parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static acl.Acl.AclRuleSet parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static acl.Acl.AclRuleSet parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclRuleSet parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclRuleSet parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static acl.Acl.AclRuleSet parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static acl.Acl.AclRuleSet parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static acl.Acl.AclRuleSet parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(acl.Acl.AclRuleSet prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code acl.AclRuleSet} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:acl.AclRuleSet) + acl.Acl.AclRuleSetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return acl.Acl.internal_static_acl_AclRuleSet_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return acl.Acl.internal_static_acl_AclRuleSet_fieldAccessorTable + .ensureFieldAccessorsInitialized( + acl.Acl.AclRuleSet.class, acl.Acl.AclRuleSet.Builder.class); + } + + // Construct using acl.Acl.AclRuleSet.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getEntriesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + type_ = 0; + + description_ = ""; + + userId_ = ""; + + if (entriesBuilder_ == null) { + entries_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + entriesBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return acl.Acl.internal_static_acl_AclRuleSet_descriptor; + } + + @java.lang.Override + public acl.Acl.AclRuleSet getDefaultInstanceForType() { + return acl.Acl.AclRuleSet.getDefaultInstance(); + } + + @java.lang.Override + public acl.Acl.AclRuleSet build() { + acl.Acl.AclRuleSet result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public acl.Acl.AclRuleSet buildPartial() { + acl.Acl.AclRuleSet result = new acl.Acl.AclRuleSet(this); + int from_bitField0_ = bitField0_; + result.name_ = name_; + result.type_ = type_; + result.description_ = description_; + result.userId_ = userId_; + if (entriesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + entries_ = java.util.Collections.unmodifiableList(entries_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.entries_ = entries_; + } else { + result.entries_ = entriesBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof acl.Acl.AclRuleSet) { + return mergeFrom((acl.Acl.AclRuleSet)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(acl.Acl.AclRuleSet other) { + if (other == acl.Acl.AclRuleSet.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + onChanged(); + } + if (!other.getUserId().isEmpty()) { + userId_ = other.userId_; + onChanged(); + } + if (entriesBuilder_ == null) { + if (!other.entries_.isEmpty()) { + if (entries_.isEmpty()) { + entries_ = other.entries_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureEntriesIsMutable(); + entries_.addAll(other.entries_); + } + onChanged(); + } + } else { + if (!other.entries_.isEmpty()) { + if (entriesBuilder_.isEmpty()) { + entriesBuilder_.dispose(); + entriesBuilder_ = null; + entries_ = other.entries_; + bitField0_ = (bitField0_ & ~0x00000001); + entriesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getEntriesFieldBuilder() : null; + } else { + entriesBuilder_.addAllMessages(other.entries_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + acl.Acl.AclRuleSet parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclRuleSet) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * string name = 1; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 1; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 1; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * string name = 1; + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * string name = 1; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private int type_ = 0; + /** + * .acl.AclRuleTypeEnum type = 2; + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override public int getTypeValue() { + return type_; + } + /** + * .acl.AclRuleTypeEnum type = 2; + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + + type_ = value; + onChanged(); + return this; + } + /** + * .acl.AclRuleTypeEnum type = 2; + * @return The type. + */ + @java.lang.Override + public acl.Acl.AclRuleTypeEnum getType() { + @SuppressWarnings("deprecation") + acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.valueOf(type_); + return result == null ? acl.Acl.AclRuleTypeEnum.UNRECOGNIZED : result; + } + /** + * .acl.AclRuleTypeEnum type = 2; + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(acl.Acl.AclRuleTypeEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + type_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .acl.AclRuleTypeEnum type = 2; + * @return This builder for chaining. + */ + public Builder clearType() { + + type_ = 0; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + /** + * string description = 3; + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string description = 3; + * @return The bytes for description. + */ + public com.google.protobuf.ByteString + getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string description = 3; + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + description_ = value; + onChanged(); + return this; + } + /** + * string description = 3; + * @return This builder for chaining. + */ + public Builder clearDescription() { + + description_ = getDefaultInstance().getDescription(); + onChanged(); + return this; + } + /** + * string description = 3; + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + description_ = value; + onChanged(); + return this; + } + + private java.lang.Object userId_ = ""; + /** + * string user_id = 4; + * @return The userId. + */ + public java.lang.String getUserId() { + java.lang.Object ref = userId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + userId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string user_id = 4; + * @return The bytes for userId. + */ + public com.google.protobuf.ByteString + getUserIdBytes() { + java.lang.Object ref = userId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + userId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string user_id = 4; + * @param value The userId to set. + * @return This builder for chaining. + */ + public Builder setUserId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + userId_ = value; + onChanged(); + return this; + } + /** + * string user_id = 4; + * @return This builder for chaining. + */ + public Builder clearUserId() { + + userId_ = getDefaultInstance().getUserId(); + onChanged(); + return this; + } + /** + * string user_id = 4; + * @param value The bytes for userId to set. + * @return This builder for chaining. + */ + public Builder setUserIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + userId_ = value; + onChanged(); + return this; + } + + private java.util.List entries_ = + java.util.Collections.emptyList(); + private void ensureEntriesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + entries_ = new java.util.ArrayList(entries_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + acl.Acl.AclEntry, acl.Acl.AclEntry.Builder, acl.Acl.AclEntryOrBuilder> entriesBuilder_; + + /** + * repeated .acl.AclEntry entries = 5; + */ + public java.util.List getEntriesList() { + if (entriesBuilder_ == null) { + return java.util.Collections.unmodifiableList(entries_); + } else { + return entriesBuilder_.getMessageList(); + } + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public int getEntriesCount() { + if (entriesBuilder_ == null) { + return entries_.size(); + } else { + return entriesBuilder_.getCount(); + } + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public acl.Acl.AclEntry getEntries(int index) { + if (entriesBuilder_ == null) { + return entries_.get(index); + } else { + return entriesBuilder_.getMessage(index); + } + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder setEntries( + int index, acl.Acl.AclEntry value) { + if (entriesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEntriesIsMutable(); + entries_.set(index, value); + onChanged(); + } else { + entriesBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder setEntries( + int index, acl.Acl.AclEntry.Builder builderForValue) { + if (entriesBuilder_ == null) { + ensureEntriesIsMutable(); + entries_.set(index, builderForValue.build()); + onChanged(); + } else { + entriesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder addEntries(acl.Acl.AclEntry value) { + if (entriesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEntriesIsMutable(); + entries_.add(value); + onChanged(); + } else { + entriesBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder addEntries( + int index, acl.Acl.AclEntry value) { + if (entriesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEntriesIsMutable(); + entries_.add(index, value); + onChanged(); + } else { + entriesBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder addEntries( + acl.Acl.AclEntry.Builder builderForValue) { + if (entriesBuilder_ == null) { + ensureEntriesIsMutable(); + entries_.add(builderForValue.build()); + onChanged(); + } else { + entriesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder addEntries( + int index, acl.Acl.AclEntry.Builder builderForValue) { + if (entriesBuilder_ == null) { + ensureEntriesIsMutable(); + entries_.add(index, builderForValue.build()); + onChanged(); + } else { + entriesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder addAllEntries( + java.lang.Iterable values) { + if (entriesBuilder_ == null) { + ensureEntriesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, entries_); + onChanged(); + } else { + entriesBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder clearEntries() { + if (entriesBuilder_ == null) { + entries_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + entriesBuilder_.clear(); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public Builder removeEntries(int index) { + if (entriesBuilder_ == null) { + ensureEntriesIsMutable(); + entries_.remove(index); + onChanged(); + } else { + entriesBuilder_.remove(index); + } + return this; + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public acl.Acl.AclEntry.Builder getEntriesBuilder( + int index) { + return getEntriesFieldBuilder().getBuilder(index); + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public acl.Acl.AclEntryOrBuilder getEntriesOrBuilder( + int index) { + if (entriesBuilder_ == null) { + return entries_.get(index); } else { + return entriesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public java.util.List + getEntriesOrBuilderList() { + if (entriesBuilder_ != null) { + return entriesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(entries_); + } + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public acl.Acl.AclEntry.Builder addEntriesBuilder() { + return getEntriesFieldBuilder().addBuilder( + acl.Acl.AclEntry.getDefaultInstance()); + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public acl.Acl.AclEntry.Builder addEntriesBuilder( + int index) { + return getEntriesFieldBuilder().addBuilder( + index, acl.Acl.AclEntry.getDefaultInstance()); + } + /** + * repeated .acl.AclEntry entries = 5; + */ + public java.util.List + getEntriesBuilderList() { + return getEntriesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + acl.Acl.AclEntry, acl.Acl.AclEntry.Builder, acl.Acl.AclEntryOrBuilder> + getEntriesFieldBuilder() { + if (entriesBuilder_ == null) { + entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + acl.Acl.AclEntry, acl.Acl.AclEntry.Builder, acl.Acl.AclEntryOrBuilder>( + entries_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + entries_ = null; + } + return entriesBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:acl.AclRuleSet) + } + + // @@protoc_insertion_point(class_scope:acl.AclRuleSet) + private static final acl.Acl.AclRuleSet DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new acl.Acl.AclRuleSet(); + } + + public static acl.Acl.AclRuleSet getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AclRuleSet parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AclRuleSet(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public acl.Acl.AclRuleSet getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_acl_AclMatch_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_acl_AclMatch_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_acl_AclAction_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_acl_AclAction_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_acl_AclEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_acl_AclEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_acl_AclRuleSet_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_acl_AclRuleSet_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\tacl.proto\022\003acl\"\252\001\n\010AclMatch\022\014\n\004dscp\030\001 " + + "\001(\r\022\020\n\010protocol\030\002 \001(\r\022\023\n\013src_address\030\003 \001" + + "(\t\022\023\n\013dst_address\030\004 \001(\t\022\020\n\010src_port\030\005 \001(" + + "\r\022\020\n\010dst_port\030\006 \001(\r\022\030\n\020start_mpls_label\030" + + "\007 \001(\r\022\026\n\016end_mpls_label\030\010 \001(\r\"i\n\tAclActi" + + "on\0221\n\016forward_action\030\001 \001(\0162\031.acl.AclForw" + + "ardActionEnum\022)\n\nlog_action\030\002 \001(\0162\025.acl." + + "AclLogActionEnum\"r\n\010AclEntry\022\023\n\013sequence" + + "_id\030\001 \001(\r\022\023\n\013description\030\002 \001(\t\022\034\n\005match\030" + + "\003 \001(\0132\r.acl.AclMatch\022\036\n\006action\030\004 \001(\0132\016.a" + + "cl.AclAction\"\204\001\n\nAclRuleSet\022\014\n\004name\030\001 \001(" + + "\t\022\"\n\004type\030\002 \001(\0162\024.acl.AclRuleTypeEnum\022\023\n" + + "\013description\030\003 \001(\t\022\017\n\007user_id\030\004 \001(\t\022\036\n\007e" + + "ntries\030\005 \003(\0132\r.acl.AclEntry*\231\001\n\017AclRuleT" + + "ypeEnum\022\031\n\025ACLRULETYPE_UNDEFINED\020\000\022\024\n\020AC" + + "LRULETYPE_IPV4\020\001\022\024\n\020ACLRULETYPE_IPV6\020\002\022\022" + + "\n\016ACLRULETYPE_L2\020\003\022\024\n\020ACLRULETYPE_MPLS\020\004" + + "\022\025\n\021ACLRULETYPE_MIXED\020\005*\227\001\n\024AclForwardAc" + + "tionEnum\022!\n\035ACLFORWARDINGACTION_UNDEFINE" + + "D\020\000\022\034\n\030ACLFORWARDINGACTION_DROP\020\001\022\036\n\032ACL" + + "FORWARDINGACTION_ACCEPT\020\002\022\036\n\032ACLFORWARDI" + + "NGACTION_REJECT\020\003*_\n\020AclLogActionEnum\022\032\n" + + "\026ACLLOGACTION_UNDEFINED\020\000\022\026\n\022ACLLOGACTIO" + + "N_NOLOG\020\001\022\027\n\023ACLLOGACTION_SYSLOG\020\002b\006prot" + + "o3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_acl_AclMatch_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_acl_AclMatch_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_acl_AclMatch_descriptor, + new java.lang.String[] { "Dscp", "Protocol", "SrcAddress", "DstAddress", "SrcPort", "DstPort", "StartMplsLabel", "EndMplsLabel", }); + internal_static_acl_AclAction_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_acl_AclAction_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_acl_AclAction_descriptor, + new java.lang.String[] { "ForwardAction", "LogAction", }); + internal_static_acl_AclEntry_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_acl_AclEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_acl_AclEntry_descriptor, + new java.lang.String[] { "SequenceId", "Description", "Match", "Action", }); + internal_static_acl_AclRuleSet_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_acl_AclRuleSet_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_acl_AclRuleSet_descriptor, + new java.lang.String[] { "Name", "Type", "Description", "UserId", "Entries", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/src/automation/target/generated-sources/grpc/automation/Automation.java b/src/automation/target/generated-sources/grpc/automation/Automation.java index a44bc42294078fdba325d9dc9f149eaf1bd2bcbc..cd82f7423092c72c6c2fa02836db645db52f7041 100644 --- a/src/automation/target/generated-sources/grpc/automation/Automation.java +++ b/src/automation/target/generated-sources/grpc/automation/Automation.java @@ -1818,55 +1818,60 @@ public final class Automation { } - public interface DeviceRoleListOrBuilder extends - // @@protoc_insertion_point(interface_extends:automation.DeviceRoleList) + public interface DeviceRoleConfigOrBuilder extends + // @@protoc_insertion_point(interface_extends:automation.DeviceRoleConfig) com.google.protobuf.MessageOrBuilder { /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; + * @return Whether the devRole field is set. */ - java.util.List - getDevRoleList(); + boolean hasDevRole(); /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; + * @return The devRole. */ - automation.Automation.DeviceRole getDevRole(int index); + automation.Automation.DeviceRole getDevRole(); /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - int getDevRoleCount(); + automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder(); + /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; + * @return Whether the devConfig field is set. */ - java.util.List - getDevRoleOrBuilderList(); + boolean hasDevConfig(); /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; + * @return The devConfig. */ - automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder( - int index); + context.ContextOuterClass.DeviceConfig getDevConfig(); + /** + * .context.DeviceConfig devConfig = 2; + */ + context.ContextOuterClass.DeviceConfigOrBuilder getDevConfigOrBuilder(); } /** - * Protobuf type {@code automation.DeviceRoleList} + * Protobuf type {@code automation.DeviceRoleConfig} */ - public static final class DeviceRoleList extends + public static final class DeviceRoleConfig extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:automation.DeviceRoleList) - DeviceRoleListOrBuilder { + // @@protoc_insertion_point(message_implements:automation.DeviceRoleConfig) + DeviceRoleConfigOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceRoleList.newBuilder() to construct. - private DeviceRoleList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceRoleConfig.newBuilder() to construct. + private DeviceRoleConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceRoleList() { - devRole_ = java.util.Collections.emptyList(); + private DeviceRoleConfig() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceRoleList(); + return new DeviceRoleConfig(); } @java.lang.Override @@ -1874,7 +1879,7 @@ public final class Automation { getUnknownFields() { return this.unknownFields; } - private DeviceRoleList( + private DeviceRoleConfig( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -1882,7 +1887,6 @@ public final class Automation { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -1894,12 +1898,29 @@ public final class Automation { done = true; break; case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - devRole_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + automation.Automation.DeviceRole.Builder subBuilder = null; + if (devRole_ != null) { + subBuilder = devRole_.toBuilder(); } - devRole_.add( - input.readMessage(automation.Automation.DeviceRole.parser(), extensionRegistry)); + devRole_ = input.readMessage(automation.Automation.DeviceRole.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(devRole_); + devRole_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.DeviceConfig.Builder subBuilder = null; + if (devConfig_ != null) { + subBuilder = devConfig_.toBuilder(); + } + devConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(devConfig_); + devConfig_ = subBuilder.buildPartial(); + } + break; } default: { @@ -1917,64 +1938,73 @@ public final class Automation { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - devRole_ = java.util.Collections.unmodifiableList(devRole_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_DeviceRoleList_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_DeviceRoleList_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceRoleConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.DeviceRoleList.class, automation.Automation.DeviceRoleList.Builder.class); + automation.Automation.DeviceRoleConfig.class, automation.Automation.DeviceRoleConfig.Builder.class); } public static final int DEVROLE_FIELD_NUMBER = 1; - private java.util.List devRole_; + private automation.Automation.DeviceRole devRole_; /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; + * @return Whether the devRole field is set. */ @java.lang.Override - public java.util.List getDevRoleList() { - return devRole_; + public boolean hasDevRole() { + return devRole_ != null; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; + * @return The devRole. */ @java.lang.Override - public java.util.List - getDevRoleOrBuilderList() { - return devRole_; + public automation.Automation.DeviceRole getDevRole() { + return devRole_ == null ? automation.Automation.DeviceRole.getDefaultInstance() : devRole_; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ @java.lang.Override - public int getDevRoleCount() { - return devRole_.size(); + public automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder() { + return getDevRole(); } + + public static final int DEVCONFIG_FIELD_NUMBER = 2; + private context.ContextOuterClass.DeviceConfig devConfig_; /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; + * @return Whether the devConfig field is set. */ @java.lang.Override - public automation.Automation.DeviceRole getDevRole(int index) { - return devRole_.get(index); + public boolean hasDevConfig() { + return devConfig_ != null; } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; + * @return The devConfig. */ @java.lang.Override - public automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder( - int index) { - return devRole_.get(index); + public context.ContextOuterClass.DeviceConfig getDevConfig() { + return devConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : devConfig_; + } + /** + * .context.DeviceConfig devConfig = 2; + */ + @java.lang.Override + public context.ContextOuterClass.DeviceConfigOrBuilder getDevConfigOrBuilder() { + return getDevConfig(); } private byte memoizedIsInitialized = -1; @@ -1991,8 +2021,11 @@ public final class Automation { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < devRole_.size(); i++) { - output.writeMessage(1, devRole_.get(i)); + if (devRole_ != null) { + output.writeMessage(1, getDevRole()); + } + if (devConfig_ != null) { + output.writeMessage(2, getDevConfig()); } unknownFields.writeTo(output); } @@ -2003,9 +2036,13 @@ public final class Automation { if (size != -1) return size; size = 0; - for (int i = 0; i < devRole_.size(); i++) { + if (devRole_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, devRole_.get(i)); + .computeMessageSize(1, getDevRole()); + } + if (devConfig_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getDevConfig()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2017,13 +2054,21 @@ public final class Automation { if (obj == this) { return true; } - if (!(obj instanceof automation.Automation.DeviceRoleList)) { + if (!(obj instanceof automation.Automation.DeviceRoleConfig)) { return super.equals(obj); } - automation.Automation.DeviceRoleList other = (automation.Automation.DeviceRoleList) obj; + automation.Automation.DeviceRoleConfig other = (automation.Automation.DeviceRoleConfig) obj; - if (!getDevRoleList() - .equals(other.getDevRoleList())) return false; + if (hasDevRole() != other.hasDevRole()) return false; + if (hasDevRole()) { + if (!getDevRole() + .equals(other.getDevRole())) return false; + } + if (hasDevConfig() != other.hasDevConfig()) return false; + if (hasDevConfig()) { + if (!getDevConfig() + .equals(other.getDevConfig())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2035,78 +2080,82 @@ public final class Automation { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getDevRoleCount() > 0) { + if (hasDevRole()) { hash = (37 * hash) + DEVROLE_FIELD_NUMBER; - hash = (53 * hash) + getDevRoleList().hashCode(); + hash = (53 * hash) + getDevRole().hashCode(); + } + if (hasDevConfig()) { + hash = (37 * hash) + DEVCONFIG_FIELD_NUMBER; + hash = (53 * hash) + getDevConfig().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceRoleList parseFrom(byte[] data) + public static automation.Automation.DeviceRoleConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceRoleList parseFrom(java.io.InputStream input) + public static automation.Automation.DeviceRoleConfig parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.DeviceRoleList parseDelimitedFrom(java.io.InputStream input) + public static automation.Automation.DeviceRoleConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static automation.Automation.DeviceRoleList parseDelimitedFrom( + public static automation.Automation.DeviceRoleConfig parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.DeviceRoleList parseFrom( + public static automation.Automation.DeviceRoleConfig parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2119,7 +2168,7 @@ public final class Automation { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(automation.Automation.DeviceRoleList prototype) { + public static Builder newBuilder(automation.Automation.DeviceRoleConfig prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -2135,26 +2184,26 @@ public final class Automation { return builder; } /** - * Protobuf type {@code automation.DeviceRoleList} + * Protobuf type {@code automation.DeviceRoleConfig} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:automation.DeviceRoleList) - automation.Automation.DeviceRoleListOrBuilder { + // @@protoc_insertion_point(builder_implements:automation.DeviceRoleConfig) + automation.Automation.DeviceRoleConfigOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_DeviceRoleList_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_DeviceRoleList_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceRoleConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.DeviceRoleList.class, automation.Automation.DeviceRoleList.Builder.class); + automation.Automation.DeviceRoleConfig.class, automation.Automation.DeviceRoleConfig.Builder.class); } - // Construct using automation.Automation.DeviceRoleList.newBuilder() + // Construct using automation.Automation.DeviceRoleConfig.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2167,17 +2216,22 @@ public final class Automation { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getDevRoleFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (devRoleBuilder_ == null) { - devRole_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + devRole_ = null; } else { - devRoleBuilder_.clear(); + devRole_ = null; + devRoleBuilder_ = null; + } + if (devConfigBuilder_ == null) { + devConfig_ = null; + } else { + devConfig_ = null; + devConfigBuilder_ = null; } return this; } @@ -2185,17 +2239,17 @@ public final class Automation { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return automation.Automation.internal_static_automation_DeviceRoleList_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleConfig_descriptor; } @java.lang.Override - public automation.Automation.DeviceRoleList getDefaultInstanceForType() { - return automation.Automation.DeviceRoleList.getDefaultInstance(); + public automation.Automation.DeviceRoleConfig getDefaultInstanceForType() { + return automation.Automation.DeviceRoleConfig.getDefaultInstance(); } @java.lang.Override - public automation.Automation.DeviceRoleList build() { - automation.Automation.DeviceRoleList result = buildPartial(); + public automation.Automation.DeviceRoleConfig build() { + automation.Automation.DeviceRoleConfig result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -2203,18 +2257,18 @@ public final class Automation { } @java.lang.Override - public automation.Automation.DeviceRoleList buildPartial() { - automation.Automation.DeviceRoleList result = new automation.Automation.DeviceRoleList(this); - int from_bitField0_ = bitField0_; + public automation.Automation.DeviceRoleConfig buildPartial() { + automation.Automation.DeviceRoleConfig result = new automation.Automation.DeviceRoleConfig(this); if (devRoleBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - devRole_ = java.util.Collections.unmodifiableList(devRole_); - bitField0_ = (bitField0_ & ~0x00000001); - } result.devRole_ = devRole_; } else { result.devRole_ = devRoleBuilder_.build(); } + if (devConfigBuilder_ == null) { + result.devConfig_ = devConfig_; + } else { + result.devConfig_ = devConfigBuilder_.build(); + } onBuilt(); return result; } @@ -2253,41 +2307,21 @@ public final class Automation { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof automation.Automation.DeviceRoleList) { - return mergeFrom((automation.Automation.DeviceRoleList)other); + if (other instanceof automation.Automation.DeviceRoleConfig) { + return mergeFrom((automation.Automation.DeviceRoleConfig)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(automation.Automation.DeviceRoleList other) { - if (other == automation.Automation.DeviceRoleList.getDefaultInstance()) return this; - if (devRoleBuilder_ == null) { - if (!other.devRole_.isEmpty()) { - if (devRole_.isEmpty()) { - devRole_ = other.devRole_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureDevRoleIsMutable(); - devRole_.addAll(other.devRole_); - } - onChanged(); - } - } else { - if (!other.devRole_.isEmpty()) { - if (devRoleBuilder_.isEmpty()) { - devRoleBuilder_.dispose(); - devRoleBuilder_ = null; - devRole_ = other.devRole_; - bitField0_ = (bitField0_ & ~0x00000001); - devRoleBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getDevRoleFieldBuilder() : null; - } else { - devRoleBuilder_.addAllMessages(other.devRole_); - } - } + public Builder mergeFrom(automation.Automation.DeviceRoleConfig other) { + if (other == automation.Automation.DeviceRoleConfig.getDefaultInstance()) return this; + if (other.hasDevRole()) { + mergeDevRole(other.getDevRole()); + } + if (other.hasDevConfig()) { + mergeDevConfig(other.getDevConfig()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -2304,11 +2338,11 @@ public final class Automation { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - automation.Automation.DeviceRoleList parsedMessage = null; + automation.Automation.DeviceRoleConfig parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (automation.Automation.DeviceRoleList) e.getUnfinishedMessage(); + parsedMessage = (automation.Automation.DeviceRoleConfig) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -2317,246 +2351,243 @@ public final class Automation { } return this; } - private int bitField0_; - - private java.util.List devRole_ = - java.util.Collections.emptyList(); - private void ensureDevRoleIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - devRole_ = new java.util.ArrayList(devRole_); - bitField0_ |= 0x00000001; - } - } - private com.google.protobuf.RepeatedFieldBuilderV3< + private automation.Automation.DeviceRole devRole_; + private com.google.protobuf.SingleFieldBuilderV3< automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder> devRoleBuilder_; - /** - * repeated .automation.DeviceRole devRole = 1; - */ - public java.util.List getDevRoleList() { - if (devRoleBuilder_ == null) { - return java.util.Collections.unmodifiableList(devRole_); - } else { - return devRoleBuilder_.getMessageList(); - } - } - /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; + * @return Whether the devRole field is set. */ - public int getDevRoleCount() { - if (devRoleBuilder_ == null) { - return devRole_.size(); - } else { - return devRoleBuilder_.getCount(); - } + public boolean hasDevRole() { + return devRoleBuilder_ != null || devRole_ != null; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; + * @return The devRole. */ - public automation.Automation.DeviceRole getDevRole(int index) { + public automation.Automation.DeviceRole getDevRole() { if (devRoleBuilder_ == null) { - return devRole_.get(index); + return devRole_ == null ? automation.Automation.DeviceRole.getDefaultInstance() : devRole_; } else { - return devRoleBuilder_.getMessage(index); + return devRoleBuilder_.getMessage(); } } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - public Builder setDevRole( - int index, automation.Automation.DeviceRole value) { + public Builder setDevRole(automation.Automation.DeviceRole value) { if (devRoleBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDevRoleIsMutable(); - devRole_.set(index, value); + devRole_ = value; onChanged(); } else { - devRoleBuilder_.setMessage(index, value); + devRoleBuilder_.setMessage(value); } + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ public Builder setDevRole( - int index, automation.Automation.DeviceRole.Builder builderForValue) { + automation.Automation.DeviceRole.Builder builderForValue) { if (devRoleBuilder_ == null) { - ensureDevRoleIsMutable(); - devRole_.set(index, builderForValue.build()); + devRole_ = builderForValue.build(); onChanged(); } else { - devRoleBuilder_.setMessage(index, builderForValue.build()); + devRoleBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - public Builder addDevRole(automation.Automation.DeviceRole value) { + public Builder mergeDevRole(automation.Automation.DeviceRole value) { if (devRoleBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + if (devRole_ != null) { + devRole_ = + automation.Automation.DeviceRole.newBuilder(devRole_).mergeFrom(value).buildPartial(); + } else { + devRole_ = value; } - ensureDevRoleIsMutable(); - devRole_.add(value); onChanged(); } else { - devRoleBuilder_.addMessage(value); + devRoleBuilder_.mergeFrom(value); } + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - public Builder addDevRole( - int index, automation.Automation.DeviceRole value) { + public Builder clearDevRole() { if (devRoleBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDevRoleIsMutable(); - devRole_.add(index, value); + devRole_ = null; onChanged(); } else { - devRoleBuilder_.addMessage(index, value); + devRole_ = null; + devRoleBuilder_ = null; } + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - public Builder addDevRole( - automation.Automation.DeviceRole.Builder builderForValue) { - if (devRoleBuilder_ == null) { - ensureDevRoleIsMutable(); - devRole_.add(builderForValue.build()); - onChanged(); - } else { - devRoleBuilder_.addMessage(builderForValue.build()); - } - return this; + public automation.Automation.DeviceRole.Builder getDevRoleBuilder() { + + onChanged(); + return getDevRoleFieldBuilder().getBuilder(); } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - public Builder addDevRole( - int index, automation.Automation.DeviceRole.Builder builderForValue) { - if (devRoleBuilder_ == null) { - ensureDevRoleIsMutable(); - devRole_.add(index, builderForValue.build()); - onChanged(); + public automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder() { + if (devRoleBuilder_ != null) { + return devRoleBuilder_.getMessageOrBuilder(); } else { - devRoleBuilder_.addMessage(index, builderForValue.build()); + return devRole_ == null ? + automation.Automation.DeviceRole.getDefaultInstance() : devRole_; } - return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .automation.DeviceRole devRole = 1; */ - public Builder addAllDevRole( - java.lang.Iterable values) { + private com.google.protobuf.SingleFieldBuilderV3< + automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder> + getDevRoleFieldBuilder() { if (devRoleBuilder_ == null) { - ensureDevRoleIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, devRole_); - onChanged(); - } else { - devRoleBuilder_.addAllMessages(values); + devRoleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder>( + getDevRole(), + getParentForChildren(), + isClean()); + devRole_ = null; } - return this; + return devRoleBuilder_; } + + private context.ContextOuterClass.DeviceConfig devConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> devConfigBuilder_; /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; + * @return Whether the devConfig field is set. */ - public Builder clearDevRole() { - if (devRoleBuilder_ == null) { - devRole_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + public boolean hasDevConfig() { + return devConfigBuilder_ != null || devConfig_ != null; + } + /** + * .context.DeviceConfig devConfig = 2; + * @return The devConfig. + */ + public context.ContextOuterClass.DeviceConfig getDevConfig() { + if (devConfigBuilder_ == null) { + return devConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : devConfig_; } else { - devRoleBuilder_.clear(); + return devConfigBuilder_.getMessage(); } - return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public Builder removeDevRole(int index) { - if (devRoleBuilder_ == null) { - ensureDevRoleIsMutable(); - devRole_.remove(index); + public Builder setDevConfig(context.ContextOuterClass.DeviceConfig value) { + if (devConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + devConfig_ = value; onChanged(); } else { - devRoleBuilder_.remove(index); + devConfigBuilder_.setMessage(value); } + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public automation.Automation.DeviceRole.Builder getDevRoleBuilder( - int index) { - return getDevRoleFieldBuilder().getBuilder(index); + public Builder setDevConfig( + context.ContextOuterClass.DeviceConfig.Builder builderForValue) { + if (devConfigBuilder_ == null) { + devConfig_ = builderForValue.build(); + onChanged(); + } else { + devConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder( - int index) { - if (devRoleBuilder_ == null) { - return devRole_.get(index); } else { - return devRoleBuilder_.getMessageOrBuilder(index); + public Builder mergeDevConfig(context.ContextOuterClass.DeviceConfig value) { + if (devConfigBuilder_ == null) { + if (devConfig_ != null) { + devConfig_ = + context.ContextOuterClass.DeviceConfig.newBuilder(devConfig_).mergeFrom(value).buildPartial(); + } else { + devConfig_ = value; + } + onChanged(); + } else { + devConfigBuilder_.mergeFrom(value); } + + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public java.util.List - getDevRoleOrBuilderList() { - if (devRoleBuilder_ != null) { - return devRoleBuilder_.getMessageOrBuilderList(); + public Builder clearDevConfig() { + if (devConfigBuilder_ == null) { + devConfig_ = null; + onChanged(); } else { - return java.util.Collections.unmodifiableList(devRole_); + devConfig_ = null; + devConfigBuilder_ = null; } + + return this; } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public automation.Automation.DeviceRole.Builder addDevRoleBuilder() { - return getDevRoleFieldBuilder().addBuilder( - automation.Automation.DeviceRole.getDefaultInstance()); + public context.ContextOuterClass.DeviceConfig.Builder getDevConfigBuilder() { + + onChanged(); + return getDevConfigFieldBuilder().getBuilder(); } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public automation.Automation.DeviceRole.Builder addDevRoleBuilder( - int index) { - return getDevRoleFieldBuilder().addBuilder( - index, automation.Automation.DeviceRole.getDefaultInstance()); + public context.ContextOuterClass.DeviceConfigOrBuilder getDevConfigOrBuilder() { + if (devConfigBuilder_ != null) { + return devConfigBuilder_.getMessageOrBuilder(); + } else { + return devConfig_ == null ? + context.ContextOuterClass.DeviceConfig.getDefaultInstance() : devConfig_; + } } /** - * repeated .automation.DeviceRole devRole = 1; + * .context.DeviceConfig devConfig = 2; */ - public java.util.List - getDevRoleBuilderList() { - return getDevRoleFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder> - getDevRoleFieldBuilder() { - if (devRoleBuilder_ == null) { - devRoleBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder>( - devRole_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> + getDevConfigFieldBuilder() { + if (devConfigBuilder_ == null) { + devConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder>( + getDevConfig(), getParentForChildren(), isClean()); - devRole_ = null; + devConfig_ = null; } - return devRoleBuilder_; + return devConfigBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -2571,97 +2602,95 @@ public final class Automation { } - // @@protoc_insertion_point(builder_scope:automation.DeviceRoleList) + // @@protoc_insertion_point(builder_scope:automation.DeviceRoleConfig) } - // @@protoc_insertion_point(class_scope:automation.DeviceRoleList) - private static final automation.Automation.DeviceRoleList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:automation.DeviceRoleConfig) + private static final automation.Automation.DeviceRoleConfig DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new automation.Automation.DeviceRoleList(); + DEFAULT_INSTANCE = new automation.Automation.DeviceRoleConfig(); } - public static automation.Automation.DeviceRoleList getDefaultInstance() { + public static automation.Automation.DeviceRoleConfig getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceRoleList parsePartialFrom( + public DeviceRoleConfig parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceRoleList(input, extensionRegistry); + return new DeviceRoleConfig(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public automation.Automation.DeviceRoleList getDefaultInstanceForType() { + public automation.Automation.DeviceRoleConfig getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceRoleStateOrBuilder extends - // @@protoc_insertion_point(interface_extends:automation.DeviceRoleState) + public interface DeviceRoleListOrBuilder extends + // @@protoc_insertion_point(interface_extends:automation.DeviceRoleList) com.google.protobuf.MessageOrBuilder { /** - * .automation.DeviceRoleId devRoleId = 1; - * @return Whether the devRoleId field is set. + * repeated .automation.DeviceRole devRole = 1; */ - boolean hasDevRoleId(); + java.util.List + getDevRoleList(); /** - * .automation.DeviceRoleId devRoleId = 1; - * @return The devRoleId. + * repeated .automation.DeviceRole devRole = 1; */ - automation.Automation.DeviceRoleId getDevRoleId(); + automation.Automation.DeviceRole getDevRole(int index); /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - automation.Automation.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder(); - + int getDevRoleCount(); /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return The enum numeric value on the wire for devRoleState. + * repeated .automation.DeviceRole devRole = 1; */ - int getDevRoleStateValue(); + java.util.List + getDevRoleOrBuilderList(); /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return The devRoleState. + * repeated .automation.DeviceRole devRole = 1; */ - automation.Automation.ZtpDeviceState getDevRoleState(); + automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder( + int index); } /** - * Protobuf type {@code automation.DeviceRoleState} + * Protobuf type {@code automation.DeviceRoleList} */ - public static final class DeviceRoleState extends + public static final class DeviceRoleList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:automation.DeviceRoleState) - DeviceRoleStateOrBuilder { + // @@protoc_insertion_point(message_implements:automation.DeviceRoleList) + DeviceRoleListOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceRoleState.newBuilder() to construct. - private DeviceRoleState(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceRoleList.newBuilder() to construct. + private DeviceRoleList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceRoleState() { - devRoleState_ = 0; + private DeviceRoleList() { + devRole_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceRoleState(); + return new DeviceRoleList(); } @java.lang.Override @@ -2669,7 +2698,7 @@ public final class Automation { getUnknownFields() { return this.unknownFields; } - private DeviceRoleState( + private DeviceRoleList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2677,6 +2706,7 @@ public final class Automation { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -2688,22 +2718,12 @@ public final class Automation { done = true; break; case 10: { - automation.Automation.DeviceRoleId.Builder subBuilder = null; - if (devRoleId_ != null) { - subBuilder = devRoleId_.toBuilder(); - } - devRoleId_ = input.readMessage(automation.Automation.DeviceRoleId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(devRoleId_); - devRoleId_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + devRole_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - - break; - } - case 16: { - int rawValue = input.readEnum(); - - devRoleState_ = rawValue; + devRole_.add( + input.readMessage(automation.Automation.DeviceRole.parser(), extensionRegistry)); break; } default: { @@ -2721,66 +2741,64 @@ public final class Automation { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + devRole_ = java.util.Collections.unmodifiableList(devRole_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_DeviceRoleState_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_DeviceRoleState_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceRoleList_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.DeviceRoleState.class, automation.Automation.DeviceRoleState.Builder.class); + automation.Automation.DeviceRoleList.class, automation.Automation.DeviceRoleList.Builder.class); } - public static final int DEVROLEID_FIELD_NUMBER = 1; - private automation.Automation.DeviceRoleId devRoleId_; + public static final int DEVROLE_FIELD_NUMBER = 1; + private java.util.List devRole_; /** - * .automation.DeviceRoleId devRoleId = 1; - * @return Whether the devRoleId field is set. + * repeated .automation.DeviceRole devRole = 1; */ @java.lang.Override - public boolean hasDevRoleId() { - return devRoleId_ != null; + public java.util.List getDevRoleList() { + return devRole_; } /** - * .automation.DeviceRoleId devRoleId = 1; - * @return The devRoleId. + * repeated .automation.DeviceRole devRole = 1; */ @java.lang.Override - public automation.Automation.DeviceRoleId getDevRoleId() { - return devRoleId_ == null ? automation.Automation.DeviceRoleId.getDefaultInstance() : devRoleId_; + public java.util.List + getDevRoleOrBuilderList() { + return devRole_; } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ @java.lang.Override - public automation.Automation.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder() { - return getDevRoleId(); + public int getDevRoleCount() { + return devRole_.size(); } - - public static final int DEVROLESTATE_FIELD_NUMBER = 2; - private int devRoleState_; /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return The enum numeric value on the wire for devRoleState. + * repeated .automation.DeviceRole devRole = 1; */ - @java.lang.Override public int getDevRoleStateValue() { - return devRoleState_; + @java.lang.Override + public automation.Automation.DeviceRole getDevRole(int index) { + return devRole_.get(index); } /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return The devRoleState. + * repeated .automation.DeviceRole devRole = 1; */ - @java.lang.Override public automation.Automation.ZtpDeviceState getDevRoleState() { - @SuppressWarnings("deprecation") - automation.Automation.ZtpDeviceState result = automation.Automation.ZtpDeviceState.valueOf(devRoleState_); - return result == null ? automation.Automation.ZtpDeviceState.UNRECOGNIZED : result; + @java.lang.Override + public automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder( + int index) { + return devRole_.get(index); } private byte memoizedIsInitialized = -1; @@ -2797,11 +2815,8 @@ public final class Automation { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (devRoleId_ != null) { - output.writeMessage(1, getDevRoleId()); - } - if (devRoleState_ != automation.Automation.ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED.getNumber()) { - output.writeEnum(2, devRoleState_); + for (int i = 0; i < devRole_.size(); i++) { + output.writeMessage(1, devRole_.get(i)); } unknownFields.writeTo(output); } @@ -2812,13 +2827,9 @@ public final class Automation { if (size != -1) return size; size = 0; - if (devRoleId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getDevRoleId()); - } - if (devRoleState_ != automation.Automation.ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED.getNumber()) { + for (int i = 0; i < devRole_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, devRoleState_); + .computeMessageSize(1, devRole_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2830,17 +2841,13 @@ public final class Automation { if (obj == this) { return true; } - if (!(obj instanceof automation.Automation.DeviceRoleState)) { + if (!(obj instanceof automation.Automation.DeviceRoleList)) { return super.equals(obj); } - automation.Automation.DeviceRoleState other = (automation.Automation.DeviceRoleState) obj; + automation.Automation.DeviceRoleList other = (automation.Automation.DeviceRoleList) obj; - if (hasDevRoleId() != other.hasDevRoleId()) return false; - if (hasDevRoleId()) { - if (!getDevRoleId() - .equals(other.getDevRoleId())) return false; - } - if (devRoleState_ != other.devRoleState_) return false; + if (!getDevRoleList() + .equals(other.getDevRoleList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2852,80 +2859,78 @@ public final class Automation { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDevRoleId()) { - hash = (37 * hash) + DEVROLEID_FIELD_NUMBER; - hash = (53 * hash) + getDevRoleId().hashCode(); + if (getDevRoleCount() > 0) { + hash = (37 * hash) + DEVROLE_FIELD_NUMBER; + hash = (53 * hash) + getDevRoleList().hashCode(); } - hash = (37 * hash) + DEVROLESTATE_FIELD_NUMBER; - hash = (53 * hash) + devRoleState_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceRoleState parseFrom(byte[] data) + public static automation.Automation.DeviceRoleList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceRoleState parseFrom(java.io.InputStream input) + public static automation.Automation.DeviceRoleList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.DeviceRoleState parseDelimitedFrom(java.io.InputStream input) + public static automation.Automation.DeviceRoleList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static automation.Automation.DeviceRoleState parseDelimitedFrom( + public static automation.Automation.DeviceRoleList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.DeviceRoleState parseFrom( + public static automation.Automation.DeviceRoleList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2938,7 +2943,7 @@ public final class Automation { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(automation.Automation.DeviceRoleState prototype) { + public static Builder newBuilder(automation.Automation.DeviceRoleList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -2954,26 +2959,26 @@ public final class Automation { return builder; } /** - * Protobuf type {@code automation.DeviceRoleState} + * Protobuf type {@code automation.DeviceRoleList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:automation.DeviceRoleState) - automation.Automation.DeviceRoleStateOrBuilder { + // @@protoc_insertion_point(builder_implements:automation.DeviceRoleList) + automation.Automation.DeviceRoleListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_DeviceRoleState_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_DeviceRoleState_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceRoleList_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.DeviceRoleState.class, automation.Automation.DeviceRoleState.Builder.class); + automation.Automation.DeviceRoleList.class, automation.Automation.DeviceRoleList.Builder.class); } - // Construct using automation.Automation.DeviceRoleState.newBuilder() + // Construct using automation.Automation.DeviceRoleList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2986,36 +2991,35 @@ public final class Automation { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getDevRoleFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (devRoleIdBuilder_ == null) { - devRoleId_ = null; + if (devRoleBuilder_ == null) { + devRole_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - devRoleId_ = null; - devRoleIdBuilder_ = null; + devRoleBuilder_.clear(); } - devRoleState_ = 0; - return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return automation.Automation.internal_static_automation_DeviceRoleState_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleList_descriptor; } @java.lang.Override - public automation.Automation.DeviceRoleState getDefaultInstanceForType() { - return automation.Automation.DeviceRoleState.getDefaultInstance(); + public automation.Automation.DeviceRoleList getDefaultInstanceForType() { + return automation.Automation.DeviceRoleList.getDefaultInstance(); } @java.lang.Override - public automation.Automation.DeviceRoleState build() { - automation.Automation.DeviceRoleState result = buildPartial(); + public automation.Automation.DeviceRoleList build() { + automation.Automation.DeviceRoleList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -3023,14 +3027,18 @@ public final class Automation { } @java.lang.Override - public automation.Automation.DeviceRoleState buildPartial() { - automation.Automation.DeviceRoleState result = new automation.Automation.DeviceRoleState(this); - if (devRoleIdBuilder_ == null) { - result.devRoleId_ = devRoleId_; + public automation.Automation.DeviceRoleList buildPartial() { + automation.Automation.DeviceRoleList result = new automation.Automation.DeviceRoleList(this); + int from_bitField0_ = bitField0_; + if (devRoleBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + devRole_ = java.util.Collections.unmodifiableList(devRole_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.devRole_ = devRole_; } else { - result.devRoleId_ = devRoleIdBuilder_.build(); + result.devRole_ = devRoleBuilder_.build(); } - result.devRoleState_ = devRoleState_; onBuilt(); return result; } @@ -3069,21 +3077,41 @@ public final class Automation { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof automation.Automation.DeviceRoleState) { - return mergeFrom((automation.Automation.DeviceRoleState)other); + if (other instanceof automation.Automation.DeviceRoleList) { + return mergeFrom((automation.Automation.DeviceRoleList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(automation.Automation.DeviceRoleState other) { - if (other == automation.Automation.DeviceRoleState.getDefaultInstance()) return this; - if (other.hasDevRoleId()) { - mergeDevRoleId(other.getDevRoleId()); - } - if (other.devRoleState_ != 0) { - setDevRoleStateValue(other.getDevRoleStateValue()); + public Builder mergeFrom(automation.Automation.DeviceRoleList other) { + if (other == automation.Automation.DeviceRoleList.getDefaultInstance()) return this; + if (devRoleBuilder_ == null) { + if (!other.devRole_.isEmpty()) { + if (devRole_.isEmpty()) { + devRole_ = other.devRole_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDevRoleIsMutable(); + devRole_.addAll(other.devRole_); + } + onChanged(); + } + } else { + if (!other.devRole_.isEmpty()) { + if (devRoleBuilder_.isEmpty()) { + devRoleBuilder_.dispose(); + devRoleBuilder_ = null; + devRole_ = other.devRole_; + bitField0_ = (bitField0_ & ~0x00000001); + devRoleBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getDevRoleFieldBuilder() : null; + } else { + devRoleBuilder_.addAllMessages(other.devRole_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -3100,11 +3128,11 @@ public final class Automation { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - automation.Automation.DeviceRoleState parsedMessage = null; + automation.Automation.DeviceRoleList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (automation.Automation.DeviceRoleState) e.getUnfinishedMessage(); + parsedMessage = (automation.Automation.DeviceRoleList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -3113,178 +3141,246 @@ public final class Automation { } return this; } + private int bitField0_; + + private java.util.List devRole_ = + java.util.Collections.emptyList(); + private void ensureDevRoleIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + devRole_ = new java.util.ArrayList(devRole_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder> devRoleBuilder_; - private automation.Automation.DeviceRoleId devRoleId_; - private com.google.protobuf.SingleFieldBuilderV3< - automation.Automation.DeviceRoleId, automation.Automation.DeviceRoleId.Builder, automation.Automation.DeviceRoleIdOrBuilder> devRoleIdBuilder_; /** - * .automation.DeviceRoleId devRoleId = 1; - * @return Whether the devRoleId field is set. + * repeated .automation.DeviceRole devRole = 1; */ - public boolean hasDevRoleId() { - return devRoleIdBuilder_ != null || devRoleId_ != null; + public java.util.List getDevRoleList() { + if (devRoleBuilder_ == null) { + return java.util.Collections.unmodifiableList(devRole_); + } else { + return devRoleBuilder_.getMessageList(); + } } /** - * .automation.DeviceRoleId devRoleId = 1; - * @return The devRoleId. + * repeated .automation.DeviceRole devRole = 1; */ - public automation.Automation.DeviceRoleId getDevRoleId() { - if (devRoleIdBuilder_ == null) { - return devRoleId_ == null ? automation.Automation.DeviceRoleId.getDefaultInstance() : devRoleId_; + public int getDevRoleCount() { + if (devRoleBuilder_ == null) { + return devRole_.size(); } else { - return devRoleIdBuilder_.getMessage(); + return devRoleBuilder_.getCount(); } } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - public Builder setDevRoleId(automation.Automation.DeviceRoleId value) { - if (devRoleIdBuilder_ == null) { + public automation.Automation.DeviceRole getDevRole(int index) { + if (devRoleBuilder_ == null) { + return devRole_.get(index); + } else { + return devRoleBuilder_.getMessage(index); + } + } + /** + * repeated .automation.DeviceRole devRole = 1; + */ + public Builder setDevRole( + int index, automation.Automation.DeviceRole value) { + if (devRoleBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - devRoleId_ = value; + ensureDevRoleIsMutable(); + devRole_.set(index, value); onChanged(); } else { - devRoleIdBuilder_.setMessage(value); + devRoleBuilder_.setMessage(index, value); } - return this; } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - public Builder setDevRoleId( - automation.Automation.DeviceRoleId.Builder builderForValue) { - if (devRoleIdBuilder_ == null) { - devRoleId_ = builderForValue.build(); + public Builder setDevRole( + int index, automation.Automation.DeviceRole.Builder builderForValue) { + if (devRoleBuilder_ == null) { + ensureDevRoleIsMutable(); + devRole_.set(index, builderForValue.build()); onChanged(); } else { - devRoleIdBuilder_.setMessage(builderForValue.build()); + devRoleBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - public Builder mergeDevRoleId(automation.Automation.DeviceRoleId value) { - if (devRoleIdBuilder_ == null) { - if (devRoleId_ != null) { - devRoleId_ = - automation.Automation.DeviceRoleId.newBuilder(devRoleId_).mergeFrom(value).buildPartial(); - } else { - devRoleId_ = value; + public Builder addDevRole(automation.Automation.DeviceRole value) { + if (devRoleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureDevRoleIsMutable(); + devRole_.add(value); onChanged(); } else { - devRoleIdBuilder_.mergeFrom(value); + devRoleBuilder_.addMessage(value); } - return this; } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - public Builder clearDevRoleId() { - if (devRoleIdBuilder_ == null) { - devRoleId_ = null; + public Builder addDevRole( + int index, automation.Automation.DeviceRole value) { + if (devRoleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDevRoleIsMutable(); + devRole_.add(index, value); onChanged(); } else { - devRoleId_ = null; - devRoleIdBuilder_ = null; + devRoleBuilder_.addMessage(index, value); } - return this; } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - public automation.Automation.DeviceRoleId.Builder getDevRoleIdBuilder() { - - onChanged(); - return getDevRoleIdFieldBuilder().getBuilder(); - } + public Builder addDevRole( + automation.Automation.DeviceRole.Builder builderForValue) { + if (devRoleBuilder_ == null) { + ensureDevRoleIsMutable(); + devRole_.add(builderForValue.build()); + onChanged(); + } else { + devRoleBuilder_.addMessage(builderForValue.build()); + } + return this; + } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - public automation.Automation.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder() { - if (devRoleIdBuilder_ != null) { - return devRoleIdBuilder_.getMessageOrBuilder(); + public Builder addDevRole( + int index, automation.Automation.DeviceRole.Builder builderForValue) { + if (devRoleBuilder_ == null) { + ensureDevRoleIsMutable(); + devRole_.add(index, builderForValue.build()); + onChanged(); } else { - return devRoleId_ == null ? - automation.Automation.DeviceRoleId.getDefaultInstance() : devRoleId_; + devRoleBuilder_.addMessage(index, builderForValue.build()); } + return this; } /** - * .automation.DeviceRoleId devRoleId = 1; + * repeated .automation.DeviceRole devRole = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - automation.Automation.DeviceRoleId, automation.Automation.DeviceRoleId.Builder, automation.Automation.DeviceRoleIdOrBuilder> - getDevRoleIdFieldBuilder() { - if (devRoleIdBuilder_ == null) { - devRoleIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - automation.Automation.DeviceRoleId, automation.Automation.DeviceRoleId.Builder, automation.Automation.DeviceRoleIdOrBuilder>( - getDevRoleId(), - getParentForChildren(), - isClean()); - devRoleId_ = null; + public Builder addAllDevRole( + java.lang.Iterable values) { + if (devRoleBuilder_ == null) { + ensureDevRoleIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, devRole_); + onChanged(); + } else { + devRoleBuilder_.addAllMessages(values); } - return devRoleIdBuilder_; + return this; } - - private int devRoleState_ = 0; /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return The enum numeric value on the wire for devRoleState. + * repeated .automation.DeviceRole devRole = 1; */ - @java.lang.Override public int getDevRoleStateValue() { - return devRoleState_; + public Builder clearDevRole() { + if (devRoleBuilder_ == null) { + devRole_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + devRoleBuilder_.clear(); + } + return this; } /** - * .automation.ZtpDeviceState devRoleState = 2; - * @param value The enum numeric value on the wire for devRoleState to set. - * @return This builder for chaining. + * repeated .automation.DeviceRole devRole = 1; */ - public Builder setDevRoleStateValue(int value) { - - devRoleState_ = value; - onChanged(); + public Builder removeDevRole(int index) { + if (devRoleBuilder_ == null) { + ensureDevRoleIsMutable(); + devRole_.remove(index); + onChanged(); + } else { + devRoleBuilder_.remove(index); + } return this; } /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return The devRoleState. + * repeated .automation.DeviceRole devRole = 1; */ - @java.lang.Override - public automation.Automation.ZtpDeviceState getDevRoleState() { - @SuppressWarnings("deprecation") - automation.Automation.ZtpDeviceState result = automation.Automation.ZtpDeviceState.valueOf(devRoleState_); - return result == null ? automation.Automation.ZtpDeviceState.UNRECOGNIZED : result; + public automation.Automation.DeviceRole.Builder getDevRoleBuilder( + int index) { + return getDevRoleFieldBuilder().getBuilder(index); } /** - * .automation.ZtpDeviceState devRoleState = 2; - * @param value The devRoleState to set. - * @return This builder for chaining. + * repeated .automation.DeviceRole devRole = 1; */ - public Builder setDevRoleState(automation.Automation.ZtpDeviceState value) { - if (value == null) { - throw new NullPointerException(); + public automation.Automation.DeviceRoleOrBuilder getDevRoleOrBuilder( + int index) { + if (devRoleBuilder_ == null) { + return devRole_.get(index); } else { + return devRoleBuilder_.getMessageOrBuilder(index); } - - devRoleState_ = value.getNumber(); - onChanged(); - return this; } /** - * .automation.ZtpDeviceState devRoleState = 2; - * @return This builder for chaining. + * repeated .automation.DeviceRole devRole = 1; */ - public Builder clearDevRoleState() { - - devRoleState_ = 0; - onChanged(); - return this; + public java.util.List + getDevRoleOrBuilderList() { + if (devRoleBuilder_ != null) { + return devRoleBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(devRole_); + } + } + /** + * repeated .automation.DeviceRole devRole = 1; + */ + public automation.Automation.DeviceRole.Builder addDevRoleBuilder() { + return getDevRoleFieldBuilder().addBuilder( + automation.Automation.DeviceRole.getDefaultInstance()); + } + /** + * repeated .automation.DeviceRole devRole = 1; + */ + public automation.Automation.DeviceRole.Builder addDevRoleBuilder( + int index) { + return getDevRoleFieldBuilder().addBuilder( + index, automation.Automation.DeviceRole.getDefaultInstance()); + } + /** + * repeated .automation.DeviceRole devRole = 1; + */ + public java.util.List + getDevRoleBuilderList() { + return getDevRoleFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder> + getDevRoleFieldBuilder() { + if (devRoleBuilder_ == null) { + devRoleBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + automation.Automation.DeviceRole, automation.Automation.DeviceRole.Builder, automation.Automation.DeviceRoleOrBuilder>( + devRole_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + devRole_ = null; + } + return devRoleBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -3299,96 +3395,97 @@ public final class Automation { } - // @@protoc_insertion_point(builder_scope:automation.DeviceRoleState) + // @@protoc_insertion_point(builder_scope:automation.DeviceRoleList) } - // @@protoc_insertion_point(class_scope:automation.DeviceRoleState) - private static final automation.Automation.DeviceRoleState DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:automation.DeviceRoleList) + private static final automation.Automation.DeviceRoleList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new automation.Automation.DeviceRoleState(); + DEFAULT_INSTANCE = new automation.Automation.DeviceRoleList(); } - public static automation.Automation.DeviceRoleState getDefaultInstance() { + public static automation.Automation.DeviceRoleList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceRoleState parsePartialFrom( + public DeviceRoleList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceRoleState(input, extensionRegistry); + return new DeviceRoleList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public automation.Automation.DeviceRoleState getDefaultInstanceForType() { + public automation.Automation.DeviceRoleList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceDeletionResultOrBuilder extends - // @@protoc_insertion_point(interface_extends:automation.DeviceDeletionResult) + public interface DeviceRoleStateOrBuilder extends + // @@protoc_insertion_point(interface_extends:automation.DeviceRoleState) com.google.protobuf.MessageOrBuilder { /** - * repeated string deleted = 1; - * @return A list containing the deleted. + * .automation.DeviceRoleId devRoleId = 1; + * @return Whether the devRoleId field is set. */ - java.util.List - getDeletedList(); + boolean hasDevRoleId(); /** - * repeated string deleted = 1; - * @return The count of deleted. + * .automation.DeviceRoleId devRoleId = 1; + * @return The devRoleId. */ - int getDeletedCount(); + automation.Automation.DeviceRoleId getDevRoleId(); /** - * repeated string deleted = 1; - * @param index The index of the element to return. - * @return The deleted at the given index. + * .automation.DeviceRoleId devRoleId = 1; */ - java.lang.String getDeleted(int index); + automation.Automation.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder(); + /** - * repeated string deleted = 1; - * @param index The index of the value to return. - * @return The bytes of the deleted at the given index. + * .automation.ZtpDeviceState devRoleState = 2; + * @return The enum numeric value on the wire for devRoleState. */ - com.google.protobuf.ByteString - getDeletedBytes(int index); + int getDevRoleStateValue(); + /** + * .automation.ZtpDeviceState devRoleState = 2; + * @return The devRoleState. + */ + automation.Automation.ZtpDeviceState getDevRoleState(); } /** - * Protobuf type {@code automation.DeviceDeletionResult} + * Protobuf type {@code automation.DeviceRoleState} */ - public static final class DeviceDeletionResult extends + public static final class DeviceRoleState extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:automation.DeviceDeletionResult) - DeviceDeletionResultOrBuilder { + // @@protoc_insertion_point(message_implements:automation.DeviceRoleState) + DeviceRoleStateOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceDeletionResult.newBuilder() to construct. - private DeviceDeletionResult(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceRoleState.newBuilder() to construct. + private DeviceRoleState(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceDeletionResult() { - deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private DeviceRoleState() { + devRoleState_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceDeletionResult(); + return new DeviceRoleState(); } @java.lang.Override @@ -3396,7 +3493,7 @@ public final class Automation { getUnknownFields() { return this.unknownFields; } - private DeviceDeletionResult( + private DeviceRoleState( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -3404,7 +3501,6 @@ public final class Automation { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -3416,12 +3512,22 @@ public final class Automation { done = true; break; case 10: { - java.lang.String s = input.readStringRequireUtf8(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - deleted_ = new com.google.protobuf.LazyStringArrayList(); - mutable_bitField0_ |= 0x00000001; + automation.Automation.DeviceRoleId.Builder subBuilder = null; + if (devRoleId_ != null) { + subBuilder = devRoleId_.toBuilder(); } - deleted_.add(s); + devRoleId_ = input.readMessage(automation.Automation.DeviceRoleId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(devRoleId_); + devRoleId_ = subBuilder.buildPartial(); + } + + break; + } + case 16: { + int rawValue = input.readEnum(); + + devRoleState_ = rawValue; break; } default: { @@ -3437,61 +3543,68 @@ public final class Automation { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - deleted_ = deleted_.getUnmodifiableView(); - } + e).setUnfinishedMessage(this); + } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_DeviceDeletionResult_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleState_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_DeviceDeletionResult_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceRoleState_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.DeviceDeletionResult.class, automation.Automation.DeviceDeletionResult.Builder.class); + automation.Automation.DeviceRoleState.class, automation.Automation.DeviceRoleState.Builder.class); } - public static final int DELETED_FIELD_NUMBER = 1; - private com.google.protobuf.LazyStringList deleted_; + public static final int DEVROLEID_FIELD_NUMBER = 1; + private automation.Automation.DeviceRoleId devRoleId_; /** - * repeated string deleted = 1; - * @return A list containing the deleted. + * .automation.DeviceRoleId devRoleId = 1; + * @return Whether the devRoleId field is set. */ - public com.google.protobuf.ProtocolStringList - getDeletedList() { - return deleted_; + @java.lang.Override + public boolean hasDevRoleId() { + return devRoleId_ != null; } /** - * repeated string deleted = 1; - * @return The count of deleted. + * .automation.DeviceRoleId devRoleId = 1; + * @return The devRoleId. */ - public int getDeletedCount() { - return deleted_.size(); + @java.lang.Override + public automation.Automation.DeviceRoleId getDevRoleId() { + return devRoleId_ == null ? automation.Automation.DeviceRoleId.getDefaultInstance() : devRoleId_; } /** - * repeated string deleted = 1; - * @param index The index of the element to return. - * @return The deleted at the given index. + * .automation.DeviceRoleId devRoleId = 1; */ - public java.lang.String getDeleted(int index) { - return deleted_.get(index); + @java.lang.Override + public automation.Automation.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder() { + return getDevRoleId(); } + + public static final int DEVROLESTATE_FIELD_NUMBER = 2; + private int devRoleState_; /** - * repeated string deleted = 1; - * @param index The index of the value to return. - * @return The bytes of the deleted at the given index. + * .automation.ZtpDeviceState devRoleState = 2; + * @return The enum numeric value on the wire for devRoleState. */ - public com.google.protobuf.ByteString - getDeletedBytes(int index) { - return deleted_.getByteString(index); + @java.lang.Override public int getDevRoleStateValue() { + return devRoleState_; + } + /** + * .automation.ZtpDeviceState devRoleState = 2; + * @return The devRoleState. + */ + @java.lang.Override public automation.Automation.ZtpDeviceState getDevRoleState() { + @SuppressWarnings("deprecation") + automation.Automation.ZtpDeviceState result = automation.Automation.ZtpDeviceState.valueOf(devRoleState_); + return result == null ? automation.Automation.ZtpDeviceState.UNRECOGNIZED : result; } private byte memoizedIsInitialized = -1; @@ -3508,8 +3621,11 @@ public final class Automation { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < deleted_.size(); i++) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, deleted_.getRaw(i)); + if (devRoleId_ != null) { + output.writeMessage(1, getDevRoleId()); + } + if (devRoleState_ != automation.Automation.ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED.getNumber()) { + output.writeEnum(2, devRoleState_); } unknownFields.writeTo(output); } @@ -3520,13 +3636,13 @@ public final class Automation { if (size != -1) return size; size = 0; - { - int dataSize = 0; - for (int i = 0; i < deleted_.size(); i++) { - dataSize += computeStringSizeNoTag(deleted_.getRaw(i)); - } - size += dataSize; - size += 1 * getDeletedList().size(); + if (devRoleId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getDevRoleId()); + } + if (devRoleState_ != automation.Automation.ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, devRoleState_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -3538,13 +3654,17 @@ public final class Automation { if (obj == this) { return true; } - if (!(obj instanceof automation.Automation.DeviceDeletionResult)) { + if (!(obj instanceof automation.Automation.DeviceRoleState)) { return super.equals(obj); } - automation.Automation.DeviceDeletionResult other = (automation.Automation.DeviceDeletionResult) obj; + automation.Automation.DeviceRoleState other = (automation.Automation.DeviceRoleState) obj; - if (!getDeletedList() - .equals(other.getDeletedList())) return false; + if (hasDevRoleId() != other.hasDevRoleId()) return false; + if (hasDevRoleId()) { + if (!getDevRoleId() + .equals(other.getDevRoleId())) return false; + } + if (devRoleState_ != other.devRoleState_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3556,78 +3676,80 @@ public final class Automation { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getDeletedCount() > 0) { - hash = (37 * hash) + DELETED_FIELD_NUMBER; - hash = (53 * hash) + getDeletedList().hashCode(); + if (hasDevRoleId()) { + hash = (37 * hash) + DEVROLEID_FIELD_NUMBER; + hash = (53 * hash) + getDevRoleId().hashCode(); } + hash = (37 * hash) + DEVROLESTATE_FIELD_NUMBER; + hash = (53 * hash) + devRoleState_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceDeletionResult parseFrom(byte[] data) + public static automation.Automation.DeviceRoleState parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.DeviceDeletionResult parseFrom(java.io.InputStream input) + public static automation.Automation.DeviceRoleState parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.DeviceDeletionResult parseDelimitedFrom(java.io.InputStream input) + public static automation.Automation.DeviceRoleState parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static automation.Automation.DeviceDeletionResult parseDelimitedFrom( + public static automation.Automation.DeviceRoleState parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.DeviceDeletionResult parseFrom( + public static automation.Automation.DeviceRoleState parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3640,7 +3762,7 @@ public final class Automation { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(automation.Automation.DeviceDeletionResult prototype) { + public static Builder newBuilder(automation.Automation.DeviceRoleState prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -3656,26 +3778,26 @@ public final class Automation { return builder; } /** - * Protobuf type {@code automation.DeviceDeletionResult} + * Protobuf type {@code automation.DeviceRoleState} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:automation.DeviceDeletionResult) - automation.Automation.DeviceDeletionResultOrBuilder { + // @@protoc_insertion_point(builder_implements:automation.DeviceRoleState) + automation.Automation.DeviceRoleStateOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_DeviceDeletionResult_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleState_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_DeviceDeletionResult_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceRoleState_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.DeviceDeletionResult.class, automation.Automation.DeviceDeletionResult.Builder.class); + automation.Automation.DeviceRoleState.class, automation.Automation.DeviceRoleState.Builder.class); } - // Construct using automation.Automation.DeviceDeletionResult.newBuilder() + // Construct using automation.Automation.DeviceRoleState.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -3693,25 +3815,31 @@ public final class Automation { @java.lang.Override public Builder clear() { super.clear(); - deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); + if (devRoleIdBuilder_ == null) { + devRoleId_ = null; + } else { + devRoleId_ = null; + devRoleIdBuilder_ = null; + } + devRoleState_ = 0; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return automation.Automation.internal_static_automation_DeviceDeletionResult_descriptor; + return automation.Automation.internal_static_automation_DeviceRoleState_descriptor; } @java.lang.Override - public automation.Automation.DeviceDeletionResult getDefaultInstanceForType() { - return automation.Automation.DeviceDeletionResult.getDefaultInstance(); + public automation.Automation.DeviceRoleState getDefaultInstanceForType() { + return automation.Automation.DeviceRoleState.getDefaultInstance(); } @java.lang.Override - public automation.Automation.DeviceDeletionResult build() { - automation.Automation.DeviceDeletionResult result = buildPartial(); + public automation.Automation.DeviceRoleState build() { + automation.Automation.DeviceRoleState result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -3719,14 +3847,14 @@ public final class Automation { } @java.lang.Override - public automation.Automation.DeviceDeletionResult buildPartial() { - automation.Automation.DeviceDeletionResult result = new automation.Automation.DeviceDeletionResult(this); - int from_bitField0_ = bitField0_; - if (((bitField0_ & 0x00000001) != 0)) { - deleted_ = deleted_.getUnmodifiableView(); - bitField0_ = (bitField0_ & ~0x00000001); + public automation.Automation.DeviceRoleState buildPartial() { + automation.Automation.DeviceRoleState result = new automation.Automation.DeviceRoleState(this); + if (devRoleIdBuilder_ == null) { + result.devRoleId_ = devRoleId_; + } else { + result.devRoleId_ = devRoleIdBuilder_.build(); } - result.deleted_ = deleted_; + result.devRoleState_ = devRoleState_; onBuilt(); return result; } @@ -3765,162 +3893,220 @@ public final class Automation { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof automation.Automation.DeviceDeletionResult) { - return mergeFrom((automation.Automation.DeviceDeletionResult)other); + if (other instanceof automation.Automation.DeviceRoleState) { + return mergeFrom((automation.Automation.DeviceRoleState)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(automation.Automation.DeviceDeletionResult other) { - if (other == automation.Automation.DeviceDeletionResult.getDefaultInstance()) return this; - if (!other.deleted_.isEmpty()) { - if (deleted_.isEmpty()) { - deleted_ = other.deleted_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureDeletedIsMutable(); - deleted_.addAll(other.deleted_); + public Builder mergeFrom(automation.Automation.DeviceRoleState other) { + if (other == automation.Automation.DeviceRoleState.getDefaultInstance()) return this; + if (other.hasDevRoleId()) { + mergeDevRoleId(other.getDevRoleId()); + } + if (other.devRoleState_ != 0) { + setDevRoleStateValue(other.getDevRoleStateValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + automation.Automation.DeviceRoleState parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (automation.Automation.DeviceRoleState) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private automation.Automation.DeviceRoleId devRoleId_; + private com.google.protobuf.SingleFieldBuilderV3< + automation.Automation.DeviceRoleId, automation.Automation.DeviceRoleId.Builder, automation.Automation.DeviceRoleIdOrBuilder> devRoleIdBuilder_; + /** + * .automation.DeviceRoleId devRoleId = 1; + * @return Whether the devRoleId field is set. + */ + public boolean hasDevRoleId() { + return devRoleIdBuilder_ != null || devRoleId_ != null; + } + /** + * .automation.DeviceRoleId devRoleId = 1; + * @return The devRoleId. + */ + public automation.Automation.DeviceRoleId getDevRoleId() { + if (devRoleIdBuilder_ == null) { + return devRoleId_ == null ? automation.Automation.DeviceRoleId.getDefaultInstance() : devRoleId_; + } else { + return devRoleIdBuilder_.getMessage(); + } + } + /** + * .automation.DeviceRoleId devRoleId = 1; + */ + public Builder setDevRoleId(automation.Automation.DeviceRoleId value) { + if (devRoleIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + devRoleId_ = value; onChanged(); + } else { + devRoleIdBuilder_.setMessage(value); } - this.mergeUnknownFields(other.unknownFields); - onChanged(); + return this; } + /** + * .automation.DeviceRoleId devRoleId = 1; + */ + public Builder setDevRoleId( + automation.Automation.DeviceRoleId.Builder builderForValue) { + if (devRoleIdBuilder_ == null) { + devRoleId_ = builderForValue.build(); + onChanged(); + } else { + devRoleIdBuilder_.setMessage(builderForValue.build()); + } - @java.lang.Override - public final boolean isInitialized() { - return true; + return this; } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - automation.Automation.DeviceDeletionResult parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (automation.Automation.DeviceDeletionResult) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); + /** + * .automation.DeviceRoleId devRoleId = 1; + */ + public Builder mergeDevRoleId(automation.Automation.DeviceRoleId value) { + if (devRoleIdBuilder_ == null) { + if (devRoleId_ != null) { + devRoleId_ = + automation.Automation.DeviceRoleId.newBuilder(devRoleId_).mergeFrom(value).buildPartial(); + } else { + devRoleId_ = value; } + onChanged(); + } else { + devRoleIdBuilder_.mergeFrom(value); } - return this; - } - private int bitField0_; - private com.google.protobuf.LazyStringList deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; - private void ensureDeletedIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - deleted_ = new com.google.protobuf.LazyStringArrayList(deleted_); - bitField0_ |= 0x00000001; - } + return this; } /** - * repeated string deleted = 1; - * @return A list containing the deleted. + * .automation.DeviceRoleId devRoleId = 1; */ - public com.google.protobuf.ProtocolStringList - getDeletedList() { - return deleted_.getUnmodifiableView(); + public Builder clearDevRoleId() { + if (devRoleIdBuilder_ == null) { + devRoleId_ = null; + onChanged(); + } else { + devRoleId_ = null; + devRoleIdBuilder_ = null; + } + + return this; } /** - * repeated string deleted = 1; - * @return The count of deleted. + * .automation.DeviceRoleId devRoleId = 1; */ - public int getDeletedCount() { - return deleted_.size(); + public automation.Automation.DeviceRoleId.Builder getDevRoleIdBuilder() { + + onChanged(); + return getDevRoleIdFieldBuilder().getBuilder(); } /** - * repeated string deleted = 1; - * @param index The index of the element to return. - * @return The deleted at the given index. + * .automation.DeviceRoleId devRoleId = 1; */ - public java.lang.String getDeleted(int index) { - return deleted_.get(index); + public automation.Automation.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder() { + if (devRoleIdBuilder_ != null) { + return devRoleIdBuilder_.getMessageOrBuilder(); + } else { + return devRoleId_ == null ? + automation.Automation.DeviceRoleId.getDefaultInstance() : devRoleId_; + } } /** - * repeated string deleted = 1; - * @param index The index of the value to return. - * @return The bytes of the deleted at the given index. + * .automation.DeviceRoleId devRoleId = 1; */ - public com.google.protobuf.ByteString - getDeletedBytes(int index) { - return deleted_.getByteString(index); + private com.google.protobuf.SingleFieldBuilderV3< + automation.Automation.DeviceRoleId, automation.Automation.DeviceRoleId.Builder, automation.Automation.DeviceRoleIdOrBuilder> + getDevRoleIdFieldBuilder() { + if (devRoleIdBuilder_ == null) { + devRoleIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + automation.Automation.DeviceRoleId, automation.Automation.DeviceRoleId.Builder, automation.Automation.DeviceRoleIdOrBuilder>( + getDevRoleId(), + getParentForChildren(), + isClean()); + devRoleId_ = null; + } + return devRoleIdBuilder_; } + + private int devRoleState_ = 0; /** - * repeated string deleted = 1; - * @param index The index to set the value at. - * @param value The deleted to set. - * @return This builder for chaining. + * .automation.ZtpDeviceState devRoleState = 2; + * @return The enum numeric value on the wire for devRoleState. */ - public Builder setDeleted( - int index, java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureDeletedIsMutable(); - deleted_.set(index, value); - onChanged(); - return this; + @java.lang.Override public int getDevRoleStateValue() { + return devRoleState_; } /** - * repeated string deleted = 1; - * @param value The deleted to add. + * .automation.ZtpDeviceState devRoleState = 2; + * @param value The enum numeric value on the wire for devRoleState to set. * @return This builder for chaining. */ - public Builder addDeleted( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureDeletedIsMutable(); - deleted_.add(value); + public Builder setDevRoleStateValue(int value) { + + devRoleState_ = value; onChanged(); return this; } /** - * repeated string deleted = 1; - * @param values The deleted to add. - * @return This builder for chaining. + * .automation.ZtpDeviceState devRoleState = 2; + * @return The devRoleState. */ - public Builder addAllDeleted( - java.lang.Iterable values) { - ensureDeletedIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, deleted_); - onChanged(); - return this; + @java.lang.Override + public automation.Automation.ZtpDeviceState getDevRoleState() { + @SuppressWarnings("deprecation") + automation.Automation.ZtpDeviceState result = automation.Automation.ZtpDeviceState.valueOf(devRoleState_); + return result == null ? automation.Automation.ZtpDeviceState.UNRECOGNIZED : result; } /** - * repeated string deleted = 1; + * .automation.ZtpDeviceState devRoleState = 2; + * @param value The devRoleState to set. * @return This builder for chaining. */ - public Builder clearDeleted() { - deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setDevRoleState(automation.Automation.ZtpDeviceState value) { + if (value == null) { + throw new NullPointerException(); + } + + devRoleState_ = value.getNumber(); onChanged(); return this; } /** - * repeated string deleted = 1; - * @param value The bytes of the deleted to add. + * .automation.ZtpDeviceState devRoleState = 2; * @return This builder for chaining. */ - public Builder addDeletedBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - ensureDeletedIsMutable(); - deleted_.add(value); + public Builder clearDevRoleState() { + + devRoleState_ = 0; onChanged(); return this; } @@ -3937,70 +4123,96 @@ public final class Automation { } - // @@protoc_insertion_point(builder_scope:automation.DeviceDeletionResult) + // @@protoc_insertion_point(builder_scope:automation.DeviceRoleState) } - // @@protoc_insertion_point(class_scope:automation.DeviceDeletionResult) - private static final automation.Automation.DeviceDeletionResult DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:automation.DeviceRoleState) + private static final automation.Automation.DeviceRoleState DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new automation.Automation.DeviceDeletionResult(); + DEFAULT_INSTANCE = new automation.Automation.DeviceRoleState(); } - public static automation.Automation.DeviceDeletionResult getDefaultInstance() { + public static automation.Automation.DeviceRoleState getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceDeletionResult parsePartialFrom( + public DeviceRoleState parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceDeletionResult(input, extensionRegistry); + return new DeviceRoleState(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public automation.Automation.DeviceDeletionResult getDefaultInstanceForType() { + public automation.Automation.DeviceRoleState getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface EmptyOrBuilder extends - // @@protoc_insertion_point(interface_extends:automation.Empty) + public interface DeviceDeletionResultOrBuilder extends + // @@protoc_insertion_point(interface_extends:automation.DeviceDeletionResult) com.google.protobuf.MessageOrBuilder { + + /** + * repeated string deleted = 1; + * @return A list containing the deleted. + */ + java.util.List + getDeletedList(); + /** + * repeated string deleted = 1; + * @return The count of deleted. + */ + int getDeletedCount(); + /** + * repeated string deleted = 1; + * @param index The index of the element to return. + * @return The deleted at the given index. + */ + java.lang.String getDeleted(int index); + /** + * repeated string deleted = 1; + * @param index The index of the value to return. + * @return The bytes of the deleted at the given index. + */ + com.google.protobuf.ByteString + getDeletedBytes(int index); } /** - * Protobuf type {@code automation.Empty} + * Protobuf type {@code automation.DeviceDeletionResult} */ - public static final class Empty extends + public static final class DeviceDeletionResult extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:automation.Empty) - EmptyOrBuilder { + // @@protoc_insertion_point(message_implements:automation.DeviceDeletionResult) + DeviceDeletionResultOrBuilder { private static final long serialVersionUID = 0L; - // Use Empty.newBuilder() to construct. - private Empty(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceDeletionResult.newBuilder() to construct. + private DeviceDeletionResult(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Empty() { + private DeviceDeletionResult() { + deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Empty(); + return new DeviceDeletionResult(); } @java.lang.Override @@ -4008,7 +4220,7 @@ public final class Automation { getUnknownFields() { return this.unknownFields; } - private Empty( + private DeviceDeletionResult( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -4016,6 +4228,7 @@ public final class Automation { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -4026,6 +4239,15 @@ public final class Automation { case 0: done = true; break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deleted_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + deleted_.add(s); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -4041,21 +4263,59 @@ public final class Automation { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + deleted_ = deleted_.getUnmodifiableView(); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_Empty_descriptor; + return automation.Automation.internal_static_automation_DeviceDeletionResult_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_Empty_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceDeletionResult_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.Empty.class, automation.Automation.Empty.Builder.class); + automation.Automation.DeviceDeletionResult.class, automation.Automation.DeviceDeletionResult.Builder.class); + } + + public static final int DELETED_FIELD_NUMBER = 1; + private com.google.protobuf.LazyStringList deleted_; + /** + * repeated string deleted = 1; + * @return A list containing the deleted. + */ + public com.google.protobuf.ProtocolStringList + getDeletedList() { + return deleted_; + } + /** + * repeated string deleted = 1; + * @return The count of deleted. + */ + public int getDeletedCount() { + return deleted_.size(); + } + /** + * repeated string deleted = 1; + * @param index The index of the element to return. + * @return The deleted at the given index. + */ + public java.lang.String getDeleted(int index) { + return deleted_.get(index); + } + /** + * repeated string deleted = 1; + * @param index The index of the value to return. + * @return The bytes of the deleted at the given index. + */ + public com.google.protobuf.ByteString + getDeletedBytes(int index) { + return deleted_.getByteString(index); } private byte memoizedIsInitialized = -1; @@ -4072,6 +4332,9 @@ public final class Automation { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < deleted_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, deleted_.getRaw(i)); + } unknownFields.writeTo(output); } @@ -4081,6 +4344,14 @@ public final class Automation { if (size != -1) return size; size = 0; + { + int dataSize = 0; + for (int i = 0; i < deleted_.size(); i++) { + dataSize += computeStringSizeNoTag(deleted_.getRaw(i)); + } + size += dataSize; + size += 1 * getDeletedList().size(); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -4091,11 +4362,13 @@ public final class Automation { if (obj == this) { return true; } - if (!(obj instanceof automation.Automation.Empty)) { + if (!(obj instanceof automation.Automation.DeviceDeletionResult)) { return super.equals(obj); } - automation.Automation.Empty other = (automation.Automation.Empty) obj; + automation.Automation.DeviceDeletionResult other = (automation.Automation.DeviceDeletionResult) obj; + if (!getDeletedList() + .equals(other.getDeletedList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4107,74 +4380,78 @@ public final class Automation { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); + if (getDeletedCount() > 0) { + hash = (37 * hash) + DELETED_FIELD_NUMBER; + hash = (53 * hash) + getDeletedList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.Empty parseFrom(byte[] data) + public static automation.Automation.DeviceDeletionResult parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static automation.Automation.Empty parseFrom(java.io.InputStream input) + public static automation.Automation.DeviceDeletionResult parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.Empty parseDelimitedFrom(java.io.InputStream input) + public static automation.Automation.DeviceDeletionResult parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static automation.Automation.Empty parseDelimitedFrom( + public static automation.Automation.DeviceDeletionResult parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static automation.Automation.Empty parseFrom( + public static automation.Automation.DeviceDeletionResult parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -4187,7 +4464,7 @@ public final class Automation { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(automation.Automation.Empty prototype) { + public static Builder newBuilder(automation.Automation.DeviceDeletionResult prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -4203,26 +4480,26 @@ public final class Automation { return builder; } /** - * Protobuf type {@code automation.Empty} + * Protobuf type {@code automation.DeviceDeletionResult} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:automation.Empty) - automation.Automation.EmptyOrBuilder { + // @@protoc_insertion_point(builder_implements:automation.DeviceDeletionResult) + automation.Automation.DeviceDeletionResultOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return automation.Automation.internal_static_automation_Empty_descriptor; + return automation.Automation.internal_static_automation_DeviceDeletionResult_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return automation.Automation.internal_static_automation_Empty_fieldAccessorTable + return automation.Automation.internal_static_automation_DeviceDeletionResult_fieldAccessorTable .ensureFieldAccessorsInitialized( - automation.Automation.Empty.class, automation.Automation.Empty.Builder.class); + automation.Automation.DeviceDeletionResult.class, automation.Automation.DeviceDeletionResult.Builder.class); } - // Construct using automation.Automation.Empty.newBuilder() + // Construct using automation.Automation.DeviceDeletionResult.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -4240,23 +4517,25 @@ public final class Automation { @java.lang.Override public Builder clear() { super.clear(); + deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return automation.Automation.internal_static_automation_Empty_descriptor; + return automation.Automation.internal_static_automation_DeviceDeletionResult_descriptor; } @java.lang.Override - public automation.Automation.Empty getDefaultInstanceForType() { - return automation.Automation.Empty.getDefaultInstance(); + public automation.Automation.DeviceDeletionResult getDefaultInstanceForType() { + return automation.Automation.DeviceDeletionResult.getDefaultInstance(); } @java.lang.Override - public automation.Automation.Empty build() { - automation.Automation.Empty result = buildPartial(); + public automation.Automation.DeviceDeletionResult build() { + automation.Automation.DeviceDeletionResult result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -4264,8 +4543,14 @@ public final class Automation { } @java.lang.Override - public automation.Automation.Empty buildPartial() { - automation.Automation.Empty result = new automation.Automation.Empty(this); + public automation.Automation.DeviceDeletionResult buildPartial() { + automation.Automation.DeviceDeletionResult result = new automation.Automation.DeviceDeletionResult(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + deleted_ = deleted_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.deleted_ = deleted_; onBuilt(); return result; } @@ -4304,16 +4589,26 @@ public final class Automation { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof automation.Automation.Empty) { - return mergeFrom((automation.Automation.Empty)other); + if (other instanceof automation.Automation.DeviceDeletionResult) { + return mergeFrom((automation.Automation.DeviceDeletionResult)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(automation.Automation.Empty other) { - if (other == automation.Automation.Empty.getDefaultInstance()) return this; + public Builder mergeFrom(automation.Automation.DeviceDeletionResult other) { + if (other == automation.Automation.DeviceDeletionResult.getDefaultInstance()) return this; + if (!other.deleted_.isEmpty()) { + if (deleted_.isEmpty()) { + deleted_ = other.deleted_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDeletedIsMutable(); + deleted_.addAll(other.deleted_); + } + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -4329,11 +4624,11 @@ public final class Automation { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - automation.Automation.Empty parsedMessage = null; + automation.Automation.DeviceDeletionResult parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (automation.Automation.Empty) e.getUnfinishedMessage(); + parsedMessage = (automation.Automation.DeviceDeletionResult) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -4342,6 +4637,117 @@ public final class Automation { } return this; } + private int bitField0_; + + private com.google.protobuf.LazyStringList deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureDeletedIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + deleted_ = new com.google.protobuf.LazyStringArrayList(deleted_); + bitField0_ |= 0x00000001; + } + } + /** + * repeated string deleted = 1; + * @return A list containing the deleted. + */ + public com.google.protobuf.ProtocolStringList + getDeletedList() { + return deleted_.getUnmodifiableView(); + } + /** + * repeated string deleted = 1; + * @return The count of deleted. + */ + public int getDeletedCount() { + return deleted_.size(); + } + /** + * repeated string deleted = 1; + * @param index The index of the element to return. + * @return The deleted at the given index. + */ + public java.lang.String getDeleted(int index) { + return deleted_.get(index); + } + /** + * repeated string deleted = 1; + * @param index The index of the value to return. + * @return The bytes of the deleted at the given index. + */ + public com.google.protobuf.ByteString + getDeletedBytes(int index) { + return deleted_.getByteString(index); + } + /** + * repeated string deleted = 1; + * @param index The index to set the value at. + * @param value The deleted to set. + * @return This builder for chaining. + */ + public Builder setDeleted( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeletedIsMutable(); + deleted_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string deleted = 1; + * @param value The deleted to add. + * @return This builder for chaining. + */ + public Builder addDeleted( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeletedIsMutable(); + deleted_.add(value); + onChanged(); + return this; + } + /** + * repeated string deleted = 1; + * @param values The deleted to add. + * @return This builder for chaining. + */ + public Builder addAllDeleted( + java.lang.Iterable values) { + ensureDeletedIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, deleted_); + onChanged(); + return this; + } + /** + * repeated string deleted = 1; + * @return This builder for chaining. + */ + public Builder clearDeleted() { + deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * repeated string deleted = 1; + * @param value The bytes of the deleted to add. + * @return This builder for chaining. + */ + public Builder addDeletedBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureDeletedIsMutable(); + deleted_.add(value); + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -4355,41 +4761,41 @@ public final class Automation { } - // @@protoc_insertion_point(builder_scope:automation.Empty) + // @@protoc_insertion_point(builder_scope:automation.DeviceDeletionResult) } - // @@protoc_insertion_point(class_scope:automation.Empty) - private static final automation.Automation.Empty DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:automation.DeviceDeletionResult) + private static final automation.Automation.DeviceDeletionResult DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new automation.Automation.Empty(); + DEFAULT_INSTANCE = new automation.Automation.DeviceDeletionResult(); } - public static automation.Automation.Empty getDefaultInstance() { + public static automation.Automation.DeviceDeletionResult getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Empty parsePartialFrom( + public DeviceDeletionResult parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Empty(input, extensionRegistry); + return new DeviceDeletionResult(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public automation.Automation.Empty getDefaultInstanceForType() { + public automation.Automation.DeviceDeletionResult getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -4405,6 +4811,11 @@ public final class Automation { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_automation_DeviceRole_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_automation_DeviceRoleConfig_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_automation_DeviceRoleConfig_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_automation_DeviceRoleList_descriptor; private static final @@ -4420,11 +4831,6 @@ public final class Automation { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_automation_DeviceDeletionResult_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_automation_Empty_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_automation_Empty_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -4439,29 +4845,32 @@ public final class Automation { "2\r.context.Uuid\022 \n\005devId\030\002 \001(\0132\021.context" + ".DeviceId\"j\n\nDeviceRole\022+\n\tdevRoleId\030\001 \001" + "(\0132\030.automation.DeviceRoleId\022/\n\013devRoleT" + - "ype\030\002 \001(\0162\032.automation.DeviceRoleType\"9\n" + - "\016DeviceRoleList\022\'\n\007devRole\030\001 \003(\0132\026.autom" + - "ation.DeviceRole\"p\n\017DeviceRoleState\022+\n\td" + - "evRoleId\030\001 \001(\0132\030.automation.DeviceRoleId" + - "\0220\n\014devRoleState\030\002 \001(\0162\032.automation.ZtpD" + - "eviceState\"\'\n\024DeviceDeletionResult\022\017\n\007de" + - "leted\030\001 \003(\t\"\007\n\005Empty*H\n\016DeviceRoleType\022\010" + - "\n\004NONE\020\000\022\013\n\007DEV_OPS\020\001\022\014\n\010DEV_CONF\020\002\022\021\n\rP" + - "IPELINE_CONF\020\003*~\n\016ZtpDeviceState\022\033\n\027ZTP_" + - "DEV_STATE_UNDEFINED\020\000\022\031\n\025ZTP_DEV_STATE_C" + - "REATED\020\001\022\031\n\025ZTP_DEV_STATE_UPDATED\020\002\022\031\n\025Z" + - "TP_DEV_STATE_DELETED\020\0032\273\003\n\021AutomationSer" + - "vice\022F\n\020ZtpGetDeviceRole\022\030.automation.De" + - "viceRoleId\032\026.automation.DeviceRole\"\000\022N\n\033" + - "ZtpGetDeviceRolesByDeviceId\022\021.context.De" + - "viceId\032\032.automation.DeviceRoleList\"\000\022?\n\006" + - "ZtpAdd\022\026.automation.DeviceRole\032\033.automat" + - "ion.DeviceRoleState\"\000\022B\n\tZtpUpdate\022\026.aut" + - "omation.DeviceRole\032\033.automation.DeviceRo" + - "leState\"\000\022B\n\tZtpDelete\022\026.automation.Devi" + - "ceRole\032\033.automation.DeviceRoleState\"\000\022E\n" + - "\014ZtpDeleteAll\022\021.automation.Empty\032 .autom" + - "ation.DeviceDeletionResult\"\000b\006proto3" + "ype\030\002 \001(\0162\032.automation.DeviceRoleType\"e\n" + + "\020DeviceRoleConfig\022\'\n\007devRole\030\001 \001(\0132\026.aut" + + "omation.DeviceRole\022(\n\tdevConfig\030\002 \001(\0132\025." + + "context.DeviceConfig\"9\n\016DeviceRoleList\022\'" + + "\n\007devRole\030\001 \003(\0132\026.automation.DeviceRole\"" + + "p\n\017DeviceRoleState\022+\n\tdevRoleId\030\001 \001(\0132\030." + + "automation.DeviceRoleId\0220\n\014devRoleState\030" + + "\002 \001(\0162\032.automation.ZtpDeviceState\"\'\n\024Dev" + + "iceDeletionResult\022\017\n\007deleted\030\001 \003(\t*H\n\016De" + + "viceRoleType\022\010\n\004NONE\020\000\022\013\n\007DEV_OPS\020\001\022\014\n\010D" + + "EV_CONF\020\002\022\021\n\rPIPELINE_CONF\020\003*~\n\016ZtpDevic" + + "eState\022\033\n\027ZTP_DEV_STATE_UNDEFINED\020\000\022\031\n\025Z" + + "TP_DEV_STATE_CREATED\020\001\022\031\n\025ZTP_DEV_STATE_" + + "UPDATED\020\002\022\031\n\025ZTP_DEV_STATE_DELETED\020\0032\276\003\n" + + "\021AutomationService\022F\n\020ZtpGetDeviceRole\022\030" + + ".automation.DeviceRoleId\032\026.automation.De" + + "viceRole\"\000\022N\n\033ZtpGetDeviceRolesByDeviceI" + + "d\022\021.context.DeviceId\032\032.automation.Device" + + "RoleList\"\000\022?\n\006ZtpAdd\022\026.automation.Device" + + "Role\032\033.automation.DeviceRoleState\"\000\022H\n\tZ" + + "tpUpdate\022\034.automation.DeviceRoleConfig\032\033" + + ".automation.DeviceRoleState\"\000\022B\n\tZtpDele" + + "te\022\026.automation.DeviceRole\032\033.automation." + + "DeviceRoleState\"\000\022B\n\014ZtpDeleteAll\022\016.cont" + + "ext.Empty\032 .automation.DeviceDeletionRes" + + "ult\"\000b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -4480,30 +4889,30 @@ public final class Automation { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_automation_DeviceRole_descriptor, new java.lang.String[] { "DevRoleId", "DevRoleType", }); - internal_static_automation_DeviceRoleList_descriptor = + internal_static_automation_DeviceRoleConfig_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_automation_DeviceRoleConfig_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_automation_DeviceRoleConfig_descriptor, + new java.lang.String[] { "DevRole", "DevConfig", }); + internal_static_automation_DeviceRoleList_descriptor = + getDescriptor().getMessageTypes().get(3); internal_static_automation_DeviceRoleList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_automation_DeviceRoleList_descriptor, new java.lang.String[] { "DevRole", }); internal_static_automation_DeviceRoleState_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(4); internal_static_automation_DeviceRoleState_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_automation_DeviceRoleState_descriptor, new java.lang.String[] { "DevRoleId", "DevRoleState", }); internal_static_automation_DeviceDeletionResult_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(5); internal_static_automation_DeviceDeletionResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_automation_DeviceDeletionResult_descriptor, new java.lang.String[] { "Deleted", }); - internal_static_automation_Empty_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_automation_Empty_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_automation_Empty_descriptor, - new java.lang.String[] { }); context.ContextOuterClass.getDescriptor(); } diff --git a/src/automation/target/generated-sources/grpc/automation/AutomationService.java b/src/automation/target/generated-sources/grpc/automation/AutomationService.java index 9b772a499617f341ba742ccfe8ae8ade34366831..8ef5784815a7b8bb6d51b05f89f6ca3a4b23f2e5 100644 --- a/src/automation/target/generated-sources/grpc/automation/AutomationService.java +++ b/src/automation/target/generated-sources/grpc/automation/AutomationService.java @@ -14,11 +14,11 @@ public interface AutomationService extends MutinyService { io.smallrye.mutiny.Uni ztpAdd(automation.Automation.DeviceRole request); - io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRole request); + io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRoleConfig request); io.smallrye.mutiny.Uni ztpDelete(automation.Automation.DeviceRole request); - io.smallrye.mutiny.Uni ztpDeleteAll(automation.Automation.Empty request); + io.smallrye.mutiny.Uni ztpDeleteAll(context.ContextOuterClass.Empty request); diff --git a/src/automation/target/generated-sources/grpc/automation/AutomationServiceBean.java b/src/automation/target/generated-sources/grpc/automation/AutomationServiceBean.java index 52b1425cf6d3c5c59ae99621204689176892d043..3c7923a0ce8a1501689d1bb567c915590376cf5f 100644 --- a/src/automation/target/generated-sources/grpc/automation/AutomationServiceBean.java +++ b/src/automation/target/generated-sources/grpc/automation/AutomationServiceBean.java @@ -40,7 +40,7 @@ public class AutomationServiceBean extends MutinyAutomationServiceGrpc.Automatio } } @Override - public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRole request) { + public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRoleConfig request) { try { return delegate.ztpUpdate(request); } catch (UnsupportedOperationException e) { @@ -56,7 +56,7 @@ public class AutomationServiceBean extends MutinyAutomationServiceGrpc.Automatio } } @Override - public io.smallrye.mutiny.Uni ztpDeleteAll(automation.Automation.Empty request) { + public io.smallrye.mutiny.Uni ztpDeleteAll(context.ContextOuterClass.Empty request) { try { return delegate.ztpDeleteAll(request); } catch (UnsupportedOperationException e) { diff --git a/src/automation/target/generated-sources/grpc/automation/AutomationServiceClient.java b/src/automation/target/generated-sources/grpc/automation/AutomationServiceClient.java index 5dde73d5bfdbb401ed9fd89e38a6caa3e75cabbe..13d13c431b63baebd22ed7fd566b6b25395977e3 100644 --- a/src/automation/target/generated-sources/grpc/automation/AutomationServiceClient.java +++ b/src/automation/target/generated-sources/grpc/automation/AutomationServiceClient.java @@ -33,7 +33,7 @@ public class AutomationServiceClient implements AutomationService, MutinyClient< return stub.ztpAdd(request); } @Override - public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRole request) { + public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRoleConfig request) { return stub.ztpUpdate(request); } @Override @@ -41,7 +41,7 @@ public class AutomationServiceClient implements AutomationService, MutinyClient< return stub.ztpDelete(request); } @Override - public io.smallrye.mutiny.Uni ztpDeleteAll(automation.Automation.Empty request) { + public io.smallrye.mutiny.Uni ztpDeleteAll(context.ContextOuterClass.Empty request) { return stub.ztpDeleteAll(request); } diff --git a/src/automation/target/generated-sources/grpc/automation/AutomationServiceGrpc.java b/src/automation/target/generated-sources/grpc/automation/AutomationServiceGrpc.java index 9f805796624bff8dfbd5f4b428fa21cf066ffb80..841994ea713bb9d1c0223689386d6cae35c6d014 100644 --- a/src/automation/target/generated-sources/grpc/automation/AutomationServiceGrpc.java +++ b/src/automation/target/generated-sources/grpc/automation/AutomationServiceGrpc.java @@ -107,27 +107,27 @@ public final class AutomationServiceGrpc { return getZtpAddMethod; } - private static volatile io.grpc.MethodDescriptor getZtpUpdateMethod; @io.grpc.stub.annotations.RpcMethod( fullMethodName = SERVICE_NAME + '/' + "ZtpUpdate", - requestType = automation.Automation.DeviceRole.class, + requestType = automation.Automation.DeviceRoleConfig.class, responseType = automation.Automation.DeviceRoleState.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) - public static io.grpc.MethodDescriptor getZtpUpdateMethod() { - io.grpc.MethodDescriptor getZtpUpdateMethod; + io.grpc.MethodDescriptor getZtpUpdateMethod; if ((getZtpUpdateMethod = AutomationServiceGrpc.getZtpUpdateMethod) == null) { synchronized (AutomationServiceGrpc.class) { if ((getZtpUpdateMethod = AutomationServiceGrpc.getZtpUpdateMethod) == null) { AutomationServiceGrpc.getZtpUpdateMethod = getZtpUpdateMethod = - io.grpc.MethodDescriptor.newBuilder() + io.grpc.MethodDescriptor.newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ZtpUpdate")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( - automation.Automation.DeviceRole.getDefaultInstance())) + automation.Automation.DeviceRoleConfig.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( automation.Automation.DeviceRoleState.getDefaultInstance())) .setSchemaDescriptor(new AutomationServiceMethodDescriptorSupplier("ZtpUpdate")) @@ -169,27 +169,27 @@ public final class AutomationServiceGrpc { return getZtpDeleteMethod; } - private static volatile io.grpc.MethodDescriptor getZtpDeleteAllMethod; @io.grpc.stub.annotations.RpcMethod( fullMethodName = SERVICE_NAME + '/' + "ZtpDeleteAll", - requestType = automation.Automation.Empty.class, + requestType = context.ContextOuterClass.Empty.class, responseType = automation.Automation.DeviceDeletionResult.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) - public static io.grpc.MethodDescriptor getZtpDeleteAllMethod() { - io.grpc.MethodDescriptor getZtpDeleteAllMethod; + io.grpc.MethodDescriptor getZtpDeleteAllMethod; if ((getZtpDeleteAllMethod = AutomationServiceGrpc.getZtpDeleteAllMethod) == null) { synchronized (AutomationServiceGrpc.class) { if ((getZtpDeleteAllMethod = AutomationServiceGrpc.getZtpDeleteAllMethod) == null) { AutomationServiceGrpc.getZtpDeleteAllMethod = getZtpDeleteAllMethod = - io.grpc.MethodDescriptor.newBuilder() + io.grpc.MethodDescriptor.newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ZtpDeleteAll")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( - automation.Automation.Empty.getDefaultInstance())) + context.ContextOuterClass.Empty.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( automation.Automation.DeviceDeletionResult.getDefaultInstance())) .setSchemaDescriptor(new AutomationServiceMethodDescriptorSupplier("ZtpDeleteAll")) @@ -271,7 +271,7 @@ public final class AutomationServiceGrpc { /** */ - public void ztpUpdate(automation.Automation.DeviceRole request, + public void ztpUpdate(automation.Automation.DeviceRoleConfig request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpUpdateMethod(), responseObserver); } @@ -285,7 +285,7 @@ public final class AutomationServiceGrpc { /** */ - public void ztpDeleteAll(automation.Automation.Empty request, + public void ztpDeleteAll(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpDeleteAllMethod(), responseObserver); } @@ -317,7 +317,7 @@ public final class AutomationServiceGrpc { getZtpUpdateMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( new MethodHandlers< - automation.Automation.DeviceRole, + automation.Automation.DeviceRoleConfig, automation.Automation.DeviceRoleState>( this, METHODID_ZTP_UPDATE))) .addMethod( @@ -331,7 +331,7 @@ public final class AutomationServiceGrpc { getZtpDeleteAllMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( new MethodHandlers< - automation.Automation.Empty, + context.ContextOuterClass.Empty, automation.Automation.DeviceDeletionResult>( this, METHODID_ZTP_DELETE_ALL))) .build(); @@ -378,7 +378,7 @@ public final class AutomationServiceGrpc { /** */ - public void ztpUpdate(automation.Automation.DeviceRole request, + public void ztpUpdate(automation.Automation.DeviceRoleConfig request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getZtpUpdateMethod(), getCallOptions()), request, responseObserver); @@ -394,7 +394,7 @@ public final class AutomationServiceGrpc { /** */ - public void ztpDeleteAll(automation.Automation.Empty request, + public void ztpDeleteAll(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getZtpDeleteAllMethod(), getCallOptions()), request, responseObserver); @@ -438,7 +438,7 @@ public final class AutomationServiceGrpc { /** */ - public automation.Automation.DeviceRoleState ztpUpdate(automation.Automation.DeviceRole request) { + public automation.Automation.DeviceRoleState ztpUpdate(automation.Automation.DeviceRoleConfig request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getZtpUpdateMethod(), getCallOptions(), request); } @@ -452,7 +452,7 @@ public final class AutomationServiceGrpc { /** */ - public automation.Automation.DeviceDeletionResult ztpDeleteAll(automation.Automation.Empty request) { + public automation.Automation.DeviceDeletionResult ztpDeleteAll(context.ContextOuterClass.Empty request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getZtpDeleteAllMethod(), getCallOptions(), request); } @@ -499,7 +499,7 @@ public final class AutomationServiceGrpc { /** */ public com.google.common.util.concurrent.ListenableFuture ztpUpdate( - automation.Automation.DeviceRole request) { + automation.Automation.DeviceRoleConfig request) { return io.grpc.stub.ClientCalls.futureUnaryCall( getChannel().newCall(getZtpUpdateMethod(), getCallOptions()), request); } @@ -515,7 +515,7 @@ public final class AutomationServiceGrpc { /** */ public com.google.common.util.concurrent.ListenableFuture ztpDeleteAll( - automation.Automation.Empty request) { + context.ContextOuterClass.Empty request) { return io.grpc.stub.ClientCalls.futureUnaryCall( getChannel().newCall(getZtpDeleteAllMethod(), getCallOptions()), request); } @@ -558,7 +558,7 @@ public final class AutomationServiceGrpc { (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_ZTP_UPDATE: - serviceImpl.ztpUpdate((automation.Automation.DeviceRole) request, + serviceImpl.ztpUpdate((automation.Automation.DeviceRoleConfig) request, (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_ZTP_DELETE: @@ -566,7 +566,7 @@ public final class AutomationServiceGrpc { (io.grpc.stub.StreamObserver) responseObserver); break; case METHODID_ZTP_DELETE_ALL: - serviceImpl.ztpDeleteAll((automation.Automation.Empty) request, + serviceImpl.ztpDeleteAll((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver); break; default: diff --git a/src/automation/target/generated-sources/grpc/automation/MutinyAutomationServiceGrpc.java b/src/automation/target/generated-sources/grpc/automation/MutinyAutomationServiceGrpc.java index 0783cbc965e487a020a36d25acca55c5a17c0640..64565286ca36fd0b820c000e466954144207ab0b 100644 --- a/src/automation/target/generated-sources/grpc/automation/MutinyAutomationServiceGrpc.java +++ b/src/automation/target/generated-sources/grpc/automation/MutinyAutomationServiceGrpc.java @@ -51,7 +51,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim } - public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRole request) { + public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRoleConfig request) { return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::ztpUpdate); } @@ -61,7 +61,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim } - public io.smallrye.mutiny.Uni ztpDeleteAll(automation.Automation.Empty request) { + public io.smallrye.mutiny.Uni ztpDeleteAll(context.ContextOuterClass.Empty request) { return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::ztpDeleteAll); } @@ -98,7 +98,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim } - public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRole request) { + public io.smallrye.mutiny.Uni ztpUpdate(automation.Automation.DeviceRoleConfig request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -108,7 +108,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim } - public io.smallrye.mutiny.Uni ztpDeleteAll(automation.Automation.Empty request) { + public io.smallrye.mutiny.Uni ztpDeleteAll(context.ContextOuterClass.Empty request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -139,7 +139,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim automation.AutomationServiceGrpc.getZtpUpdateMethod(), asyncUnaryCall( new MethodHandlers< - automation.Automation.DeviceRole, + automation.Automation.DeviceRoleConfig, automation.Automation.DeviceRoleState>( this, METHODID_ZTP_UPDATE, compression))) .addMethod( @@ -153,7 +153,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim automation.AutomationServiceGrpc.getZtpDeleteAllMethod(), asyncUnaryCall( new MethodHandlers< - automation.Automation.Empty, + context.ContextOuterClass.Empty, automation.Automation.DeviceDeletionResult>( this, METHODID_ZTP_DELETE_ALL, compression))) .build(); @@ -205,7 +205,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim serviceImpl::ztpAdd); break; case METHODID_ZTP_UPDATE: - io.quarkus.grpc.runtime.ServerCalls.oneToOne((automation.Automation.DeviceRole) request, + io.quarkus.grpc.runtime.ServerCalls.oneToOne((automation.Automation.DeviceRoleConfig) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::ztpUpdate); @@ -217,7 +217,7 @@ public final class MutinyAutomationServiceGrpc implements io.quarkus.grpc.runtim serviceImpl::ztpDelete); break; case METHODID_ZTP_DELETE_ALL: - io.quarkus.grpc.runtime.ServerCalls.oneToOne((automation.Automation.Empty) request, + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::ztpDeleteAll); diff --git a/src/automation/target/generated-sources/grpc/context/ContextOuterClass.java b/src/automation/target/generated-sources/grpc/context/ContextOuterClass.java index 168ddf78b3a0233f3157e984fb7d925783bcd3b0..fbbba62a2baa1c2fe2b3c3fe090883d6542996e4 100644 --- a/src/automation/target/generated-sources/grpc/context/ContextOuterClass.java +++ b/src/automation/target/generated-sources/grpc/context/ContextOuterClass.java @@ -173,6 +173,10 @@ public final class ContextOuterClass { * DEVICEDRIVER_ONF_TR_352 = 5; */ DEVICEDRIVER_ONF_TR_352(5), + /** + * DEVICEDRIVER_XR = 6; + */ + DEVICEDRIVER_XR(6), UNRECOGNIZED(-1), ; @@ -204,6 +208,10 @@ public final class ContextOuterClass { * DEVICEDRIVER_ONF_TR_352 = 5; */ public static final int DEVICEDRIVER_ONF_TR_352_VALUE = 5; + /** + * DEVICEDRIVER_XR = 6; + */ + public static final int DEVICEDRIVER_XR_VALUE = 6; public final int getNumber() { @@ -236,6 +244,7 @@ public final class ContextOuterClass { case 3: return DEVICEDRIVER_P4; case 4: return DEVICEDRIVER_IETF_NETWORK_TOPOLOGY; case 5: return DEVICEDRIVER_ONF_TR_352; + case 6: return DEVICEDRIVER_XR; default: return null; } } @@ -556,6 +565,10 @@ public final class ContextOuterClass { * SERVICESTATUS_PENDING_REMOVAL = 3; */ SERVICESTATUS_PENDING_REMOVAL(3), + /** + * SERVICESTATUS_SLA_VIOLATED = 4; + */ + SERVICESTATUS_SLA_VIOLATED(4), UNRECOGNIZED(-1), ; @@ -575,6 +588,10 @@ public final class ContextOuterClass { * SERVICESTATUS_PENDING_REMOVAL = 3; */ public static final int SERVICESTATUS_PENDING_REMOVAL_VALUE = 3; + /** + * SERVICESTATUS_SLA_VIOLATED = 4; + */ + public static final int SERVICESTATUS_SLA_VIOLATED_VALUE = 4; public final int getNumber() { @@ -605,6 +622,7 @@ public final class ContextOuterClass { case 1: return SERVICESTATUS_PLANNED; case 2: return SERVICESTATUS_ACTIVE; case 3: return SERVICESTATUS_PENDING_REMOVAL; + case 4: return SERVICESTATUS_SLA_VIOLATED; default: return null; } } @@ -661,6 +679,150 @@ public final class ContextOuterClass { // @@protoc_insertion_point(enum_scope:context.ServiceStatusEnum) } + /** + * Protobuf enum {@code context.SliceStatusEnum} + */ + public enum SliceStatusEnum + implements com.google.protobuf.ProtocolMessageEnum { + /** + * SLICESTATUS_UNDEFINED = 0; + */ + SLICESTATUS_UNDEFINED(0), + /** + * SLICESTATUS_PLANNED = 1; + */ + SLICESTATUS_PLANNED(1), + /** + * SLICESTATUS_INIT = 2; + */ + SLICESTATUS_INIT(2), + /** + * SLICESTATUS_ACTIVE = 3; + */ + SLICESTATUS_ACTIVE(3), + /** + * SLICESTATUS_DEINIT = 4; + */ + SLICESTATUS_DEINIT(4), + /** + * SLICESTATUS_SLA_VIOLATED = 5; + */ + SLICESTATUS_SLA_VIOLATED(5), + UNRECOGNIZED(-1), + ; + + /** + * SLICESTATUS_UNDEFINED = 0; + */ + public static final int SLICESTATUS_UNDEFINED_VALUE = 0; + /** + * SLICESTATUS_PLANNED = 1; + */ + public static final int SLICESTATUS_PLANNED_VALUE = 1; + /** + * SLICESTATUS_INIT = 2; + */ + public static final int SLICESTATUS_INIT_VALUE = 2; + /** + * SLICESTATUS_ACTIVE = 3; + */ + public static final int SLICESTATUS_ACTIVE_VALUE = 3; + /** + * SLICESTATUS_DEINIT = 4; + */ + public static final int SLICESTATUS_DEINIT_VALUE = 4; + /** + * SLICESTATUS_SLA_VIOLATED = 5; + */ + public static final int SLICESTATUS_SLA_VIOLATED_VALUE = 5; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static SliceStatusEnum valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static SliceStatusEnum forNumber(int value) { + switch (value) { + case 0: return SLICESTATUS_UNDEFINED; + case 1: return SLICESTATUS_PLANNED; + case 2: return SLICESTATUS_INIT; + case 3: return SLICESTATUS_ACTIVE; + case 4: return SLICESTATUS_DEINIT; + case 5: return SLICESTATUS_SLA_VIOLATED; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + SliceStatusEnum> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public SliceStatusEnum findValueByNumber(int number) { + return SliceStatusEnum.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return context.ContextOuterClass.getDescriptor().getEnumTypes().get(5); + } + + private static final SliceStatusEnum[] VALUES = values(); + + public static SliceStatusEnum valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private SliceStatusEnum(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:context.SliceStatusEnum) + } + /** *
    * ----- Configuration -------------------------------------------------------------------------------------------------
@@ -756,7 +918,7 @@ public final class ContextOuterClass {
     }
     public static final com.google.protobuf.Descriptors.EnumDescriptor
         getDescriptor() {
-      return context.ContextOuterClass.getDescriptor().getEnumTypes().get(5);
+      return context.ContextOuterClass.getDescriptor().getEnumTypes().get(6);
     }
 
     private static final ConfigActionEnum[] VALUES = values();
@@ -782,6 +944,177 @@ public final class ContextOuterClass {
     // @@protoc_insertion_point(enum_scope:context.ConfigActionEnum)
   }
 
+  /**
+   * Protobuf enum {@code context.IsolationLevelEnum}
+   */
+  public enum IsolationLevelEnum
+      implements com.google.protobuf.ProtocolMessageEnum {
+    /**
+     * NO_ISOLATION = 0;
+     */
+    NO_ISOLATION(0),
+    /**
+     * PHYSICAL_ISOLATION = 1;
+     */
+    PHYSICAL_ISOLATION(1),
+    /**
+     * LOGICAL_ISOLATION = 2;
+     */
+    LOGICAL_ISOLATION(2),
+    /**
+     * PROCESS_ISOLATION = 3;
+     */
+    PROCESS_ISOLATION(3),
+    /**
+     * PHYSICAL_MEMORY_ISOLATION = 4;
+     */
+    PHYSICAL_MEMORY_ISOLATION(4),
+    /**
+     * PHYSICAL_NETWORK_ISOLATION = 5;
+     */
+    PHYSICAL_NETWORK_ISOLATION(5),
+    /**
+     * VIRTUAL_RESOURCE_ISOLATION = 6;
+     */
+    VIRTUAL_RESOURCE_ISOLATION(6),
+    /**
+     * NETWORK_FUNCTIONS_ISOLATION = 7;
+     */
+    NETWORK_FUNCTIONS_ISOLATION(7),
+    /**
+     * SERVICE_ISOLATION = 8;
+     */
+    SERVICE_ISOLATION(8),
+    UNRECOGNIZED(-1),
+    ;
+
+    /**
+     * NO_ISOLATION = 0;
+     */
+    public static final int NO_ISOLATION_VALUE = 0;
+    /**
+     * PHYSICAL_ISOLATION = 1;
+     */
+    public static final int PHYSICAL_ISOLATION_VALUE = 1;
+    /**
+     * LOGICAL_ISOLATION = 2;
+     */
+    public static final int LOGICAL_ISOLATION_VALUE = 2;
+    /**
+     * PROCESS_ISOLATION = 3;
+     */
+    public static final int PROCESS_ISOLATION_VALUE = 3;
+    /**
+     * PHYSICAL_MEMORY_ISOLATION = 4;
+     */
+    public static final int PHYSICAL_MEMORY_ISOLATION_VALUE = 4;
+    /**
+     * PHYSICAL_NETWORK_ISOLATION = 5;
+     */
+    public static final int PHYSICAL_NETWORK_ISOLATION_VALUE = 5;
+    /**
+     * VIRTUAL_RESOURCE_ISOLATION = 6;
+     */
+    public static final int VIRTUAL_RESOURCE_ISOLATION_VALUE = 6;
+    /**
+     * NETWORK_FUNCTIONS_ISOLATION = 7;
+     */
+    public static final int NETWORK_FUNCTIONS_ISOLATION_VALUE = 7;
+    /**
+     * SERVICE_ISOLATION = 8;
+     */
+    public static final int SERVICE_ISOLATION_VALUE = 8;
+
+
+    public final int getNumber() {
+      if (this == UNRECOGNIZED) {
+        throw new java.lang.IllegalArgumentException(
+            "Can't get the number of an unknown enum value.");
+      }
+      return value;
+    }
+
+    /**
+     * @param value The numeric wire value of the corresponding enum entry.
+     * @return The enum associated with the given numeric wire value.
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
+    public static IsolationLevelEnum valueOf(int value) {
+      return forNumber(value);
+    }
+
+    /**
+     * @param value The numeric wire value of the corresponding enum entry.
+     * @return The enum associated with the given numeric wire value.
+     */
+    public static IsolationLevelEnum forNumber(int value) {
+      switch (value) {
+        case 0: return NO_ISOLATION;
+        case 1: return PHYSICAL_ISOLATION;
+        case 2: return LOGICAL_ISOLATION;
+        case 3: return PROCESS_ISOLATION;
+        case 4: return PHYSICAL_MEMORY_ISOLATION;
+        case 5: return PHYSICAL_NETWORK_ISOLATION;
+        case 6: return VIRTUAL_RESOURCE_ISOLATION;
+        case 7: return NETWORK_FUNCTIONS_ISOLATION;
+        case 8: return SERVICE_ISOLATION;
+        default: return null;
+      }
+    }
+
+    public static com.google.protobuf.Internal.EnumLiteMap
+        internalGetValueMap() {
+      return internalValueMap;
+    }
+    private static final com.google.protobuf.Internal.EnumLiteMap<
+        IsolationLevelEnum> internalValueMap =
+          new com.google.protobuf.Internal.EnumLiteMap() {
+            public IsolationLevelEnum findValueByNumber(int number) {
+              return IsolationLevelEnum.forNumber(number);
+            }
+          };
+
+    public final com.google.protobuf.Descriptors.EnumValueDescriptor
+        getValueDescriptor() {
+      if (this == UNRECOGNIZED) {
+        throw new java.lang.IllegalStateException(
+            "Can't get the descriptor of an unrecognized enum value.");
+      }
+      return getDescriptor().getValues().get(ordinal());
+    }
+    public final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptorForType() {
+      return getDescriptor();
+    }
+    public static final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptor() {
+      return context.ContextOuterClass.getDescriptor().getEnumTypes().get(7);
+    }
+
+    private static final IsolationLevelEnum[] VALUES = values();
+
+    public static IsolationLevelEnum valueOf(
+        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+      if (desc.getType() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "EnumValueDescriptor is not for this type.");
+      }
+      if (desc.getIndex() == -1) {
+        return UNRECOGNIZED;
+      }
+      return VALUES[desc.getIndex()];
+    }
+
+    private final int value;
+
+    private IsolationLevelEnum(int value) {
+      this.value = value;
+    }
+
+    // @@protoc_insertion_point(enum_scope:context.IsolationLevelEnum)
+  }
+
   public interface EmptyOrBuilder extends
       // @@protoc_insertion_point(interface_extends:context.Empty)
       com.google.protobuf.MessageOrBuilder {
@@ -1776,8 +2109,8 @@ public final class ContextOuterClass {
 
   }
 
-  public interface EventOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:context.Event)
+  public interface TimestampOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:context.Timestamp)
       com.google.protobuf.MessageOrBuilder {
 
     /**
@@ -1785,39 +2118,27 @@ public final class ContextOuterClass {
      * @return The timestamp.
      */
     double getTimestamp();
-
-    /**
-     * .context.EventTypeEnum event_type = 2;
-     * @return The enum numeric value on the wire for eventType.
-     */
-    int getEventTypeValue();
-    /**
-     * .context.EventTypeEnum event_type = 2;
-     * @return The eventType.
-     */
-    context.ContextOuterClass.EventTypeEnum getEventType();
   }
   /**
-   * Protobuf type {@code context.Event}
+   * Protobuf type {@code context.Timestamp}
    */
-  public static final class Event extends
+  public static final class Timestamp extends
       com.google.protobuf.GeneratedMessageV3 implements
-      // @@protoc_insertion_point(message_implements:context.Event)
-      EventOrBuilder {
+      // @@protoc_insertion_point(message_implements:context.Timestamp)
+      TimestampOrBuilder {
   private static final long serialVersionUID = 0L;
-    // Use Event.newBuilder() to construct.
-    private Event(com.google.protobuf.GeneratedMessageV3.Builder builder) {
+    // Use Timestamp.newBuilder() to construct.
+    private Timestamp(com.google.protobuf.GeneratedMessageV3.Builder builder) {
       super(builder);
     }
-    private Event() {
-      eventType_ = 0;
+    private Timestamp() {
     }
 
     @java.lang.Override
     @SuppressWarnings({"unused"})
     protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
-      return new Event();
+      return new Timestamp();
     }
 
     @java.lang.Override
@@ -1825,7 +2146,7 @@ public final class ContextOuterClass {
     getUnknownFields() {
       return this.unknownFields;
     }
-    private Event(
+    private Timestamp(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -1848,12 +2169,6 @@ public final class ContextOuterClass {
               timestamp_ = input.readDouble();
               break;
             }
-            case 16: {
-              int rawValue = input.readEnum();
-
-              eventType_ = rawValue;
-              break;
-            }
             default: {
               if (!parseUnknownField(
                   input, unknownFields, extensionRegistry, tag)) {
@@ -1875,15 +2190,15 @@ public final class ContextOuterClass {
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return context.ContextOuterClass.internal_static_context_Event_descriptor;
+      return context.ContextOuterClass.internal_static_context_Timestamp_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return context.ContextOuterClass.internal_static_context_Event_fieldAccessorTable
+      return context.ContextOuterClass.internal_static_context_Timestamp_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              context.ContextOuterClass.Event.class, context.ContextOuterClass.Event.Builder.class);
+              context.ContextOuterClass.Timestamp.class, context.ContextOuterClass.Timestamp.Builder.class);
     }
 
     public static final int TIMESTAMP_FIELD_NUMBER = 1;
@@ -1897,25 +2212,6 @@ public final class ContextOuterClass {
       return timestamp_;
     }
 
-    public static final int EVENT_TYPE_FIELD_NUMBER = 2;
-    private int eventType_;
-    /**
-     * .context.EventTypeEnum event_type = 2;
-     * @return The enum numeric value on the wire for eventType.
-     */
-    @java.lang.Override public int getEventTypeValue() {
-      return eventType_;
-    }
-    /**
-     * .context.EventTypeEnum event_type = 2;
-     * @return The eventType.
-     */
-    @java.lang.Override public context.ContextOuterClass.EventTypeEnum getEventType() {
-      @SuppressWarnings("deprecation")
-      context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_);
-      return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result;
-    }
-
     private byte memoizedIsInitialized = -1;
     @java.lang.Override
     public final boolean isInitialized() {
@@ -1933,9 +2229,6 @@ public final class ContextOuterClass {
       if (timestamp_ != 0D) {
         output.writeDouble(1, timestamp_);
       }
-      if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) {
-        output.writeEnum(2, eventType_);
-      }
       unknownFields.writeTo(output);
     }
 
@@ -1949,10 +2242,6 @@ public final class ContextOuterClass {
         size += com.google.protobuf.CodedOutputStream
           .computeDoubleSize(1, timestamp_);
       }
-      if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeEnumSize(2, eventType_);
-      }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
       return size;
@@ -1963,15 +2252,14 @@ public final class ContextOuterClass {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof context.ContextOuterClass.Event)) {
+      if (!(obj instanceof context.ContextOuterClass.Timestamp)) {
         return super.equals(obj);
       }
-      context.ContextOuterClass.Event other = (context.ContextOuterClass.Event) obj;
+      context.ContextOuterClass.Timestamp other = (context.ContextOuterClass.Timestamp) obj;
 
       if (java.lang.Double.doubleToLongBits(getTimestamp())
           != java.lang.Double.doubleToLongBits(
               other.getTimestamp())) return false;
-      if (eventType_ != other.eventType_) return false;
       if (!unknownFields.equals(other.unknownFields)) return false;
       return true;
     }
@@ -1986,76 +2274,74 @@ public final class ContextOuterClass {
       hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
           java.lang.Double.doubleToLongBits(getTimestamp()));
-      hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER;
-      hash = (53 * hash) + eventType_;
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
       return hash;
     }
 
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static context.ContextOuterClass.Event parseFrom(byte[] data)
+    public static context.ContextOuterClass.Timestamp parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static context.ContextOuterClass.Event parseFrom(java.io.InputStream input)
+    public static context.ContextOuterClass.Timestamp parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
-    public static context.ContextOuterClass.Event parseDelimitedFrom(java.io.InputStream input)
+    public static context.ContextOuterClass.Timestamp parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static context.ContextOuterClass.Event parseDelimitedFrom(
+    public static context.ContextOuterClass.Timestamp parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static context.ContextOuterClass.Event parseFrom(
+    public static context.ContextOuterClass.Timestamp parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -2068,7 +2354,7 @@ public final class ContextOuterClass {
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(context.ContextOuterClass.Event prototype) {
+    public static Builder newBuilder(context.ContextOuterClass.Timestamp prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
     @java.lang.Override
@@ -2084,26 +2370,26 @@ public final class ContextOuterClass {
       return builder;
     }
     /**
-     * Protobuf type {@code context.Event}
+     * Protobuf type {@code context.Timestamp}
      */
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
-        // @@protoc_insertion_point(builder_implements:context.Event)
-        context.ContextOuterClass.EventOrBuilder {
+        // @@protoc_insertion_point(builder_implements:context.Timestamp)
+        context.ContextOuterClass.TimestampOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return context.ContextOuterClass.internal_static_context_Event_descriptor;
+        return context.ContextOuterClass.internal_static_context_Timestamp_descriptor;
       }
 
       @java.lang.Override
       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return context.ContextOuterClass.internal_static_context_Event_fieldAccessorTable
+        return context.ContextOuterClass.internal_static_context_Timestamp_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                context.ContextOuterClass.Event.class, context.ContextOuterClass.Event.Builder.class);
+                context.ContextOuterClass.Timestamp.class, context.ContextOuterClass.Timestamp.Builder.class);
       }
 
-      // Construct using context.ContextOuterClass.Event.newBuilder()
+      // Construct using context.ContextOuterClass.Timestamp.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
@@ -2123,25 +2409,23 @@ public final class ContextOuterClass {
         super.clear();
         timestamp_ = 0D;
 
-        eventType_ = 0;
-
         return this;
       }
 
       @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return context.ContextOuterClass.internal_static_context_Event_descriptor;
+        return context.ContextOuterClass.internal_static_context_Timestamp_descriptor;
       }
 
       @java.lang.Override
-      public context.ContextOuterClass.Event getDefaultInstanceForType() {
-        return context.ContextOuterClass.Event.getDefaultInstance();
+      public context.ContextOuterClass.Timestamp getDefaultInstanceForType() {
+        return context.ContextOuterClass.Timestamp.getDefaultInstance();
       }
 
       @java.lang.Override
-      public context.ContextOuterClass.Event build() {
-        context.ContextOuterClass.Event result = buildPartial();
+      public context.ContextOuterClass.Timestamp build() {
+        context.ContextOuterClass.Timestamp result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
@@ -2149,10 +2433,9 @@ public final class ContextOuterClass {
       }
 
       @java.lang.Override
-      public context.ContextOuterClass.Event buildPartial() {
-        context.ContextOuterClass.Event result = new context.ContextOuterClass.Event(this);
+      public context.ContextOuterClass.Timestamp buildPartial() {
+        context.ContextOuterClass.Timestamp result = new context.ContextOuterClass.Timestamp(this);
         result.timestamp_ = timestamp_;
-        result.eventType_ = eventType_;
         onBuilt();
         return result;
       }
@@ -2191,22 +2474,19 @@ public final class ContextOuterClass {
       }
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof context.ContextOuterClass.Event) {
-          return mergeFrom((context.ContextOuterClass.Event)other);
+        if (other instanceof context.ContextOuterClass.Timestamp) {
+          return mergeFrom((context.ContextOuterClass.Timestamp)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(context.ContextOuterClass.Event other) {
-        if (other == context.ContextOuterClass.Event.getDefaultInstance()) return this;
+      public Builder mergeFrom(context.ContextOuterClass.Timestamp other) {
+        if (other == context.ContextOuterClass.Timestamp.getDefaultInstance()) return this;
         if (other.getTimestamp() != 0D) {
           setTimestamp(other.getTimestamp());
         }
-        if (other.eventType_ != 0) {
-          setEventTypeValue(other.getEventTypeValue());
-        }
         this.mergeUnknownFields(other.unknownFields);
         onChanged();
         return this;
@@ -2222,11 +2502,11 @@ public final class ContextOuterClass {
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        context.ContextOuterClass.Event parsedMessage = null;
+        context.ContextOuterClass.Timestamp parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (context.ContextOuterClass.Event) e.getUnfinishedMessage();
+          parsedMessage = (context.ContextOuterClass.Timestamp) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -2266,60 +2546,6 @@ public final class ContextOuterClass {
         onChanged();
         return this;
       }
-
-      private int eventType_ = 0;
-      /**
-       * .context.EventTypeEnum event_type = 2;
-       * @return The enum numeric value on the wire for eventType.
-       */
-      @java.lang.Override public int getEventTypeValue() {
-        return eventType_;
-      }
-      /**
-       * .context.EventTypeEnum event_type = 2;
-       * @param value The enum numeric value on the wire for eventType to set.
-       * @return This builder for chaining.
-       */
-      public Builder setEventTypeValue(int value) {
-        
-        eventType_ = value;
-        onChanged();
-        return this;
-      }
-      /**
-       * .context.EventTypeEnum event_type = 2;
-       * @return The eventType.
-       */
-      @java.lang.Override
-      public context.ContextOuterClass.EventTypeEnum getEventType() {
-        @SuppressWarnings("deprecation")
-        context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_);
-        return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result;
-      }
-      /**
-       * .context.EventTypeEnum event_type = 2;
-       * @param value The eventType to set.
-       * @return This builder for chaining.
-       */
-      public Builder setEventType(context.ContextOuterClass.EventTypeEnum value) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        
-        eventType_ = value.getNumber();
-        onChanged();
-        return this;
-      }
-      /**
-       * .context.EventTypeEnum event_type = 2;
-       * @return This builder for chaining.
-       */
-      public Builder clearEventType() {
-        
-        eventType_ = 0;
-        onChanged();
-        return this;
-      }
       @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
@@ -2333,89 +2559,97 @@ public final class ContextOuterClass {
       }
 
 
-      // @@protoc_insertion_point(builder_scope:context.Event)
+      // @@protoc_insertion_point(builder_scope:context.Timestamp)
     }
 
-    // @@protoc_insertion_point(class_scope:context.Event)
-    private static final context.ContextOuterClass.Event DEFAULT_INSTANCE;
+    // @@protoc_insertion_point(class_scope:context.Timestamp)
+    private static final context.ContextOuterClass.Timestamp DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new context.ContextOuterClass.Event();
+      DEFAULT_INSTANCE = new context.ContextOuterClass.Timestamp();
     }
 
-    public static context.ContextOuterClass.Event getDefaultInstance() {
+    public static context.ContextOuterClass.Timestamp getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser
-        PARSER = new com.google.protobuf.AbstractParser() {
+    private static final com.google.protobuf.Parser
+        PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
-      public Event parsePartialFrom(
+      public Timestamp parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new Event(input, extensionRegistry);
+        return new Timestamp(input, extensionRegistry);
       }
     };
 
-    public static com.google.protobuf.Parser parser() {
+    public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
     @java.lang.Override
-    public com.google.protobuf.Parser getParserForType() {
+    public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
     @java.lang.Override
-    public context.ContextOuterClass.Event getDefaultInstanceForType() {
+    public context.ContextOuterClass.Timestamp getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
   }
 
-  public interface ContextIdOrBuilder extends
-      // @@protoc_insertion_point(interface_extends:context.ContextId)
+  public interface EventOrBuilder extends
+      // @@protoc_insertion_point(interface_extends:context.Event)
       com.google.protobuf.MessageOrBuilder {
 
     /**
-     * .context.Uuid context_uuid = 1;
-     * @return Whether the contextUuid field is set.
+     * .context.Timestamp timestamp = 1;
+     * @return Whether the timestamp field is set.
      */
-    boolean hasContextUuid();
+    boolean hasTimestamp();
     /**
-     * .context.Uuid context_uuid = 1;
-     * @return The contextUuid.
+     * .context.Timestamp timestamp = 1;
+     * @return The timestamp.
      */
-    context.ContextOuterClass.Uuid getContextUuid();
+    context.ContextOuterClass.Timestamp getTimestamp();
     /**
-     * .context.Uuid context_uuid = 1;
+     * .context.Timestamp timestamp = 1;
      */
-    context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder();
+    context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder();
+
+    /**
+     * .context.EventTypeEnum event_type = 2;
+     * @return The enum numeric value on the wire for eventType.
+     */
+    int getEventTypeValue();
+    /**
+     * .context.EventTypeEnum event_type = 2;
+     * @return The eventType.
+     */
+    context.ContextOuterClass.EventTypeEnum getEventType();
   }
   /**
-   * 
-   * ----- Context -------------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.ContextId} + * Protobuf type {@code context.Event} */ - public static final class ContextId extends + public static final class Event extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ContextId) - ContextIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.Event) + EventOrBuilder { private static final long serialVersionUID = 0L; - // Use ContextId.newBuilder() to construct. - private ContextId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Event.newBuilder() to construct. + private Event(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ContextId() { + private Event() { + eventType_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ContextId(); + return new Event(); } @java.lang.Override @@ -2423,7 +2657,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ContextId( + private Event( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2442,18 +2676,24 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (contextUuid_ != null) { - subBuilder = contextUuid_.toBuilder(); + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); } - contextUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(contextUuid_); - contextUuid_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); } break; } + case 16: { + int rawValue = input.readEnum(); + + eventType_ = rawValue; + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -2475,41 +2715,60 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextId_descriptor; + return context.ContextOuterClass.internal_static_context_Event_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Event_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextId.class, context.ContextOuterClass.ContextId.Builder.class); + context.ContextOuterClass.Event.class, context.ContextOuterClass.Event.Builder.class); } - public static final int CONTEXT_UUID_FIELD_NUMBER = 1; - private context.ContextOuterClass.Uuid contextUuid_; + public static final int TIMESTAMP_FIELD_NUMBER = 1; + private context.ContextOuterClass.Timestamp timestamp_; /** - * .context.Uuid context_uuid = 1; - * @return Whether the contextUuid field is set. + * .context.Timestamp timestamp = 1; + * @return Whether the timestamp field is set. */ @java.lang.Override - public boolean hasContextUuid() { - return contextUuid_ != null; + public boolean hasTimestamp() { + return timestamp_ != null; } /** - * .context.Uuid context_uuid = 1; - * @return The contextUuid. + * .context.Timestamp timestamp = 1; + * @return The timestamp. */ @java.lang.Override - public context.ContextOuterClass.Uuid getContextUuid() { - return contextUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; + public context.ContextOuterClass.Timestamp getTimestamp() { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder() { - return getContextUuid(); + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + return getTimestamp(); + } + + public static final int EVENT_TYPE_FIELD_NUMBER = 2; + private int eventType_; + /** + * .context.EventTypeEnum event_type = 2; + * @return The enum numeric value on the wire for eventType. + */ + @java.lang.Override public int getEventTypeValue() { + return eventType_; + } + /** + * .context.EventTypeEnum event_type = 2; + * @return The eventType. + */ + @java.lang.Override public context.ContextOuterClass.EventTypeEnum getEventType() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_); + return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result; } private byte memoizedIsInitialized = -1; @@ -2526,8 +2785,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (contextUuid_ != null) { - output.writeMessage(1, getContextUuid()); + if (timestamp_ != null) { + output.writeMessage(1, getTimestamp()); + } + if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) { + output.writeEnum(2, eventType_); } unknownFields.writeTo(output); } @@ -2538,9 +2800,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (contextUuid_ != null) { + if (timestamp_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getContextUuid()); + .computeMessageSize(1, getTimestamp()); + } + if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, eventType_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2552,16 +2818,17 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ContextId)) { + if (!(obj instanceof context.ContextOuterClass.Event)) { return super.equals(obj); } - context.ContextOuterClass.ContextId other = (context.ContextOuterClass.ContextId) obj; + context.ContextOuterClass.Event other = (context.ContextOuterClass.Event) obj; - if (hasContextUuid() != other.hasContextUuid()) return false; - if (hasContextUuid()) { - if (!getContextUuid() - .equals(other.getContextUuid())) return false; + if (hasTimestamp() != other.hasTimestamp()) return false; + if (hasTimestamp()) { + if (!getTimestamp() + .equals(other.getTimestamp())) return false; } + if (eventType_ != other.eventType_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2573,78 +2840,80 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasContextUuid()) { - hash = (37 * hash) + CONTEXT_UUID_FIELD_NUMBER; - hash = (53 * hash) + getContextUuid().hashCode(); + if (hasTimestamp()) { + hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getTimestamp().hashCode(); } + hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + eventType_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextId parseFrom(byte[] data) + public static context.ContextOuterClass.Event parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Event parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ContextId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Event parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextId parseDelimitedFrom( + public static context.ContextOuterClass.Event parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextId parseFrom( + public static context.ContextOuterClass.Event parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2657,7 +2926,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ContextId prototype) { + public static Builder newBuilder(context.ContextOuterClass.Event prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -2673,30 +2942,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Context -------------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.ContextId} + * Protobuf type {@code context.Event} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ContextId) - context.ContextOuterClass.ContextIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Event) + context.ContextOuterClass.EventOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextId_descriptor; + return context.ContextOuterClass.internal_static_context_Event_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Event_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextId.class, context.ContextOuterClass.ContextId.Builder.class); + context.ContextOuterClass.Event.class, context.ContextOuterClass.Event.Builder.class); } - // Construct using context.ContextOuterClass.ContextId.newBuilder() + // Construct using context.ContextOuterClass.Event.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2714,29 +2979,31 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - if (contextUuidBuilder_ == null) { - contextUuid_ = null; + if (timestampBuilder_ == null) { + timestamp_ = null; } else { - contextUuid_ = null; - contextUuidBuilder_ = null; + timestamp_ = null; + timestampBuilder_ = null; } + eventType_ = 0; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ContextId_descriptor; + return context.ContextOuterClass.internal_static_context_Event_descriptor; } @java.lang.Override - public context.ContextOuterClass.ContextId getDefaultInstanceForType() { - return context.ContextOuterClass.ContextId.getDefaultInstance(); + public context.ContextOuterClass.Event getDefaultInstanceForType() { + return context.ContextOuterClass.Event.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ContextId build() { - context.ContextOuterClass.ContextId result = buildPartial(); + public context.ContextOuterClass.Event build() { + context.ContextOuterClass.Event result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -2744,13 +3011,14 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ContextId buildPartial() { - context.ContextOuterClass.ContextId result = new context.ContextOuterClass.ContextId(this); - if (contextUuidBuilder_ == null) { - result.contextUuid_ = contextUuid_; + public context.ContextOuterClass.Event buildPartial() { + context.ContextOuterClass.Event result = new context.ContextOuterClass.Event(this); + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; } else { - result.contextUuid_ = contextUuidBuilder_.build(); + result.timestamp_ = timestampBuilder_.build(); } + result.eventType_ = eventType_; onBuilt(); return result; } @@ -2789,18 +3057,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ContextId) { - return mergeFrom((context.ContextOuterClass.ContextId)other); + if (other instanceof context.ContextOuterClass.Event) { + return mergeFrom((context.ContextOuterClass.Event)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ContextId other) { - if (other == context.ContextOuterClass.ContextId.getDefaultInstance()) return this; - if (other.hasContextUuid()) { - mergeContextUuid(other.getContextUuid()); + public Builder mergeFrom(context.ContextOuterClass.Event other) { + if (other == context.ContextOuterClass.Event.getDefaultInstance()) return this; + if (other.hasTimestamp()) { + mergeTimestamp(other.getTimestamp()); + } + if (other.eventType_ != 0) { + setEventTypeValue(other.getEventTypeValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -2817,11 +3088,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ContextId parsedMessage = null; + context.ContextOuterClass.Event parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ContextId) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Event) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -2831,123 +3102,177 @@ public final class ContextOuterClass { return this; } - private context.ContextOuterClass.Uuid contextUuid_; + private context.ContextOuterClass.Timestamp timestamp_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> contextUuidBuilder_; + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> timestampBuilder_; /** - * .context.Uuid context_uuid = 1; - * @return Whether the contextUuid field is set. + * .context.Timestamp timestamp = 1; + * @return Whether the timestamp field is set. */ - public boolean hasContextUuid() { - return contextUuidBuilder_ != null || contextUuid_ != null; + public boolean hasTimestamp() { + return timestampBuilder_ != null || timestamp_ != null; } /** - * .context.Uuid context_uuid = 1; - * @return The contextUuid. + * .context.Timestamp timestamp = 1; + * @return The timestamp. */ - public context.ContextOuterClass.Uuid getContextUuid() { - if (contextUuidBuilder_ == null) { - return contextUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; + public context.ContextOuterClass.Timestamp getTimestamp() { + if (timestampBuilder_ == null) { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; } else { - return contextUuidBuilder_.getMessage(); + return timestampBuilder_.getMessage(); } } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ - public Builder setContextUuid(context.ContextOuterClass.Uuid value) { - if (contextUuidBuilder_ == null) { + public Builder setTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - contextUuid_ = value; + timestamp_ = value; onChanged(); } else { - contextUuidBuilder_.setMessage(value); + timestampBuilder_.setMessage(value); } return this; } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ - public Builder setContextUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (contextUuidBuilder_ == null) { - contextUuid_ = builderForValue.build(); + public Builder setTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (timestampBuilder_ == null) { + timestamp_ = builderForValue.build(); onChanged(); } else { - contextUuidBuilder_.setMessage(builderForValue.build()); + timestampBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ - public Builder mergeContextUuid(context.ContextOuterClass.Uuid value) { - if (contextUuidBuilder_ == null) { - if (contextUuid_ != null) { - contextUuid_ = - context.ContextOuterClass.Uuid.newBuilder(contextUuid_).mergeFrom(value).buildPartial(); + public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (timestamp_ != null) { + timestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); } else { - contextUuid_ = value; + timestamp_ = value; } onChanged(); } else { - contextUuidBuilder_.mergeFrom(value); + timestampBuilder_.mergeFrom(value); } return this; } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ - public Builder clearContextUuid() { - if (contextUuidBuilder_ == null) { - contextUuid_ = null; + public Builder clearTimestamp() { + if (timestampBuilder_ == null) { + timestamp_ = null; onChanged(); } else { - contextUuid_ = null; - contextUuidBuilder_ = null; + timestamp_ = null; + timestampBuilder_ = null; } return this; } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ - public context.ContextOuterClass.Uuid.Builder getContextUuidBuilder() { + public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { onChanged(); - return getContextUuidFieldBuilder().getBuilder(); + return getTimestampFieldBuilder().getBuilder(); } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ - public context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder() { - if (contextUuidBuilder_ != null) { - return contextUuidBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + if (timestampBuilder_ != null) { + return timestampBuilder_.getMessageOrBuilder(); } else { - return contextUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; + return timestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; } } /** - * .context.Uuid context_uuid = 1; + * .context.Timestamp timestamp = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getContextUuidFieldBuilder() { - if (contextUuidBuilder_ == null) { - contextUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getContextUuid(), + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getTimestampFieldBuilder() { + if (timestampBuilder_ == null) { + timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getTimestamp(), getParentForChildren(), isClean()); - contextUuid_ = null; + timestamp_ = null; } - return contextUuidBuilder_; + return timestampBuilder_; + } + + private int eventType_ = 0; + /** + * .context.EventTypeEnum event_type = 2; + * @return The enum numeric value on the wire for eventType. + */ + @java.lang.Override public int getEventTypeValue() { + return eventType_; + } + /** + * .context.EventTypeEnum event_type = 2; + * @param value The enum numeric value on the wire for eventType to set. + * @return This builder for chaining. + */ + public Builder setEventTypeValue(int value) { + + eventType_ = value; + onChanged(); + return this; + } + /** + * .context.EventTypeEnum event_type = 2; + * @return The eventType. + */ + @java.lang.Override + public context.ContextOuterClass.EventTypeEnum getEventType() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_); + return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result; + } + /** + * .context.EventTypeEnum event_type = 2; + * @param value The eventType to set. + * @return This builder for chaining. + */ + public Builder setEventType(context.ContextOuterClass.EventTypeEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + eventType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .context.EventTypeEnum event_type = 2; + * @return This builder for chaining. + */ + public Builder clearEventType() { + + eventType_ = 0; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -2962,150 +3287,89 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ContextId) + // @@protoc_insertion_point(builder_scope:context.Event) } - // @@protoc_insertion_point(class_scope:context.ContextId) - private static final context.ContextOuterClass.ContextId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Event) + private static final context.ContextOuterClass.Event DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ContextId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Event(); } - public static context.ContextOuterClass.ContextId getDefaultInstance() { + public static context.ContextOuterClass.Event getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ContextId parsePartialFrom( + public Event parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ContextId(input, extensionRegistry); + return new Event(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ContextId getDefaultInstanceForType() { + public context.ContextOuterClass.Event getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ContextOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.Context) + public interface ContextIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ContextId) com.google.protobuf.MessageOrBuilder { /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. - */ - boolean hasContextId(); - /** - * .context.ContextId context_id = 1; - * @return The contextId. - */ - context.ContextOuterClass.ContextId getContextId(); - /** - * .context.ContextId context_id = 1; - */ - context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); - - /** - * repeated .context.TopologyId topology_ids = 2; - */ - java.util.List - getTopologyIdsList(); - /** - * repeated .context.TopologyId topology_ids = 2; - */ - context.ContextOuterClass.TopologyId getTopologyIds(int index); - /** - * repeated .context.TopologyId topology_ids = 2; - */ - int getTopologyIdsCount(); - /** - * repeated .context.TopologyId topology_ids = 2; - */ - java.util.List - getTopologyIdsOrBuilderList(); - /** - * repeated .context.TopologyId topology_ids = 2; - */ - context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( - int index); - - /** - * repeated .context.ServiceId service_ids = 3; - */ - java.util.List - getServiceIdsList(); - /** - * repeated .context.ServiceId service_ids = 3; - */ - context.ContextOuterClass.ServiceId getServiceIds(int index); - /** - * repeated .context.ServiceId service_ids = 3; - */ - int getServiceIdsCount(); - /** - * repeated .context.ServiceId service_ids = 3; - */ - java.util.List - getServiceIdsOrBuilderList(); - /** - * repeated .context.ServiceId service_ids = 3; - */ - context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( - int index); - - /** - * .context.TeraFlowController controller = 4; - * @return Whether the controller field is set. + * .context.Uuid context_uuid = 1; + * @return Whether the contextUuid field is set. */ - boolean hasController(); + boolean hasContextUuid(); /** - * .context.TeraFlowController controller = 4; - * @return The controller. + * .context.Uuid context_uuid = 1; + * @return The contextUuid. */ - context.ContextOuterClass.TeraFlowController getController(); + context.ContextOuterClass.Uuid getContextUuid(); /** - * .context.TeraFlowController controller = 4; + * .context.Uuid context_uuid = 1; */ - context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder(); + context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder(); } /** - * Protobuf type {@code context.Context} + *
+   * ----- Context -------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.ContextId} */ - public static final class Context extends + public static final class ContextId extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.Context) - ContextOrBuilder { + // @@protoc_insertion_point(message_implements:context.ContextId) + ContextIdOrBuilder { private static final long serialVersionUID = 0L; - // Use Context.newBuilder() to construct. - private Context(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ContextId.newBuilder() to construct. + private ContextId(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Context() { - topologyIds_ = java.util.Collections.emptyList(); - serviceIds_ = java.util.Collections.emptyList(); + private ContextId() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Context(); + return new ContextId(); } @java.lang.Override @@ -3113,7 +3377,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private Context( + private ContextId( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -3121,7 +3385,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -3133,45 +3396,14 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.ContextId.Builder subBuilder = null; - if (contextId_ != null) { - subBuilder = contextId_.toBuilder(); - } - contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(contextId_); - contextId_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - topologyIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - topologyIds_.add( - input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry)); - break; - } - case 26: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - serviceIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; - } - serviceIds_.add( - input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); - break; - } - case 34: { - context.ContextOuterClass.TeraFlowController.Builder subBuilder = null; - if (controller_ != null) { - subBuilder = controller_.toBuilder(); + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (contextUuid_ != null) { + subBuilder = contextUuid_.toBuilder(); } - controller_ = input.readMessage(context.ContextOuterClass.TeraFlowController.parser(), extensionRegistry); + contextUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(controller_); - controller_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(contextUuid_); + contextUuid_ = subBuilder.buildPartial(); } break; @@ -3191,159 +3423,47 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Context_descriptor; + return context.ContextOuterClass.internal_static_context_ContextId_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Context_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextId_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Context.class, context.ContextOuterClass.Context.Builder.class); - } - - public static final int CONTEXT_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.ContextId contextId_; - /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. - */ - @java.lang.Override - public boolean hasContextId() { - return contextId_ != null; - } - /** - * .context.ContextId context_id = 1; - * @return The contextId. - */ - @java.lang.Override - public context.ContextOuterClass.ContextId getContextId() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; - } - /** - * .context.ContextId context_id = 1; - */ - @java.lang.Override - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return getContextId(); - } - - public static final int TOPOLOGY_IDS_FIELD_NUMBER = 2; - private java.util.List topologyIds_; - /** - * repeated .context.TopologyId topology_ids = 2; - */ - @java.lang.Override - public java.util.List getTopologyIdsList() { - return topologyIds_; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - @java.lang.Override - public java.util.List - getTopologyIdsOrBuilderList() { - return topologyIds_; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - @java.lang.Override - public int getTopologyIdsCount() { - return topologyIds_.size(); - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - @java.lang.Override - public context.ContextOuterClass.TopologyId getTopologyIds(int index) { - return topologyIds_.get(index); - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - @java.lang.Override - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( - int index) { - return topologyIds_.get(index); - } - - public static final int SERVICE_IDS_FIELD_NUMBER = 3; - private java.util.List serviceIds_; - /** - * repeated .context.ServiceId service_ids = 3; - */ - @java.lang.Override - public java.util.List getServiceIdsList() { - return serviceIds_; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - @java.lang.Override - public java.util.List - getServiceIdsOrBuilderList() { - return serviceIds_; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - @java.lang.Override - public int getServiceIdsCount() { - return serviceIds_.size(); - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - @java.lang.Override - public context.ContextOuterClass.ServiceId getServiceIds(int index) { - return serviceIds_.get(index); - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - @java.lang.Override - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( - int index) { - return serviceIds_.get(index); + context.ContextOuterClass.ContextId.class, context.ContextOuterClass.ContextId.Builder.class); } - public static final int CONTROLLER_FIELD_NUMBER = 4; - private context.ContextOuterClass.TeraFlowController controller_; + public static final int CONTEXT_UUID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid contextUuid_; /** - * .context.TeraFlowController controller = 4; - * @return Whether the controller field is set. + * .context.Uuid context_uuid = 1; + * @return Whether the contextUuid field is set. */ @java.lang.Override - public boolean hasController() { - return controller_ != null; + public boolean hasContextUuid() { + return contextUuid_ != null; } /** - * .context.TeraFlowController controller = 4; - * @return The controller. + * .context.Uuid context_uuid = 1; + * @return The contextUuid. */ @java.lang.Override - public context.ContextOuterClass.TeraFlowController getController() { - return controller_ == null ? context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; + public context.ContextOuterClass.Uuid getContextUuid() { + return contextUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; } /** - * .context.TeraFlowController controller = 4; + * .context.Uuid context_uuid = 1; */ @java.lang.Override - public context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder() { - return getController(); + public context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder() { + return getContextUuid(); } private byte memoizedIsInitialized = -1; @@ -3360,17 +3480,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (contextId_ != null) { - output.writeMessage(1, getContextId()); - } - for (int i = 0; i < topologyIds_.size(); i++) { - output.writeMessage(2, topologyIds_.get(i)); - } - for (int i = 0; i < serviceIds_.size(); i++) { - output.writeMessage(3, serviceIds_.get(i)); - } - if (controller_ != null) { - output.writeMessage(4, getController()); + if (contextUuid_ != null) { + output.writeMessage(1, getContextUuid()); } unknownFields.writeTo(output); } @@ -3381,21 +3492,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (contextId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getContextId()); - } - for (int i = 0; i < topologyIds_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, topologyIds_.get(i)); - } - for (int i = 0; i < serviceIds_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, serviceIds_.get(i)); - } - if (controller_ != null) { + if (contextUuid_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, getController()); + .computeMessageSize(1, getContextUuid()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -3407,24 +3506,15 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.Context)) { + if (!(obj instanceof context.ContextOuterClass.ContextId)) { return super.equals(obj); } - context.ContextOuterClass.Context other = (context.ContextOuterClass.Context) obj; + context.ContextOuterClass.ContextId other = (context.ContextOuterClass.ContextId) obj; - if (hasContextId() != other.hasContextId()) return false; - if (hasContextId()) { - if (!getContextId() - .equals(other.getContextId())) return false; - } - if (!getTopologyIdsList() - .equals(other.getTopologyIdsList())) return false; - if (!getServiceIdsList() - .equals(other.getServiceIdsList())) return false; - if (hasController() != other.hasController()) return false; - if (hasController()) { - if (!getController() - .equals(other.getController())) return false; + if (hasContextUuid() != other.hasContextUuid()) return false; + if (hasContextUuid()) { + if (!getContextUuid() + .equals(other.getContextUuid())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; @@ -3437,90 +3527,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasContextId()) { - hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; - hash = (53 * hash) + getContextId().hashCode(); - } - if (getTopologyIdsCount() > 0) { - hash = (37 * hash) + TOPOLOGY_IDS_FIELD_NUMBER; - hash = (53 * hash) + getTopologyIdsList().hashCode(); - } - if (getServiceIdsCount() > 0) { - hash = (37 * hash) + SERVICE_IDS_FIELD_NUMBER; - hash = (53 * hash) + getServiceIdsList().hashCode(); - } - if (hasController()) { - hash = (37 * hash) + CONTROLLER_FIELD_NUMBER; - hash = (53 * hash) + getController().hashCode(); + if (hasContextUuid()) { + hash = (37 * hash) + CONTEXT_UUID_FIELD_NUMBER; + hash = (53 * hash) + getContextUuid().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Context parseFrom(byte[] data) + public static context.ContextOuterClass.ContextId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Context parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextId parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Context parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.Context parseDelimitedFrom( + public static context.ContextOuterClass.ContextId parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Context parseFrom( + public static context.ContextOuterClass.ContextId parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3533,7 +3611,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.Context prototype) { + public static Builder newBuilder(context.ContextOuterClass.ContextId prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -3549,26 +3627,30 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.Context} + *
+     * ----- Context -------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.ContextId} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.Context) - context.ContextOuterClass.ContextOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ContextId) + context.ContextOuterClass.ContextIdOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Context_descriptor; + return context.ContextOuterClass.internal_static_context_ContextId_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Context_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextId_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Context.class, context.ContextOuterClass.Context.Builder.class); + context.ContextOuterClass.ContextId.class, context.ContextOuterClass.ContextId.Builder.class); } - // Construct using context.ContextOuterClass.Context.newBuilder() + // Construct using context.ContextOuterClass.ContextId.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -3581,36 +3663,16 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getTopologyIdsFieldBuilder(); - getServiceIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (contextIdBuilder_ == null) { - contextId_ = null; - } else { - contextId_ = null; - contextIdBuilder_ = null; - } - if (topologyIdsBuilder_ == null) { - topologyIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - topologyIdsBuilder_.clear(); - } - if (serviceIdsBuilder_ == null) { - serviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - } else { - serviceIdsBuilder_.clear(); - } - if (controllerBuilder_ == null) { - controller_ = null; + if (contextUuidBuilder_ == null) { + contextUuid_ = null; } else { - controller_ = null; - controllerBuilder_ = null; + contextUuid_ = null; + contextUuidBuilder_ = null; } return this; } @@ -3618,17 +3680,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Context_descriptor; + return context.ContextOuterClass.internal_static_context_ContextId_descriptor; } @java.lang.Override - public context.ContextOuterClass.Context getDefaultInstanceForType() { - return context.ContextOuterClass.Context.getDefaultInstance(); + public context.ContextOuterClass.ContextId getDefaultInstanceForType() { + return context.ContextOuterClass.ContextId.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.Context build() { - context.ContextOuterClass.Context result = buildPartial(); + public context.ContextOuterClass.ContextId build() { + context.ContextOuterClass.ContextId result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -3636,36 +3698,12 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.Context buildPartial() { - context.ContextOuterClass.Context result = new context.ContextOuterClass.Context(this); - int from_bitField0_ = bitField0_; - if (contextIdBuilder_ == null) { - result.contextId_ = contextId_; - } else { - result.contextId_ = contextIdBuilder_.build(); - } - if (topologyIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.topologyIds_ = topologyIds_; - } else { - result.topologyIds_ = topologyIdsBuilder_.build(); - } - if (serviceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.serviceIds_ = serviceIds_; - } else { - result.serviceIds_ = serviceIdsBuilder_.build(); - } - if (controllerBuilder_ == null) { - result.controller_ = controller_; + public context.ContextOuterClass.ContextId buildPartial() { + context.ContextOuterClass.ContextId result = new context.ContextOuterClass.ContextId(this); + if (contextUuidBuilder_ == null) { + result.contextUuid_ = contextUuid_; } else { - result.controller_ = controllerBuilder_.build(); + result.contextUuid_ = contextUuidBuilder_.build(); } onBuilt(); return result; @@ -3705,73 +3743,18 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Context) { - return mergeFrom((context.ContextOuterClass.Context)other); + if (other instanceof context.ContextOuterClass.ContextId) { + return mergeFrom((context.ContextOuterClass.ContextId)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.Context other) { - if (other == context.ContextOuterClass.Context.getDefaultInstance()) return this; - if (other.hasContextId()) { - mergeContextId(other.getContextId()); - } - if (topologyIdsBuilder_ == null) { - if (!other.topologyIds_.isEmpty()) { - if (topologyIds_.isEmpty()) { - topologyIds_ = other.topologyIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureTopologyIdsIsMutable(); - topologyIds_.addAll(other.topologyIds_); - } - onChanged(); - } - } else { - if (!other.topologyIds_.isEmpty()) { - if (topologyIdsBuilder_.isEmpty()) { - topologyIdsBuilder_.dispose(); - topologyIdsBuilder_ = null; - topologyIds_ = other.topologyIds_; - bitField0_ = (bitField0_ & ~0x00000001); - topologyIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getTopologyIdsFieldBuilder() : null; - } else { - topologyIdsBuilder_.addAllMessages(other.topologyIds_); - } - } - } - if (serviceIdsBuilder_ == null) { - if (!other.serviceIds_.isEmpty()) { - if (serviceIds_.isEmpty()) { - serviceIds_ = other.serviceIds_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureServiceIdsIsMutable(); - serviceIds_.addAll(other.serviceIds_); - } - onChanged(); - } - } else { - if (!other.serviceIds_.isEmpty()) { - if (serviceIdsBuilder_.isEmpty()) { - serviceIdsBuilder_.dispose(); - serviceIdsBuilder_ = null; - serviceIds_ = other.serviceIds_; - bitField0_ = (bitField0_ & ~0x00000002); - serviceIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getServiceIdsFieldBuilder() : null; - } else { - serviceIdsBuilder_.addAllMessages(other.serviceIds_); - } - } - } - if (other.hasController()) { - mergeController(other.getController()); + public Builder mergeFrom(context.ContextOuterClass.ContextId other) { + if (other == context.ContextOuterClass.ContextId.getDefaultInstance()) return this; + if (other.hasContextUuid()) { + mergeContextUuid(other.getContextUuid()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -3788,11 +3771,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.Context parsedMessage = null; + context.ContextOuterClass.ContextId parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Context) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ContextId) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -3801,935 +3784,520 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - private context.ContextOuterClass.ContextId contextId_; + private context.ContextOuterClass.Uuid contextUuid_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> contextUuidBuilder_; /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. + * .context.Uuid context_uuid = 1; + * @return Whether the contextUuid field is set. */ - public boolean hasContextId() { - return contextIdBuilder_ != null || contextId_ != null; + public boolean hasContextUuid() { + return contextUuidBuilder_ != null || contextUuid_ != null; } /** - * .context.ContextId context_id = 1; - * @return The contextId. + * .context.Uuid context_uuid = 1; + * @return The contextUuid. */ - public context.ContextOuterClass.ContextId getContextId() { - if (contextIdBuilder_ == null) { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public context.ContextOuterClass.Uuid getContextUuid() { + if (contextUuidBuilder_ == null) { + return contextUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; } else { - return contextIdBuilder_.getMessage(); + return contextUuidBuilder_.getMessage(); } } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ - public Builder setContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { + public Builder setContextUuid(context.ContextOuterClass.Uuid value) { + if (contextUuidBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - contextId_ = value; + contextUuid_ = value; onChanged(); } else { - contextIdBuilder_.setMessage(value); + contextUuidBuilder_.setMessage(value); } return this; } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ - public Builder setContextId( - context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdBuilder_ == null) { - contextId_ = builderForValue.build(); + public Builder setContextUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (contextUuidBuilder_ == null) { + contextUuid_ = builderForValue.build(); onChanged(); } else { - contextIdBuilder_.setMessage(builderForValue.build()); + contextUuidBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ - public Builder mergeContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { - if (contextId_ != null) { - contextId_ = - context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); - } else { - contextId_ = value; + public Builder mergeContextUuid(context.ContextOuterClass.Uuid value) { + if (contextUuidBuilder_ == null) { + if (contextUuid_ != null) { + contextUuid_ = + context.ContextOuterClass.Uuid.newBuilder(contextUuid_).mergeFrom(value).buildPartial(); + } else { + contextUuid_ = value; } onChanged(); } else { - contextIdBuilder_.mergeFrom(value); + contextUuidBuilder_.mergeFrom(value); } return this; } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ - public Builder clearContextId() { - if (contextIdBuilder_ == null) { - contextId_ = null; + public Builder clearContextUuid() { + if (contextUuidBuilder_ == null) { + contextUuid_ = null; onChanged(); } else { - contextId_ = null; - contextIdBuilder_ = null; + contextUuid_ = null; + contextUuidBuilder_ = null; } return this; } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ - public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { + public context.ContextOuterClass.Uuid.Builder getContextUuidBuilder() { onChanged(); - return getContextIdFieldBuilder().getBuilder(); + return getContextUuidFieldBuilder().getBuilder(); } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - if (contextIdBuilder_ != null) { - return contextIdBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder() { + if (contextUuidBuilder_ != null) { + return contextUuidBuilder_.getMessageOrBuilder(); } else { - return contextId_ == null ? - context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + return contextUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; } } /** - * .context.ContextId context_id = 1; + * .context.Uuid context_uuid = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> - getContextIdFieldBuilder() { - if (contextIdBuilder_ == null) { - contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( - getContextId(), + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getContextUuidFieldBuilder() { + if (contextUuidBuilder_ == null) { + contextUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getContextUuid(), getParentForChildren(), isClean()); - contextId_ = null; + contextUuid_ = null; } - return contextIdBuilder_; + return contextUuidBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } - private java.util.List topologyIds_ = - java.util.Collections.emptyList(); - private void ensureTopologyIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - topologyIds_ = new java.util.ArrayList(topologyIds_); - bitField0_ |= 0x00000001; - } + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdsBuilder_; - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public java.util.List getTopologyIdsList() { - if (topologyIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(topologyIds_); - } else { - return topologyIdsBuilder_.getMessageList(); - } - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public int getTopologyIdsCount() { - if (topologyIdsBuilder_ == null) { - return topologyIds_.size(); - } else { - return topologyIdsBuilder_.getCount(); - } - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public context.ContextOuterClass.TopologyId getTopologyIds(int index) { - if (topologyIdsBuilder_ == null) { - return topologyIds_.get(index); - } else { - return topologyIdsBuilder_.getMessage(index); - } - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder setTopologyIds( - int index, context.ContextOuterClass.TopologyId value) { - if (topologyIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTopologyIdsIsMutable(); - topologyIds_.set(index, value); - onChanged(); - } else { - topologyIdsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder setTopologyIds( - int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.set(index, builderForValue.build()); - onChanged(); - } else { - topologyIdsBuilder_.setMessage(index, builderForValue.build()); - } - return this; + // @@protoc_insertion_point(builder_scope:context.ContextId) + } + + // @@protoc_insertion_point(class_scope:context.ContextId) + private static final context.ContextOuterClass.ContextId DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ContextId(); + } + + public static context.ContextOuterClass.ContextId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ContextId parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ContextId(input, extensionRegistry); } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder addTopologyIds(context.ContextOuterClass.TopologyId value) { - if (topologyIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTopologyIdsIsMutable(); - topologyIds_.add(value); - onChanged(); - } else { - topologyIdsBuilder_.addMessage(value); - } - return this; + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ContextId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ContextOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Context) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + boolean hasContextId(); + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + context.ContextOuterClass.ContextId getContextId(); + /** + * .context.ContextId context_id = 1; + */ + context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); + + /** + * repeated .context.TopologyId topology_ids = 2; + */ + java.util.List + getTopologyIdsList(); + /** + * repeated .context.TopologyId topology_ids = 2; + */ + context.ContextOuterClass.TopologyId getTopologyIds(int index); + /** + * repeated .context.TopologyId topology_ids = 2; + */ + int getTopologyIdsCount(); + /** + * repeated .context.TopologyId topology_ids = 2; + */ + java.util.List + getTopologyIdsOrBuilderList(); + /** + * repeated .context.TopologyId topology_ids = 2; + */ + context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( + int index); + + /** + * repeated .context.ServiceId service_ids = 3; + */ + java.util.List + getServiceIdsList(); + /** + * repeated .context.ServiceId service_ids = 3; + */ + context.ContextOuterClass.ServiceId getServiceIds(int index); + /** + * repeated .context.ServiceId service_ids = 3; + */ + int getServiceIdsCount(); + /** + * repeated .context.ServiceId service_ids = 3; + */ + java.util.List + getServiceIdsOrBuilderList(); + /** + * repeated .context.ServiceId service_ids = 3; + */ + context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( + int index); + + /** + * .context.TeraFlowController controller = 4; + * @return Whether the controller field is set. + */ + boolean hasController(); + /** + * .context.TeraFlowController controller = 4; + * @return The controller. + */ + context.ContextOuterClass.TeraFlowController getController(); + /** + * .context.TeraFlowController controller = 4; + */ + context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder(); + } + /** + * Protobuf type {@code context.Context} + */ + public static final class Context extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.Context) + ContextOrBuilder { + private static final long serialVersionUID = 0L; + // Use Context.newBuilder() to construct. + private Context(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Context() { + topologyIds_ = java.util.Collections.emptyList(); + serviceIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Context(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Context( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder addTopologyIds( - int index, context.ContextOuterClass.TopologyId value) { - if (topologyIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + topologyIds_.add( + input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry)); + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + serviceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + serviceIds_.add( + input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + break; + } + case 34: { + context.ContextOuterClass.TeraFlowController.Builder subBuilder = null; + if (controller_ != null) { + subBuilder = controller_.toBuilder(); + } + controller_ = input.readMessage(context.ContextOuterClass.TeraFlowController.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(controller_); + controller_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } } - ensureTopologyIdsIsMutable(); - topologyIds_.add(index, value); - onChanged(); - } else { - topologyIdsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder addTopologyIds( - context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.add(builderForValue.build()); - onChanged(); - } else { - topologyIdsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder addTopologyIds( - int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.add(index, builderForValue.build()); - onChanged(); - } else { - topologyIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder addAllTopologyIds( - java.lang.Iterable values) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, topologyIds_); - onChanged(); - } else { - topologyIdsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder clearTopologyIds() { - if (topologyIdsBuilder_ == null) { - topologyIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - topologyIdsBuilder_.clear(); - } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public Builder removeTopologyIds(int index) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.remove(index); - onChanged(); - } else { - topologyIdsBuilder_.remove(index); } - return this; - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public context.ContextOuterClass.TopologyId.Builder getTopologyIdsBuilder( - int index) { - return getTopologyIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( - int index) { - if (topologyIdsBuilder_ == null) { - return topologyIds_.get(index); } else { - return topologyIdsBuilder_.getMessageOrBuilder(index); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); } - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public java.util.List - getTopologyIdsOrBuilderList() { - if (topologyIdsBuilder_ != null) { - return topologyIdsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(topologyIds_); + if (((mutable_bitField0_ & 0x00000002) != 0)) { + serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder() { - return getTopologyIdsFieldBuilder().addBuilder( - context.ContextOuterClass.TopologyId.getDefaultInstance()); - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder( - int index) { - return getTopologyIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.TopologyId.getDefaultInstance()); - } - /** - * repeated .context.TopologyId topology_ids = 2; - */ - public java.util.List - getTopologyIdsBuilderList() { - return getTopologyIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> - getTopologyIdsFieldBuilder() { - if (topologyIdsBuilder_ == null) { - topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( - topologyIds_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - topologyIds_ = null; - } - return topologyIdsBuilder_; - } - - private java.util.List serviceIds_ = - java.util.Collections.emptyList(); - private void ensureServiceIdsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - serviceIds_ = new java.util.ArrayList(serviceIds_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdsBuilder_; - - /** - * repeated .context.ServiceId service_ids = 3; - */ - public java.util.List getServiceIdsList() { - if (serviceIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(serviceIds_); - } else { - return serviceIdsBuilder_.getMessageList(); - } - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public int getServiceIdsCount() { - if (serviceIdsBuilder_ == null) { - return serviceIds_.size(); - } else { - return serviceIdsBuilder_.getCount(); - } - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public context.ContextOuterClass.ServiceId getServiceIds(int index) { - if (serviceIdsBuilder_ == null) { - return serviceIds_.get(index); - } else { - return serviceIdsBuilder_.getMessage(index); - } - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder setServiceIds( - int index, context.ContextOuterClass.ServiceId value) { - if (serviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceIdsIsMutable(); - serviceIds_.set(index, value); - onChanged(); - } else { - serviceIdsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder setServiceIds( - int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.set(index, builderForValue.build()); - onChanged(); - } else { - serviceIdsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder addServiceIds(context.ContextOuterClass.ServiceId value) { - if (serviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceIdsIsMutable(); - serviceIds_.add(value); - onChanged(); - } else { - serviceIdsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder addServiceIds( - int index, context.ContextOuterClass.ServiceId value) { - if (serviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceIdsIsMutable(); - serviceIds_.add(index, value); - onChanged(); - } else { - serviceIdsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder addServiceIds( - context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.add(builderForValue.build()); - onChanged(); - } else { - serviceIdsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder addServiceIds( - int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.add(index, builderForValue.build()); - onChanged(); - } else { - serviceIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder addAllServiceIds( - java.lang.Iterable values) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, serviceIds_); - onChanged(); - } else { - serviceIdsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder clearServiceIds() { - if (serviceIdsBuilder_ == null) { - serviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - serviceIdsBuilder_.clear(); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public Builder removeServiceIds(int index) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.remove(index); - onChanged(); - } else { - serviceIdsBuilder_.remove(index); - } - return this; - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public context.ContextOuterClass.ServiceId.Builder getServiceIdsBuilder( - int index) { - return getServiceIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( - int index) { - if (serviceIdsBuilder_ == null) { - return serviceIds_.get(index); } else { - return serviceIdsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public java.util.List - getServiceIdsOrBuilderList() { - if (serviceIdsBuilder_ != null) { - return serviceIdsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(serviceIds_); - } - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder() { - return getServiceIdsFieldBuilder().addBuilder( - context.ContextOuterClass.ServiceId.getDefaultInstance()); - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder( - int index) { - return getServiceIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.ServiceId.getDefaultInstance()); - } - /** - * repeated .context.ServiceId service_ids = 3; - */ - public java.util.List - getServiceIdsBuilderList() { - return getServiceIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> - getServiceIdsFieldBuilder() { - if (serviceIdsBuilder_ == null) { - serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( - serviceIds_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - serviceIds_ = null; - } - return serviceIdsBuilder_; - } - - private context.ContextOuterClass.TeraFlowController controller_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TeraFlowController, context.ContextOuterClass.TeraFlowController.Builder, context.ContextOuterClass.TeraFlowControllerOrBuilder> controllerBuilder_; - /** - * .context.TeraFlowController controller = 4; - * @return Whether the controller field is set. - */ - public boolean hasController() { - return controllerBuilder_ != null || controller_ != null; - } - /** - * .context.TeraFlowController controller = 4; - * @return The controller. - */ - public context.ContextOuterClass.TeraFlowController getController() { - if (controllerBuilder_ == null) { - return controller_ == null ? context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; - } else { - return controllerBuilder_.getMessage(); - } - } - /** - * .context.TeraFlowController controller = 4; - */ - public Builder setController(context.ContextOuterClass.TeraFlowController value) { - if (controllerBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - controller_ = value; - onChanged(); - } else { - controllerBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.TeraFlowController controller = 4; - */ - public Builder setController( - context.ContextOuterClass.TeraFlowController.Builder builderForValue) { - if (controllerBuilder_ == null) { - controller_ = builderForValue.build(); - onChanged(); - } else { - controllerBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.TeraFlowController controller = 4; - */ - public Builder mergeController(context.ContextOuterClass.TeraFlowController value) { - if (controllerBuilder_ == null) { - if (controller_ != null) { - controller_ = - context.ContextOuterClass.TeraFlowController.newBuilder(controller_).mergeFrom(value).buildPartial(); - } else { - controller_ = value; - } - onChanged(); - } else { - controllerBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.TeraFlowController controller = 4; - */ - public Builder clearController() { - if (controllerBuilder_ == null) { - controller_ = null; - onChanged(); - } else { - controller_ = null; - controllerBuilder_ = null; - } - - return this; - } - /** - * .context.TeraFlowController controller = 4; - */ - public context.ContextOuterClass.TeraFlowController.Builder getControllerBuilder() { - - onChanged(); - return getControllerFieldBuilder().getBuilder(); - } - /** - * .context.TeraFlowController controller = 4; - */ - public context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder() { - if (controllerBuilder_ != null) { - return controllerBuilder_.getMessageOrBuilder(); - } else { - return controller_ == null ? - context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; - } - } - /** - * .context.TeraFlowController controller = 4; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TeraFlowController, context.ContextOuterClass.TeraFlowController.Builder, context.ContextOuterClass.TeraFlowControllerOrBuilder> - getControllerFieldBuilder() { - if (controllerBuilder_ == null) { - controllerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TeraFlowController, context.ContextOuterClass.TeraFlowController.Builder, context.ContextOuterClass.TeraFlowControllerOrBuilder>( - getController(), - getParentForChildren(), - isClean()); - controller_ = null; - } - return controllerBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:context.Context) } - - // @@protoc_insertion_point(class_scope:context.Context) - private static final context.ContextOuterClass.Context DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new context.ContextOuterClass.Context(); + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Context_descriptor; } - public static context.ContextOuterClass.Context getDefaultInstance() { - return DEFAULT_INSTANCE; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Context_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Context.class, context.ContextOuterClass.Context.Builder.class); } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Context parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Context(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; + public static final int CONTEXT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.ContextId contextId_; + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + @java.lang.Override + public boolean hasContextId() { + return contextId_ != null; } - + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; + public context.ContextOuterClass.ContextId getContextId() { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } - + /** + * .context.ContextId context_id = 1; + */ @java.lang.Override - public context.ContextOuterClass.Context getDefaultInstanceForType() { - return DEFAULT_INSTANCE; + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + return getContextId(); } - } - - public interface ContextIdListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ContextIdList) - com.google.protobuf.MessageOrBuilder { - + public static final int TOPOLOGY_IDS_FIELD_NUMBER = 2; + private java.util.List topologyIds_; /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - java.util.List - getContextIdsList(); + @java.lang.Override + public java.util.List getTopologyIdsList() { + return topologyIds_; + } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - context.ContextOuterClass.ContextId getContextIds(int index); + @java.lang.Override + public java.util.List + getTopologyIdsOrBuilderList() { + return topologyIds_; + } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - int getContextIdsCount(); + @java.lang.Override + public int getTopologyIdsCount() { + return topologyIds_.size(); + } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - java.util.List - getContextIdsOrBuilderList(); + @java.lang.Override + public context.ContextOuterClass.TopologyId getTopologyIds(int index) { + return topologyIds_.get(index); + } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - context.ContextOuterClass.ContextIdOrBuilder getContextIdsOrBuilder( - int index); - } - /** - * Protobuf type {@code context.ContextIdList} - */ - public static final class ContextIdList extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ContextIdList) - ContextIdListOrBuilder { - private static final long serialVersionUID = 0L; - // Use ContextIdList.newBuilder() to construct. - private ContextIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ContextIdList() { - contextIds_ = java.util.Collections.emptyList(); - } - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ContextIdList(); + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( + int index) { + return topologyIds_.get(index); } - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ContextIdList( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - contextIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - contextIds_.add( - input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - contextIds_ = java.util.Collections.unmodifiableList(contextIds_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } + public static final int SERVICE_IDS_FIELD_NUMBER = 3; + private java.util.List serviceIds_; + /** + * repeated .context.ServiceId service_ids = 3; + */ + @java.lang.Override + public java.util.List getServiceIdsList() { + return serviceIds_; } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; + /** + * repeated .context.ServiceId service_ids = 3; + */ + @java.lang.Override + public java.util.List + getServiceIdsOrBuilderList() { + return serviceIds_; } - + /** + * repeated .context.ServiceId service_ids = 3; + */ @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextIdList_fieldAccessorTable - .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextIdList.class, context.ContextOuterClass.ContextIdList.Builder.class); + public int getServiceIdsCount() { + return serviceIds_.size(); } - - public static final int CONTEXT_IDS_FIELD_NUMBER = 1; - private java.util.List contextIds_; /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.ServiceId service_ids = 3; */ @java.lang.Override - public java.util.List getContextIdsList() { - return contextIds_; + public context.ContextOuterClass.ServiceId getServiceIds(int index) { + return serviceIds_.get(index); } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.ServiceId service_ids = 3; */ @java.lang.Override - public java.util.List - getContextIdsOrBuilderList() { - return contextIds_; + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( + int index) { + return serviceIds_.get(index); } + + public static final int CONTROLLER_FIELD_NUMBER = 4; + private context.ContextOuterClass.TeraFlowController controller_; /** - * repeated .context.ContextId context_ids = 1; + * .context.TeraFlowController controller = 4; + * @return Whether the controller field is set. */ @java.lang.Override - public int getContextIdsCount() { - return contextIds_.size(); + public boolean hasController() { + return controller_ != null; } /** - * repeated .context.ContextId context_ids = 1; + * .context.TeraFlowController controller = 4; + * @return The controller. */ @java.lang.Override - public context.ContextOuterClass.ContextId getContextIds(int index) { - return contextIds_.get(index); + public context.ContextOuterClass.TeraFlowController getController() { + return controller_ == null ? context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; } /** - * repeated .context.ContextId context_ids = 1; + * .context.TeraFlowController controller = 4; */ @java.lang.Override - public context.ContextOuterClass.ContextIdOrBuilder getContextIdsOrBuilder( - int index) { - return contextIds_.get(index); + public context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder() { + return getController(); } private byte memoizedIsInitialized = -1; @@ -4746,8 +4314,17 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < contextIds_.size(); i++) { - output.writeMessage(1, contextIds_.get(i)); + if (contextId_ != null) { + output.writeMessage(1, getContextId()); + } + for (int i = 0; i < topologyIds_.size(); i++) { + output.writeMessage(2, topologyIds_.get(i)); + } + for (int i = 0; i < serviceIds_.size(); i++) { + output.writeMessage(3, serviceIds_.get(i)); + } + if (controller_ != null) { + output.writeMessage(4, getController()); } unknownFields.writeTo(output); } @@ -4758,9 +4335,21 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < contextIds_.size(); i++) { + if (contextId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, contextIds_.get(i)); + .computeMessageSize(1, getContextId()); + } + for (int i = 0; i < topologyIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, topologyIds_.get(i)); + } + for (int i = 0; i < serviceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, serviceIds_.get(i)); + } + if (controller_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getController()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -4772,13 +4361,25 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ContextIdList)) { + if (!(obj instanceof context.ContextOuterClass.Context)) { return super.equals(obj); } - context.ContextOuterClass.ContextIdList other = (context.ContextOuterClass.ContextIdList) obj; + context.ContextOuterClass.Context other = (context.ContextOuterClass.Context) obj; - if (!getContextIdsList() - .equals(other.getContextIdsList())) return false; + if (hasContextId() != other.hasContextId()) return false; + if (hasContextId()) { + if (!getContextId() + .equals(other.getContextId())) return false; + } + if (!getTopologyIdsList() + .equals(other.getTopologyIdsList())) return false; + if (!getServiceIdsList() + .equals(other.getServiceIdsList())) return false; + if (hasController() != other.hasController()) return false; + if (hasController()) { + if (!getController() + .equals(other.getController())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4790,78 +4391,90 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getContextIdsCount() > 0) { - hash = (37 * hash) + CONTEXT_IDS_FIELD_NUMBER; - hash = (53 * hash) + getContextIdsList().hashCode(); + if (hasContextId()) { + hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; + hash = (53 * hash) + getContextId().hashCode(); + } + if (getTopologyIdsCount() > 0) { + hash = (37 * hash) + TOPOLOGY_IDS_FIELD_NUMBER; + hash = (53 * hash) + getTopologyIdsList().hashCode(); + } + if (getServiceIdsCount() > 0) { + hash = (37 * hash) + SERVICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getServiceIdsList().hashCode(); + } + if (hasController()) { + hash = (37 * hash) + CONTROLLER_FIELD_NUMBER; + hash = (53 * hash) + getController().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextIdList parseFrom(byte[] data) + public static context.ContextOuterClass.Context parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextIdList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Context parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ContextIdList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Context parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextIdList parseDelimitedFrom( + public static context.ContextOuterClass.Context parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextIdList parseFrom( + public static context.ContextOuterClass.Context parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -4874,7 +4487,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ContextIdList prototype) { + public static Builder newBuilder(context.ContextOuterClass.Context prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -4890,26 +4503,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ContextIdList} + * Protobuf type {@code context.Context} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ContextIdList) - context.ContextOuterClass.ContextIdListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Context) + context.ContextOuterClass.ContextOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; + return context.ContextOuterClass.internal_static_context_Context_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Context_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextIdList.class, context.ContextOuterClass.ContextIdList.Builder.class); + context.ContextOuterClass.Context.class, context.ContextOuterClass.Context.Builder.class); } - // Construct using context.ContextOuterClass.ContextIdList.newBuilder() + // Construct using context.ContextOuterClass.Context.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -4922,17 +4535,36 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getContextIdsFieldBuilder(); + getTopologyIdsFieldBuilder(); + getServiceIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (contextIdsBuilder_ == null) { - contextIds_ = java.util.Collections.emptyList(); + if (contextIdBuilder_ == null) { + contextId_ = null; + } else { + contextId_ = null; + contextIdBuilder_ = null; + } + if (topologyIdsBuilder_ == null) { + topologyIds_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { - contextIdsBuilder_.clear(); + topologyIdsBuilder_.clear(); + } + if (serviceIdsBuilder_ == null) { + serviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + serviceIdsBuilder_.clear(); + } + if (controllerBuilder_ == null) { + controller_ = null; + } else { + controller_ = null; + controllerBuilder_ = null; } return this; } @@ -4940,17 +4572,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; + return context.ContextOuterClass.internal_static_context_Context_descriptor; } @java.lang.Override - public context.ContextOuterClass.ContextIdList getDefaultInstanceForType() { - return context.ContextOuterClass.ContextIdList.getDefaultInstance(); + public context.ContextOuterClass.Context getDefaultInstanceForType() { + return context.ContextOuterClass.Context.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ContextIdList build() { - context.ContextOuterClass.ContextIdList result = buildPartial(); + public context.ContextOuterClass.Context build() { + context.ContextOuterClass.Context result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -4958,17 +4590,36 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ContextIdList buildPartial() { - context.ContextOuterClass.ContextIdList result = new context.ContextOuterClass.ContextIdList(this); + public context.ContextOuterClass.Context buildPartial() { + context.ContextOuterClass.Context result = new context.ContextOuterClass.Context(this); int from_bitField0_ = bitField0_; - if (contextIdsBuilder_ == null) { + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; + } else { + result.contextId_ = contextIdBuilder_.build(); + } + if (topologyIdsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { - contextIds_ = java.util.Collections.unmodifiableList(contextIds_); + topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); bitField0_ = (bitField0_ & ~0x00000001); } - result.contextIds_ = contextIds_; + result.topologyIds_ = topologyIds_; } else { - result.contextIds_ = contextIdsBuilder_.build(); + result.topologyIds_ = topologyIdsBuilder_.build(); + } + if (serviceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.serviceIds_ = serviceIds_; + } else { + result.serviceIds_ = serviceIdsBuilder_.build(); + } + if (controllerBuilder_ == null) { + result.controller_ = controller_; + } else { + result.controller_ = controllerBuilder_.build(); } onBuilt(); return result; @@ -5008,42 +4659,74 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ContextIdList) { - return mergeFrom((context.ContextOuterClass.ContextIdList)other); + if (other instanceof context.ContextOuterClass.Context) { + return mergeFrom((context.ContextOuterClass.Context)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ContextIdList other) { - if (other == context.ContextOuterClass.ContextIdList.getDefaultInstance()) return this; - if (contextIdsBuilder_ == null) { - if (!other.contextIds_.isEmpty()) { - if (contextIds_.isEmpty()) { - contextIds_ = other.contextIds_; + public Builder mergeFrom(context.ContextOuterClass.Context other) { + if (other == context.ContextOuterClass.Context.getDefaultInstance()) return this; + if (other.hasContextId()) { + mergeContextId(other.getContextId()); + } + if (topologyIdsBuilder_ == null) { + if (!other.topologyIds_.isEmpty()) { + if (topologyIds_.isEmpty()) { + topologyIds_ = other.topologyIds_; bitField0_ = (bitField0_ & ~0x00000001); } else { - ensureContextIdsIsMutable(); - contextIds_.addAll(other.contextIds_); + ensureTopologyIdsIsMutable(); + topologyIds_.addAll(other.topologyIds_); } onChanged(); } } else { - if (!other.contextIds_.isEmpty()) { - if (contextIdsBuilder_.isEmpty()) { - contextIdsBuilder_.dispose(); - contextIdsBuilder_ = null; - contextIds_ = other.contextIds_; + if (!other.topologyIds_.isEmpty()) { + if (topologyIdsBuilder_.isEmpty()) { + topologyIdsBuilder_.dispose(); + topologyIdsBuilder_ = null; + topologyIds_ = other.topologyIds_; bitField0_ = (bitField0_ & ~0x00000001); - contextIdsBuilder_ = + topologyIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getContextIdsFieldBuilder() : null; + getTopologyIdsFieldBuilder() : null; } else { - contextIdsBuilder_.addAllMessages(other.contextIds_); + topologyIdsBuilder_.addAllMessages(other.topologyIds_); + } + } + } + if (serviceIdsBuilder_ == null) { + if (!other.serviceIds_.isEmpty()) { + if (serviceIds_.isEmpty()) { + serviceIds_ = other.serviceIds_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureServiceIdsIsMutable(); + serviceIds_.addAll(other.serviceIds_); + } + onChanged(); + } + } else { + if (!other.serviceIds_.isEmpty()) { + if (serviceIdsBuilder_.isEmpty()) { + serviceIdsBuilder_.dispose(); + serviceIdsBuilder_ = null; + serviceIds_ = other.serviceIds_; + bitField0_ = (bitField0_ & ~0x00000002); + serviceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getServiceIdsFieldBuilder() : null; + } else { + serviceIdsBuilder_.addAllMessages(other.serviceIds_); } } } + if (other.hasController()) { + mergeController(other.getController()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -5059,11 +4742,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ContextIdList parsedMessage = null; + context.ContextOuterClass.Context parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ContextIdList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Context) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -5074,1037 +4757,722 @@ public final class ContextOuterClass { } private int bitField0_; - private java.util.List contextIds_ = - java.util.Collections.emptyList(); - private void ensureContextIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - contextIds_ = new java.util.ArrayList(contextIds_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdsBuilder_; - - /** - * repeated .context.ContextId context_ids = 1; - */ - public java.util.List getContextIdsList() { - if (contextIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(contextIds_); - } else { - return contextIdsBuilder_.getMessageList(); - } - } + private context.ContextOuterClass.ContextId contextId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. */ - public int getContextIdsCount() { - if (contextIdsBuilder_ == null) { - return contextIds_.size(); - } else { - return contextIdsBuilder_.getCount(); - } + public boolean hasContextId() { + return contextIdBuilder_ != null || contextId_ != null; } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; + * @return The contextId. */ - public context.ContextOuterClass.ContextId getContextIds(int index) { - if (contextIdsBuilder_ == null) { - return contextIds_.get(index); + public context.ContextOuterClass.ContextId getContextId() { + if (contextIdBuilder_ == null) { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } else { - return contextIdsBuilder_.getMessage(index); + return contextIdBuilder_.getMessage(); } } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder setContextIds( - int index, context.ContextOuterClass.ContextId value) { - if (contextIdsBuilder_ == null) { + public Builder setContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureContextIdsIsMutable(); - contextIds_.set(index, value); + contextId_ = value; onChanged(); } else { - contextIdsBuilder_.setMessage(index, value); + contextIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder setContextIds( - int index, context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdsBuilder_ == null) { - ensureContextIdsIsMutable(); - contextIds_.set(index, builderForValue.build()); + public Builder setContextId( + context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdBuilder_ == null) { + contextId_ = builderForValue.build(); onChanged(); } else { - contextIdsBuilder_.setMessage(index, builderForValue.build()); + contextIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addContextIds(context.ContextOuterClass.ContextId value) { - if (contextIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (contextId_ != null) { + contextId_ = + context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); + } else { + contextId_ = value; } - ensureContextIdsIsMutable(); - contextIds_.add(value); onChanged(); } else { - contextIdsBuilder_.addMessage(value); + contextIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addContextIds( - int index, context.ContextOuterClass.ContextId value) { - if (contextIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureContextIdsIsMutable(); - contextIds_.add(index, value); + public Builder clearContextId() { + if (contextIdBuilder_ == null) { + contextId_ = null; onChanged(); } else { - contextIdsBuilder_.addMessage(index, value); + contextId_ = null; + contextIdBuilder_ = null; } + return this; } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addContextIds( - context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdsBuilder_ == null) { - ensureContextIdsIsMutable(); - contextIds_.add(builderForValue.build()); - onChanged(); - } else { - contextIdsBuilder_.addMessage(builderForValue.build()); - } - return this; + public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { + + onChanged(); + return getContextIdFieldBuilder().getBuilder(); } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addContextIds( - int index, context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdsBuilder_ == null) { - ensureContextIdsIsMutable(); - contextIds_.add(index, builderForValue.build()); - onChanged(); + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + if (contextIdBuilder_ != null) { + return contextIdBuilder_.getMessageOrBuilder(); } else { - contextIdsBuilder_.addMessage(index, builderForValue.build()); + return contextId_ == null ? + context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } - return this; } /** - * repeated .context.ContextId context_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addAllContextIds( - java.lang.Iterable values) { - if (contextIdsBuilder_ == null) { - ensureContextIdsIsMutable(); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> + getContextIdFieldBuilder() { + if (contextIdBuilder_ == null) { + contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( + getContextId(), + getParentForChildren(), + isClean()); + contextId_ = null; + } + return contextIdBuilder_; + } + + private java.util.List topologyIds_ = + java.util.Collections.emptyList(); + private void ensureTopologyIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + topologyIds_ = new java.util.ArrayList(topologyIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdsBuilder_; + + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public java.util.List getTopologyIdsList() { + if (topologyIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(topologyIds_); + } else { + return topologyIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public int getTopologyIdsCount() { + if (topologyIdsBuilder_ == null) { + return topologyIds_.size(); + } else { + return topologyIdsBuilder_.getCount(); + } + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public context.ContextOuterClass.TopologyId getTopologyIds(int index) { + if (topologyIdsBuilder_ == null) { + return topologyIds_.get(index); + } else { + return topologyIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder setTopologyIds( + int index, context.ContextOuterClass.TopologyId value) { + if (topologyIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTopologyIdsIsMutable(); + topologyIds_.set(index, value); + onChanged(); + } else { + topologyIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder setTopologyIds( + int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.set(index, builderForValue.build()); + onChanged(); + } else { + topologyIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder addTopologyIds(context.ContextOuterClass.TopologyId value) { + if (topologyIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTopologyIdsIsMutable(); + topologyIds_.add(value); + onChanged(); + } else { + topologyIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder addTopologyIds( + int index, context.ContextOuterClass.TopologyId value) { + if (topologyIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTopologyIdsIsMutable(); + topologyIds_.add(index, value); + onChanged(); + } else { + topologyIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder addTopologyIds( + context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.add(builderForValue.build()); + onChanged(); + } else { + topologyIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder addTopologyIds( + int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.add(index, builderForValue.build()); + onChanged(); + } else { + topologyIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.TopologyId topology_ids = 2; + */ + public Builder addAllTopologyIds( + java.lang.Iterable values) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, contextIds_); + values, topologyIds_); onChanged(); } else { - contextIdsBuilder_.addAllMessages(values); + topologyIdsBuilder_.addAllMessages(values); } return this; } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public Builder clearContextIds() { - if (contextIdsBuilder_ == null) { - contextIds_ = java.util.Collections.emptyList(); + public Builder clearTopologyIds() { + if (topologyIdsBuilder_ == null) { + topologyIds_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - contextIdsBuilder_.clear(); + topologyIdsBuilder_.clear(); } return this; } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public Builder removeContextIds(int index) { - if (contextIdsBuilder_ == null) { - ensureContextIdsIsMutable(); - contextIds_.remove(index); + public Builder removeTopologyIds(int index) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.remove(index); onChanged(); } else { - contextIdsBuilder_.remove(index); + topologyIdsBuilder_.remove(index); } return this; } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public context.ContextOuterClass.ContextId.Builder getContextIdsBuilder( + public context.ContextOuterClass.TopologyId.Builder getTopologyIdsBuilder( int index) { - return getContextIdsFieldBuilder().getBuilder(index); + return getTopologyIdsFieldBuilder().getBuilder(index); } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public context.ContextOuterClass.ContextIdOrBuilder getContextIdsOrBuilder( + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( int index) { - if (contextIdsBuilder_ == null) { - return contextIds_.get(index); } else { - return contextIdsBuilder_.getMessageOrBuilder(index); + if (topologyIdsBuilder_ == null) { + return topologyIds_.get(index); } else { + return topologyIdsBuilder_.getMessageOrBuilder(index); } } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public java.util.List - getContextIdsOrBuilderList() { - if (contextIdsBuilder_ != null) { - return contextIdsBuilder_.getMessageOrBuilderList(); + public java.util.List + getTopologyIdsOrBuilderList() { + if (topologyIdsBuilder_ != null) { + return topologyIdsBuilder_.getMessageOrBuilderList(); } else { - return java.util.Collections.unmodifiableList(contextIds_); + return java.util.Collections.unmodifiableList(topologyIds_); } } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public context.ContextOuterClass.ContextId.Builder addContextIdsBuilder() { - return getContextIdsFieldBuilder().addBuilder( - context.ContextOuterClass.ContextId.getDefaultInstance()); + public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder() { + return getTopologyIdsFieldBuilder().addBuilder( + context.ContextOuterClass.TopologyId.getDefaultInstance()); } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public context.ContextOuterClass.ContextId.Builder addContextIdsBuilder( + public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder( int index) { - return getContextIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.ContextId.getDefaultInstance()); + return getTopologyIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.TopologyId.getDefaultInstance()); } /** - * repeated .context.ContextId context_ids = 1; + * repeated .context.TopologyId topology_ids = 2; */ - public java.util.List - getContextIdsBuilderList() { - return getContextIdsFieldBuilder().getBuilderList(); + public java.util.List + getTopologyIdsBuilderList() { + return getTopologyIdsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> - getContextIdsFieldBuilder() { - if (contextIdsBuilder_ == null) { - contextIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( - contextIds_, + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> + getTopologyIdsFieldBuilder() { + if (topologyIdsBuilder_ == null) { + topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( + topologyIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - contextIds_ = null; + topologyIds_ = null; } - return contextIdsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return topologyIdsBuilder_; } - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); + private java.util.List serviceIds_ = + java.util.Collections.emptyList(); + private void ensureServiceIdsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + serviceIds_ = new java.util.ArrayList(serviceIds_); + bitField0_ |= 0x00000002; + } } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdsBuilder_; - // @@protoc_insertion_point(builder_scope:context.ContextIdList) - } - - // @@protoc_insertion_point(class_scope:context.ContextIdList) - private static final context.ContextOuterClass.ContextIdList DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ContextIdList(); - } - - public static context.ContextOuterClass.ContextIdList getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ContextIdList parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ContextIdList(input, extensionRegistry); + /** + * repeated .context.ServiceId service_ids = 3; + */ + public java.util.List getServiceIdsList() { + if (serviceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(serviceIds_); + } else { + return serviceIdsBuilder_.getMessageList(); + } } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public context.ContextOuterClass.ContextIdList getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ContextListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ContextList) - com.google.protobuf.MessageOrBuilder { - - /** - * repeated .context.Context contexts = 1; - */ - java.util.List - getContextsList(); - /** - * repeated .context.Context contexts = 1; - */ - context.ContextOuterClass.Context getContexts(int index); - /** - * repeated .context.Context contexts = 1; - */ - int getContextsCount(); - /** - * repeated .context.Context contexts = 1; - */ - java.util.List - getContextsOrBuilderList(); - /** - * repeated .context.Context contexts = 1; - */ - context.ContextOuterClass.ContextOrBuilder getContextsOrBuilder( - int index); - } - /** - * Protobuf type {@code context.ContextList} - */ - public static final class ContextList extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ContextList) - ContextListOrBuilder { - private static final long serialVersionUID = 0L; - // Use ContextList.newBuilder() to construct. - private ContextList(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private ContextList() { - contexts_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ContextList(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ContextList( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); + /** + * repeated .context.ServiceId service_ids = 3; + */ + public int getServiceIdsCount() { + if (serviceIdsBuilder_ == null) { + return serviceIds_.size(); + } else { + return serviceIdsBuilder_.getCount(); + } } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - contexts_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - contexts_.add( - input.readMessage(context.ContextOuterClass.Context.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } + /** + * repeated .context.ServiceId service_ids = 3; + */ + public context.ContextOuterClass.ServiceId getServiceIds(int index) { + if (serviceIdsBuilder_ == null) { + return serviceIds_.get(index); + } else { + return serviceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.ServiceId service_ids = 3; + */ + public Builder setServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (serviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureServiceIdsIsMutable(); + serviceIds_.set(index, value); + onChanged(); + } else { + serviceIdsBuilder_.setMessage(index, value); } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - contexts_ = java.util.Collections.unmodifiableList(contexts_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextList_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextList_fieldAccessorTable - .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextList.class, context.ContextOuterClass.ContextList.Builder.class); - } - - public static final int CONTEXTS_FIELD_NUMBER = 1; - private java.util.List contexts_; - /** - * repeated .context.Context contexts = 1; - */ - @java.lang.Override - public java.util.List getContextsList() { - return contexts_; - } - /** - * repeated .context.Context contexts = 1; - */ - @java.lang.Override - public java.util.List - getContextsOrBuilderList() { - return contexts_; - } - /** - * repeated .context.Context contexts = 1; - */ - @java.lang.Override - public int getContextsCount() { - return contexts_.size(); - } - /** - * repeated .context.Context contexts = 1; - */ - @java.lang.Override - public context.ContextOuterClass.Context getContexts(int index) { - return contexts_.get(index); - } - /** - * repeated .context.Context contexts = 1; - */ - @java.lang.Override - public context.ContextOuterClass.ContextOrBuilder getContextsOrBuilder( - int index) { - return contexts_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - for (int i = 0; i < contexts_.size(); i++) { - output.writeMessage(1, contexts_.get(i)); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < contexts_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, contexts_.get(i)); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof context.ContextOuterClass.ContextList)) { - return super.equals(obj); - } - context.ContextOuterClass.ContextList other = (context.ContextOuterClass.ContextList) obj; - - if (!getContextsList() - .equals(other.getContextsList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getContextsCount() > 0) { - hash = (37 * hash) + CONTEXTS_FIELD_NUMBER; - hash = (53 * hash) + getContextsList().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static context.ContextOuterClass.ContextList parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static context.ContextOuterClass.ContextList parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static context.ContextOuterClass.ContextList parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static context.ContextOuterClass.ContextList parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static context.ContextOuterClass.ContextList parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static context.ContextOuterClass.ContextList parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static context.ContextOuterClass.ContextList parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static context.ContextOuterClass.ContextList parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static context.ContextOuterClass.ContextList parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static context.ContextOuterClass.ContextList parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static context.ContextOuterClass.ContextList parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static context.ContextOuterClass.ContextList parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(context.ContextOuterClass.ContextList prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code context.ContextList} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ContextList) - context.ContextOuterClass.ContextListOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextList_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextList_fieldAccessorTable - .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextList.class, context.ContextOuterClass.ContextList.Builder.class); - } - - // Construct using context.ContextOuterClass.ContextList.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getContextsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (contextsBuilder_ == null) { - contexts_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - contextsBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ContextList_descriptor; - } - - @java.lang.Override - public context.ContextOuterClass.ContextList getDefaultInstanceForType() { - return context.ContextOuterClass.ContextList.getDefaultInstance(); - } - - @java.lang.Override - public context.ContextOuterClass.ContextList build() { - context.ContextOuterClass.ContextList result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public context.ContextOuterClass.ContextList buildPartial() { - context.ContextOuterClass.ContextList result = new context.ContextOuterClass.ContextList(this); - int from_bitField0_ = bitField0_; - if (contextsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - contexts_ = java.util.Collections.unmodifiableList(contexts_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.contexts_ = contexts_; - } else { - result.contexts_ = contextsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ContextList) { - return mergeFrom((context.ContextOuterClass.ContextList)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(context.ContextOuterClass.ContextList other) { - if (other == context.ContextOuterClass.ContextList.getDefaultInstance()) return this; - if (contextsBuilder_ == null) { - if (!other.contexts_.isEmpty()) { - if (contexts_.isEmpty()) { - contexts_ = other.contexts_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureContextsIsMutable(); - contexts_.addAll(other.contexts_); - } - onChanged(); - } - } else { - if (!other.contexts_.isEmpty()) { - if (contextsBuilder_.isEmpty()) { - contextsBuilder_.dispose(); - contextsBuilder_ = null; - contexts_ = other.contexts_; - bitField0_ = (bitField0_ & ~0x00000001); - contextsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getContextsFieldBuilder() : null; - } else { - contextsBuilder_.addAllMessages(other.contexts_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - context.ContextOuterClass.ContextList parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ContextList) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.util.List contexts_ = - java.util.Collections.emptyList(); - private void ensureContextsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - contexts_ = new java.util.ArrayList(contexts_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Context, context.ContextOuterClass.Context.Builder, context.ContextOuterClass.ContextOrBuilder> contextsBuilder_; - - /** - * repeated .context.Context contexts = 1; - */ - public java.util.List getContextsList() { - if (contextsBuilder_ == null) { - return java.util.Collections.unmodifiableList(contexts_); - } else { - return contextsBuilder_.getMessageList(); - } - } - /** - * repeated .context.Context contexts = 1; - */ - public int getContextsCount() { - if (contextsBuilder_ == null) { - return contexts_.size(); - } else { - return contextsBuilder_.getCount(); - } - } - /** - * repeated .context.Context contexts = 1; - */ - public context.ContextOuterClass.Context getContexts(int index) { - if (contextsBuilder_ == null) { - return contexts_.get(index); - } else { - return contextsBuilder_.getMessage(index); + return this; + } + /** + * repeated .context.ServiceId service_ids = 3; + */ + public Builder setServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + serviceIdsBuilder_.setMessage(index, builderForValue.build()); } + return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder setContexts( - int index, context.ContextOuterClass.Context value) { - if (contextsBuilder_ == null) { + public Builder addServiceIds(context.ContextOuterClass.ServiceId value) { + if (serviceIdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureContextsIsMutable(); - contexts_.set(index, value); - onChanged(); - } else { - contextsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.Context contexts = 1; - */ - public Builder setContexts( - int index, context.ContextOuterClass.Context.Builder builderForValue) { - if (contextsBuilder_ == null) { - ensureContextsIsMutable(); - contexts_.set(index, builderForValue.build()); + ensureServiceIdsIsMutable(); + serviceIds_.add(value); onChanged(); } else { - contextsBuilder_.setMessage(index, builderForValue.build()); + serviceIdsBuilder_.addMessage(value); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder addContexts(context.ContextOuterClass.Context value) { - if (contextsBuilder_ == null) { + public Builder addServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (serviceIdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureContextsIsMutable(); - contexts_.add(value); + ensureServiceIdsIsMutable(); + serviceIds_.add(index, value); onChanged(); } else { - contextsBuilder_.addMessage(value); + serviceIdsBuilder_.addMessage(index, value); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder addContexts( - int index, context.ContextOuterClass.Context value) { - if (contextsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureContextsIsMutable(); - contexts_.add(index, value); + public Builder addServiceIds( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.add(builderForValue.build()); onChanged(); } else { - contextsBuilder_.addMessage(index, value); + serviceIdsBuilder_.addMessage(builderForValue.build()); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder addContexts( - context.ContextOuterClass.Context.Builder builderForValue) { - if (contextsBuilder_ == null) { - ensureContextsIsMutable(); - contexts_.add(builderForValue.build()); + public Builder addServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.add(index, builderForValue.build()); onChanged(); } else { - contextsBuilder_.addMessage(builderForValue.build()); + serviceIdsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder addContexts( - int index, context.ContextOuterClass.Context.Builder builderForValue) { - if (contextsBuilder_ == null) { - ensureContextsIsMutable(); - contexts_.add(index, builderForValue.build()); + public Builder addAllServiceIds( + java.lang.Iterable values) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, serviceIds_); onChanged(); } else { - contextsBuilder_.addMessage(index, builderForValue.build()); + serviceIdsBuilder_.addAllMessages(values); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder addAllContexts( - java.lang.Iterable values) { - if (contextsBuilder_ == null) { - ensureContextsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, contexts_); + public Builder clearServiceIds() { + if (serviceIdsBuilder_ == null) { + serviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { - contextsBuilder_.addAllMessages(values); + serviceIdsBuilder_.clear(); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder clearContexts() { - if (contextsBuilder_ == null) { - contexts_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder removeServiceIds(int index) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.remove(index); onChanged(); } else { - contextsBuilder_.clear(); + serviceIdsBuilder_.remove(index); } return this; } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public Builder removeContexts(int index) { - if (contextsBuilder_ == null) { - ensureContextsIsMutable(); - contexts_.remove(index); - onChanged(); - } else { - contextsBuilder_.remove(index); - } - return this; + public context.ContextOuterClass.ServiceId.Builder getServiceIdsBuilder( + int index) { + return getServiceIdsFieldBuilder().getBuilder(index); } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public context.ContextOuterClass.Context.Builder getContextsBuilder( + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( int index) { - return getContextsFieldBuilder().getBuilder(index); + if (serviceIdsBuilder_ == null) { + return serviceIds_.get(index); } else { + return serviceIdsBuilder_.getMessageOrBuilder(index); + } } /** - * repeated .context.Context contexts = 1; + * repeated .context.ServiceId service_ids = 3; */ - public context.ContextOuterClass.ContextOrBuilder getContextsOrBuilder( + public java.util.List + getServiceIdsOrBuilderList() { + if (serviceIdsBuilder_ != null) { + return serviceIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(serviceIds_); + } + } + /** + * repeated .context.ServiceId service_ids = 3; + */ + public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder() { + return getServiceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId service_ids = 3; + */ + public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder( int index) { - if (contextsBuilder_ == null) { - return contexts_.get(index); } else { - return contextsBuilder_.getMessageOrBuilder(index); + return getServiceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId service_ids = 3; + */ + public java.util.List + getServiceIdsBuilderList() { + return getServiceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getServiceIdsFieldBuilder() { + if (serviceIdsBuilder_ == null) { + serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + serviceIds_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + serviceIds_ = null; } + return serviceIdsBuilder_; + } + + private context.ContextOuterClass.TeraFlowController controller_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TeraFlowController, context.ContextOuterClass.TeraFlowController.Builder, context.ContextOuterClass.TeraFlowControllerOrBuilder> controllerBuilder_; + /** + * .context.TeraFlowController controller = 4; + * @return Whether the controller field is set. + */ + public boolean hasController() { + return controllerBuilder_ != null || controller_ != null; } /** - * repeated .context.Context contexts = 1; + * .context.TeraFlowController controller = 4; + * @return The controller. */ - public java.util.List - getContextsOrBuilderList() { - if (contextsBuilder_ != null) { - return contextsBuilder_.getMessageOrBuilderList(); + public context.ContextOuterClass.TeraFlowController getController() { + if (controllerBuilder_ == null) { + return controller_ == null ? context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; } else { - return java.util.Collections.unmodifiableList(contexts_); + return controllerBuilder_.getMessage(); } } /** - * repeated .context.Context contexts = 1; + * .context.TeraFlowController controller = 4; */ - public context.ContextOuterClass.Context.Builder addContextsBuilder() { - return getContextsFieldBuilder().addBuilder( - context.ContextOuterClass.Context.getDefaultInstance()); + public Builder setController(context.ContextOuterClass.TeraFlowController value) { + if (controllerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + controller_ = value; + onChanged(); + } else { + controllerBuilder_.setMessage(value); + } + + return this; } /** - * repeated .context.Context contexts = 1; + * .context.TeraFlowController controller = 4; */ - public context.ContextOuterClass.Context.Builder addContextsBuilder( - int index) { - return getContextsFieldBuilder().addBuilder( - index, context.ContextOuterClass.Context.getDefaultInstance()); + public Builder setController( + context.ContextOuterClass.TeraFlowController.Builder builderForValue) { + if (controllerBuilder_ == null) { + controller_ = builderForValue.build(); + onChanged(); + } else { + controllerBuilder_.setMessage(builderForValue.build()); + } + + return this; } /** - * repeated .context.Context contexts = 1; + * .context.TeraFlowController controller = 4; */ - public java.util.List - getContextsBuilderList() { - return getContextsFieldBuilder().getBuilderList(); + public Builder mergeController(context.ContextOuterClass.TeraFlowController value) { + if (controllerBuilder_ == null) { + if (controller_ != null) { + controller_ = + context.ContextOuterClass.TeraFlowController.newBuilder(controller_).mergeFrom(value).buildPartial(); + } else { + controller_ = value; + } + onChanged(); + } else { + controllerBuilder_.mergeFrom(value); + } + + return this; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Context, context.ContextOuterClass.Context.Builder, context.ContextOuterClass.ContextOrBuilder> - getContextsFieldBuilder() { - if (contextsBuilder_ == null) { - contextsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Context, context.ContextOuterClass.Context.Builder, context.ContextOuterClass.ContextOrBuilder>( - contexts_, - ((bitField0_ & 0x00000001) != 0), + /** + * .context.TeraFlowController controller = 4; + */ + public Builder clearController() { + if (controllerBuilder_ == null) { + controller_ = null; + onChanged(); + } else { + controller_ = null; + controllerBuilder_ = null; + } + + return this; + } + /** + * .context.TeraFlowController controller = 4; + */ + public context.ContextOuterClass.TeraFlowController.Builder getControllerBuilder() { + + onChanged(); + return getControllerFieldBuilder().getBuilder(); + } + /** + * .context.TeraFlowController controller = 4; + */ + public context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder() { + if (controllerBuilder_ != null) { + return controllerBuilder_.getMessageOrBuilder(); + } else { + return controller_ == null ? + context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; + } + } + /** + * .context.TeraFlowController controller = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TeraFlowController, context.ContextOuterClass.TeraFlowController.Builder, context.ContextOuterClass.TeraFlowControllerOrBuilder> + getControllerFieldBuilder() { + if (controllerBuilder_ == null) { + controllerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TeraFlowController, context.ContextOuterClass.TeraFlowController.Builder, context.ContextOuterClass.TeraFlowControllerOrBuilder>( + getController(), getParentForChildren(), isClean()); - contexts_ = null; + controller_ = null; } - return contextsBuilder_; + return controllerBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -6119,100 +5487,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ContextList) + // @@protoc_insertion_point(builder_scope:context.Context) } - // @@protoc_insertion_point(class_scope:context.ContextList) - private static final context.ContextOuterClass.ContextList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Context) + private static final context.ContextOuterClass.Context DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ContextList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Context(); } - public static context.ContextOuterClass.ContextList getDefaultInstance() { + public static context.ContextOuterClass.Context getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ContextList parsePartialFrom( + public Context parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ContextList(input, extensionRegistry); + return new Context(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ContextList getDefaultInstanceForType() { + public context.ContextOuterClass.Context getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ContextEventOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ContextEvent) + public interface ContextIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ContextIdList) com.google.protobuf.MessageOrBuilder { /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - boolean hasEvent(); - /** - * .context.Event event = 1; - * @return The event. + * repeated .context.ContextId context_ids = 1; */ - context.ContextOuterClass.Event getEvent(); + java.util.List + getContextIdsList(); /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); - + context.ContextOuterClass.ContextId getContextIds(int index); /** - * .context.ContextId context_id = 2; - * @return Whether the contextId field is set. + * repeated .context.ContextId context_ids = 1; */ - boolean hasContextId(); + int getContextIdsCount(); /** - * .context.ContextId context_id = 2; - * @return The contextId. + * repeated .context.ContextId context_ids = 1; */ - context.ContextOuterClass.ContextId getContextId(); + java.util.List + getContextIdsOrBuilderList(); /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); + context.ContextOuterClass.ContextIdOrBuilder getContextIdsOrBuilder( + int index); } /** - * Protobuf type {@code context.ContextEvent} + * Protobuf type {@code context.ContextIdList} */ - public static final class ContextEvent extends + public static final class ContextIdList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ContextEvent) - ContextEventOrBuilder { + // @@protoc_insertion_point(message_implements:context.ContextIdList) + ContextIdListOrBuilder { private static final long serialVersionUID = 0L; - // Use ContextEvent.newBuilder() to construct. - private ContextEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ContextIdList.newBuilder() to construct. + private ContextIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ContextEvent() { + private ContextIdList() { + contextIds_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ContextEvent(); + return new ContextIdList(); } @java.lang.Override @@ -6220,7 +5583,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ContextEvent( + private ContextIdList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -6228,6 +5591,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -6239,29 +5603,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Event.Builder subBuilder = null; - if (event_ != null) { - subBuilder = event_.toBuilder(); - } - event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(event_); - event_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.ContextId.Builder subBuilder = null; - if (contextId_ != null) { - subBuilder = contextId_.toBuilder(); - } - contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(contextId_); - contextId_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + contextIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + contextIds_.add( + input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry)); break; } default: { @@ -6279,73 +5626,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + contextIds_ = java.util.Collections.unmodifiableList(contextIds_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; + return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextEvent.class, context.ContextOuterClass.ContextEvent.Builder.class); + context.ContextOuterClass.ContextIdList.class, context.ContextOuterClass.ContextIdList.Builder.class); } - public static final int EVENT_FIELD_NUMBER = 1; - private context.ContextOuterClass.Event event_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - @java.lang.Override - public boolean hasEvent() { - return event_ != null; - } + public static final int CONTEXT_IDS_FIELD_NUMBER = 1; + private java.util.List contextIds_; /** - * .context.Event event = 1; - * @return The event. + * repeated .context.ContextId context_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.Event getEvent() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public java.util.List getContextIdsList() { + return contextIds_; } /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return getEvent(); + public java.util.List + getContextIdsOrBuilderList() { + return contextIds_; } - - public static final int CONTEXT_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.ContextId contextId_; /** - * .context.ContextId context_id = 2; - * @return Whether the contextId field is set. + * repeated .context.ContextId context_ids = 1; */ @java.lang.Override - public boolean hasContextId() { - return contextId_ != null; + public int getContextIdsCount() { + return contextIds_.size(); } /** - * .context.ContextId context_id = 2; - * @return The contextId. + * repeated .context.ContextId context_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.ContextId getContextId() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public context.ContextOuterClass.ContextId getContextIds(int index) { + return contextIds_.get(index); } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return getContextId(); + public context.ContextOuterClass.ContextIdOrBuilder getContextIdsOrBuilder( + int index) { + return contextIds_.get(index); } private byte memoizedIsInitialized = -1; @@ -6362,11 +5700,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (event_ != null) { - output.writeMessage(1, getEvent()); - } - if (contextId_ != null) { - output.writeMessage(2, getContextId()); + for (int i = 0; i < contextIds_.size(); i++) { + output.writeMessage(1, contextIds_.get(i)); } unknownFields.writeTo(output); } @@ -6377,13 +5712,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (event_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEvent()); - } - if (contextId_ != null) { + for (int i = 0; i < contextIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getContextId()); + .computeMessageSize(1, contextIds_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -6395,21 +5726,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ContextEvent)) { + if (!(obj instanceof context.ContextOuterClass.ContextIdList)) { return super.equals(obj); } - context.ContextOuterClass.ContextEvent other = (context.ContextOuterClass.ContextEvent) obj; + context.ContextOuterClass.ContextIdList other = (context.ContextOuterClass.ContextIdList) obj; - if (hasEvent() != other.hasEvent()) return false; - if (hasEvent()) { - if (!getEvent() - .equals(other.getEvent())) return false; - } - if (hasContextId() != other.hasContextId()) return false; - if (hasContextId()) { - if (!getContextId() - .equals(other.getContextId())) return false; - } + if (!getContextIdsList() + .equals(other.getContextIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -6421,82 +5744,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEvent()) { - hash = (37 * hash) + EVENT_FIELD_NUMBER; - hash = (53 * hash) + getEvent().hashCode(); - } - if (hasContextId()) { - hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; - hash = (53 * hash) + getContextId().hashCode(); + if (getContextIdsCount() > 0) { + hash = (37 * hash) + CONTEXT_IDS_FIELD_NUMBER; + hash = (53 * hash) + getContextIdsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextEvent parseFrom(byte[] data) + public static context.ContextOuterClass.ContextIdList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ContextEvent parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextIdList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ContextEvent parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextIdList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextEvent parseDelimitedFrom( + public static context.ContextOuterClass.ContextIdList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ContextEvent parseFrom( + public static context.ContextOuterClass.ContextIdList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -6509,7 +5828,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ContextEvent prototype) { + public static Builder newBuilder(context.ContextOuterClass.ContextIdList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -6525,26 +5844,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ContextEvent} + * Protobuf type {@code context.ContextIdList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ContextEvent) - context.ContextOuterClass.ContextEventOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ContextIdList) + context.ContextOuterClass.ContextIdListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; + return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ContextEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ContextEvent.class, context.ContextOuterClass.ContextEvent.Builder.class); + context.ContextOuterClass.ContextIdList.class, context.ContextOuterClass.ContextIdList.Builder.class); } - // Construct using context.ContextOuterClass.ContextEvent.newBuilder() + // Construct using context.ContextOuterClass.ContextIdList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -6557,22 +5876,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getContextIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (eventBuilder_ == null) { - event_ = null; - } else { - event_ = null; - eventBuilder_ = null; - } - if (contextIdBuilder_ == null) { - contextId_ = null; + if (contextIdsBuilder_ == null) { + contextIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - contextId_ = null; - contextIdBuilder_ = null; + contextIdsBuilder_.clear(); } return this; } @@ -6580,17 +5894,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; + return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; } @java.lang.Override - public context.ContextOuterClass.ContextEvent getDefaultInstanceForType() { - return context.ContextOuterClass.ContextEvent.getDefaultInstance(); + public context.ContextOuterClass.ContextIdList getDefaultInstanceForType() { + return context.ContextOuterClass.ContextIdList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ContextEvent build() { - context.ContextOuterClass.ContextEvent result = buildPartial(); + public context.ContextOuterClass.ContextIdList build() { + context.ContextOuterClass.ContextIdList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -6598,17 +5912,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ContextEvent buildPartial() { - context.ContextOuterClass.ContextEvent result = new context.ContextOuterClass.ContextEvent(this); - if (eventBuilder_ == null) { - result.event_ = event_; - } else { - result.event_ = eventBuilder_.build(); - } - if (contextIdBuilder_ == null) { - result.contextId_ = contextId_; + public context.ContextOuterClass.ContextIdList buildPartial() { + context.ContextOuterClass.ContextIdList result = new context.ContextOuterClass.ContextIdList(this); + int from_bitField0_ = bitField0_; + if (contextIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + contextIds_ = java.util.Collections.unmodifiableList(contextIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.contextIds_ = contextIds_; } else { - result.contextId_ = contextIdBuilder_.build(); + result.contextIds_ = contextIdsBuilder_.build(); } onBuilt(); return result; @@ -6648,42 +5962,62 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ContextEvent) { - return mergeFrom((context.ContextOuterClass.ContextEvent)other); + if (other instanceof context.ContextOuterClass.ContextIdList) { + return mergeFrom((context.ContextOuterClass.ContextIdList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ContextEvent other) { - if (other == context.ContextOuterClass.ContextEvent.getDefaultInstance()) return this; - if (other.hasEvent()) { - mergeEvent(other.getEvent()); - } - if (other.hasContextId()) { - mergeContextId(other.getContextId()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - context.ContextOuterClass.ContextEvent parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + public Builder mergeFrom(context.ContextOuterClass.ContextIdList other) { + if (other == context.ContextOuterClass.ContextIdList.getDefaultInstance()) return this; + if (contextIdsBuilder_ == null) { + if (!other.contextIds_.isEmpty()) { + if (contextIds_.isEmpty()) { + contextIds_ = other.contextIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureContextIdsIsMutable(); + contextIds_.addAll(other.contextIds_); + } + onChanged(); + } + } else { + if (!other.contextIds_.isEmpty()) { + if (contextIdsBuilder_.isEmpty()) { + contextIdsBuilder_.dispose(); + contextIdsBuilder_ = null; + contextIds_ = other.contextIds_; + bitField0_ = (bitField0_ & ~0x00000001); + contextIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getContextIdsFieldBuilder() : null; + } else { + contextIdsBuilder_.addAllMessages(other.contextIds_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ContextIdList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ContextEvent) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ContextIdList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -6692,243 +6026,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List contextIds_ = + java.util.Collections.emptyList(); + private void ensureContextIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + contextIds_ = new java.util.ArrayList(contextIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdsBuilder_; - private context.ContextOuterClass.Event event_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.Event event = 1; - * @return Whether the event field is set. + * repeated .context.ContextId context_ids = 1; */ - public boolean hasEvent() { - return eventBuilder_ != null || event_ != null; + public java.util.List getContextIdsList() { + if (contextIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(contextIds_); + } else { + return contextIdsBuilder_.getMessageList(); + } } /** - * .context.Event event = 1; - * @return The event. + * repeated .context.ContextId context_ids = 1; */ - public context.ContextOuterClass.Event getEvent() { - if (eventBuilder_ == null) { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public int getContextIdsCount() { + if (contextIdsBuilder_ == null) { + return contextIds_.size(); } else { - return eventBuilder_.getMessage(); + return contextIdsBuilder_.getCount(); } } /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - public Builder setEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { + public context.ContextOuterClass.ContextId getContextIds(int index) { + if (contextIdsBuilder_ == null) { + return contextIds_.get(index); + } else { + return contextIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.ContextId context_ids = 1; + */ + public Builder setContextIds( + int index, context.ContextOuterClass.ContextId value) { + if (contextIdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - event_ = value; + ensureContextIdsIsMutable(); + contextIds_.set(index, value); onChanged(); } else { - eventBuilder_.setMessage(value); + contextIdsBuilder_.setMessage(index, value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - public Builder setEvent( - context.ContextOuterClass.Event.Builder builderForValue) { - if (eventBuilder_ == null) { - event_ = builderForValue.build(); + public Builder setContextIds( + int index, context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdsBuilder_ == null) { + ensureContextIdsIsMutable(); + contextIds_.set(index, builderForValue.build()); onChanged(); } else { - eventBuilder_.setMessage(builderForValue.build()); + contextIdsBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - public Builder mergeEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (event_ != null) { - event_ = - context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); - } else { - event_ = value; + public Builder addContextIds(context.ContextOuterClass.ContextId value) { + if (contextIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureContextIdsIsMutable(); + contextIds_.add(value); onChanged(); } else { - eventBuilder_.mergeFrom(value); + contextIdsBuilder_.addMessage(value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - public Builder clearEvent() { - if (eventBuilder_ == null) { - event_ = null; + public Builder addContextIds( + int index, context.ContextOuterClass.ContextId value) { + if (contextIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureContextIdsIsMutable(); + contextIds_.add(index, value); onChanged(); } else { - event_ = null; - eventBuilder_ = null; + contextIdsBuilder_.addMessage(index, value); } - return this; } /** - * .context.Event event = 1; - */ - public context.ContextOuterClass.Event.Builder getEventBuilder() { - - onChanged(); - return getEventFieldBuilder().getBuilder(); - } - /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - if (eventBuilder_ != null) { - return eventBuilder_.getMessageOrBuilder(); + public Builder addContextIds( + context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdsBuilder_ == null) { + ensureContextIdsIsMutable(); + contextIds_.add(builderForValue.build()); + onChanged(); } else { - return event_ == null ? - context.ContextOuterClass.Event.getDefaultInstance() : event_; + contextIdsBuilder_.addMessage(builderForValue.build()); } + return this; } /** - * .context.Event event = 1; + * repeated .context.ContextId context_ids = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> - getEventFieldBuilder() { - if (eventBuilder_ == null) { - eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( - getEvent(), - getParentForChildren(), - isClean()); - event_ = null; + public Builder addContextIds( + int index, context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdsBuilder_ == null) { + ensureContextIdsIsMutable(); + contextIds_.add(index, builderForValue.build()); + onChanged(); + } else { + contextIdsBuilder_.addMessage(index, builderForValue.build()); } - return eventBuilder_; - } - - private context.ContextOuterClass.ContextId contextId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; - /** - * .context.ContextId context_id = 2; - * @return Whether the contextId field is set. - */ - public boolean hasContextId() { - return contextIdBuilder_ != null || contextId_ != null; + return this; } /** - * .context.ContextId context_id = 2; - * @return The contextId. + * repeated .context.ContextId context_ids = 1; */ - public context.ContextOuterClass.ContextId getContextId() { - if (contextIdBuilder_ == null) { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public Builder addAllContextIds( + java.lang.Iterable values) { + if (contextIdsBuilder_ == null) { + ensureContextIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, contextIds_); + onChanged(); } else { - return contextIdBuilder_.getMessage(); + contextIdsBuilder_.addAllMessages(values); } + return this; } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - public Builder setContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - contextId_ = value; + public Builder clearContextIds() { + if (contextIdsBuilder_ == null) { + contextIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - contextIdBuilder_.setMessage(value); + contextIdsBuilder_.clear(); } - return this; } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - public Builder setContextId( - context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdBuilder_ == null) { - contextId_ = builderForValue.build(); + public Builder removeContextIds(int index) { + if (contextIdsBuilder_ == null) { + ensureContextIdsIsMutable(); + contextIds_.remove(index); onChanged(); } else { - contextIdBuilder_.setMessage(builderForValue.build()); + contextIdsBuilder_.remove(index); } - return this; } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - public Builder mergeContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { - if (contextId_ != null) { - contextId_ = - context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); - } else { - contextId_ = value; - } - onChanged(); - } else { - contextIdBuilder_.mergeFrom(value); + public context.ContextOuterClass.ContextId.Builder getContextIdsBuilder( + int index) { + return getContextIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ContextId context_ids = 1; + */ + public context.ContextOuterClass.ContextIdOrBuilder getContextIdsOrBuilder( + int index) { + if (contextIdsBuilder_ == null) { + return contextIds_.get(index); } else { + return contextIdsBuilder_.getMessageOrBuilder(index); } - - return this; } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - public Builder clearContextId() { - if (contextIdBuilder_ == null) { - contextId_ = null; - onChanged(); + public java.util.List + getContextIdsOrBuilderList() { + if (contextIdsBuilder_ != null) { + return contextIdsBuilder_.getMessageOrBuilderList(); } else { - contextId_ = null; - contextIdBuilder_ = null; + return java.util.Collections.unmodifiableList(contextIds_); } - - return this; } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { - - onChanged(); - return getContextIdFieldBuilder().getBuilder(); + public context.ContextOuterClass.ContextId.Builder addContextIdsBuilder() { + return getContextIdsFieldBuilder().addBuilder( + context.ContextOuterClass.ContextId.getDefaultInstance()); } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - if (contextIdBuilder_ != null) { - return contextIdBuilder_.getMessageOrBuilder(); - } else { - return contextId_ == null ? - context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; - } + public context.ContextOuterClass.ContextId.Builder addContextIdsBuilder( + int index) { + return getContextIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.ContextId.getDefaultInstance()); } /** - * .context.ContextId context_id = 2; + * repeated .context.ContextId context_ids = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< + public java.util.List + getContextIdsBuilderList() { + return getContextIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> - getContextIdFieldBuilder() { - if (contextIdBuilder_ == null) { - contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getContextIdsFieldBuilder() { + if (contextIdsBuilder_ == null) { + contextIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( - getContextId(), + contextIds_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - contextId_ = null; + contextIds_ = null; } - return contextIdBuilder_; + return contextIdsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -6943,104 +6280,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ContextEvent) + // @@protoc_insertion_point(builder_scope:context.ContextIdList) } - // @@protoc_insertion_point(class_scope:context.ContextEvent) - private static final context.ContextOuterClass.ContextEvent DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.ContextIdList) + private static final context.ContextOuterClass.ContextIdList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ContextEvent(); + DEFAULT_INSTANCE = new context.ContextOuterClass.ContextIdList(); } - public static context.ContextOuterClass.ContextEvent getDefaultInstance() { + public static context.ContextOuterClass.ContextIdList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ContextEvent parsePartialFrom( + public ContextIdList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ContextEvent(input, extensionRegistry); + return new ContextIdList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ContextEvent getDefaultInstanceForType() { + public context.ContextOuterClass.ContextIdList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TopologyIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.TopologyId) + public interface ContextListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ContextList) com.google.protobuf.MessageOrBuilder { /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. - */ - boolean hasContextId(); - /** - * .context.ContextId context_id = 1; - * @return The contextId. + * repeated .context.Context contexts = 1; */ - context.ContextOuterClass.ContextId getContextId(); + java.util.List + getContextsList(); /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); - + context.ContextOuterClass.Context getContexts(int index); /** - * .context.Uuid topology_uuid = 2; - * @return Whether the topologyUuid field is set. + * repeated .context.Context contexts = 1; */ - boolean hasTopologyUuid(); + int getContextsCount(); /** - * .context.Uuid topology_uuid = 2; - * @return The topologyUuid. + * repeated .context.Context contexts = 1; */ - context.ContextOuterClass.Uuid getTopologyUuid(); + java.util.List + getContextsOrBuilderList(); /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder(); + context.ContextOuterClass.ContextOrBuilder getContextsOrBuilder( + int index); } /** - *
-   * ----- Topology ------------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.TopologyId} + * Protobuf type {@code context.ContextList} */ - public static final class TopologyId extends + public static final class ContextList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.TopologyId) - TopologyIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.ContextList) + ContextListOrBuilder { private static final long serialVersionUID = 0L; - // Use TopologyId.newBuilder() to construct. - private TopologyId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ContextList.newBuilder() to construct. + private ContextList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private TopologyId() { + private ContextList() { + contexts_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new TopologyId(); + return new ContextList(); } @java.lang.Override @@ -7048,7 +6376,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private TopologyId( + private ContextList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -7056,6 +6384,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -7067,29 +6396,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.ContextId.Builder subBuilder = null; - if (contextId_ != null) { - subBuilder = contextId_.toBuilder(); - } - contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(contextId_); - contextId_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (topologyUuid_ != null) { - subBuilder = topologyUuid_.toBuilder(); - } - topologyUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(topologyUuid_); - topologyUuid_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + contexts_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + contexts_.add( + input.readMessage(context.ContextOuterClass.Context.parser(), extensionRegistry)); break; } default: { @@ -7107,76 +6419,67 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + contexts_ = java.util.Collections.unmodifiableList(contexts_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; + return context.ContextOuterClass.internal_static_context_ContextList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyId.class, context.ContextOuterClass.TopologyId.Builder.class); + context.ContextOuterClass.ContextList.class, context.ContextOuterClass.ContextList.Builder.class); } - public static final int CONTEXT_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.ContextId contextId_; + public static final int CONTEXTS_FIELD_NUMBER = 1; + private java.util.List contexts_; /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. + * repeated .context.Context contexts = 1; */ @java.lang.Override - public boolean hasContextId() { - return contextId_ != null; + public java.util.List getContextsList() { + return contexts_; } /** - * .context.ContextId context_id = 1; - * @return The contextId. + * repeated .context.Context contexts = 1; */ @java.lang.Override - public context.ContextOuterClass.ContextId getContextId() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public java.util.List + getContextsOrBuilderList() { + return contexts_; } /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ @java.lang.Override - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return getContextId(); + public int getContextsCount() { + return contexts_.size(); } - - public static final int TOPOLOGY_UUID_FIELD_NUMBER = 2; - private context.ContextOuterClass.Uuid topologyUuid_; /** - * .context.Uuid topology_uuid = 2; - * @return Whether the topologyUuid field is set. + * repeated .context.Context contexts = 1; */ @java.lang.Override - public boolean hasTopologyUuid() { - return topologyUuid_ != null; + public context.ContextOuterClass.Context getContexts(int index) { + return contexts_.get(index); } /** - * .context.Uuid topology_uuid = 2; - * @return The topologyUuid. + * repeated .context.Context contexts = 1; */ @java.lang.Override - public context.ContextOuterClass.Uuid getTopologyUuid() { - return topologyUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; + public context.ContextOuterClass.ContextOrBuilder getContextsOrBuilder( + int index) { + return contexts_.get(index); } - /** - * .context.Uuid topology_uuid = 2; - */ - @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder() { - return getTopologyUuid(); - } - - private byte memoizedIsInitialized = -1; + + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; @@ -7190,11 +6493,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (contextId_ != null) { - output.writeMessage(1, getContextId()); - } - if (topologyUuid_ != null) { - output.writeMessage(2, getTopologyUuid()); + for (int i = 0; i < contexts_.size(); i++) { + output.writeMessage(1, contexts_.get(i)); } unknownFields.writeTo(output); } @@ -7205,13 +6505,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (contextId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getContextId()); - } - if (topologyUuid_ != null) { + for (int i = 0; i < contexts_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getTopologyUuid()); + .computeMessageSize(1, contexts_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -7223,21 +6519,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.TopologyId)) { + if (!(obj instanceof context.ContextOuterClass.ContextList)) { return super.equals(obj); } - context.ContextOuterClass.TopologyId other = (context.ContextOuterClass.TopologyId) obj; + context.ContextOuterClass.ContextList other = (context.ContextOuterClass.ContextList) obj; - if (hasContextId() != other.hasContextId()) return false; - if (hasContextId()) { - if (!getContextId() - .equals(other.getContextId())) return false; - } - if (hasTopologyUuid() != other.hasTopologyUuid()) return false; - if (hasTopologyUuid()) { - if (!getTopologyUuid() - .equals(other.getTopologyUuid())) return false; - } + if (!getContextsList() + .equals(other.getContextsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -7249,82 +6537,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasContextId()) { - hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; - hash = (53 * hash) + getContextId().hashCode(); - } - if (hasTopologyUuid()) { - hash = (37 * hash) + TOPOLOGY_UUID_FIELD_NUMBER; - hash = (53 * hash) + getTopologyUuid().hashCode(); + if (getContextsCount() > 0) { + hash = (37 * hash) + CONTEXTS_FIELD_NUMBER; + hash = (53 * hash) + getContextsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyId parseFrom(byte[] data) + public static context.ContextOuterClass.ContextList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyId parseDelimitedFrom( + public static context.ContextOuterClass.ContextList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyId parseFrom( + public static context.ContextOuterClass.ContextList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -7337,7 +6621,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.TopologyId prototype) { + public static Builder newBuilder(context.ContextOuterClass.ContextList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -7353,30 +6637,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Topology ------------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.TopologyId} + * Protobuf type {@code context.ContextList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.TopologyId) - context.ContextOuterClass.TopologyIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ContextList) + context.ContextOuterClass.ContextListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; + return context.ContextOuterClass.internal_static_context_ContextList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyId.class, context.ContextOuterClass.TopologyId.Builder.class); + context.ContextOuterClass.ContextList.class, context.ContextOuterClass.ContextList.Builder.class); } - // Construct using context.ContextOuterClass.TopologyId.newBuilder() + // Construct using context.ContextOuterClass.ContextList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -7389,22 +6669,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getContextsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (contextIdBuilder_ == null) { - contextId_ = null; - } else { - contextId_ = null; - contextIdBuilder_ = null; - } - if (topologyUuidBuilder_ == null) { - topologyUuid_ = null; + if (contextsBuilder_ == null) { + contexts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - topologyUuid_ = null; - topologyUuidBuilder_ = null; + contextsBuilder_.clear(); } return this; } @@ -7412,17 +6687,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; + return context.ContextOuterClass.internal_static_context_ContextList_descriptor; } @java.lang.Override - public context.ContextOuterClass.TopologyId getDefaultInstanceForType() { - return context.ContextOuterClass.TopologyId.getDefaultInstance(); + public context.ContextOuterClass.ContextList getDefaultInstanceForType() { + return context.ContextOuterClass.ContextList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.TopologyId build() { - context.ContextOuterClass.TopologyId result = buildPartial(); + public context.ContextOuterClass.ContextList build() { + context.ContextOuterClass.ContextList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -7430,17 +6705,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.TopologyId buildPartial() { - context.ContextOuterClass.TopologyId result = new context.ContextOuterClass.TopologyId(this); - if (contextIdBuilder_ == null) { - result.contextId_ = contextId_; - } else { - result.contextId_ = contextIdBuilder_.build(); - } - if (topologyUuidBuilder_ == null) { - result.topologyUuid_ = topologyUuid_; + public context.ContextOuterClass.ContextList buildPartial() { + context.ContextOuterClass.ContextList result = new context.ContextOuterClass.ContextList(this); + int from_bitField0_ = bitField0_; + if (contextsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + contexts_ = java.util.Collections.unmodifiableList(contexts_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.contexts_ = contexts_; } else { - result.topologyUuid_ = topologyUuidBuilder_.build(); + result.contexts_ = contextsBuilder_.build(); } onBuilt(); return result; @@ -7480,21 +6755,41 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.TopologyId) { - return mergeFrom((context.ContextOuterClass.TopologyId)other); + if (other instanceof context.ContextOuterClass.ContextList) { + return mergeFrom((context.ContextOuterClass.ContextList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.TopologyId other) { - if (other == context.ContextOuterClass.TopologyId.getDefaultInstance()) return this; - if (other.hasContextId()) { - mergeContextId(other.getContextId()); - } - if (other.hasTopologyUuid()) { - mergeTopologyUuid(other.getTopologyUuid()); + public Builder mergeFrom(context.ContextOuterClass.ContextList other) { + if (other == context.ContextOuterClass.ContextList.getDefaultInstance()) return this; + if (contextsBuilder_ == null) { + if (!other.contexts_.isEmpty()) { + if (contexts_.isEmpty()) { + contexts_ = other.contexts_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureContextsIsMutable(); + contexts_.addAll(other.contexts_); + } + onChanged(); + } + } else { + if (!other.contexts_.isEmpty()) { + if (contextsBuilder_.isEmpty()) { + contextsBuilder_.dispose(); + contextsBuilder_ = null; + contexts_ = other.contexts_; + bitField0_ = (bitField0_ & ~0x00000001); + contextsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getContextsFieldBuilder() : null; + } else { + contextsBuilder_.addAllMessages(other.contexts_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -7511,11 +6806,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.TopologyId parsedMessage = null; + context.ContextOuterClass.ContextList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.TopologyId) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ContextList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -7524,243 +6819,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List contexts_ = + java.util.Collections.emptyList(); + private void ensureContextsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + contexts_ = new java.util.ArrayList(contexts_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Context, context.ContextOuterClass.Context.Builder, context.ContextOuterClass.ContextOrBuilder> contextsBuilder_; - private context.ContextOuterClass.ContextId contextId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. + * repeated .context.Context contexts = 1; */ - public boolean hasContextId() { - return contextIdBuilder_ != null || contextId_ != null; + public java.util.List getContextsList() { + if (contextsBuilder_ == null) { + return java.util.Collections.unmodifiableList(contexts_); + } else { + return contextsBuilder_.getMessageList(); + } } /** - * .context.ContextId context_id = 1; - * @return The contextId. + * repeated .context.Context contexts = 1; */ - public context.ContextOuterClass.ContextId getContextId() { - if (contextIdBuilder_ == null) { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public int getContextsCount() { + if (contextsBuilder_ == null) { + return contexts_.size(); } else { - return contextIdBuilder_.getMessage(); + return contextsBuilder_.getCount(); } } /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - public Builder setContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { + public context.ContextOuterClass.Context getContexts(int index) { + if (contextsBuilder_ == null) { + return contexts_.get(index); + } else { + return contextsBuilder_.getMessage(index); + } + } + /** + * repeated .context.Context contexts = 1; + */ + public Builder setContexts( + int index, context.ContextOuterClass.Context value) { + if (contextsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - contextId_ = value; + ensureContextsIsMutable(); + contexts_.set(index, value); onChanged(); } else { - contextIdBuilder_.setMessage(value); + contextsBuilder_.setMessage(index, value); } - return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - public Builder setContextId( - context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdBuilder_ == null) { - contextId_ = builderForValue.build(); + public Builder setContexts( + int index, context.ContextOuterClass.Context.Builder builderForValue) { + if (contextsBuilder_ == null) { + ensureContextsIsMutable(); + contexts_.set(index, builderForValue.build()); onChanged(); } else { - contextIdBuilder_.setMessage(builderForValue.build()); + contextsBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - public Builder mergeContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { - if (contextId_ != null) { - contextId_ = - context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); - } else { - contextId_ = value; + public Builder addContexts(context.ContextOuterClass.Context value) { + if (contextsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureContextsIsMutable(); + contexts_.add(value); onChanged(); } else { - contextIdBuilder_.mergeFrom(value); + contextsBuilder_.addMessage(value); } - return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - public Builder clearContextId() { - if (contextIdBuilder_ == null) { - contextId_ = null; + public Builder addContexts( + int index, context.ContextOuterClass.Context value) { + if (contextsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureContextsIsMutable(); + contexts_.add(index, value); onChanged(); } else { - contextId_ = null; - contextIdBuilder_ = null; + contextsBuilder_.addMessage(index, value); } - return this; } /** - * .context.ContextId context_id = 1; - */ - public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { - - onChanged(); - return getContextIdFieldBuilder().getBuilder(); - } - /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - if (contextIdBuilder_ != null) { - return contextIdBuilder_.getMessageOrBuilder(); + public Builder addContexts( + context.ContextOuterClass.Context.Builder builderForValue) { + if (contextsBuilder_ == null) { + ensureContextsIsMutable(); + contexts_.add(builderForValue.build()); + onChanged(); } else { - return contextId_ == null ? - context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + contextsBuilder_.addMessage(builderForValue.build()); } + return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Context contexts = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> - getContextIdFieldBuilder() { - if (contextIdBuilder_ == null) { - contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( - getContextId(), - getParentForChildren(), - isClean()); - contextId_ = null; + public Builder addContexts( + int index, context.ContextOuterClass.Context.Builder builderForValue) { + if (contextsBuilder_ == null) { + ensureContextsIsMutable(); + contexts_.add(index, builderForValue.build()); + onChanged(); + } else { + contextsBuilder_.addMessage(index, builderForValue.build()); } - return contextIdBuilder_; - } - - private context.ContextOuterClass.Uuid topologyUuid_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> topologyUuidBuilder_; - /** - * .context.Uuid topology_uuid = 2; - * @return Whether the topologyUuid field is set. - */ - public boolean hasTopologyUuid() { - return topologyUuidBuilder_ != null || topologyUuid_ != null; + return this; } /** - * .context.Uuid topology_uuid = 2; - * @return The topologyUuid. + * repeated .context.Context contexts = 1; */ - public context.ContextOuterClass.Uuid getTopologyUuid() { - if (topologyUuidBuilder_ == null) { - return topologyUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; + public Builder addAllContexts( + java.lang.Iterable values) { + if (contextsBuilder_ == null) { + ensureContextsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, contexts_); + onChanged(); } else { - return topologyUuidBuilder_.getMessage(); + contextsBuilder_.addAllMessages(values); } + return this; } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - public Builder setTopologyUuid(context.ContextOuterClass.Uuid value) { - if (topologyUuidBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - topologyUuid_ = value; + public Builder clearContexts() { + if (contextsBuilder_ == null) { + contexts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - topologyUuidBuilder_.setMessage(value); + contextsBuilder_.clear(); } - return this; } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - public Builder setTopologyUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (topologyUuidBuilder_ == null) { - topologyUuid_ = builderForValue.build(); + public Builder removeContexts(int index) { + if (contextsBuilder_ == null) { + ensureContextsIsMutable(); + contexts_.remove(index); onChanged(); } else { - topologyUuidBuilder_.setMessage(builderForValue.build()); + contextsBuilder_.remove(index); } - return this; } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - public Builder mergeTopologyUuid(context.ContextOuterClass.Uuid value) { - if (topologyUuidBuilder_ == null) { - if (topologyUuid_ != null) { - topologyUuid_ = - context.ContextOuterClass.Uuid.newBuilder(topologyUuid_).mergeFrom(value).buildPartial(); - } else { - topologyUuid_ = value; - } - onChanged(); - } else { - topologyUuidBuilder_.mergeFrom(value); + public context.ContextOuterClass.Context.Builder getContextsBuilder( + int index) { + return getContextsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Context contexts = 1; + */ + public context.ContextOuterClass.ContextOrBuilder getContextsOrBuilder( + int index) { + if (contextsBuilder_ == null) { + return contexts_.get(index); } else { + return contextsBuilder_.getMessageOrBuilder(index); } - - return this; } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - public Builder clearTopologyUuid() { - if (topologyUuidBuilder_ == null) { - topologyUuid_ = null; - onChanged(); + public java.util.List + getContextsOrBuilderList() { + if (contextsBuilder_ != null) { + return contextsBuilder_.getMessageOrBuilderList(); } else { - topologyUuid_ = null; - topologyUuidBuilder_ = null; + return java.util.Collections.unmodifiableList(contexts_); } - - return this; } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - public context.ContextOuterClass.Uuid.Builder getTopologyUuidBuilder() { - - onChanged(); - return getTopologyUuidFieldBuilder().getBuilder(); + public context.ContextOuterClass.Context.Builder addContextsBuilder() { + return getContextsFieldBuilder().addBuilder( + context.ContextOuterClass.Context.getDefaultInstance()); } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - public context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder() { - if (topologyUuidBuilder_ != null) { - return topologyUuidBuilder_.getMessageOrBuilder(); - } else { - return topologyUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; - } + public context.ContextOuterClass.Context.Builder addContextsBuilder( + int index) { + return getContextsFieldBuilder().addBuilder( + index, context.ContextOuterClass.Context.getDefaultInstance()); } /** - * .context.Uuid topology_uuid = 2; + * repeated .context.Context contexts = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getTopologyUuidFieldBuilder() { - if (topologyUuidBuilder_ == null) { - topologyUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getTopologyUuid(), + public java.util.List + getContextsBuilderList() { + return getContextsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Context, context.ContextOuterClass.Context.Builder, context.ContextOuterClass.ContextOrBuilder> + getContextsFieldBuilder() { + if (contextsBuilder_ == null) { + contextsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Context, context.ContextOuterClass.Context.Builder, context.ContextOuterClass.ContextOrBuilder>( + contexts_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - topologyUuid_ = null; + contexts_ = null; } - return topologyUuidBuilder_; + return contextsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -7775,135 +7073,100 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.TopologyId) + // @@protoc_insertion_point(builder_scope:context.ContextList) } - // @@protoc_insertion_point(class_scope:context.TopologyId) - private static final context.ContextOuterClass.TopologyId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.ContextList) + private static final context.ContextOuterClass.ContextList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.ContextList(); } - public static context.ContextOuterClass.TopologyId getDefaultInstance() { + public static context.ContextOuterClass.ContextList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TopologyId parsePartialFrom( + public ContextList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TopologyId(input, extensionRegistry); + return new ContextList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.TopologyId getDefaultInstanceForType() { + public context.ContextOuterClass.ContextList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TopologyOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.Topology) + public interface ContextEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ContextEvent) com.google.protobuf.MessageOrBuilder { /** - * .context.TopologyId topology_id = 1; - * @return Whether the topologyId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - boolean hasTopologyId(); + boolean hasEvent(); /** - * .context.TopologyId topology_id = 1; - * @return The topologyId. - */ - context.ContextOuterClass.TopologyId getTopologyId(); - /** - * .context.TopologyId topology_id = 1; - */ - context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder(); - - /** - * repeated .context.DeviceId device_ids = 2; - */ - java.util.List - getDeviceIdsList(); - /** - * repeated .context.DeviceId device_ids = 2; - */ - context.ContextOuterClass.DeviceId getDeviceIds(int index); - /** - * repeated .context.DeviceId device_ids = 2; - */ - int getDeviceIdsCount(); - /** - * repeated .context.DeviceId device_ids = 2; + * .context.Event event = 1; + * @return The event. */ - java.util.List - getDeviceIdsOrBuilderList(); + context.ContextOuterClass.Event getEvent(); /** - * repeated .context.DeviceId device_ids = 2; + * .context.Event event = 1; */ - context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( - int index); + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); /** - * repeated .context.LinkId link_ids = 3; - */ - java.util.List - getLinkIdsList(); - /** - * repeated .context.LinkId link_ids = 3; - */ - context.ContextOuterClass.LinkId getLinkIds(int index); - /** - * repeated .context.LinkId link_ids = 3; + * .context.ContextId context_id = 2; + * @return Whether the contextId field is set. */ - int getLinkIdsCount(); + boolean hasContextId(); /** - * repeated .context.LinkId link_ids = 3; + * .context.ContextId context_id = 2; + * @return The contextId. */ - java.util.List - getLinkIdsOrBuilderList(); + context.ContextOuterClass.ContextId getContextId(); /** - * repeated .context.LinkId link_ids = 3; + * .context.ContextId context_id = 2; */ - context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( - int index); + context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); } /** - * Protobuf type {@code context.Topology} + * Protobuf type {@code context.ContextEvent} */ - public static final class Topology extends + public static final class ContextEvent extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.Topology) - TopologyOrBuilder { + // @@protoc_insertion_point(message_implements:context.ContextEvent) + ContextEventOrBuilder { private static final long serialVersionUID = 0L; - // Use Topology.newBuilder() to construct. - private Topology(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ContextEvent.newBuilder() to construct. + private ContextEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Topology() { - deviceIds_ = java.util.Collections.emptyList(); - linkIds_ = java.util.Collections.emptyList(); + private ContextEvent() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Topology(); + return new ContextEvent(); } @java.lang.Override @@ -7911,7 +7174,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private Topology( + private ContextEvent( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -7919,7 +7182,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -7931,34 +7193,29 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.TopologyId.Builder subBuilder = null; - if (topologyId_ != null) { - subBuilder = topologyId_.toBuilder(); + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); } - topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(topologyId_); - topologyId_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); } break; } case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - deviceIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); } - deviceIds_.add( - input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry)); - break; - } - case 26: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - linkIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); } - linkIds_.add( - input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry)); + break; } default: { @@ -7976,133 +7233,73 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - linkIds_ = java.util.Collections.unmodifiableList(linkIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Topology_descriptor; + return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Topology_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Topology.class, context.ContextOuterClass.Topology.Builder.class); - } - - public static final int TOPOLOGY_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.TopologyId topologyId_; - /** - * .context.TopologyId topology_id = 1; - * @return Whether the topologyId field is set. - */ - @java.lang.Override - public boolean hasTopologyId() { - return topologyId_ != null; - } - /** - * .context.TopologyId topology_id = 1; - * @return The topologyId. - */ - @java.lang.Override - public context.ContextOuterClass.TopologyId getTopologyId() { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; - } - /** - * .context.TopologyId topology_id = 1; - */ - @java.lang.Override - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - return getTopologyId(); + context.ContextOuterClass.ContextEvent.class, context.ContextOuterClass.ContextEvent.Builder.class); } - public static final int DEVICE_IDS_FIELD_NUMBER = 2; - private java.util.List deviceIds_; - /** - * repeated .context.DeviceId device_ids = 2; - */ - @java.lang.Override - public java.util.List getDeviceIdsList() { - return deviceIds_; - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - @java.lang.Override - public java.util.List - getDeviceIdsOrBuilderList() { - return deviceIds_; - } + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; /** - * repeated .context.DeviceId device_ids = 2; + * .context.Event event = 1; + * @return Whether the event field is set. */ @java.lang.Override - public int getDeviceIdsCount() { - return deviceIds_.size(); + public boolean hasEvent() { + return event_ != null; } /** - * repeated .context.DeviceId device_ids = 2; + * .context.Event event = 1; + * @return The event. */ @java.lang.Override - public context.ContextOuterClass.DeviceId getDeviceIds(int index) { - return deviceIds_.get(index); + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } /** - * repeated .context.DeviceId device_ids = 2; + * .context.Event event = 1; */ @java.lang.Override - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( - int index) { - return deviceIds_.get(index); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); } - public static final int LINK_IDS_FIELD_NUMBER = 3; - private java.util.List linkIds_; - /** - * repeated .context.LinkId link_ids = 3; - */ - @java.lang.Override - public java.util.List getLinkIdsList() { - return linkIds_; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - @java.lang.Override - public java.util.List - getLinkIdsOrBuilderList() { - return linkIds_; - } + public static final int CONTEXT_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.ContextId contextId_; /** - * repeated .context.LinkId link_ids = 3; + * .context.ContextId context_id = 2; + * @return Whether the contextId field is set. */ @java.lang.Override - public int getLinkIdsCount() { - return linkIds_.size(); + public boolean hasContextId() { + return contextId_ != null; } /** - * repeated .context.LinkId link_ids = 3; + * .context.ContextId context_id = 2; + * @return The contextId. */ @java.lang.Override - public context.ContextOuterClass.LinkId getLinkIds(int index) { - return linkIds_.get(index); + public context.ContextOuterClass.ContextId getContextId() { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } /** - * repeated .context.LinkId link_ids = 3; + * .context.ContextId context_id = 2; */ @java.lang.Override - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( - int index) { - return linkIds_.get(index); + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + return getContextId(); } private byte memoizedIsInitialized = -1; @@ -8119,14 +7316,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (topologyId_ != null) { - output.writeMessage(1, getTopologyId()); - } - for (int i = 0; i < deviceIds_.size(); i++) { - output.writeMessage(2, deviceIds_.get(i)); + if (event_ != null) { + output.writeMessage(1, getEvent()); } - for (int i = 0; i < linkIds_.size(); i++) { - output.writeMessage(3, linkIds_.get(i)); + if (contextId_ != null) { + output.writeMessage(2, getContextId()); } unknownFields.writeTo(output); } @@ -8137,17 +7331,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (topologyId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTopologyId()); - } - for (int i = 0; i < deviceIds_.size(); i++) { + if (event_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, deviceIds_.get(i)); + .computeMessageSize(1, getEvent()); } - for (int i = 0; i < linkIds_.size(); i++) { + if (contextId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, linkIds_.get(i)); + .computeMessageSize(2, getContextId()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -8159,20 +7349,21 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.Topology)) { + if (!(obj instanceof context.ContextOuterClass.ContextEvent)) { return super.equals(obj); } - context.ContextOuterClass.Topology other = (context.ContextOuterClass.Topology) obj; + context.ContextOuterClass.ContextEvent other = (context.ContextOuterClass.ContextEvent) obj; - if (hasTopologyId() != other.hasTopologyId()) return false; - if (hasTopologyId()) { - if (!getTopologyId() - .equals(other.getTopologyId())) return false; + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; + } + if (hasContextId() != other.hasContextId()) return false; + if (hasContextId()) { + if (!getContextId() + .equals(other.getContextId())) return false; } - if (!getDeviceIdsList() - .equals(other.getDeviceIdsList())) return false; - if (!getLinkIdsList() - .equals(other.getLinkIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -8184,86 +7375,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTopologyId()) { - hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; - hash = (53 * hash) + getTopologyId().hashCode(); - } - if (getDeviceIdsCount() > 0) { - hash = (37 * hash) + DEVICE_IDS_FIELD_NUMBER; - hash = (53 * hash) + getDeviceIdsList().hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); } - if (getLinkIdsCount() > 0) { - hash = (37 * hash) + LINK_IDS_FIELD_NUMBER; - hash = (53 * hash) + getLinkIdsList().hashCode(); + if (hasContextId()) { + hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; + hash = (53 * hash) + getContextId().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Topology parseFrom(byte[] data) + public static context.ContextOuterClass.ContextEvent parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Topology parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextEvent parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Topology parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ContextEvent parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.Topology parseDelimitedFrom( + public static context.ContextOuterClass.ContextEvent parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Topology parseFrom( + public static context.ContextOuterClass.ContextEvent parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -8276,7 +7463,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.Topology prototype) { + public static Builder newBuilder(context.ContextOuterClass.ContextEvent prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -8292,26 +7479,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.Topology} + * Protobuf type {@code context.ContextEvent} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.Topology) - context.ContextOuterClass.TopologyOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ContextEvent) + context.ContextOuterClass.ContextEventOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Topology_descriptor; + return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Topology_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ContextEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Topology.class, context.ContextOuterClass.Topology.Builder.class); + context.ContextOuterClass.ContextEvent.class, context.ContextOuterClass.ContextEvent.Builder.class); } - // Construct using context.ContextOuterClass.Topology.newBuilder() + // Construct using context.ContextOuterClass.ContextEvent.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -8324,30 +7511,22 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getDeviceIdsFieldBuilder(); - getLinkIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (topologyIdBuilder_ == null) { - topologyId_ = null; - } else { - topologyId_ = null; - topologyIdBuilder_ = null; - } - if (deviceIdsBuilder_ == null) { - deviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (eventBuilder_ == null) { + event_ = null; } else { - deviceIdsBuilder_.clear(); + event_ = null; + eventBuilder_ = null; } - if (linkIdsBuilder_ == null) { - linkIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); + if (contextIdBuilder_ == null) { + contextId_ = null; } else { - linkIdsBuilder_.clear(); + contextId_ = null; + contextIdBuilder_ = null; } return this; } @@ -8355,17 +7534,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Topology_descriptor; + return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; } @java.lang.Override - public context.ContextOuterClass.Topology getDefaultInstanceForType() { - return context.ContextOuterClass.Topology.getDefaultInstance(); + public context.ContextOuterClass.ContextEvent getDefaultInstanceForType() { + return context.ContextOuterClass.ContextEvent.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.Topology build() { - context.ContextOuterClass.Topology result = buildPartial(); + public context.ContextOuterClass.ContextEvent build() { + context.ContextOuterClass.ContextEvent result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -8373,31 +7552,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.Topology buildPartial() { - context.ContextOuterClass.Topology result = new context.ContextOuterClass.Topology(this); - int from_bitField0_ = bitField0_; - if (topologyIdBuilder_ == null) { - result.topologyId_ = topologyId_; - } else { - result.topologyId_ = topologyIdBuilder_.build(); - } - if (deviceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.deviceIds_ = deviceIds_; + public context.ContextOuterClass.ContextEvent buildPartial() { + context.ContextOuterClass.ContextEvent result = new context.ContextOuterClass.ContextEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; } else { - result.deviceIds_ = deviceIdsBuilder_.build(); + result.event_ = eventBuilder_.build(); } - if (linkIdsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - linkIds_ = java.util.Collections.unmodifiableList(linkIds_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.linkIds_ = linkIds_; + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; } else { - result.linkIds_ = linkIdsBuilder_.build(); + result.contextId_ = contextIdBuilder_.build(); } onBuilt(); return result; @@ -8437,70 +7602,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Topology) { - return mergeFrom((context.ContextOuterClass.Topology)other); + if (other instanceof context.ContextOuterClass.ContextEvent) { + return mergeFrom((context.ContextOuterClass.ContextEvent)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.Topology other) { - if (other == context.ContextOuterClass.Topology.getDefaultInstance()) return this; - if (other.hasTopologyId()) { - mergeTopologyId(other.getTopologyId()); - } - if (deviceIdsBuilder_ == null) { - if (!other.deviceIds_.isEmpty()) { - if (deviceIds_.isEmpty()) { - deviceIds_ = other.deviceIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureDeviceIdsIsMutable(); - deviceIds_.addAll(other.deviceIds_); - } - onChanged(); - } - } else { - if (!other.deviceIds_.isEmpty()) { - if (deviceIdsBuilder_.isEmpty()) { - deviceIdsBuilder_.dispose(); - deviceIdsBuilder_ = null; - deviceIds_ = other.deviceIds_; - bitField0_ = (bitField0_ & ~0x00000001); - deviceIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getDeviceIdsFieldBuilder() : null; - } else { - deviceIdsBuilder_.addAllMessages(other.deviceIds_); - } - } + public Builder mergeFrom(context.ContextOuterClass.ContextEvent other) { + if (other == context.ContextOuterClass.ContextEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); } - if (linkIdsBuilder_ == null) { - if (!other.linkIds_.isEmpty()) { - if (linkIds_.isEmpty()) { - linkIds_ = other.linkIds_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureLinkIdsIsMutable(); - linkIds_.addAll(other.linkIds_); - } - onChanged(); - } - } else { - if (!other.linkIds_.isEmpty()) { - if (linkIdsBuilder_.isEmpty()) { - linkIdsBuilder_.dispose(); - linkIdsBuilder_ = null; - linkIds_ = other.linkIds_; - bitField0_ = (bitField0_ & ~0x00000002); - linkIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getLinkIdsFieldBuilder() : null; - } else { - linkIdsBuilder_.addAllMessages(other.linkIds_); - } - } + if (other.hasContextId()) { + mergeContextId(other.getContextId()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -8517,11 +7633,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.Topology parsedMessage = null; + context.ContextOuterClass.ContextEvent parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Topology) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ContextEvent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -8530,751 +7646,414 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - private context.ContextOuterClass.TopologyId topologyId_; + private context.ContextOuterClass.Event event_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdBuilder_; + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.TopologyId topology_id = 1; - * @return Whether the topologyId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - public boolean hasTopologyId() { - return topologyIdBuilder_ != null || topologyId_ != null; + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; } /** - * .context.TopologyId topology_id = 1; - * @return The topologyId. + * .context.Event event = 1; + * @return The event. */ - public context.ContextOuterClass.TopologyId getTopologyId() { - if (topologyIdBuilder_ == null) { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } else { - return topologyIdBuilder_.getMessage(); + return eventBuilder_.getMessage(); } } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ - public Builder setTopologyId(context.ContextOuterClass.TopologyId value) { - if (topologyIdBuilder_ == null) { + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - topologyId_ = value; + event_ = value; onChanged(); } else { - topologyIdBuilder_.setMessage(value); + eventBuilder_.setMessage(value); } return this; } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ - public Builder setTopologyId( - context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdBuilder_ == null) { - topologyId_ = builderForValue.build(); + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); onChanged(); } else { - topologyIdBuilder_.setMessage(builderForValue.build()); + eventBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ - public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { - if (topologyIdBuilder_ == null) { - if (topologyId_ != null) { - topologyId_ = - context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); } else { - topologyId_ = value; + event_ = value; } onChanged(); } else { - topologyIdBuilder_.mergeFrom(value); + eventBuilder_.mergeFrom(value); } return this; } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ - public Builder clearTopologyId() { - if (topologyIdBuilder_ == null) { - topologyId_ = null; + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; onChanged(); } else { - topologyId_ = null; - topologyIdBuilder_ = null; + event_ = null; + eventBuilder_ = null; } return this; } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ - public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { + public context.ContextOuterClass.Event.Builder getEventBuilder() { onChanged(); - return getTopologyIdFieldBuilder().getBuilder(); + return getEventFieldBuilder().getBuilder(); } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - if (topologyIdBuilder_ != null) { - return topologyIdBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); } else { - return topologyId_ == null ? - context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; } } /** - * .context.TopologyId topology_id = 1; + * .context.Event event = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> - getTopologyIdFieldBuilder() { - if (topologyIdBuilder_ == null) { - topologyIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( - getTopologyId(), + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), getParentForChildren(), isClean()); - topologyId_ = null; + event_ = null; } - return topologyIdBuilder_; - } - - private java.util.List deviceIds_ = - java.util.Collections.emptyList(); - private void ensureDeviceIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - deviceIds_ = new java.util.ArrayList(deviceIds_); - bitField0_ |= 0x00000001; - } + return eventBuilder_; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdsBuilder_; - - /** - * repeated .context.DeviceId device_ids = 2; - */ - public java.util.List getDeviceIdsList() { - if (deviceIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(deviceIds_); - } else { - return deviceIdsBuilder_.getMessageList(); - } - } + private context.ContextOuterClass.ContextId contextId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; + * @return Whether the contextId field is set. */ - public int getDeviceIdsCount() { - if (deviceIdsBuilder_ == null) { - return deviceIds_.size(); - } else { - return deviceIdsBuilder_.getCount(); - } + public boolean hasContextId() { + return contextIdBuilder_ != null || contextId_ != null; } /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; + * @return The contextId. */ - public context.ContextOuterClass.DeviceId getDeviceIds(int index) { - if (deviceIdsBuilder_ == null) { - return deviceIds_.get(index); + public context.ContextOuterClass.ContextId getContextId() { + if (contextIdBuilder_ == null) { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } else { - return deviceIdsBuilder_.getMessage(index); + return contextIdBuilder_.getMessage(); } } /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public Builder setDeviceIds( - int index, context.ContextOuterClass.DeviceId value) { - if (deviceIdsBuilder_ == null) { + public Builder setContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDeviceIdsIsMutable(); - deviceIds_.set(index, value); - onChanged(); - } else { - deviceIdsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - public Builder setDeviceIds( - int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.set(index, builderForValue.build()); + contextId_ = value; onChanged(); } else { - deviceIdsBuilder_.setMessage(index, builderForValue.build()); + contextIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public Builder addDeviceIds(context.ContextOuterClass.DeviceId value) { - if (deviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDeviceIdsIsMutable(); - deviceIds_.add(value); + public Builder setContextId( + context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdBuilder_ == null) { + contextId_ = builderForValue.build(); onChanged(); } else { - deviceIdsBuilder_.addMessage(value); + contextIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public Builder addDeviceIds( - int index, context.ContextOuterClass.DeviceId value) { - if (deviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (contextId_ != null) { + contextId_ = + context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); + } else { + contextId_ = value; } - ensureDeviceIdsIsMutable(); - deviceIds_.add(index, value); - onChanged(); - } else { - deviceIdsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - public Builder addDeviceIds( - context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.add(builderForValue.build()); - onChanged(); - } else { - deviceIdsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - public Builder addDeviceIds( - int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.add(index, builderForValue.build()); - onChanged(); - } else { - deviceIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - public Builder addAllDeviceIds( - java.lang.Iterable values) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, deviceIds_); - onChanged(); - } else { - deviceIdsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - public Builder clearDeviceIds() { - if (deviceIdsBuilder_ == null) { - deviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - deviceIdsBuilder_.clear(); + contextIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public Builder removeDeviceIds(int index) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.remove(index); + public Builder clearContextId() { + if (contextIdBuilder_ == null) { + contextId_ = null; onChanged(); } else { - deviceIdsBuilder_.remove(index); + contextId_ = null; + contextIdBuilder_ = null; } + return this; } /** - * repeated .context.DeviceId device_ids = 2; - */ - public context.ContextOuterClass.DeviceId.Builder getDeviceIdsBuilder( - int index) { - return getDeviceIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( - int index) { - if (deviceIdsBuilder_ == null) { - return deviceIds_.get(index); } else { - return deviceIdsBuilder_.getMessageOrBuilder(index); - } + public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { + + onChanged(); + return getContextIdFieldBuilder().getBuilder(); } /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public java.util.List - getDeviceIdsOrBuilderList() { - if (deviceIdsBuilder_ != null) { - return deviceIdsBuilder_.getMessageOrBuilderList(); + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + if (contextIdBuilder_ != null) { + return contextIdBuilder_.getMessageOrBuilder(); } else { - return java.util.Collections.unmodifiableList(deviceIds_); + return contextId_ == null ? + context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } } /** - * repeated .context.DeviceId device_ids = 2; - */ - public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder() { - return getDeviceIdsFieldBuilder().addBuilder( - context.ContextOuterClass.DeviceId.getDefaultInstance()); - } - /** - * repeated .context.DeviceId device_ids = 2; - */ - public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder( - int index) { - return getDeviceIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.DeviceId.getDefaultInstance()); - } - /** - * repeated .context.DeviceId device_ids = 2; + * .context.ContextId context_id = 2; */ - public java.util.List - getDeviceIdsBuilderList() { - return getDeviceIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> - getDeviceIdsFieldBuilder() { - if (deviceIdsBuilder_ == null) { - deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( - deviceIds_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> + getContextIdFieldBuilder() { + if (contextIdBuilder_ == null) { + contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( + getContextId(), getParentForChildren(), isClean()); - deviceIds_ = null; + contextId_ = null; } - return deviceIdsBuilder_; + return contextIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } - private java.util.List linkIds_ = - java.util.Collections.emptyList(); - private void ensureLinkIdsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - linkIds_ = new java.util.ArrayList(linkIds_); - bitField0_ |= 0x00000002; - } + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdsBuilder_; - /** - * repeated .context.LinkId link_ids = 3; - */ - public java.util.List getLinkIdsList() { - if (linkIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(linkIds_); - } else { - return linkIdsBuilder_.getMessageList(); - } + // @@protoc_insertion_point(builder_scope:context.ContextEvent) + } + + // @@protoc_insertion_point(class_scope:context.ContextEvent) + private static final context.ContextOuterClass.ContextEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ContextEvent(); + } + + public static context.ContextOuterClass.ContextEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ContextEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ContextEvent(input, extensionRegistry); } - /** - * repeated .context.LinkId link_ids = 3; - */ - public int getLinkIdsCount() { - if (linkIdsBuilder_ == null) { - return linkIds_.size(); - } else { - return linkIdsBuilder_.getCount(); - } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ContextEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TopologyIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.TopologyId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + boolean hasContextId(); + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + context.ContextOuterClass.ContextId getContextId(); + /** + * .context.ContextId context_id = 1; + */ + context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); + + /** + * .context.Uuid topology_uuid = 2; + * @return Whether the topologyUuid field is set. + */ + boolean hasTopologyUuid(); + /** + * .context.Uuid topology_uuid = 2; + * @return The topologyUuid. + */ + context.ContextOuterClass.Uuid getTopologyUuid(); + /** + * .context.Uuid topology_uuid = 2; + */ + context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder(); + } + /** + *
+   * ----- Topology ------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.TopologyId} + */ + public static final class TopologyId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.TopologyId) + TopologyIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use TopologyId.newBuilder() to construct. + private TopologyId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TopologyId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TopologyId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TopologyId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); } - /** - * repeated .context.LinkId link_ids = 3; - */ - public context.ContextOuterClass.LinkId getLinkIds(int index) { - if (linkIdsBuilder_ == null) { - return linkIds_.get(index); - } else { - return linkIdsBuilder_.getMessage(index); - } - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder setLinkIds( - int index, context.ContextOuterClass.LinkId value) { - if (linkIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureLinkIdsIsMutable(); - linkIds_.set(index, value); - onChanged(); - } else { - linkIdsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder setLinkIds( - int index, context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.set(index, builderForValue.build()); - onChanged(); - } else { - linkIdsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder addLinkIds(context.ContextOuterClass.LinkId value) { - if (linkIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureLinkIdsIsMutable(); - linkIds_.add(value); - onChanged(); - } else { - linkIdsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder addLinkIds( - int index, context.ContextOuterClass.LinkId value) { - if (linkIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureLinkIdsIsMutable(); - linkIds_.add(index, value); - onChanged(); - } else { - linkIdsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder addLinkIds( - context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.add(builderForValue.build()); - onChanged(); - } else { - linkIdsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder addLinkIds( - int index, context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.add(index, builderForValue.build()); - onChanged(); - } else { - linkIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder addAllLinkIds( - java.lang.Iterable values) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, linkIds_); - onChanged(); - } else { - linkIdsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder clearLinkIds() { - if (linkIdsBuilder_ == null) { - linkIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - linkIdsBuilder_.clear(); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public Builder removeLinkIds(int index) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.remove(index); - onChanged(); - } else { - linkIdsBuilder_.remove(index); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public context.ContextOuterClass.LinkId.Builder getLinkIdsBuilder( - int index) { - return getLinkIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( - int index) { - if (linkIdsBuilder_ == null) { - return linkIds_.get(index); } else { - return linkIdsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public java.util.List - getLinkIdsOrBuilderList() { - if (linkIdsBuilder_ != null) { - return linkIdsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(linkIds_); - } - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder() { - return getLinkIdsFieldBuilder().addBuilder( - context.ContextOuterClass.LinkId.getDefaultInstance()); - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder( - int index) { - return getLinkIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.LinkId.getDefaultInstance()); - } - /** - * repeated .context.LinkId link_ids = 3; - */ - public java.util.List - getLinkIdsBuilderList() { - return getLinkIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> - getLinkIdsFieldBuilder() { - if (linkIdsBuilder_ == null) { - linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( - linkIds_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - linkIds_ = null; - } - return linkIdsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); - } - - - // @@protoc_insertion_point(builder_scope:context.Topology) - } - - // @@protoc_insertion_point(class_scope:context.Topology) - private static final context.ContextOuterClass.Topology DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new context.ContextOuterClass.Topology(); - } - - public static context.ContextOuterClass.Topology getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Topology parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Topology(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public context.ContextOuterClass.Topology getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TopologyIdListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.TopologyIdList) - com.google.protobuf.MessageOrBuilder { - - /** - * repeated .context.TopologyId topology_ids = 1; - */ - java.util.List - getTopologyIdsList(); - /** - * repeated .context.TopologyId topology_ids = 1; - */ - context.ContextOuterClass.TopologyId getTopologyIds(int index); - /** - * repeated .context.TopologyId topology_ids = 1; - */ - int getTopologyIdsCount(); - /** - * repeated .context.TopologyId topology_ids = 1; - */ - java.util.List - getTopologyIdsOrBuilderList(); - /** - * repeated .context.TopologyId topology_ids = 1; - */ - context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( - int index); - } - /** - * Protobuf type {@code context.TopologyIdList} - */ - public static final class TopologyIdList extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.TopologyIdList) - TopologyIdListOrBuilder { - private static final long serialVersionUID = 0L; - // Use TopologyIdList.newBuilder() to construct. - private TopologyIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private TopologyIdList() { - topologyIds_ = java.util.Collections.emptyList(); - } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TopologyIdList(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TopologyIdList( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - topologyIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - topologyIds_.add( - input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (topologyUuid_ != null) { + subBuilder = topologyUuid_.toBuilder(); + } + topologyUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyUuid_); + topologyUuid_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); @@ -9282,64 +8061,73 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyId_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyIdList.class, context.ContextOuterClass.TopologyIdList.Builder.class); + context.ContextOuterClass.TopologyId.class, context.ContextOuterClass.TopologyId.Builder.class); } - public static final int TOPOLOGY_IDS_FIELD_NUMBER = 1; - private java.util.List topologyIds_; + public static final int CONTEXT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.ContextId contextId_; /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. */ @java.lang.Override - public java.util.List getTopologyIdsList() { - return topologyIds_; + public boolean hasContextId() { + return contextId_ != null; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; + * @return The contextId. */ @java.lang.Override - public java.util.List - getTopologyIdsOrBuilderList() { - return topologyIds_; + public context.ContextOuterClass.ContextId getContextId() { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ @java.lang.Override - public int getTopologyIdsCount() { - return topologyIds_.size(); + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + return getContextId(); } + + public static final int TOPOLOGY_UUID_FIELD_NUMBER = 2; + private context.ContextOuterClass.Uuid topologyUuid_; /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; + * @return Whether the topologyUuid field is set. */ @java.lang.Override - public context.ContextOuterClass.TopologyId getTopologyIds(int index) { - return topologyIds_.get(index); + public boolean hasTopologyUuid() { + return topologyUuid_ != null; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; + * @return The topologyUuid. */ @java.lang.Override - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( - int index) { - return topologyIds_.get(index); + public context.ContextOuterClass.Uuid getTopologyUuid() { + return topologyUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; + } + /** + * .context.Uuid topology_uuid = 2; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder() { + return getTopologyUuid(); } private byte memoizedIsInitialized = -1; @@ -9356,8 +8144,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < topologyIds_.size(); i++) { - output.writeMessage(1, topologyIds_.get(i)); + if (contextId_ != null) { + output.writeMessage(1, getContextId()); + } + if (topologyUuid_ != null) { + output.writeMessage(2, getTopologyUuid()); } unknownFields.writeTo(output); } @@ -9368,9 +8159,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < topologyIds_.size(); i++) { + if (contextId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, topologyIds_.get(i)); + .computeMessageSize(1, getContextId()); + } + if (topologyUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getTopologyUuid()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -9382,13 +8177,21 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.TopologyIdList)) { + if (!(obj instanceof context.ContextOuterClass.TopologyId)) { return super.equals(obj); } - context.ContextOuterClass.TopologyIdList other = (context.ContextOuterClass.TopologyIdList) obj; + context.ContextOuterClass.TopologyId other = (context.ContextOuterClass.TopologyId) obj; - if (!getTopologyIdsList() - .equals(other.getTopologyIdsList())) return false; + if (hasContextId() != other.hasContextId()) return false; + if (hasContextId()) { + if (!getContextId() + .equals(other.getContextId())) return false; + } + if (hasTopologyUuid() != other.hasTopologyUuid()) return false; + if (hasTopologyUuid()) { + if (!getTopologyUuid() + .equals(other.getTopologyUuid())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -9400,78 +8203,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getTopologyIdsCount() > 0) { - hash = (37 * hash) + TOPOLOGY_IDS_FIELD_NUMBER; - hash = (53 * hash) + getTopologyIdsList().hashCode(); + if (hasContextId()) { + hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; + hash = (53 * hash) + getContextId().hashCode(); + } + if (hasTopologyUuid()) { + hash = (37 * hash) + TOPOLOGY_UUID_FIELD_NUMBER; + hash = (53 * hash) + getTopologyUuid().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyIdList parseFrom(byte[] data) + public static context.ContextOuterClass.TopologyId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyIdList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyId parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyIdList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyIdList parseDelimitedFrom( + public static context.ContextOuterClass.TopologyId parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyIdList parseFrom( + public static context.ContextOuterClass.TopologyId parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -9484,7 +8291,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.TopologyIdList prototype) { + public static Builder newBuilder(context.ContextOuterClass.TopologyId prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -9500,26 +8307,30 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.TopologyIdList} + *
+     * ----- Topology ------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.TopologyId} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.TopologyIdList) - context.ContextOuterClass.TopologyIdListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.TopologyId) + context.ContextOuterClass.TopologyIdOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyId_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyIdList.class, context.ContextOuterClass.TopologyIdList.Builder.class); + context.ContextOuterClass.TopologyId.class, context.ContextOuterClass.TopologyId.Builder.class); } - // Construct using context.ContextOuterClass.TopologyIdList.newBuilder() + // Construct using context.ContextOuterClass.TopologyId.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -9532,17 +8343,22 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getTopologyIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (topologyIdsBuilder_ == null) { - topologyIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (contextIdBuilder_ == null) { + contextId_ = null; } else { - topologyIdsBuilder_.clear(); + contextId_ = null; + contextIdBuilder_ = null; + } + if (topologyUuidBuilder_ == null) { + topologyUuid_ = null; + } else { + topologyUuid_ = null; + topologyUuidBuilder_ = null; } return this; } @@ -9550,17 +8366,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; } @java.lang.Override - public context.ContextOuterClass.TopologyIdList getDefaultInstanceForType() { - return context.ContextOuterClass.TopologyIdList.getDefaultInstance(); + public context.ContextOuterClass.TopologyId getDefaultInstanceForType() { + return context.ContextOuterClass.TopologyId.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.TopologyIdList build() { - context.ContextOuterClass.TopologyIdList result = buildPartial(); + public context.ContextOuterClass.TopologyId build() { + context.ContextOuterClass.TopologyId result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -9568,17 +8384,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.TopologyIdList buildPartial() { - context.ContextOuterClass.TopologyIdList result = new context.ContextOuterClass.TopologyIdList(this); - int from_bitField0_ = bitField0_; - if (topologyIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.topologyIds_ = topologyIds_; + public context.ContextOuterClass.TopologyId buildPartial() { + context.ContextOuterClass.TopologyId result = new context.ContextOuterClass.TopologyId(this); + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; } else { - result.topologyIds_ = topologyIdsBuilder_.build(); + result.contextId_ = contextIdBuilder_.build(); + } + if (topologyUuidBuilder_ == null) { + result.topologyUuid_ = topologyUuid_; + } else { + result.topologyUuid_ = topologyUuidBuilder_.build(); } onBuilt(); return result; @@ -9618,41 +8434,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.TopologyIdList) { - return mergeFrom((context.ContextOuterClass.TopologyIdList)other); + if (other instanceof context.ContextOuterClass.TopologyId) { + return mergeFrom((context.ContextOuterClass.TopologyId)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.TopologyIdList other) { - if (other == context.ContextOuterClass.TopologyIdList.getDefaultInstance()) return this; - if (topologyIdsBuilder_ == null) { - if (!other.topologyIds_.isEmpty()) { - if (topologyIds_.isEmpty()) { - topologyIds_ = other.topologyIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureTopologyIdsIsMutable(); - topologyIds_.addAll(other.topologyIds_); - } - onChanged(); - } - } else { - if (!other.topologyIds_.isEmpty()) { - if (topologyIdsBuilder_.isEmpty()) { - topologyIdsBuilder_.dispose(); - topologyIdsBuilder_ = null; - topologyIds_ = other.topologyIds_; - bitField0_ = (bitField0_ & ~0x00000001); - topologyIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getTopologyIdsFieldBuilder() : null; - } else { - topologyIdsBuilder_.addAllMessages(other.topologyIds_); - } - } + public Builder mergeFrom(context.ContextOuterClass.TopologyId other) { + if (other == context.ContextOuterClass.TopologyId.getDefaultInstance()) return this; + if (other.hasContextId()) { + mergeContextId(other.getContextId()); + } + if (other.hasTopologyUuid()) { + mergeTopologyUuid(other.getTopologyUuid()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -9669,11 +8465,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.TopologyIdList parsedMessage = null; + context.ContextOuterClass.TopologyId parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.TopologyIdList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.TopologyId) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -9682,246 +8478,243 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private java.util.List topologyIds_ = - java.util.Collections.emptyList(); - private void ensureTopologyIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - topologyIds_ = new java.util.ArrayList(topologyIds_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdsBuilder_; + private context.ContextOuterClass.ContextId contextId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; /** - * repeated .context.TopologyId topology_ids = 1; - */ - public java.util.List getTopologyIdsList() { - if (topologyIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(topologyIds_); - } else { - return topologyIdsBuilder_.getMessageList(); - } - } - /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. */ - public int getTopologyIdsCount() { - if (topologyIdsBuilder_ == null) { - return topologyIds_.size(); - } else { - return topologyIdsBuilder_.getCount(); - } + public boolean hasContextId() { + return contextIdBuilder_ != null || contextId_ != null; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; + * @return The contextId. */ - public context.ContextOuterClass.TopologyId getTopologyIds(int index) { - if (topologyIdsBuilder_ == null) { - return topologyIds_.get(index); + public context.ContextOuterClass.ContextId getContextId() { + if (contextIdBuilder_ == null) { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } else { - return topologyIdsBuilder_.getMessage(index); + return contextIdBuilder_.getMessage(); } } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder setTopologyIds( - int index, context.ContextOuterClass.TopologyId value) { - if (topologyIdsBuilder_ == null) { + public Builder setContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureTopologyIdsIsMutable(); - topologyIds_.set(index, value); + contextId_ = value; onChanged(); } else { - topologyIdsBuilder_.setMessage(index, value); + contextIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder setTopologyIds( - int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.set(index, builderForValue.build()); + public Builder setContextId( + context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdBuilder_ == null) { + contextId_ = builderForValue.build(); onChanged(); } else { - topologyIdsBuilder_.setMessage(index, builderForValue.build()); + contextIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addTopologyIds(context.ContextOuterClass.TopologyId value) { - if (topologyIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (contextId_ != null) { + contextId_ = + context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); + } else { + contextId_ = value; } - ensureTopologyIdsIsMutable(); - topologyIds_.add(value); onChanged(); } else { - topologyIdsBuilder_.addMessage(value); + contextIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addTopologyIds( - int index, context.ContextOuterClass.TopologyId value) { - if (topologyIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTopologyIdsIsMutable(); - topologyIds_.add(index, value); + public Builder clearContextId() { + if (contextIdBuilder_ == null) { + contextId_ = null; onChanged(); } else { - topologyIdsBuilder_.addMessage(index, value); + contextId_ = null; + contextIdBuilder_ = null; } + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addTopologyIds( - context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.add(builderForValue.build()); - onChanged(); + public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { + + onChanged(); + return getContextIdFieldBuilder().getBuilder(); + } + /** + * .context.ContextId context_id = 1; + */ + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + if (contextIdBuilder_ != null) { + return contextIdBuilder_.getMessageOrBuilder(); } else { - topologyIdsBuilder_.addMessage(builderForValue.build()); + return contextId_ == null ? + context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; } - return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.ContextId context_id = 1; */ - public Builder addTopologyIds( - int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.add(index, builderForValue.build()); - onChanged(); - } else { - topologyIdsBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> + getContextIdFieldBuilder() { + if (contextIdBuilder_ == null) { + contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( + getContextId(), + getParentForChildren(), + isClean()); + contextId_ = null; } - return this; + return contextIdBuilder_; } + + private context.ContextOuterClass.Uuid topologyUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> topologyUuidBuilder_; /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; + * @return Whether the topologyUuid field is set. */ - public Builder addAllTopologyIds( - java.lang.Iterable values) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, topologyIds_); - onChanged(); + public boolean hasTopologyUuid() { + return topologyUuidBuilder_ != null || topologyUuid_ != null; + } + /** + * .context.Uuid topology_uuid = 2; + * @return The topologyUuid. + */ + public context.ContextOuterClass.Uuid getTopologyUuid() { + if (topologyUuidBuilder_ == null) { + return topologyUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; } else { - topologyIdsBuilder_.addAllMessages(values); + return topologyUuidBuilder_.getMessage(); } - return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public Builder clearTopologyIds() { - if (topologyIdsBuilder_ == null) { - topologyIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setTopologyUuid(context.ContextOuterClass.Uuid value) { + if (topologyUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + topologyUuid_ = value; onChanged(); } else { - topologyIdsBuilder_.clear(); + topologyUuidBuilder_.setMessage(value); } + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public Builder removeTopologyIds(int index) { - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.remove(index); + public Builder setTopologyUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (topologyUuidBuilder_ == null) { + topologyUuid_ = builderForValue.build(); onChanged(); } else { - topologyIdsBuilder_.remove(index); + topologyUuidBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.TopologyId topology_ids = 1; - */ - public context.ContextOuterClass.TopologyId.Builder getTopologyIdsBuilder( - int index) { - return getTopologyIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( - int index) { - if (topologyIdsBuilder_ == null) { - return topologyIds_.get(index); } else { - return topologyIdsBuilder_.getMessageOrBuilder(index); + public Builder mergeTopologyUuid(context.ContextOuterClass.Uuid value) { + if (topologyUuidBuilder_ == null) { + if (topologyUuid_ != null) { + topologyUuid_ = + context.ContextOuterClass.Uuid.newBuilder(topologyUuid_).mergeFrom(value).buildPartial(); + } else { + topologyUuid_ = value; + } + onChanged(); + } else { + topologyUuidBuilder_.mergeFrom(value); } + + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public java.util.List - getTopologyIdsOrBuilderList() { - if (topologyIdsBuilder_ != null) { - return topologyIdsBuilder_.getMessageOrBuilderList(); + public Builder clearTopologyUuid() { + if (topologyUuidBuilder_ == null) { + topologyUuid_ = null; + onChanged(); } else { - return java.util.Collections.unmodifiableList(topologyIds_); + topologyUuid_ = null; + topologyUuidBuilder_ = null; } + + return this; } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder() { - return getTopologyIdsFieldBuilder().addBuilder( - context.ContextOuterClass.TopologyId.getDefaultInstance()); + public context.ContextOuterClass.Uuid.Builder getTopologyUuidBuilder() { + + onChanged(); + return getTopologyUuidFieldBuilder().getBuilder(); } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder( - int index) { - return getTopologyIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.TopologyId.getDefaultInstance()); + public context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder() { + if (topologyUuidBuilder_ != null) { + return topologyUuidBuilder_.getMessageOrBuilder(); + } else { + return topologyUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; + } } /** - * repeated .context.TopologyId topology_ids = 1; + * .context.Uuid topology_uuid = 2; */ - public java.util.List - getTopologyIdsBuilderList() { - return getTopologyIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> - getTopologyIdsFieldBuilder() { - if (topologyIdsBuilder_ == null) { - topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( - topologyIds_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getTopologyUuidFieldBuilder() { + if (topologyUuidBuilder_ == null) { + topologyUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getTopologyUuid(), getParentForChildren(), isClean()); - topologyIds_ = null; + topologyUuid_ = null; } - return topologyIdsBuilder_; + return topologyUuidBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -9936,95 +8729,135 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.TopologyIdList) + // @@protoc_insertion_point(builder_scope:context.TopologyId) } - // @@protoc_insertion_point(class_scope:context.TopologyIdList) - private static final context.ContextOuterClass.TopologyIdList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.TopologyId) + private static final context.ContextOuterClass.TopologyId DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyIdList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyId(); } - public static context.ContextOuterClass.TopologyIdList getDefaultInstance() { + public static context.ContextOuterClass.TopologyId getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TopologyIdList parsePartialFrom( + public TopologyId parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TopologyIdList(input, extensionRegistry); + return new TopologyId(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.TopologyIdList getDefaultInstanceForType() { + public context.ContextOuterClass.TopologyId getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TopologyListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.TopologyList) + public interface TopologyOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Topology) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; + * @return Whether the topologyId field is set. */ - java.util.List - getTopologiesList(); + boolean hasTopologyId(); /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; + * @return The topologyId. */ - context.ContextOuterClass.Topology getTopologies(int index); + context.ContextOuterClass.TopologyId getTopologyId(); /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - int getTopologiesCount(); + context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder(); + /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - java.util.List - getTopologiesOrBuilderList(); + java.util.List + getDeviceIdsList(); /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - context.ContextOuterClass.TopologyOrBuilder getTopologiesOrBuilder( + context.ContextOuterClass.DeviceId getDeviceIds(int index); + /** + * repeated .context.DeviceId device_ids = 2; + */ + int getDeviceIdsCount(); + /** + * repeated .context.DeviceId device_ids = 2; + */ + java.util.List + getDeviceIdsOrBuilderList(); + /** + * repeated .context.DeviceId device_ids = 2; + */ + context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( + int index); + + /** + * repeated .context.LinkId link_ids = 3; + */ + java.util.List + getLinkIdsList(); + /** + * repeated .context.LinkId link_ids = 3; + */ + context.ContextOuterClass.LinkId getLinkIds(int index); + /** + * repeated .context.LinkId link_ids = 3; + */ + int getLinkIdsCount(); + /** + * repeated .context.LinkId link_ids = 3; + */ + java.util.List + getLinkIdsOrBuilderList(); + /** + * repeated .context.LinkId link_ids = 3; + */ + context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( int index); } /** - * Protobuf type {@code context.TopologyList} + * Protobuf type {@code context.Topology} */ - public static final class TopologyList extends + public static final class Topology extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.TopologyList) - TopologyListOrBuilder { + // @@protoc_insertion_point(message_implements:context.Topology) + TopologyOrBuilder { private static final long serialVersionUID = 0L; - // Use TopologyList.newBuilder() to construct. - private TopologyList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Topology.newBuilder() to construct. + private Topology(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private TopologyList() { - topologies_ = java.util.Collections.emptyList(); + private Topology() { + deviceIds_ = java.util.Collections.emptyList(); + linkIds_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new TopologyList(); + return new Topology(); } @java.lang.Override @@ -10032,7 +8865,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private TopologyList( + private Topology( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -10052,12 +8885,34 @@ public final class ContextOuterClass { done = true; break; case 10: { + context.ContextOuterClass.TopologyId.Builder subBuilder = null; + if (topologyId_ != null) { + subBuilder = topologyId_.toBuilder(); + } + topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyId_); + topologyId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - topologies_ = new java.util.ArrayList(); + deviceIds_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - topologies_.add( - input.readMessage(context.ContextOuterClass.Topology.parser(), extensionRegistry)); + deviceIds_.add( + input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry)); + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + linkIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + linkIds_.add( + input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry)); break; } default: { @@ -10076,7 +8931,10 @@ public final class ContextOuterClass { e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - topologies_ = java.util.Collections.unmodifiableList(topologies_); + deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + linkIds_ = java.util.Collections.unmodifiableList(linkIds_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -10084,55 +8942,121 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; + return context.ContextOuterClass.internal_static_context_Topology_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Topology_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyList.class, context.ContextOuterClass.TopologyList.Builder.class); + context.ContextOuterClass.Topology.class, context.ContextOuterClass.Topology.Builder.class); } - public static final int TOPOLOGIES_FIELD_NUMBER = 1; - private java.util.List topologies_; + public static final int TOPOLOGY_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.TopologyId topologyId_; /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; + * @return Whether the topologyId field is set. */ @java.lang.Override - public java.util.List getTopologiesList() { - return topologies_; + public boolean hasTopologyId() { + return topologyId_ != null; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; + * @return The topologyId. */ @java.lang.Override - public java.util.List - getTopologiesOrBuilderList() { - return topologies_; + public context.ContextOuterClass.TopologyId getTopologyId() { + return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ @java.lang.Override - public int getTopologiesCount() { - return topologies_.size(); + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { + return getTopologyId(); } + + public static final int DEVICE_IDS_FIELD_NUMBER = 2; + private java.util.List deviceIds_; /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ @java.lang.Override - public context.ContextOuterClass.Topology getTopologies(int index) { - return topologies_.get(index); + public java.util.List getDeviceIdsList() { + return deviceIds_; } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ @java.lang.Override - public context.ContextOuterClass.TopologyOrBuilder getTopologiesOrBuilder( + public java.util.List + getDeviceIdsOrBuilderList() { + return deviceIds_; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + @java.lang.Override + public int getDeviceIdsCount() { + return deviceIds_.size(); + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + @java.lang.Override + public context.ContextOuterClass.DeviceId getDeviceIds(int index) { + return deviceIds_.get(index); + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + @java.lang.Override + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( int index) { - return topologies_.get(index); + return deviceIds_.get(index); + } + + public static final int LINK_IDS_FIELD_NUMBER = 3; + private java.util.List linkIds_; + /** + * repeated .context.LinkId link_ids = 3; + */ + @java.lang.Override + public java.util.List getLinkIdsList() { + return linkIds_; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + @java.lang.Override + public java.util.List + getLinkIdsOrBuilderList() { + return linkIds_; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + @java.lang.Override + public int getLinkIdsCount() { + return linkIds_.size(); + } + /** + * repeated .context.LinkId link_ids = 3; + */ + @java.lang.Override + public context.ContextOuterClass.LinkId getLinkIds(int index) { + return linkIds_.get(index); + } + /** + * repeated .context.LinkId link_ids = 3; + */ + @java.lang.Override + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( + int index) { + return linkIds_.get(index); } private byte memoizedIsInitialized = -1; @@ -10149,8 +9073,14 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < topologies_.size(); i++) { - output.writeMessage(1, topologies_.get(i)); + if (topologyId_ != null) { + output.writeMessage(1, getTopologyId()); + } + for (int i = 0; i < deviceIds_.size(); i++) { + output.writeMessage(2, deviceIds_.get(i)); + } + for (int i = 0; i < linkIds_.size(); i++) { + output.writeMessage(3, linkIds_.get(i)); } unknownFields.writeTo(output); } @@ -10161,9 +9091,17 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < topologies_.size(); i++) { + if (topologyId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, topologies_.get(i)); + .computeMessageSize(1, getTopologyId()); + } + for (int i = 0; i < deviceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, deviceIds_.get(i)); + } + for (int i = 0; i < linkIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, linkIds_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -10175,13 +9113,20 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.TopologyList)) { + if (!(obj instanceof context.ContextOuterClass.Topology)) { return super.equals(obj); } - context.ContextOuterClass.TopologyList other = (context.ContextOuterClass.TopologyList) obj; + context.ContextOuterClass.Topology other = (context.ContextOuterClass.Topology) obj; - if (!getTopologiesList() - .equals(other.getTopologiesList())) return false; + if (hasTopologyId() != other.hasTopologyId()) return false; + if (hasTopologyId()) { + if (!getTopologyId() + .equals(other.getTopologyId())) return false; + } + if (!getDeviceIdsList() + .equals(other.getDeviceIdsList())) return false; + if (!getLinkIdsList() + .equals(other.getLinkIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -10193,78 +9138,86 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getTopologiesCount() > 0) { - hash = (37 * hash) + TOPOLOGIES_FIELD_NUMBER; - hash = (53 * hash) + getTopologiesList().hashCode(); + if (hasTopologyId()) { + hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; + hash = (53 * hash) + getTopologyId().hashCode(); + } + if (getDeviceIdsCount() > 0) { + hash = (37 * hash) + DEVICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getDeviceIdsList().hashCode(); + } + if (getLinkIdsCount() > 0) { + hash = (37 * hash) + LINK_IDS_FIELD_NUMBER; + hash = (53 * hash) + getLinkIdsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyList parseFrom(byte[] data) + public static context.ContextOuterClass.Topology parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Topology parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Topology parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyList parseDelimitedFrom( + public static context.ContextOuterClass.Topology parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyList parseFrom( + public static context.ContextOuterClass.Topology parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -10277,7 +9230,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.TopologyList prototype) { + public static Builder newBuilder(context.ContextOuterClass.Topology prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -10293,26 +9246,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.TopologyList} + * Protobuf type {@code context.Topology} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.TopologyList) - context.ContextOuterClass.TopologyListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Topology) + context.ContextOuterClass.TopologyOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; + return context.ContextOuterClass.internal_static_context_Topology_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Topology_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyList.class, context.ContextOuterClass.TopologyList.Builder.class); + context.ContextOuterClass.Topology.class, context.ContextOuterClass.Topology.Builder.class); } - // Construct using context.ContextOuterClass.TopologyList.newBuilder() + // Construct using context.ContextOuterClass.Topology.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -10325,17 +9278,30 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getTopologiesFieldBuilder(); + getDeviceIdsFieldBuilder(); + getLinkIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (topologiesBuilder_ == null) { - topologies_ = java.util.Collections.emptyList(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + } else { + topologyId_ = null; + topologyIdBuilder_ = null; + } + if (deviceIdsBuilder_ == null) { + deviceIds_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { - topologiesBuilder_.clear(); + deviceIdsBuilder_.clear(); + } + if (linkIdsBuilder_ == null) { + linkIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + linkIdsBuilder_.clear(); } return this; } @@ -10343,17 +9309,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; + return context.ContextOuterClass.internal_static_context_Topology_descriptor; } @java.lang.Override - public context.ContextOuterClass.TopologyList getDefaultInstanceForType() { - return context.ContextOuterClass.TopologyList.getDefaultInstance(); + public context.ContextOuterClass.Topology getDefaultInstanceForType() { + return context.ContextOuterClass.Topology.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.TopologyList build() { - context.ContextOuterClass.TopologyList result = buildPartial(); + public context.ContextOuterClass.Topology build() { + context.ContextOuterClass.Topology result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -10361,17 +9327,31 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.TopologyList buildPartial() { - context.ContextOuterClass.TopologyList result = new context.ContextOuterClass.TopologyList(this); + public context.ContextOuterClass.Topology buildPartial() { + context.ContextOuterClass.Topology result = new context.ContextOuterClass.Topology(this); int from_bitField0_ = bitField0_; - if (topologiesBuilder_ == null) { + if (topologyIdBuilder_ == null) { + result.topologyId_ = topologyId_; + } else { + result.topologyId_ = topologyIdBuilder_.build(); + } + if (deviceIdsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { - topologies_ = java.util.Collections.unmodifiableList(topologies_); + deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); bitField0_ = (bitField0_ & ~0x00000001); } - result.topologies_ = topologies_; + result.deviceIds_ = deviceIds_; } else { - result.topologies_ = topologiesBuilder_.build(); + result.deviceIds_ = deviceIdsBuilder_.build(); + } + if (linkIdsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + linkIds_ = java.util.Collections.unmodifiableList(linkIds_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.linkIds_ = linkIds_; + } else { + result.linkIds_ = linkIdsBuilder_.build(); } onBuilt(); return result; @@ -10411,39 +9391,68 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.TopologyList) { - return mergeFrom((context.ContextOuterClass.TopologyList)other); + if (other instanceof context.ContextOuterClass.Topology) { + return mergeFrom((context.ContextOuterClass.Topology)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.TopologyList other) { - if (other == context.ContextOuterClass.TopologyList.getDefaultInstance()) return this; - if (topologiesBuilder_ == null) { - if (!other.topologies_.isEmpty()) { - if (topologies_.isEmpty()) { - topologies_ = other.topologies_; + public Builder mergeFrom(context.ContextOuterClass.Topology other) { + if (other == context.ContextOuterClass.Topology.getDefaultInstance()) return this; + if (other.hasTopologyId()) { + mergeTopologyId(other.getTopologyId()); + } + if (deviceIdsBuilder_ == null) { + if (!other.deviceIds_.isEmpty()) { + if (deviceIds_.isEmpty()) { + deviceIds_ = other.deviceIds_; bitField0_ = (bitField0_ & ~0x00000001); } else { - ensureTopologiesIsMutable(); - topologies_.addAll(other.topologies_); + ensureDeviceIdsIsMutable(); + deviceIds_.addAll(other.deviceIds_); } onChanged(); } } else { - if (!other.topologies_.isEmpty()) { - if (topologiesBuilder_.isEmpty()) { - topologiesBuilder_.dispose(); - topologiesBuilder_ = null; - topologies_ = other.topologies_; + if (!other.deviceIds_.isEmpty()) { + if (deviceIdsBuilder_.isEmpty()) { + deviceIdsBuilder_.dispose(); + deviceIdsBuilder_ = null; + deviceIds_ = other.deviceIds_; bitField0_ = (bitField0_ & ~0x00000001); - topologiesBuilder_ = + deviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getTopologiesFieldBuilder() : null; + getDeviceIdsFieldBuilder() : null; } else { - topologiesBuilder_.addAllMessages(other.topologies_); + deviceIdsBuilder_.addAllMessages(other.deviceIds_); + } + } + } + if (linkIdsBuilder_ == null) { + if (!other.linkIds_.isEmpty()) { + if (linkIds_.isEmpty()) { + linkIds_ = other.linkIds_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureLinkIdsIsMutable(); + linkIds_.addAll(other.linkIds_); + } + onChanged(); + } + } else { + if (!other.linkIds_.isEmpty()) { + if (linkIdsBuilder_.isEmpty()) { + linkIdsBuilder_.dispose(); + linkIdsBuilder_ = null; + linkIds_ = other.linkIds_; + bitField0_ = (bitField0_ & ~0x00000002); + linkIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getLinkIdsFieldBuilder() : null; + } else { + linkIdsBuilder_.addAllMessages(other.linkIds_); } } } @@ -10462,11 +9471,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.TopologyList parsedMessage = null; + context.ContextOuterClass.Topology parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.TopologyList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Topology) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -10477,244 +9486,603 @@ public final class ContextOuterClass { } private int bitField0_; - private java.util.List topologies_ = - java.util.Collections.emptyList(); - private void ensureTopologiesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - topologies_ = new java.util.ArrayList(topologies_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Topology, context.ContextOuterClass.Topology.Builder, context.ContextOuterClass.TopologyOrBuilder> topologiesBuilder_; - - /** - * repeated .context.Topology topologies = 1; - */ - public java.util.List getTopologiesList() { - if (topologiesBuilder_ == null) { - return java.util.Collections.unmodifiableList(topologies_); - } else { - return topologiesBuilder_.getMessageList(); - } - } + private context.ContextOuterClass.TopologyId topologyId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdBuilder_; /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; + * @return Whether the topologyId field is set. */ - public int getTopologiesCount() { - if (topologiesBuilder_ == null) { - return topologies_.size(); - } else { - return topologiesBuilder_.getCount(); - } + public boolean hasTopologyId() { + return topologyIdBuilder_ != null || topologyId_ != null; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; + * @return The topologyId. */ - public context.ContextOuterClass.Topology getTopologies(int index) { - if (topologiesBuilder_ == null) { - return topologies_.get(index); + public context.ContextOuterClass.TopologyId getTopologyId() { + if (topologyIdBuilder_ == null) { + return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; } else { - return topologiesBuilder_.getMessage(index); + return topologyIdBuilder_.getMessage(); } } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - public Builder setTopologies( - int index, context.ContextOuterClass.Topology value) { - if (topologiesBuilder_ == null) { + public Builder setTopologyId(context.ContextOuterClass.TopologyId value) { + if (topologyIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureTopologiesIsMutable(); - topologies_.set(index, value); + topologyId_ = value; onChanged(); } else { - topologiesBuilder_.setMessage(index, value); + topologyIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - public Builder setTopologies( - int index, context.ContextOuterClass.Topology.Builder builderForValue) { - if (topologiesBuilder_ == null) { - ensureTopologiesIsMutable(); - topologies_.set(index, builderForValue.build()); + public Builder setTopologyId( + context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdBuilder_ == null) { + topologyId_ = builderForValue.build(); onChanged(); } else { - topologiesBuilder_.setMessage(index, builderForValue.build()); + topologyIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - public Builder addTopologies(context.ContextOuterClass.Topology value) { - if (topologiesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { + if (topologyIdBuilder_ == null) { + if (topologyId_ != null) { + topologyId_ = + context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); + } else { + topologyId_ = value; } - ensureTopologiesIsMutable(); - topologies_.add(value); onChanged(); } else { - topologiesBuilder_.addMessage(value); + topologyIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - public Builder addTopologies( - int index, context.ContextOuterClass.Topology value) { - if (topologiesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureTopologiesIsMutable(); - topologies_.add(index, value); + public Builder clearTopologyId() { + if (topologyIdBuilder_ == null) { + topologyId_ = null; onChanged(); } else { - topologiesBuilder_.addMessage(index, value); + topologyId_ = null; + topologyIdBuilder_ = null; } + return this; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - public Builder addTopologies( - context.ContextOuterClass.Topology.Builder builderForValue) { - if (topologiesBuilder_ == null) { - ensureTopologiesIsMutable(); - topologies_.add(builderForValue.build()); - onChanged(); + public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { + + onChanged(); + return getTopologyIdFieldBuilder().getBuilder(); + } + /** + * .context.TopologyId topology_id = 1; + */ + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { + if (topologyIdBuilder_ != null) { + return topologyIdBuilder_.getMessageOrBuilder(); } else { - topologiesBuilder_.addMessage(builderForValue.build()); + return topologyId_ == null ? + context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; } - return this; } /** - * repeated .context.Topology topologies = 1; + * .context.TopologyId topology_id = 1; */ - public Builder addTopologies( - int index, context.ContextOuterClass.Topology.Builder builderForValue) { - if (topologiesBuilder_ == null) { - ensureTopologiesIsMutable(); - topologies_.add(index, builderForValue.build()); - onChanged(); - } else { - topologiesBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> + getTopologyIdFieldBuilder() { + if (topologyIdBuilder_ == null) { + topologyIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( + getTopologyId(), + getParentForChildren(), + isClean()); + topologyId_ = null; } - return this; + return topologyIdBuilder_; + } + + private java.util.List deviceIds_ = + java.util.Collections.emptyList(); + private void ensureDeviceIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + deviceIds_ = new java.util.ArrayList(deviceIds_); + bitField0_ |= 0x00000001; + } } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdsBuilder_; + /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public Builder addAllTopologies( - java.lang.Iterable values) { - if (topologiesBuilder_ == null) { - ensureTopologiesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, topologies_); - onChanged(); + public java.util.List getDeviceIdsList() { + if (deviceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(deviceIds_); } else { - topologiesBuilder_.addAllMessages(values); + return deviceIdsBuilder_.getMessageList(); } - return this; } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public Builder clearTopologies() { - if (topologiesBuilder_ == null) { - topologies_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + public int getDeviceIdsCount() { + if (deviceIdsBuilder_ == null) { + return deviceIds_.size(); } else { - topologiesBuilder_.clear(); + return deviceIdsBuilder_.getCount(); } - return this; } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public Builder removeTopologies(int index) { - if (topologiesBuilder_ == null) { - ensureTopologiesIsMutable(); - topologies_.remove(index); + public context.ContextOuterClass.DeviceId getDeviceIds(int index) { + if (deviceIdsBuilder_ == null) { + return deviceIds_.get(index); + } else { + return deviceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder setDeviceIds( + int index, context.ContextOuterClass.DeviceId value) { + if (deviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeviceIdsIsMutable(); + deviceIds_.set(index, value); onChanged(); } else { - topologiesBuilder_.remove(index); + deviceIdsBuilder_.setMessage(index, value); } return this; } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public context.ContextOuterClass.Topology.Builder getTopologiesBuilder( + public Builder setDeviceIds( + int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + deviceIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder addDeviceIds(context.ContextOuterClass.DeviceId value) { + if (deviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeviceIdsIsMutable(); + deviceIds_.add(value); + onChanged(); + } else { + deviceIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder addDeviceIds( + int index, context.ContextOuterClass.DeviceId value) { + if (deviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeviceIdsIsMutable(); + deviceIds_.add(index, value); + onChanged(); + } else { + deviceIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder addDeviceIds( + context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.add(builderForValue.build()); + onChanged(); + } else { + deviceIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder addDeviceIds( + int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.add(index, builderForValue.build()); + onChanged(); + } else { + deviceIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder addAllDeviceIds( + java.lang.Iterable values) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, deviceIds_); + onChanged(); + } else { + deviceIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder clearDeviceIds() { + if (deviceIdsBuilder_ == null) { + deviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + deviceIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public Builder removeDeviceIds(int index) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.remove(index); + onChanged(); + } else { + deviceIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.DeviceId device_ids = 2; + */ + public context.ContextOuterClass.DeviceId.Builder getDeviceIdsBuilder( int index) { - return getTopologiesFieldBuilder().getBuilder(index); + return getDeviceIdsFieldBuilder().getBuilder(index); } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public context.ContextOuterClass.TopologyOrBuilder getTopologiesOrBuilder( + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( int index) { - if (topologiesBuilder_ == null) { - return topologies_.get(index); } else { - return topologiesBuilder_.getMessageOrBuilder(index); + if (deviceIdsBuilder_ == null) { + return deviceIds_.get(index); } else { + return deviceIdsBuilder_.getMessageOrBuilder(index); } } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public java.util.List - getTopologiesOrBuilderList() { - if (topologiesBuilder_ != null) { - return topologiesBuilder_.getMessageOrBuilderList(); + public java.util.List + getDeviceIdsOrBuilderList() { + if (deviceIdsBuilder_ != null) { + return deviceIdsBuilder_.getMessageOrBuilderList(); } else { - return java.util.Collections.unmodifiableList(topologies_); + return java.util.Collections.unmodifiableList(deviceIds_); } } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public context.ContextOuterClass.Topology.Builder addTopologiesBuilder() { - return getTopologiesFieldBuilder().addBuilder( - context.ContextOuterClass.Topology.getDefaultInstance()); + public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder() { + return getDeviceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.DeviceId.getDefaultInstance()); } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public context.ContextOuterClass.Topology.Builder addTopologiesBuilder( + public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder( int index) { - return getTopologiesFieldBuilder().addBuilder( - index, context.ContextOuterClass.Topology.getDefaultInstance()); + return getDeviceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.DeviceId.getDefaultInstance()); } /** - * repeated .context.Topology topologies = 1; + * repeated .context.DeviceId device_ids = 2; */ - public java.util.List - getTopologiesBuilderList() { - return getTopologiesFieldBuilder().getBuilderList(); + public java.util.List + getDeviceIdsBuilderList() { + return getDeviceIdsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Topology, context.ContextOuterClass.Topology.Builder, context.ContextOuterClass.TopologyOrBuilder> - getTopologiesFieldBuilder() { - if (topologiesBuilder_ == null) { - topologiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Topology, context.ContextOuterClass.Topology.Builder, context.ContextOuterClass.TopologyOrBuilder>( - topologies_, + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> + getDeviceIdsFieldBuilder() { + if (deviceIdsBuilder_ == null) { + deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( + deviceIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - topologies_ = null; + deviceIds_ = null; } - return topologiesBuilder_; + return deviceIdsBuilder_; + } + + private java.util.List linkIds_ = + java.util.Collections.emptyList(); + private void ensureLinkIdsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + linkIds_ = new java.util.ArrayList(linkIds_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdsBuilder_; + + /** + * repeated .context.LinkId link_ids = 3; + */ + public java.util.List getLinkIdsList() { + if (linkIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(linkIds_); + } else { + return linkIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public int getLinkIdsCount() { + if (linkIdsBuilder_ == null) { + return linkIds_.size(); + } else { + return linkIdsBuilder_.getCount(); + } + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public context.ContextOuterClass.LinkId getLinkIds(int index) { + if (linkIdsBuilder_ == null) { + return linkIds_.get(index); + } else { + return linkIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder setLinkIds( + int index, context.ContextOuterClass.LinkId value) { + if (linkIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkIdsIsMutable(); + linkIds_.set(index, value); + onChanged(); + } else { + linkIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder setLinkIds( + int index, context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.set(index, builderForValue.build()); + onChanged(); + } else { + linkIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder addLinkIds(context.ContextOuterClass.LinkId value) { + if (linkIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkIdsIsMutable(); + linkIds_.add(value); + onChanged(); + } else { + linkIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder addLinkIds( + int index, context.ContextOuterClass.LinkId value) { + if (linkIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkIdsIsMutable(); + linkIds_.add(index, value); + onChanged(); + } else { + linkIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder addLinkIds( + context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.add(builderForValue.build()); + onChanged(); + } else { + linkIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder addLinkIds( + int index, context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.add(index, builderForValue.build()); + onChanged(); + } else { + linkIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder addAllLinkIds( + java.lang.Iterable values) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, linkIds_); + onChanged(); + } else { + linkIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder clearLinkIds() { + if (linkIdsBuilder_ == null) { + linkIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + linkIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public Builder removeLinkIds(int index) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.remove(index); + onChanged(); + } else { + linkIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public context.ContextOuterClass.LinkId.Builder getLinkIdsBuilder( + int index) { + return getLinkIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( + int index) { + if (linkIdsBuilder_ == null) { + return linkIds_.get(index); } else { + return linkIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public java.util.List + getLinkIdsOrBuilderList() { + if (linkIdsBuilder_ != null) { + return linkIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(linkIds_); + } + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder() { + return getLinkIdsFieldBuilder().addBuilder( + context.ContextOuterClass.LinkId.getDefaultInstance()); + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder( + int index) { + return getLinkIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.LinkId.getDefaultInstance()); + } + /** + * repeated .context.LinkId link_ids = 3; + */ + public java.util.List + getLinkIdsBuilderList() { + return getLinkIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> + getLinkIdsFieldBuilder() { + if (linkIdsBuilder_ == null) { + linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( + linkIds_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + linkIds_ = null; + } + return linkIdsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -10729,100 +10097,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.TopologyList) + // @@protoc_insertion_point(builder_scope:context.Topology) } - // @@protoc_insertion_point(class_scope:context.TopologyList) - private static final context.ContextOuterClass.TopologyList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Topology) + private static final context.ContextOuterClass.Topology DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Topology(); } - public static context.ContextOuterClass.TopologyList getDefaultInstance() { + public static context.ContextOuterClass.Topology getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TopologyList parsePartialFrom( + public Topology parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TopologyList(input, extensionRegistry); + return new Topology(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.TopologyList getDefaultInstanceForType() { + public context.ContextOuterClass.Topology getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface TopologyEventOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.TopologyEvent) + public interface TopologyIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.TopologyIdList) com.google.protobuf.MessageOrBuilder { /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - boolean hasEvent(); - /** - * .context.Event event = 1; - * @return The event. + * repeated .context.TopologyId topology_ids = 1; */ - context.ContextOuterClass.Event getEvent(); + java.util.List + getTopologyIdsList(); /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ - context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); - + context.ContextOuterClass.TopologyId getTopologyIds(int index); /** - * .context.TopologyId topology_id = 2; - * @return Whether the topologyId field is set. + * repeated .context.TopologyId topology_ids = 1; */ - boolean hasTopologyId(); + int getTopologyIdsCount(); /** - * .context.TopologyId topology_id = 2; - * @return The topologyId. + * repeated .context.TopologyId topology_ids = 1; */ - context.ContextOuterClass.TopologyId getTopologyId(); + java.util.List + getTopologyIdsOrBuilderList(); /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder(); + context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( + int index); } /** - * Protobuf type {@code context.TopologyEvent} + * Protobuf type {@code context.TopologyIdList} */ - public static final class TopologyEvent extends + public static final class TopologyIdList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.TopologyEvent) - TopologyEventOrBuilder { + // @@protoc_insertion_point(message_implements:context.TopologyIdList) + TopologyIdListOrBuilder { private static final long serialVersionUID = 0L; - // Use TopologyEvent.newBuilder() to construct. - private TopologyEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use TopologyIdList.newBuilder() to construct. + private TopologyIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private TopologyEvent() { + private TopologyIdList() { + topologyIds_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new TopologyEvent(); + return new TopologyIdList(); } @java.lang.Override @@ -10830,7 +10193,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private TopologyEvent( + private TopologyIdList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -10838,6 +10201,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -10849,29 +10213,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Event.Builder subBuilder = null; - if (event_ != null) { - subBuilder = event_.toBuilder(); - } - event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(event_); - event_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.TopologyId.Builder subBuilder = null; - if (topologyId_ != null) { - subBuilder = topologyId_.toBuilder(); - } - topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(topologyId_); - topologyId_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + topologyIds_.add( + input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry)); break; } default: { @@ -10889,73 +10236,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyEvent.class, context.ContextOuterClass.TopologyEvent.Builder.class); + context.ContextOuterClass.TopologyIdList.class, context.ContextOuterClass.TopologyIdList.Builder.class); } - public static final int EVENT_FIELD_NUMBER = 1; - private context.ContextOuterClass.Event event_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - @java.lang.Override - public boolean hasEvent() { - return event_ != null; - } + public static final int TOPOLOGY_IDS_FIELD_NUMBER = 1; + private java.util.List topologyIds_; /** - * .context.Event event = 1; - * @return The event. + * repeated .context.TopologyId topology_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.Event getEvent() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public java.util.List getTopologyIdsList() { + return topologyIds_; } /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return getEvent(); + public java.util.List + getTopologyIdsOrBuilderList() { + return topologyIds_; } - - public static final int TOPOLOGY_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.TopologyId topologyId_; /** - * .context.TopologyId topology_id = 2; - * @return Whether the topologyId field is set. + * repeated .context.TopologyId topology_ids = 1; */ @java.lang.Override - public boolean hasTopologyId() { - return topologyId_ != null; + public int getTopologyIdsCount() { + return topologyIds_.size(); } /** - * .context.TopologyId topology_id = 2; - * @return The topologyId. + * repeated .context.TopologyId topology_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.TopologyId getTopologyId() { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + public context.ContextOuterClass.TopologyId getTopologyIds(int index) { + return topologyIds_.get(index); } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - return getTopologyId(); + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( + int index) { + return topologyIds_.get(index); } private byte memoizedIsInitialized = -1; @@ -10972,11 +10310,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (event_ != null) { - output.writeMessage(1, getEvent()); - } - if (topologyId_ != null) { - output.writeMessage(2, getTopologyId()); + for (int i = 0; i < topologyIds_.size(); i++) { + output.writeMessage(1, topologyIds_.get(i)); } unknownFields.writeTo(output); } @@ -10987,13 +10322,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (event_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEvent()); - } - if (topologyId_ != null) { + for (int i = 0; i < topologyIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getTopologyId()); + .computeMessageSize(1, topologyIds_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -11005,21 +10336,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.TopologyEvent)) { + if (!(obj instanceof context.ContextOuterClass.TopologyIdList)) { return super.equals(obj); } - context.ContextOuterClass.TopologyEvent other = (context.ContextOuterClass.TopologyEvent) obj; + context.ContextOuterClass.TopologyIdList other = (context.ContextOuterClass.TopologyIdList) obj; - if (hasEvent() != other.hasEvent()) return false; - if (hasEvent()) { - if (!getEvent() - .equals(other.getEvent())) return false; - } - if (hasTopologyId() != other.hasTopologyId()) return false; - if (hasTopologyId()) { - if (!getTopologyId() - .equals(other.getTopologyId())) return false; - } + if (!getTopologyIdsList() + .equals(other.getTopologyIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -11031,82 +10354,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEvent()) { - hash = (37 * hash) + EVENT_FIELD_NUMBER; - hash = (53 * hash) + getEvent().hashCode(); - } - if (hasTopologyId()) { - hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; - hash = (53 * hash) + getTopologyId().hashCode(); + if (getTopologyIdsCount() > 0) { + hash = (37 * hash) + TOPOLOGY_IDS_FIELD_NUMBER; + hash = (53 * hash) + getTopologyIdsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyEvent parseFrom(byte[] data) + public static context.ContextOuterClass.TopologyIdList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.TopologyEvent parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyIdList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyEvent parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyIdList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyEvent parseDelimitedFrom( + public static context.ContextOuterClass.TopologyIdList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.TopologyEvent parseFrom( + public static context.ContextOuterClass.TopologyIdList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -11119,7 +10438,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.TopologyEvent prototype) { + public static Builder newBuilder(context.ContextOuterClass.TopologyIdList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -11135,26 +10454,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.TopologyEvent} + * Protobuf type {@code context.TopologyIdList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.TopologyEvent) - context.ContextOuterClass.TopologyEventOrBuilder { + // @@protoc_insertion_point(builder_implements:context.TopologyIdList) + context.ContextOuterClass.TopologyIdListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_TopologyEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.TopologyEvent.class, context.ContextOuterClass.TopologyEvent.Builder.class); + context.ContextOuterClass.TopologyIdList.class, context.ContextOuterClass.TopologyIdList.Builder.class); } - // Construct using context.ContextOuterClass.TopologyEvent.newBuilder() + // Construct using context.ContextOuterClass.TopologyIdList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -11167,22 +10486,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getTopologyIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (eventBuilder_ == null) { - event_ = null; - } else { - event_ = null; - eventBuilder_ = null; - } - if (topologyIdBuilder_ == null) { - topologyId_ = null; + if (topologyIdsBuilder_ == null) { + topologyIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - topologyId_ = null; - topologyIdBuilder_ = null; + topologyIdsBuilder_.clear(); } return this; } @@ -11190,17 +10504,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; } @java.lang.Override - public context.ContextOuterClass.TopologyEvent getDefaultInstanceForType() { - return context.ContextOuterClass.TopologyEvent.getDefaultInstance(); + public context.ContextOuterClass.TopologyIdList getDefaultInstanceForType() { + return context.ContextOuterClass.TopologyIdList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.TopologyEvent build() { - context.ContextOuterClass.TopologyEvent result = buildPartial(); + public context.ContextOuterClass.TopologyIdList build() { + context.ContextOuterClass.TopologyIdList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -11208,17 +10522,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.TopologyEvent buildPartial() { - context.ContextOuterClass.TopologyEvent result = new context.ContextOuterClass.TopologyEvent(this); - if (eventBuilder_ == null) { - result.event_ = event_; - } else { - result.event_ = eventBuilder_.build(); - } - if (topologyIdBuilder_ == null) { - result.topologyId_ = topologyId_; + public context.ContextOuterClass.TopologyIdList buildPartial() { + context.ContextOuterClass.TopologyIdList result = new context.ContextOuterClass.TopologyIdList(this); + int from_bitField0_ = bitField0_; + if (topologyIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.topologyIds_ = topologyIds_; } else { - result.topologyId_ = topologyIdBuilder_.build(); + result.topologyIds_ = topologyIdsBuilder_.build(); } onBuilt(); return result; @@ -11258,21 +10572,41 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.TopologyEvent) { - return mergeFrom((context.ContextOuterClass.TopologyEvent)other); + if (other instanceof context.ContextOuterClass.TopologyIdList) { + return mergeFrom((context.ContextOuterClass.TopologyIdList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.TopologyEvent other) { - if (other == context.ContextOuterClass.TopologyEvent.getDefaultInstance()) return this; - if (other.hasEvent()) { - mergeEvent(other.getEvent()); - } - if (other.hasTopologyId()) { - mergeTopologyId(other.getTopologyId()); + public Builder mergeFrom(context.ContextOuterClass.TopologyIdList other) { + if (other == context.ContextOuterClass.TopologyIdList.getDefaultInstance()) return this; + if (topologyIdsBuilder_ == null) { + if (!other.topologyIds_.isEmpty()) { + if (topologyIds_.isEmpty()) { + topologyIds_ = other.topologyIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureTopologyIdsIsMutable(); + topologyIds_.addAll(other.topologyIds_); + } + onChanged(); + } + } else { + if (!other.topologyIds_.isEmpty()) { + if (topologyIdsBuilder_.isEmpty()) { + topologyIdsBuilder_.dispose(); + topologyIdsBuilder_ = null; + topologyIds_ = other.topologyIds_; + bitField0_ = (bitField0_ & ~0x00000001); + topologyIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTopologyIdsFieldBuilder() : null; + } else { + topologyIdsBuilder_.addAllMessages(other.topologyIds_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -11289,11 +10623,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.TopologyEvent parsedMessage = null; + context.ContextOuterClass.TopologyIdList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.TopologyEvent) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.TopologyIdList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -11302,243 +10636,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List topologyIds_ = + java.util.Collections.emptyList(); + private void ensureTopologyIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + topologyIds_ = new java.util.ArrayList(topologyIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdsBuilder_; - private context.ContextOuterClass.Event event_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.Event event = 1; - * @return Whether the event field is set. + * repeated .context.TopologyId topology_ids = 1; */ - public boolean hasEvent() { - return eventBuilder_ != null || event_ != null; + public java.util.List getTopologyIdsList() { + if (topologyIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(topologyIds_); + } else { + return topologyIdsBuilder_.getMessageList(); + } } /** - * .context.Event event = 1; - * @return The event. + * repeated .context.TopologyId topology_ids = 1; */ - public context.ContextOuterClass.Event getEvent() { - if (eventBuilder_ == null) { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public int getTopologyIdsCount() { + if (topologyIdsBuilder_ == null) { + return topologyIds_.size(); } else { - return eventBuilder_.getMessage(); + return topologyIdsBuilder_.getCount(); } } /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder setEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { + public context.ContextOuterClass.TopologyId getTopologyIds(int index) { + if (topologyIdsBuilder_ == null) { + return topologyIds_.get(index); + } else { + return topologyIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.TopologyId topology_ids = 1; + */ + public Builder setTopologyIds( + int index, context.ContextOuterClass.TopologyId value) { + if (topologyIdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - event_ = value; + ensureTopologyIdsIsMutable(); + topologyIds_.set(index, value); onChanged(); } else { - eventBuilder_.setMessage(value); + topologyIdsBuilder_.setMessage(index, value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder setEvent( - context.ContextOuterClass.Event.Builder builderForValue) { - if (eventBuilder_ == null) { - event_ = builderForValue.build(); + public Builder setTopologyIds( + int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.set(index, builderForValue.build()); onChanged(); } else { - eventBuilder_.setMessage(builderForValue.build()); + topologyIdsBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder mergeEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (event_ != null) { - event_ = - context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); - } else { - event_ = value; + public Builder addTopologyIds(context.ContextOuterClass.TopologyId value) { + if (topologyIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureTopologyIdsIsMutable(); + topologyIds_.add(value); onChanged(); } else { - eventBuilder_.mergeFrom(value); + topologyIdsBuilder_.addMessage(value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder clearEvent() { - if (eventBuilder_ == null) { - event_ = null; + public Builder addTopologyIds( + int index, context.ContextOuterClass.TopologyId value) { + if (topologyIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTopologyIdsIsMutable(); + topologyIds_.add(index, value); onChanged(); } else { - event_ = null; - eventBuilder_ = null; + topologyIdsBuilder_.addMessage(index, value); } - return this; } /** - * .context.Event event = 1; - */ - public context.ContextOuterClass.Event.Builder getEventBuilder() { - - onChanged(); - return getEventFieldBuilder().getBuilder(); - } - /** - * .context.Event event = 1; + * repeated .context.TopologyId topology_ids = 1; */ - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - if (eventBuilder_ != null) { - return eventBuilder_.getMessageOrBuilder(); + public Builder addTopologyIds( + context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.add(builderForValue.build()); + onChanged(); } else { - return event_ == null ? - context.ContextOuterClass.Event.getDefaultInstance() : event_; - } - } - /** - * .context.Event event = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> - getEventFieldBuilder() { - if (eventBuilder_ == null) { - eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( - getEvent(), - getParentForChildren(), - isClean()); - event_ = null; + topologyIdsBuilder_.addMessage(builderForValue.build()); } - return eventBuilder_; - } - - private context.ContextOuterClass.TopologyId topologyId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdBuilder_; - /** - * .context.TopologyId topology_id = 2; - * @return Whether the topologyId field is set. - */ - public boolean hasTopologyId() { - return topologyIdBuilder_ != null || topologyId_ != null; + return this; } /** - * .context.TopologyId topology_id = 2; - * @return The topologyId. + * repeated .context.TopologyId topology_ids = 1; */ - public context.ContextOuterClass.TopologyId getTopologyId() { - if (topologyIdBuilder_ == null) { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + public Builder addTopologyIds( + int index, context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.add(index, builderForValue.build()); + onChanged(); } else { - return topologyIdBuilder_.getMessage(); + topologyIdsBuilder_.addMessage(index, builderForValue.build()); } + return this; } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder setTopologyId(context.ContextOuterClass.TopologyId value) { - if (topologyIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - topologyId_ = value; + public Builder addAllTopologyIds( + java.lang.Iterable values) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, topologyIds_); onChanged(); } else { - topologyIdBuilder_.setMessage(value); + topologyIdsBuilder_.addAllMessages(values); } - return this; } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder setTopologyId( - context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdBuilder_ == null) { - topologyId_ = builderForValue.build(); + public Builder clearTopologyIds() { + if (topologyIdsBuilder_ == null) { + topologyIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - topologyIdBuilder_.setMessage(builderForValue.build()); + topologyIdsBuilder_.clear(); } - return this; } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { - if (topologyIdBuilder_ == null) { - if (topologyId_ != null) { - topologyId_ = - context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); - } else { - topologyId_ = value; - } + public Builder removeTopologyIds(int index) { + if (topologyIdsBuilder_ == null) { + ensureTopologyIdsIsMutable(); + topologyIds_.remove(index); onChanged(); } else { - topologyIdBuilder_.mergeFrom(value); + topologyIdsBuilder_.remove(index); } - return this; } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - public Builder clearTopologyId() { - if (topologyIdBuilder_ == null) { - topologyId_ = null; - onChanged(); - } else { - topologyId_ = null; - topologyIdBuilder_ = null; - } - - return this; + public context.ContextOuterClass.TopologyId.Builder getTopologyIdsBuilder( + int index) { + return getTopologyIdsFieldBuilder().getBuilder(index); } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { - - onChanged(); - return getTopologyIdFieldBuilder().getBuilder(); + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdsOrBuilder( + int index) { + if (topologyIdsBuilder_ == null) { + return topologyIds_.get(index); } else { + return topologyIdsBuilder_.getMessageOrBuilder(index); + } } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - if (topologyIdBuilder_ != null) { - return topologyIdBuilder_.getMessageOrBuilder(); + public java.util.List + getTopologyIdsOrBuilderList() { + if (topologyIdsBuilder_ != null) { + return topologyIdsBuilder_.getMessageOrBuilderList(); } else { - return topologyId_ == null ? - context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + return java.util.Collections.unmodifiableList(topologyIds_); } } /** - * .context.TopologyId topology_id = 2; + * repeated .context.TopologyId topology_ids = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< + public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder() { + return getTopologyIdsFieldBuilder().addBuilder( + context.ContextOuterClass.TopologyId.getDefaultInstance()); + } + /** + * repeated .context.TopologyId topology_ids = 1; + */ + public context.ContextOuterClass.TopologyId.Builder addTopologyIdsBuilder( + int index) { + return getTopologyIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.TopologyId.getDefaultInstance()); + } + /** + * repeated .context.TopologyId topology_ids = 1; + */ + public java.util.List + getTopologyIdsBuilderList() { + return getTopologyIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> - getTopologyIdFieldBuilder() { - if (topologyIdBuilder_ == null) { - topologyIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getTopologyIdsFieldBuilder() { + if (topologyIdsBuilder_ == null) { + topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( - getTopologyId(), + topologyIds_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - topologyId_ = null; + topologyIds_ = null; } - return topologyIdBuilder_; + return topologyIdsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -11553,89 +10890,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.TopologyEvent) + // @@protoc_insertion_point(builder_scope:context.TopologyIdList) } - // @@protoc_insertion_point(class_scope:context.TopologyEvent) - private static final context.ContextOuterClass.TopologyEvent DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.TopologyIdList) + private static final context.ContextOuterClass.TopologyIdList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyEvent(); + DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyIdList(); } - public static context.ContextOuterClass.TopologyEvent getDefaultInstance() { + public static context.ContextOuterClass.TopologyIdList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public TopologyEvent parsePartialFrom( + public TopologyIdList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new TopologyEvent(input, extensionRegistry); + return new TopologyIdList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.TopologyEvent getDefaultInstanceForType() { + public context.ContextOuterClass.TopologyIdList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.DeviceId) + public interface TopologyListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.TopologyList) com.google.protobuf.MessageOrBuilder { /** - * .context.Uuid device_uuid = 1; - * @return Whether the deviceUuid field is set. + * repeated .context.Topology topologies = 1; */ - boolean hasDeviceUuid(); + java.util.List + getTopologiesList(); /** - * .context.Uuid device_uuid = 1; - * @return The deviceUuid. + * repeated .context.Topology topologies = 1; */ - context.ContextOuterClass.Uuid getDeviceUuid(); + context.ContextOuterClass.Topology getTopologies(int index); /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder(); + int getTopologiesCount(); + /** + * repeated .context.Topology topologies = 1; + */ + java.util.List + getTopologiesOrBuilderList(); + /** + * repeated .context.Topology topologies = 1; + */ + context.ContextOuterClass.TopologyOrBuilder getTopologiesOrBuilder( + int index); } /** - *
-   * ----- Device --------------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.DeviceId} + * Protobuf type {@code context.TopologyList} */ - public static final class DeviceId extends + public static final class TopologyList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.DeviceId) - DeviceIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.TopologyList) + TopologyListOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceId.newBuilder() to construct. - private DeviceId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use TopologyList.newBuilder() to construct. + private TopologyList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceId() { + private TopologyList() { + topologies_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceId(); + return new TopologyList(); } @java.lang.Override @@ -11643,7 +10986,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private DeviceId( + private TopologyList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -11651,6 +10994,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -11662,16 +11006,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (deviceUuid_ != null) { - subBuilder = deviceUuid_.toBuilder(); - } - deviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(deviceUuid_); - deviceUuid_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + topologies_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + topologies_.add( + input.readMessage(context.ContextOuterClass.Topology.parser(), extensionRegistry)); break; } default: { @@ -11689,47 +11029,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + topologies_ = java.util.Collections.unmodifiableList(topologies_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceId.class, context.ContextOuterClass.DeviceId.Builder.class); + context.ContextOuterClass.TopologyList.class, context.ContextOuterClass.TopologyList.Builder.class); } - public static final int DEVICE_UUID_FIELD_NUMBER = 1; - private context.ContextOuterClass.Uuid deviceUuid_; + public static final int TOPOLOGIES_FIELD_NUMBER = 1; + private java.util.List topologies_; /** - * .context.Uuid device_uuid = 1; - * @return Whether the deviceUuid field is set. + * repeated .context.Topology topologies = 1; */ @java.lang.Override - public boolean hasDeviceUuid() { - return deviceUuid_ != null; + public java.util.List getTopologiesList() { + return topologies_; } /** - * .context.Uuid device_uuid = 1; - * @return The deviceUuid. + * repeated .context.Topology topologies = 1; */ @java.lang.Override - public context.ContextOuterClass.Uuid getDeviceUuid() { - return deviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; + public java.util.List + getTopologiesOrBuilderList() { + return topologies_; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder() { - return getDeviceUuid(); + public int getTopologiesCount() { + return topologies_.size(); + } + /** + * repeated .context.Topology topologies = 1; + */ + @java.lang.Override + public context.ContextOuterClass.Topology getTopologies(int index) { + return topologies_.get(index); + } + /** + * repeated .context.Topology topologies = 1; + */ + @java.lang.Override + public context.ContextOuterClass.TopologyOrBuilder getTopologiesOrBuilder( + int index) { + return topologies_.get(index); } private byte memoizedIsInitialized = -1; @@ -11746,8 +11103,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (deviceUuid_ != null) { - output.writeMessage(1, getDeviceUuid()); + for (int i = 0; i < topologies_.size(); i++) { + output.writeMessage(1, topologies_.get(i)); } unknownFields.writeTo(output); } @@ -11758,9 +11115,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (deviceUuid_ != null) { + for (int i = 0; i < topologies_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getDeviceUuid()); + .computeMessageSize(1, topologies_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -11772,16 +11129,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.DeviceId)) { + if (!(obj instanceof context.ContextOuterClass.TopologyList)) { return super.equals(obj); } - context.ContextOuterClass.DeviceId other = (context.ContextOuterClass.DeviceId) obj; + context.ContextOuterClass.TopologyList other = (context.ContextOuterClass.TopologyList) obj; - if (hasDeviceUuid() != other.hasDeviceUuid()) return false; - if (hasDeviceUuid()) { - if (!getDeviceUuid() - .equals(other.getDeviceUuid())) return false; - } + if (!getTopologiesList() + .equals(other.getTopologiesList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -11793,78 +11147,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDeviceUuid()) { - hash = (37 * hash) + DEVICE_UUID_FIELD_NUMBER; - hash = (53 * hash) + getDeviceUuid().hashCode(); + if (getTopologiesCount() > 0) { + hash = (37 * hash) + TOPOLOGIES_FIELD_NUMBER; + hash = (53 * hash) + getTopologiesList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceId parseFrom(byte[] data) + public static context.ContextOuterClass.TopologyList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceId parseDelimitedFrom( + public static context.ContextOuterClass.TopologyList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceId parseFrom( + public static context.ContextOuterClass.TopologyList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -11877,7 +11231,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.DeviceId prototype) { + public static Builder newBuilder(context.ContextOuterClass.TopologyList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -11893,30 +11247,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Device --------------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.DeviceId} + * Protobuf type {@code context.TopologyList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.DeviceId) - context.ContextOuterClass.DeviceIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.TopologyList) + context.ContextOuterClass.TopologyListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceId.class, context.ContextOuterClass.DeviceId.Builder.class); + context.ContextOuterClass.TopologyList.class, context.ContextOuterClass.TopologyList.Builder.class); } - // Construct using context.ContextOuterClass.DeviceId.newBuilder() + // Construct using context.ContextOuterClass.TopologyList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -11929,16 +11279,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getTopologiesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (deviceUuidBuilder_ == null) { - deviceUuid_ = null; + if (topologiesBuilder_ == null) { + topologies_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - deviceUuid_ = null; - deviceUuidBuilder_ = null; + topologiesBuilder_.clear(); } return this; } @@ -11946,17 +11297,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; } @java.lang.Override - public context.ContextOuterClass.DeviceId getDefaultInstanceForType() { - return context.ContextOuterClass.DeviceId.getDefaultInstance(); + public context.ContextOuterClass.TopologyList getDefaultInstanceForType() { + return context.ContextOuterClass.TopologyList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.DeviceId build() { - context.ContextOuterClass.DeviceId result = buildPartial(); + public context.ContextOuterClass.TopologyList build() { + context.ContextOuterClass.TopologyList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -11964,12 +11315,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.DeviceId buildPartial() { - context.ContextOuterClass.DeviceId result = new context.ContextOuterClass.DeviceId(this); - if (deviceUuidBuilder_ == null) { - result.deviceUuid_ = deviceUuid_; + public context.ContextOuterClass.TopologyList buildPartial() { + context.ContextOuterClass.TopologyList result = new context.ContextOuterClass.TopologyList(this); + int from_bitField0_ = bitField0_; + if (topologiesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + topologies_ = java.util.Collections.unmodifiableList(topologies_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.topologies_ = topologies_; } else { - result.deviceUuid_ = deviceUuidBuilder_.build(); + result.topologies_ = topologiesBuilder_.build(); } onBuilt(); return result; @@ -12009,18 +11365,41 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.DeviceId) { - return mergeFrom((context.ContextOuterClass.DeviceId)other); + if (other instanceof context.ContextOuterClass.TopologyList) { + return mergeFrom((context.ContextOuterClass.TopologyList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.DeviceId other) { - if (other == context.ContextOuterClass.DeviceId.getDefaultInstance()) return this; - if (other.hasDeviceUuid()) { - mergeDeviceUuid(other.getDeviceUuid()); + public Builder mergeFrom(context.ContextOuterClass.TopologyList other) { + if (other == context.ContextOuterClass.TopologyList.getDefaultInstance()) return this; + if (topologiesBuilder_ == null) { + if (!other.topologies_.isEmpty()) { + if (topologies_.isEmpty()) { + topologies_ = other.topologies_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureTopologiesIsMutable(); + topologies_.addAll(other.topologies_); + } + onChanged(); + } + } else { + if (!other.topologies_.isEmpty()) { + if (topologiesBuilder_.isEmpty()) { + topologiesBuilder_.dispose(); + topologiesBuilder_ = null; + topologies_ = other.topologies_; + bitField0_ = (bitField0_ & ~0x00000001); + topologiesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTopologiesFieldBuilder() : null; + } else { + topologiesBuilder_.addAllMessages(other.topologies_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -12037,11 +11416,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.DeviceId parsedMessage = null; + context.ContextOuterClass.TopologyList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.DeviceId) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.TopologyList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -12050,312 +11429,354 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List topologies_ = + java.util.Collections.emptyList(); + private void ensureTopologiesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + topologies_ = new java.util.ArrayList(topologies_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Topology, context.ContextOuterClass.Topology.Builder, context.ContextOuterClass.TopologyOrBuilder> topologiesBuilder_; - private context.ContextOuterClass.Uuid deviceUuid_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> deviceUuidBuilder_; /** - * .context.Uuid device_uuid = 1; - * @return Whether the deviceUuid field is set. + * repeated .context.Topology topologies = 1; */ - public boolean hasDeviceUuid() { - return deviceUuidBuilder_ != null || deviceUuid_ != null; + public java.util.List getTopologiesList() { + if (topologiesBuilder_ == null) { + return java.util.Collections.unmodifiableList(topologies_); + } else { + return topologiesBuilder_.getMessageList(); + } } /** - * .context.Uuid device_uuid = 1; - * @return The deviceUuid. + * repeated .context.Topology topologies = 1; */ - public context.ContextOuterClass.Uuid getDeviceUuid() { - if (deviceUuidBuilder_ == null) { - return deviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; + public int getTopologiesCount() { + if (topologiesBuilder_ == null) { + return topologies_.size(); } else { - return deviceUuidBuilder_.getMessage(); + return topologiesBuilder_.getCount(); } } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - public Builder setDeviceUuid(context.ContextOuterClass.Uuid value) { - if (deviceUuidBuilder_ == null) { + public context.ContextOuterClass.Topology getTopologies(int index) { + if (topologiesBuilder_ == null) { + return topologies_.get(index); + } else { + return topologiesBuilder_.getMessage(index); + } + } + /** + * repeated .context.Topology topologies = 1; + */ + public Builder setTopologies( + int index, context.ContextOuterClass.Topology value) { + if (topologiesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - deviceUuid_ = value; + ensureTopologiesIsMutable(); + topologies_.set(index, value); onChanged(); } else { - deviceUuidBuilder_.setMessage(value); + topologiesBuilder_.setMessage(index, value); } - return this; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - public Builder setDeviceUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (deviceUuidBuilder_ == null) { - deviceUuid_ = builderForValue.build(); + public Builder setTopologies( + int index, context.ContextOuterClass.Topology.Builder builderForValue) { + if (topologiesBuilder_ == null) { + ensureTopologiesIsMutable(); + topologies_.set(index, builderForValue.build()); onChanged(); } else { - deviceUuidBuilder_.setMessage(builderForValue.build()); + topologiesBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - public Builder mergeDeviceUuid(context.ContextOuterClass.Uuid value) { - if (deviceUuidBuilder_ == null) { - if (deviceUuid_ != null) { - deviceUuid_ = - context.ContextOuterClass.Uuid.newBuilder(deviceUuid_).mergeFrom(value).buildPartial(); - } else { - deviceUuid_ = value; + public Builder addTopologies(context.ContextOuterClass.Topology value) { + if (topologiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureTopologiesIsMutable(); + topologies_.add(value); onChanged(); } else { - deviceUuidBuilder_.mergeFrom(value); + topologiesBuilder_.addMessage(value); } - return this; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - public Builder clearDeviceUuid() { - if (deviceUuidBuilder_ == null) { - deviceUuid_ = null; + public Builder addTopologies( + int index, context.ContextOuterClass.Topology value) { + if (topologiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTopologiesIsMutable(); + topologies_.add(index, value); onChanged(); } else { - deviceUuid_ = null; - deviceUuidBuilder_ = null; + topologiesBuilder_.addMessage(index, value); } - return this; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - public context.ContextOuterClass.Uuid.Builder getDeviceUuidBuilder() { - - onChanged(); - return getDeviceUuidFieldBuilder().getBuilder(); + public Builder addTopologies( + context.ContextOuterClass.Topology.Builder builderForValue) { + if (topologiesBuilder_ == null) { + ensureTopologiesIsMutable(); + topologies_.add(builderForValue.build()); + onChanged(); + } else { + topologiesBuilder_.addMessage(builderForValue.build()); + } + return this; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - public context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder() { - if (deviceUuidBuilder_ != null) { - return deviceUuidBuilder_.getMessageOrBuilder(); + public Builder addTopologies( + int index, context.ContextOuterClass.Topology.Builder builderForValue) { + if (topologiesBuilder_ == null) { + ensureTopologiesIsMutable(); + topologies_.add(index, builderForValue.build()); + onChanged(); } else { - return deviceUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; + topologiesBuilder_.addMessage(index, builderForValue.build()); } + return this; } /** - * .context.Uuid device_uuid = 1; + * repeated .context.Topology topologies = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getDeviceUuidFieldBuilder() { - if (deviceUuidBuilder_ == null) { - deviceUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getDeviceUuid(), - getParentForChildren(), - isClean()); - deviceUuid_ = null; + public Builder addAllTopologies( + java.lang.Iterable values) { + if (topologiesBuilder_ == null) { + ensureTopologiesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, topologies_); + onChanged(); + } else { + topologiesBuilder_.addAllMessages(values); } - return deviceUuidBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return this; } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { + /** + * repeated .context.Topology topologies = 1; + */ + public Builder clearTopologies() { + if (topologiesBuilder_ == null) { + topologies_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + topologiesBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Topology topologies = 1; + */ + public Builder removeTopologies(int index) { + if (topologiesBuilder_ == null) { + ensureTopologiesIsMutable(); + topologies_.remove(index); + onChanged(); + } else { + topologiesBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Topology topologies = 1; + */ + public context.ContextOuterClass.Topology.Builder getTopologiesBuilder( + int index) { + return getTopologiesFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Topology topologies = 1; + */ + public context.ContextOuterClass.TopologyOrBuilder getTopologiesOrBuilder( + int index) { + if (topologiesBuilder_ == null) { + return topologies_.get(index); } else { + return topologiesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Topology topologies = 1; + */ + public java.util.List + getTopologiesOrBuilderList() { + if (topologiesBuilder_ != null) { + return topologiesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(topologies_); + } + } + /** + * repeated .context.Topology topologies = 1; + */ + public context.ContextOuterClass.Topology.Builder addTopologiesBuilder() { + return getTopologiesFieldBuilder().addBuilder( + context.ContextOuterClass.Topology.getDefaultInstance()); + } + /** + * repeated .context.Topology topologies = 1; + */ + public context.ContextOuterClass.Topology.Builder addTopologiesBuilder( + int index) { + return getTopologiesFieldBuilder().addBuilder( + index, context.ContextOuterClass.Topology.getDefaultInstance()); + } + /** + * repeated .context.Topology topologies = 1; + */ + public java.util.List + getTopologiesBuilderList() { + return getTopologiesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Topology, context.ContextOuterClass.Topology.Builder, context.ContextOuterClass.TopologyOrBuilder> + getTopologiesFieldBuilder() { + if (topologiesBuilder_ == null) { + topologiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Topology, context.ContextOuterClass.Topology.Builder, context.ContextOuterClass.TopologyOrBuilder>( + topologies_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + topologies_ = null; + } + return topologiesBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:context.DeviceId) + // @@protoc_insertion_point(builder_scope:context.TopologyList) } - // @@protoc_insertion_point(class_scope:context.DeviceId) - private static final context.ContextOuterClass.DeviceId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.TopologyList) + private static final context.ContextOuterClass.TopologyList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyList(); } - public static context.ContextOuterClass.DeviceId getDefaultInstance() { + public static context.ContextOuterClass.TopologyList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceId parsePartialFrom( + public TopologyList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceId(input, extensionRegistry); + return new TopologyList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.DeviceId getDefaultInstanceForType() { + public context.ContextOuterClass.TopologyList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.Device) + public interface TopologyEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.TopologyEvent) com.google.protobuf.MessageOrBuilder { /** - * .context.DeviceId device_id = 1; - * @return Whether the deviceId field is set. - */ - boolean hasDeviceId(); - /** - * .context.DeviceId device_id = 1; - * @return The deviceId. - */ - context.ContextOuterClass.DeviceId getDeviceId(); - /** - * .context.DeviceId device_id = 1; - */ - context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); - - /** - * string device_type = 2; - * @return The deviceType. - */ - java.lang.String getDeviceType(); - /** - * string device_type = 2; - * @return The bytes for deviceType. - */ - com.google.protobuf.ByteString - getDeviceTypeBytes(); - - /** - * .context.DeviceConfig device_config = 3; - * @return Whether the deviceConfig field is set. - */ - boolean hasDeviceConfig(); - /** - * .context.DeviceConfig device_config = 3; - * @return The deviceConfig. - */ - context.ContextOuterClass.DeviceConfig getDeviceConfig(); - /** - * .context.DeviceConfig device_config = 3; - */ - context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder(); - - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return The enum numeric value on the wire for deviceOperationalStatus. - */ - int getDeviceOperationalStatusValue(); - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return The deviceOperationalStatus. - */ - context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus(); - - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return A list containing the deviceDrivers. - */ - java.util.List getDeviceDriversList(); - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return The count of deviceDrivers. - */ - int getDeviceDriversCount(); - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the element to return. - * @return The deviceDrivers at the given index. + * .context.Event event = 1; + * @return Whether the event field is set. */ - context.ContextOuterClass.DeviceDriverEnum getDeviceDrivers(int index); + boolean hasEvent(); /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return A list containing the enum numeric values on the wire for deviceDrivers. + * .context.Event event = 1; + * @return The event. */ - java.util.List - getDeviceDriversValueList(); + context.ContextOuterClass.Event getEvent(); /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of deviceDrivers at the given index. + * .context.Event event = 1; */ - int getDeviceDriversValue(int index); + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); /** - * repeated .context.EndPoint device_endpoints = 6; - */ - java.util.List - getDeviceEndpointsList(); - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - context.ContextOuterClass.EndPoint getDeviceEndpoints(int index); - /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.TopologyId topology_id = 2; + * @return Whether the topologyId field is set. */ - int getDeviceEndpointsCount(); + boolean hasTopologyId(); /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.TopologyId topology_id = 2; + * @return The topologyId. */ - java.util.List - getDeviceEndpointsOrBuilderList(); + context.ContextOuterClass.TopologyId getTopologyId(); /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.TopologyId topology_id = 2; */ - context.ContextOuterClass.EndPointOrBuilder getDeviceEndpointsOrBuilder( - int index); + context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder(); } /** - * Protobuf type {@code context.Device} + * Protobuf type {@code context.TopologyEvent} */ - public static final class Device extends + public static final class TopologyEvent extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.Device) - DeviceOrBuilder { + // @@protoc_insertion_point(message_implements:context.TopologyEvent) + TopologyEventOrBuilder { private static final long serialVersionUID = 0L; - // Use Device.newBuilder() to construct. - private Device(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use TopologyEvent.newBuilder() to construct. + private TopologyEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Device() { - deviceType_ = ""; - deviceOperationalStatus_ = 0; - deviceDrivers_ = java.util.Collections.emptyList(); - deviceEndpoints_ = java.util.Collections.emptyList(); + private TopologyEvent() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Device(); + return new TopologyEvent(); } @java.lang.Override @@ -12363,7 +11784,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private Device( + private TopologyEvent( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -12371,7 +11792,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -12383,75 +11803,31 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.DeviceId.Builder subBuilder = null; - if (deviceId_ != null) { - subBuilder = deviceId_.toBuilder(); + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); } - deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(deviceId_); - deviceId_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); } break; } case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - deviceType_ = s; - break; - } - case 26: { - context.ContextOuterClass.DeviceConfig.Builder subBuilder = null; - if (deviceConfig_ != null) { - subBuilder = deviceConfig_.toBuilder(); + context.ContextOuterClass.TopologyId.Builder subBuilder = null; + if (topologyId_ != null) { + subBuilder = topologyId_.toBuilder(); } - deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry); + topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(deviceConfig_); - deviceConfig_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(topologyId_); + topologyId_ = subBuilder.buildPartial(); } break; } - case 32: { - int rawValue = input.readEnum(); - - deviceOperationalStatus_ = rawValue; - break; - } - case 40: { - int rawValue = input.readEnum(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - deviceDrivers_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - deviceDrivers_.add(rawValue); - break; - } - case 42: { - int length = input.readRawVarint32(); - int oldLimit = input.pushLimit(length); - while(input.getBytesUntilLimit() > 0) { - int rawValue = input.readEnum(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - deviceDrivers_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - deviceDrivers_.add(rawValue); - } - input.popLimit(oldLimit); - break; - } - case 50: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - deviceEndpoints_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; - } - deviceEndpoints_.add( - input.readMessage(context.ContextOuterClass.EndPoint.parser(), extensionRegistry)); - break; - } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -12467,344 +11843,137 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Device_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Device_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Device.class, context.ContextOuterClass.Device.Builder.class); + context.ContextOuterClass.TopologyEvent.class, context.ContextOuterClass.TopologyEvent.Builder.class); } - public static final int DEVICE_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.DeviceId deviceId_; + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; /** - * .context.DeviceId device_id = 1; - * @return Whether the deviceId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ @java.lang.Override - public boolean hasDeviceId() { - return deviceId_ != null; + public boolean hasEvent() { + return event_ != null; } /** - * .context.DeviceId device_id = 1; - * @return The deviceId. + * .context.Event event = 1; + * @return The event. */ @java.lang.Override - public context.ContextOuterClass.DeviceId getDeviceId() { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ @java.lang.Override - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - return getDeviceId(); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); } - public static final int DEVICE_TYPE_FIELD_NUMBER = 2; - private volatile java.lang.Object deviceType_; - /** - * string device_type = 2; - * @return The deviceType. - */ - @java.lang.Override - public java.lang.String getDeviceType() { - java.lang.Object ref = deviceType_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - deviceType_ = s; - return s; - } - } + public static final int TOPOLOGY_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.TopologyId topologyId_; /** - * string device_type = 2; - * @return The bytes for deviceType. + * .context.TopologyId topology_id = 2; + * @return Whether the topologyId field is set. */ @java.lang.Override - public com.google.protobuf.ByteString - getDeviceTypeBytes() { - java.lang.Object ref = deviceType_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - deviceType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public boolean hasTopologyId() { + return topologyId_ != null; } - - public static final int DEVICE_CONFIG_FIELD_NUMBER = 3; - private context.ContextOuterClass.DeviceConfig deviceConfig_; /** - * .context.DeviceConfig device_config = 3; - * @return Whether the deviceConfig field is set. + * .context.TopologyId topology_id = 2; + * @return The topologyId. */ @java.lang.Override - public boolean hasDeviceConfig() { - return deviceConfig_ != null; + public context.ContextOuterClass.TopologyId getTopologyId() { + return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; } /** - * .context.DeviceConfig device_config = 3; - * @return The deviceConfig. + * .context.TopologyId topology_id = 2; */ @java.lang.Override - public context.ContextOuterClass.DeviceConfig getDeviceConfig() { - return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { + return getTopologyId(); } - /** - * .context.DeviceConfig device_config = 3; - */ + + private byte memoizedIsInitialized = -1; @java.lang.Override - public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { - return getDeviceConfig(); - } + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; - public static final int DEVICE_OPERATIONAL_STATUS_FIELD_NUMBER = 4; - private int deviceOperationalStatus_; - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return The enum numeric value on the wire for deviceOperationalStatus. - */ - @java.lang.Override public int getDeviceOperationalStatusValue() { - return deviceOperationalStatus_; - } - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return The deviceOperationalStatus. - */ - @java.lang.Override public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_); - return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result; + memoizedIsInitialized = 1; + return true; } - public static final int DEVICE_DRIVERS_FIELD_NUMBER = 5; - private java.util.List deviceDrivers_; - private static final com.google.protobuf.Internal.ListAdapter.Converter< - java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum> deviceDrivers_converter_ = - new com.google.protobuf.Internal.ListAdapter.Converter< - java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum>() { - public context.ContextOuterClass.DeviceDriverEnum convert(java.lang.Integer from) { - @SuppressWarnings("deprecation") - context.ContextOuterClass.DeviceDriverEnum result = context.ContextOuterClass.DeviceDriverEnum.valueOf(from); - return result == null ? context.ContextOuterClass.DeviceDriverEnum.UNRECOGNIZED : result; - } - }; - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return A list containing the deviceDrivers. - */ @java.lang.Override - public java.util.List getDeviceDriversList() { - return new com.google.protobuf.Internal.ListAdapter< - java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum>(deviceDrivers_, deviceDrivers_converter_); + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (event_ != null) { + output.writeMessage(1, getEvent()); + } + if (topologyId_ != null) { + output.writeMessage(2, getTopologyId()); + } + unknownFields.writeTo(output); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return The count of deviceDrivers. - */ + @java.lang.Override - public int getDeviceDriversCount() { - return deviceDrivers_.size(); + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (event_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getEvent()); + } + if (topologyId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getTopologyId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the element to return. - * @return The deviceDrivers at the given index. - */ - @java.lang.Override - public context.ContextOuterClass.DeviceDriverEnum getDeviceDrivers(int index) { - return deviceDrivers_converter_.convert(deviceDrivers_.get(index)); - } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return A list containing the enum numeric values on the wire for deviceDrivers. - */ - @java.lang.Override - public java.util.List - getDeviceDriversValueList() { - return deviceDrivers_; - } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of deviceDrivers at the given index. - */ - @java.lang.Override - public int getDeviceDriversValue(int index) { - return deviceDrivers_.get(index); - } - private int deviceDriversMemoizedSerializedSize; - - public static final int DEVICE_ENDPOINTS_FIELD_NUMBER = 6; - private java.util.List deviceEndpoints_; - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - @java.lang.Override - public java.util.List getDeviceEndpointsList() { - return deviceEndpoints_; - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - @java.lang.Override - public java.util.List - getDeviceEndpointsOrBuilderList() { - return deviceEndpoints_; - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - @java.lang.Override - public int getDeviceEndpointsCount() { - return deviceEndpoints_.size(); - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - @java.lang.Override - public context.ContextOuterClass.EndPoint getDeviceEndpoints(int index) { - return deviceEndpoints_.get(index); - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - @java.lang.Override - public context.ContextOuterClass.EndPointOrBuilder getDeviceEndpointsOrBuilder( - int index) { - return deviceEndpoints_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (deviceId_ != null) { - output.writeMessage(1, getDeviceId()); - } - if (!getDeviceTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, deviceType_); - } - if (deviceConfig_ != null) { - output.writeMessage(3, getDeviceConfig()); - } - if (deviceOperationalStatus_ != context.ContextOuterClass.DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_UNDEFINED.getNumber()) { - output.writeEnum(4, deviceOperationalStatus_); - } - if (getDeviceDriversList().size() > 0) { - output.writeUInt32NoTag(42); - output.writeUInt32NoTag(deviceDriversMemoizedSerializedSize); - } - for (int i = 0; i < deviceDrivers_.size(); i++) { - output.writeEnumNoTag(deviceDrivers_.get(i)); - } - for (int i = 0; i < deviceEndpoints_.size(); i++) { - output.writeMessage(6, deviceEndpoints_.get(i)); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (deviceId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getDeviceId()); - } - if (!getDeviceTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, deviceType_); - } - if (deviceConfig_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getDeviceConfig()); - } - if (deviceOperationalStatus_ != context.ContextOuterClass.DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_UNDEFINED.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, deviceOperationalStatus_); - } - { - int dataSize = 0; - for (int i = 0; i < deviceDrivers_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeEnumSizeNoTag(deviceDrivers_.get(i)); - } - size += dataSize; - if (!getDeviceDriversList().isEmpty()) { size += 1; - size += com.google.protobuf.CodedOutputStream - .computeUInt32SizeNoTag(dataSize); - }deviceDriversMemoizedSerializedSize = dataSize; - } - for (int i = 0; i < deviceEndpoints_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, deviceEndpoints_.get(i)); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - + @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.Device)) { + if (!(obj instanceof context.ContextOuterClass.TopologyEvent)) { return super.equals(obj); } - context.ContextOuterClass.Device other = (context.ContextOuterClass.Device) obj; + context.ContextOuterClass.TopologyEvent other = (context.ContextOuterClass.TopologyEvent) obj; - if (hasDeviceId() != other.hasDeviceId()) return false; - if (hasDeviceId()) { - if (!getDeviceId() - .equals(other.getDeviceId())) return false; + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; } - if (!getDeviceType() - .equals(other.getDeviceType())) return false; - if (hasDeviceConfig() != other.hasDeviceConfig()) return false; - if (hasDeviceConfig()) { - if (!getDeviceConfig() - .equals(other.getDeviceConfig())) return false; + if (hasTopologyId() != other.hasTopologyId()) return false; + if (hasTopologyId()) { + if (!getTopologyId() + .equals(other.getTopologyId())) return false; } - if (deviceOperationalStatus_ != other.deviceOperationalStatus_) return false; - if (!deviceDrivers_.equals(other.deviceDrivers_)) return false; - if (!getDeviceEndpointsList() - .equals(other.getDeviceEndpointsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -12816,94 +11985,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDeviceId()) { - hash = (37 * hash) + DEVICE_ID_FIELD_NUMBER; - hash = (53 * hash) + getDeviceId().hashCode(); - } - hash = (37 * hash) + DEVICE_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getDeviceType().hashCode(); - if (hasDeviceConfig()) { - hash = (37 * hash) + DEVICE_CONFIG_FIELD_NUMBER; - hash = (53 * hash) + getDeviceConfig().hashCode(); - } - hash = (37 * hash) + DEVICE_OPERATIONAL_STATUS_FIELD_NUMBER; - hash = (53 * hash) + deviceOperationalStatus_; - if (getDeviceDriversCount() > 0) { - hash = (37 * hash) + DEVICE_DRIVERS_FIELD_NUMBER; - hash = (53 * hash) + deviceDrivers_.hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); } - if (getDeviceEndpointsCount() > 0) { - hash = (37 * hash) + DEVICE_ENDPOINTS_FIELD_NUMBER; - hash = (53 * hash) + getDeviceEndpointsList().hashCode(); + if (hasTopologyId()) { + hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; + hash = (53 * hash) + getTopologyId().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Device parseFrom(byte[] data) + public static context.ContextOuterClass.TopologyEvent parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Device parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyEvent parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Device parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.TopologyEvent parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.Device parseDelimitedFrom( + public static context.ContextOuterClass.TopologyEvent parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Device parseFrom( + public static context.ContextOuterClass.TopologyEvent parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -12916,7 +12073,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.Device prototype) { + public static Builder newBuilder(context.ContextOuterClass.TopologyEvent prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -12932,26 +12089,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.Device} + * Protobuf type {@code context.TopologyEvent} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.Device) - context.ContextOuterClass.DeviceOrBuilder { + // @@protoc_insertion_point(builder_implements:context.TopologyEvent) + context.ContextOuterClass.TopologyEventOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Device_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Device_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_TopologyEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Device.class, context.ContextOuterClass.Device.Builder.class); + context.ContextOuterClass.TopologyEvent.class, context.ContextOuterClass.TopologyEvent.Builder.class); } - // Construct using context.ContextOuterClass.Device.newBuilder() + // Construct using context.ContextOuterClass.TopologyEvent.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -12964,35 +12121,22 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getDeviceEndpointsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (deviceIdBuilder_ == null) { - deviceId_ = null; - } else { - deviceId_ = null; - deviceIdBuilder_ = null; - } - deviceType_ = ""; - - if (deviceConfigBuilder_ == null) { - deviceConfig_ = null; + if (eventBuilder_ == null) { + event_ = null; } else { - deviceConfig_ = null; - deviceConfigBuilder_ = null; + event_ = null; + eventBuilder_ = null; } - deviceOperationalStatus_ = 0; - - deviceDrivers_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - if (deviceEndpointsBuilder_ == null) { - deviceEndpoints_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); + if (topologyIdBuilder_ == null) { + topologyId_ = null; } else { - deviceEndpointsBuilder_.clear(); + topologyId_ = null; + topologyIdBuilder_ = null; } return this; } @@ -13000,17 +12144,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Device_descriptor; + return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; } @java.lang.Override - public context.ContextOuterClass.Device getDefaultInstanceForType() { - return context.ContextOuterClass.Device.getDefaultInstance(); + public context.ContextOuterClass.TopologyEvent getDefaultInstanceForType() { + return context.ContextOuterClass.TopologyEvent.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.Device build() { - context.ContextOuterClass.Device result = buildPartial(); + public context.ContextOuterClass.TopologyEvent build() { + context.ContextOuterClass.TopologyEvent result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -13018,34 +12162,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.Device buildPartial() { - context.ContextOuterClass.Device result = new context.ContextOuterClass.Device(this); - int from_bitField0_ = bitField0_; - if (deviceIdBuilder_ == null) { - result.deviceId_ = deviceId_; - } else { - result.deviceId_ = deviceIdBuilder_.build(); - } - result.deviceType_ = deviceType_; - if (deviceConfigBuilder_ == null) { - result.deviceConfig_ = deviceConfig_; + public context.ContextOuterClass.TopologyEvent buildPartial() { + context.ContextOuterClass.TopologyEvent result = new context.ContextOuterClass.TopologyEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; } else { - result.deviceConfig_ = deviceConfigBuilder_.build(); - } - result.deviceOperationalStatus_ = deviceOperationalStatus_; - if (((bitField0_ & 0x00000001) != 0)) { - deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_); - bitField0_ = (bitField0_ & ~0x00000001); + result.event_ = eventBuilder_.build(); } - result.deviceDrivers_ = deviceDrivers_; - if (deviceEndpointsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.deviceEndpoints_ = deviceEndpoints_; + if (topologyIdBuilder_ == null) { + result.topologyId_ = topologyId_; } else { - result.deviceEndpoints_ = deviceEndpointsBuilder_.build(); + result.topologyId_ = topologyIdBuilder_.build(); } onBuilt(); return result; @@ -13085,64 +12212,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Device) { - return mergeFrom((context.ContextOuterClass.Device)other); + if (other instanceof context.ContextOuterClass.TopologyEvent) { + return mergeFrom((context.ContextOuterClass.TopologyEvent)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.Device other) { - if (other == context.ContextOuterClass.Device.getDefaultInstance()) return this; - if (other.hasDeviceId()) { - mergeDeviceId(other.getDeviceId()); - } - if (!other.getDeviceType().isEmpty()) { - deviceType_ = other.deviceType_; - onChanged(); - } - if (other.hasDeviceConfig()) { - mergeDeviceConfig(other.getDeviceConfig()); - } - if (other.deviceOperationalStatus_ != 0) { - setDeviceOperationalStatusValue(other.getDeviceOperationalStatusValue()); - } - if (!other.deviceDrivers_.isEmpty()) { - if (deviceDrivers_.isEmpty()) { - deviceDrivers_ = other.deviceDrivers_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureDeviceDriversIsMutable(); - deviceDrivers_.addAll(other.deviceDrivers_); - } - onChanged(); + public Builder mergeFrom(context.ContextOuterClass.TopologyEvent other) { + if (other == context.ContextOuterClass.TopologyEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); } - if (deviceEndpointsBuilder_ == null) { - if (!other.deviceEndpoints_.isEmpty()) { - if (deviceEndpoints_.isEmpty()) { - deviceEndpoints_ = other.deviceEndpoints_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.addAll(other.deviceEndpoints_); - } - onChanged(); - } - } else { - if (!other.deviceEndpoints_.isEmpty()) { - if (deviceEndpointsBuilder_.isEmpty()) { - deviceEndpointsBuilder_.dispose(); - deviceEndpointsBuilder_ = null; - deviceEndpoints_ = other.deviceEndpoints_; - bitField0_ = (bitField0_ & ~0x00000002); - deviceEndpointsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getDeviceEndpointsFieldBuilder() : null; - } else { - deviceEndpointsBuilder_.addAllMessages(other.deviceEndpoints_); - } - } + if (other.hasTopologyId()) { + mergeTopologyId(other.getTopologyId()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -13159,11 +12243,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.Device parsedMessage = null; + context.ContextOuterClass.TopologyEvent parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Device) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.TopologyEvent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -13172,857 +12256,1060 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - private context.ContextOuterClass.DeviceId deviceId_; + private context.ContextOuterClass.Event event_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.DeviceId device_id = 1; - * @return Whether the deviceId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - public boolean hasDeviceId() { - return deviceIdBuilder_ != null || deviceId_ != null; + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; } /** - * .context.DeviceId device_id = 1; - * @return The deviceId. + * .context.Event event = 1; + * @return The event. */ - public context.ContextOuterClass.DeviceId getDeviceId() { - if (deviceIdBuilder_ == null) { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } else { - return deviceIdBuilder_.getMessage(); + return eventBuilder_.getMessage(); } } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ - public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { - if (deviceIdBuilder_ == null) { + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - deviceId_ = value; + event_ = value; onChanged(); } else { - deviceIdBuilder_.setMessage(value); + eventBuilder_.setMessage(value); } return this; } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ - public Builder setDeviceId( - context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdBuilder_ == null) { - deviceId_ = builderForValue.build(); + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); onChanged(); } else { - deviceIdBuilder_.setMessage(builderForValue.build()); + eventBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ - public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { - if (deviceIdBuilder_ == null) { - if (deviceId_ != null) { - deviceId_ = - context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); } else { - deviceId_ = value; + event_ = value; } onChanged(); } else { - deviceIdBuilder_.mergeFrom(value); + eventBuilder_.mergeFrom(value); } return this; } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ - public Builder clearDeviceId() { - if (deviceIdBuilder_ == null) { - deviceId_ = null; + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; onChanged(); } else { - deviceId_ = null; - deviceIdBuilder_ = null; + event_ = null; + eventBuilder_ = null; } return this; } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ - public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { + public context.ContextOuterClass.Event.Builder getEventBuilder() { onChanged(); - return getDeviceIdFieldBuilder().getBuilder(); + return getEventFieldBuilder().getBuilder(); } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - if (deviceIdBuilder_ != null) { - return deviceIdBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); } else { - return deviceId_ == null ? - context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; } } /** - * .context.DeviceId device_id = 1; + * .context.Event event = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> - getDeviceIdFieldBuilder() { - if (deviceIdBuilder_ == null) { - deviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( - getDeviceId(), + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), getParentForChildren(), isClean()); - deviceId_ = null; + event_ = null; } - return deviceIdBuilder_; + return eventBuilder_; } - private java.lang.Object deviceType_ = ""; + private context.ContextOuterClass.TopologyId topologyId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdBuilder_; /** - * string device_type = 2; - * @return The deviceType. + * .context.TopologyId topology_id = 2; + * @return Whether the topologyId field is set. */ - public java.lang.String getDeviceType() { - java.lang.Object ref = deviceType_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - deviceType_ = s; - return s; + public boolean hasTopologyId() { + return topologyIdBuilder_ != null || topologyId_ != null; + } + /** + * .context.TopologyId topology_id = 2; + * @return The topologyId. + */ + public context.ContextOuterClass.TopologyId getTopologyId() { + if (topologyIdBuilder_ == null) { + return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; } else { - return (java.lang.String) ref; + return topologyIdBuilder_.getMessage(); } } /** - * string device_type = 2; - * @return The bytes for deviceType. + * .context.TopologyId topology_id = 2; */ - public com.google.protobuf.ByteString - getDeviceTypeBytes() { - java.lang.Object ref = deviceType_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - deviceType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string device_type = 2; - * @param value The deviceType to set. - * @return This builder for chaining. - */ - public Builder setDeviceType( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - deviceType_ = value; - onChanged(); - return this; - } - /** - * string device_type = 2; - * @return This builder for chaining. - */ - public Builder clearDeviceType() { - - deviceType_ = getDefaultInstance().getDeviceType(); - onChanged(); - return this; - } - /** - * string device_type = 2; - * @param value The bytes for deviceType to set. - * @return This builder for chaining. - */ - public Builder setDeviceTypeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - deviceType_ = value; - onChanged(); - return this; - } - - private context.ContextOuterClass.DeviceConfig deviceConfig_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> deviceConfigBuilder_; - /** - * .context.DeviceConfig device_config = 3; - * @return Whether the deviceConfig field is set. - */ - public boolean hasDeviceConfig() { - return deviceConfigBuilder_ != null || deviceConfig_ != null; - } - /** - * .context.DeviceConfig device_config = 3; - * @return The deviceConfig. - */ - public context.ContextOuterClass.DeviceConfig getDeviceConfig() { - if (deviceConfigBuilder_ == null) { - return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; - } else { - return deviceConfigBuilder_.getMessage(); - } - } - /** - * .context.DeviceConfig device_config = 3; - */ - public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig value) { - if (deviceConfigBuilder_ == null) { + public Builder setTopologyId(context.ContextOuterClass.TopologyId value) { + if (topologyIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - deviceConfig_ = value; + topologyId_ = value; onChanged(); } else { - deviceConfigBuilder_.setMessage(value); + topologyIdBuilder_.setMessage(value); } return this; } /** - * .context.DeviceConfig device_config = 3; + * .context.TopologyId topology_id = 2; */ - public Builder setDeviceConfig( - context.ContextOuterClass.DeviceConfig.Builder builderForValue) { - if (deviceConfigBuilder_ == null) { - deviceConfig_ = builderForValue.build(); + public Builder setTopologyId( + context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdBuilder_ == null) { + topologyId_ = builderForValue.build(); onChanged(); } else { - deviceConfigBuilder_.setMessage(builderForValue.build()); + topologyIdBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.DeviceConfig device_config = 3; + * .context.TopologyId topology_id = 2; */ - public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) { - if (deviceConfigBuilder_ == null) { - if (deviceConfig_ != null) { - deviceConfig_ = - context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial(); + public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { + if (topologyIdBuilder_ == null) { + if (topologyId_ != null) { + topologyId_ = + context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); } else { - deviceConfig_ = value; + topologyId_ = value; } onChanged(); } else { - deviceConfigBuilder_.mergeFrom(value); + topologyIdBuilder_.mergeFrom(value); } return this; } /** - * .context.DeviceConfig device_config = 3; + * .context.TopologyId topology_id = 2; */ - public Builder clearDeviceConfig() { - if (deviceConfigBuilder_ == null) { - deviceConfig_ = null; + public Builder clearTopologyId() { + if (topologyIdBuilder_ == null) { + topologyId_ = null; onChanged(); } else { - deviceConfig_ = null; - deviceConfigBuilder_ = null; + topologyId_ = null; + topologyIdBuilder_ = null; } return this; } /** - * .context.DeviceConfig device_config = 3; + * .context.TopologyId topology_id = 2; */ - public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() { + public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { onChanged(); - return getDeviceConfigFieldBuilder().getBuilder(); + return getTopologyIdFieldBuilder().getBuilder(); } /** - * .context.DeviceConfig device_config = 3; + * .context.TopologyId topology_id = 2; */ - public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { - if (deviceConfigBuilder_ != null) { - return deviceConfigBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { + if (topologyIdBuilder_ != null) { + return topologyIdBuilder_.getMessageOrBuilder(); } else { - return deviceConfig_ == null ? - context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; + return topologyId_ == null ? + context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; } } /** - * .context.DeviceConfig device_config = 3; + * .context.TopologyId topology_id = 2; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> - getDeviceConfigFieldBuilder() { - if (deviceConfigBuilder_ == null) { - deviceConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder>( - getDeviceConfig(), + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> + getTopologyIdFieldBuilder() { + if (topologyIdBuilder_ == null) { + topologyIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( + getTopologyId(), getParentForChildren(), isClean()); - deviceConfig_ = null; + topologyId_ = null; } - return deviceConfigBuilder_; + return topologyIdBuilder_; } - - private int deviceOperationalStatus_ = 0; - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return The enum numeric value on the wire for deviceOperationalStatus. - */ - @java.lang.Override public int getDeviceOperationalStatusValue() { - return deviceOperationalStatus_; + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @param value The enum numeric value on the wire for deviceOperationalStatus to set. - * @return This builder for chaining. - */ - public Builder setDeviceOperationalStatusValue(int value) { - - deviceOperationalStatus_ = value; - onChanged(); - return this; + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); } - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return The deviceOperationalStatus. - */ + + + // @@protoc_insertion_point(builder_scope:context.TopologyEvent) + } + + // @@protoc_insertion_point(class_scope:context.TopologyEvent) + private static final context.ContextOuterClass.TopologyEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.TopologyEvent(); + } + + public static context.ContextOuterClass.TopologyEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_); - return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result; + public TopologyEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TopologyEvent(input, extensionRegistry); } - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @param value The deviceOperationalStatus to set. - * @return This builder for chaining. - */ - public Builder setDeviceOperationalStatus(context.ContextOuterClass.DeviceOperationalStatusEnum value) { - if (value == null) { - throw new NullPointerException(); + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.TopologyEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DeviceIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.DeviceId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid device_uuid = 1; + * @return Whether the deviceUuid field is set. + */ + boolean hasDeviceUuid(); + /** + * .context.Uuid device_uuid = 1; + * @return The deviceUuid. + */ + context.ContextOuterClass.Uuid getDeviceUuid(); + /** + * .context.Uuid device_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder(); + } + /** + *
+   * ----- Device --------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.DeviceId} + */ + public static final class DeviceId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.DeviceId) + DeviceIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use DeviceId.newBuilder() to construct. + private DeviceId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private DeviceId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new DeviceId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DeviceId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (deviceUuid_ != null) { + subBuilder = deviceUuid_.toBuilder(); + } + deviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceUuid_); + deviceUuid_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } } - - deviceOperationalStatus_ = value.getNumber(); - onChanged(); - return this; + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); } - /** - * .context.DeviceOperationalStatusEnum device_operational_status = 4; - * @return This builder for chaining. - */ - public Builder clearDeviceOperationalStatus() { - - deviceOperationalStatus_ = 0; - onChanged(); - return this; + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_DeviceId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.DeviceId.class, context.ContextOuterClass.DeviceId.Builder.class); + } + + public static final int DEVICE_UUID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid deviceUuid_; + /** + * .context.Uuid device_uuid = 1; + * @return Whether the deviceUuid field is set. + */ + @java.lang.Override + public boolean hasDeviceUuid() { + return deviceUuid_ != null; + } + /** + * .context.Uuid device_uuid = 1; + * @return The deviceUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getDeviceUuid() { + return deviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; + } + /** + * .context.Uuid device_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder() { + return getDeviceUuid(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (deviceUuid_ != null) { + output.writeMessage(1, getDeviceUuid()); } + unknownFields.writeTo(output); + } - private java.util.List deviceDrivers_ = - java.util.Collections.emptyList(); - private void ensureDeviceDriversIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - deviceDrivers_ = new java.util.ArrayList(deviceDrivers_); - bitField0_ |= 0x00000001; - } + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (deviceUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getDeviceUuid()); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return A list containing the deviceDrivers. - */ - public java.util.List getDeviceDriversList() { - return new com.google.protobuf.Internal.ListAdapter< - java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum>(deviceDrivers_, deviceDrivers_converter_); + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return The count of deviceDrivers. - */ - public int getDeviceDriversCount() { - return deviceDrivers_.size(); + if (!(obj instanceof context.ContextOuterClass.DeviceId)) { + return super.equals(obj); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the element to return. - * @return The deviceDrivers at the given index. - */ - public context.ContextOuterClass.DeviceDriverEnum getDeviceDrivers(int index) { - return deviceDrivers_converter_.convert(deviceDrivers_.get(index)); + context.ContextOuterClass.DeviceId other = (context.ContextOuterClass.DeviceId) obj; + + if (hasDeviceUuid() != other.hasDeviceUuid()) return false; + if (hasDeviceUuid()) { + if (!getDeviceUuid() + .equals(other.getDeviceUuid())) return false; } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index to set the value at. - * @param value The deviceDrivers to set. - * @return This builder for chaining. - */ - public Builder setDeviceDrivers( - int index, context.ContextOuterClass.DeviceDriverEnum value) { - if (value == null) { - throw new NullPointerException(); - } - ensureDeviceDriversIsMutable(); - deviceDrivers_.set(index, value.getNumber()); - onChanged(); - return this; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param value The deviceDrivers to add. - * @return This builder for chaining. - */ - public Builder addDeviceDrivers(context.ContextOuterClass.DeviceDriverEnum value) { - if (value == null) { - throw new NullPointerException(); - } - ensureDeviceDriversIsMutable(); - deviceDrivers_.add(value.getNumber()); - onChanged(); - return this; + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasDeviceUuid()) { + hash = (37 * hash) + DEVICE_UUID_FIELD_NUMBER; + hash = (53 * hash) + getDeviceUuid().hashCode(); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param values The deviceDrivers to add. - * @return This builder for chaining. - */ - public Builder addAllDeviceDrivers( - java.lang.Iterable values) { - ensureDeviceDriversIsMutable(); - for (context.ContextOuterClass.DeviceDriverEnum value : values) { - deviceDrivers_.add(value.getNumber()); - } - onChanged(); - return this; - } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return This builder for chaining. - */ - public Builder clearDeviceDrivers() { - deviceDrivers_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.DeviceId parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.DeviceId parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.DeviceId parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.DeviceId parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.DeviceId parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.DeviceId parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.DeviceId parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.DeviceId parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.DeviceId parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.DeviceId parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.DeviceId parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.DeviceId parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.DeviceId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ----- Device --------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.DeviceId} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.DeviceId) + context.ContextOuterClass.DeviceIdOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @return A list containing the enum numeric values on the wire for deviceDrivers. - */ - public java.util.List - getDeviceDriversValueList() { - return java.util.Collections.unmodifiableList(deviceDrivers_); + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_DeviceId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.DeviceId.class, context.ContextOuterClass.DeviceId.Builder.class); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of deviceDrivers at the given index. - */ - public int getDeviceDriversValue(int index) { - return deviceDrivers_.get(index); + + // Construct using context.ContextOuterClass.DeviceId.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of deviceDrivers at the given index. - * @return This builder for chaining. - */ - public Builder setDeviceDriversValue( - int index, int value) { - ensureDeviceDriversIsMutable(); - deviceDrivers_.set(index, value); - onChanged(); - return this; + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param value The enum numeric value on the wire for deviceDrivers to add. - * @return This builder for chaining. - */ - public Builder addDeviceDriversValue(int value) { - ensureDeviceDriversIsMutable(); - deviceDrivers_.add(value); - onChanged(); - return this; + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } } - /** - * repeated .context.DeviceDriverEnum device_drivers = 5; - * @param values The enum numeric values on the wire for deviceDrivers to add. - * @return This builder for chaining. - */ - public Builder addAllDeviceDriversValue( - java.lang.Iterable values) { - ensureDeviceDriversIsMutable(); - for (int value : values) { - deviceDrivers_.add(value); + @java.lang.Override + public Builder clear() { + super.clear(); + if (deviceUuidBuilder_ == null) { + deviceUuid_ = null; + } else { + deviceUuid_ = null; + deviceUuidBuilder_ = null; } - onChanged(); return this; } - private java.util.List deviceEndpoints_ = - java.util.Collections.emptyList(); - private void ensureDeviceEndpointsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - deviceEndpoints_ = new java.util.ArrayList(deviceEndpoints_); - bitField0_ |= 0x00000002; - } + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPoint, context.ContextOuterClass.EndPoint.Builder, context.ContextOuterClass.EndPointOrBuilder> deviceEndpointsBuilder_; + @java.lang.Override + public context.ContextOuterClass.DeviceId getDefaultInstanceForType() { + return context.ContextOuterClass.DeviceId.getDefaultInstance(); + } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public java.util.List getDeviceEndpointsList() { - if (deviceEndpointsBuilder_ == null) { - return java.util.Collections.unmodifiableList(deviceEndpoints_); - } else { - return deviceEndpointsBuilder_.getMessageList(); + @java.lang.Override + public context.ContextOuterClass.DeviceId build() { + context.ContextOuterClass.DeviceId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); } + return result; } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public int getDeviceEndpointsCount() { - if (deviceEndpointsBuilder_ == null) { - return deviceEndpoints_.size(); + + @java.lang.Override + public context.ContextOuterClass.DeviceId buildPartial() { + context.ContextOuterClass.DeviceId result = new context.ContextOuterClass.DeviceId(this); + if (deviceUuidBuilder_ == null) { + result.deviceUuid_ = deviceUuid_; } else { - return deviceEndpointsBuilder_.getCount(); + result.deviceUuid_ = deviceUuidBuilder_.build(); } + onBuilt(); + return result; } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public context.ContextOuterClass.EndPoint getDeviceEndpoints(int index) { - if (deviceEndpointsBuilder_ == null) { - return deviceEndpoints_.get(index); + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.DeviceId) { + return mergeFrom((context.ContextOuterClass.DeviceId)other); } else { - return deviceEndpointsBuilder_.getMessage(index); + super.mergeFrom(other); + return this; } } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public Builder setDeviceEndpoints( - int index, context.ContextOuterClass.EndPoint value) { - if (deviceEndpointsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + + public Builder mergeFrom(context.ContextOuterClass.DeviceId other) { + if (other == context.ContextOuterClass.DeviceId.getDefaultInstance()) return this; + if (other.hasDeviceUuid()) { + mergeDeviceUuid(other.getDeviceUuid()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.DeviceId parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.DeviceId) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); } - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.set(index, value); - onChanged(); - } else { - deviceEndpointsBuilder_.setMessage(index, value); } return this; } + + private context.ContextOuterClass.Uuid deviceUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> deviceUuidBuilder_; /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; + * @return Whether the deviceUuid field is set. */ - public Builder setDeviceEndpoints( - int index, context.ContextOuterClass.EndPoint.Builder builderForValue) { - if (deviceEndpointsBuilder_ == null) { - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.set(index, builderForValue.build()); - onChanged(); - } else { - deviceEndpointsBuilder_.setMessage(index, builderForValue.build()); - } - return this; + public boolean hasDeviceUuid() { + return deviceUuidBuilder_ != null || deviceUuid_ != null; } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; + * @return The deviceUuid. */ - public Builder addDeviceEndpoints(context.ContextOuterClass.EndPoint value) { - if (deviceEndpointsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.add(value); - onChanged(); + public context.ContextOuterClass.Uuid getDeviceUuid() { + if (deviceUuidBuilder_ == null) { + return deviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; } else { - deviceEndpointsBuilder_.addMessage(value); + return deviceUuidBuilder_.getMessage(); } - return this; } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public Builder addDeviceEndpoints( - int index, context.ContextOuterClass.EndPoint value) { - if (deviceEndpointsBuilder_ == null) { + public Builder setDeviceUuid(context.ContextOuterClass.Uuid value) { + if (deviceUuidBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.add(index, value); + deviceUuid_ = value; onChanged(); } else { - deviceEndpointsBuilder_.addMessage(index, value); + deviceUuidBuilder_.setMessage(value); } + return this; } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public Builder addDeviceEndpoints( - context.ContextOuterClass.EndPoint.Builder builderForValue) { - if (deviceEndpointsBuilder_ == null) { - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.add(builderForValue.build()); + public Builder setDeviceUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (deviceUuidBuilder_ == null) { + deviceUuid_ = builderForValue.build(); onChanged(); } else { - deviceEndpointsBuilder_.addMessage(builderForValue.build()); + deviceUuidBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public Builder addDeviceEndpoints( - int index, context.ContextOuterClass.EndPoint.Builder builderForValue) { - if (deviceEndpointsBuilder_ == null) { - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.add(index, builderForValue.build()); + public Builder mergeDeviceUuid(context.ContextOuterClass.Uuid value) { + if (deviceUuidBuilder_ == null) { + if (deviceUuid_ != null) { + deviceUuid_ = + context.ContextOuterClass.Uuid.newBuilder(deviceUuid_).mergeFrom(value).buildPartial(); + } else { + deviceUuid_ = value; + } onChanged(); } else { - deviceEndpointsBuilder_.addMessage(index, builderForValue.build()); + deviceUuidBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public Builder addAllDeviceEndpoints( - java.lang.Iterable values) { - if (deviceEndpointsBuilder_ == null) { - ensureDeviceEndpointsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, deviceEndpoints_); + public Builder clearDeviceUuid() { + if (deviceUuidBuilder_ == null) { + deviceUuid_ = null; onChanged(); } else { - deviceEndpointsBuilder_.addAllMessages(values); + deviceUuid_ = null; + deviceUuidBuilder_ = null; } + return this; } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public Builder clearDeviceEndpoints() { - if (deviceEndpointsBuilder_ == null) { - deviceEndpoints_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - deviceEndpointsBuilder_.clear(); - } - return this; + public context.ContextOuterClass.Uuid.Builder getDeviceUuidBuilder() { + + onChanged(); + return getDeviceUuidFieldBuilder().getBuilder(); } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public Builder removeDeviceEndpoints(int index) { - if (deviceEndpointsBuilder_ == null) { - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.remove(index); - onChanged(); + public context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder() { + if (deviceUuidBuilder_ != null) { + return deviceUuidBuilder_.getMessageOrBuilder(); } else { - deviceEndpointsBuilder_.remove(index); + return deviceUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; } - return this; - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public context.ContextOuterClass.EndPoint.Builder getDeviceEndpointsBuilder( - int index) { - return getDeviceEndpointsFieldBuilder().getBuilder(index); } /** - * repeated .context.EndPoint device_endpoints = 6; + * .context.Uuid device_uuid = 1; */ - public context.ContextOuterClass.EndPointOrBuilder getDeviceEndpointsOrBuilder( - int index) { - if (deviceEndpointsBuilder_ == null) { - return deviceEndpoints_.get(index); } else { - return deviceEndpointsBuilder_.getMessageOrBuilder(index); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getDeviceUuidFieldBuilder() { + if (deviceUuidBuilder_ == null) { + deviceUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getDeviceUuid(), + getParentForChildren(), + isClean()); + deviceUuid_ = null; } + return deviceUuidBuilder_; } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public java.util.List - getDeviceEndpointsOrBuilderList() { - if (deviceEndpointsBuilder_ != null) { - return deviceEndpointsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(deviceEndpoints_); - } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public context.ContextOuterClass.EndPoint.Builder addDeviceEndpointsBuilder() { - return getDeviceEndpointsFieldBuilder().addBuilder( - context.ContextOuterClass.EndPoint.getDefaultInstance()); - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public context.ContextOuterClass.EndPoint.Builder addDeviceEndpointsBuilder( - int index) { - return getDeviceEndpointsFieldBuilder().addBuilder( - index, context.ContextOuterClass.EndPoint.getDefaultInstance()); - } - /** - * repeated .context.EndPoint device_endpoints = 6; - */ - public java.util.List - getDeviceEndpointsBuilderList() { - return getDeviceEndpointsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPoint, context.ContextOuterClass.EndPoint.Builder, context.ContextOuterClass.EndPointOrBuilder> - getDeviceEndpointsFieldBuilder() { - if (deviceEndpointsBuilder_ == null) { - deviceEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPoint, context.ContextOuterClass.EndPoint.Builder, context.ContextOuterClass.EndPointOrBuilder>( - deviceEndpoints_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - deviceEndpoints_ = null; - } - return deviceEndpointsBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:context.Device) + // @@protoc_insertion_point(builder_scope:context.DeviceId) } - // @@protoc_insertion_point(class_scope:context.Device) - private static final context.ContextOuterClass.Device DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.DeviceId) + private static final context.ContextOuterClass.DeviceId DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.Device(); + DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceId(); } - public static context.ContextOuterClass.Device getDefaultInstance() { + public static context.ContextOuterClass.DeviceId getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Device parsePartialFrom( + public DeviceId parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Device(input, extensionRegistry); + return new DeviceId(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.Device getDefaultInstanceForType() { + public context.ContextOuterClass.DeviceId getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceConfigOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.DeviceConfig) + public interface DeviceOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Device) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; + * @return Whether the deviceId field is set. */ - java.util.List - getConfigRulesList(); + boolean hasDeviceId(); /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; + * @return The deviceId. */ - context.ContextOuterClass.ConfigRule getConfigRules(int index); + context.ContextOuterClass.DeviceId getDeviceId(); /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - int getConfigRulesCount(); + context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); + /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return The deviceType. */ - java.util.List - getConfigRulesOrBuilderList(); + java.lang.String getDeviceType(); /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return The bytes for deviceType. */ - context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + com.google.protobuf.ByteString + getDeviceTypeBytes(); + + /** + * .context.DeviceConfig device_config = 3; + * @return Whether the deviceConfig field is set. + */ + boolean hasDeviceConfig(); + /** + * .context.DeviceConfig device_config = 3; + * @return The deviceConfig. + */ + context.ContextOuterClass.DeviceConfig getDeviceConfig(); + /** + * .context.DeviceConfig device_config = 3; + */ + context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder(); + + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return The enum numeric value on the wire for deviceOperationalStatus. + */ + int getDeviceOperationalStatusValue(); + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return The deviceOperationalStatus. + */ + context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus(); + + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return A list containing the deviceDrivers. + */ + java.util.List getDeviceDriversList(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return The count of deviceDrivers. + */ + int getDeviceDriversCount(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the element to return. + * @return The deviceDrivers at the given index. + */ + context.ContextOuterClass.DeviceDriverEnum getDeviceDrivers(int index); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return A list containing the enum numeric values on the wire for deviceDrivers. + */ + java.util.List + getDeviceDriversValueList(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of deviceDrivers at the given index. + */ + int getDeviceDriversValue(int index); + + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + java.util.List + getDeviceEndpointsList(); + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + context.ContextOuterClass.EndPoint getDeviceEndpoints(int index); + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + int getDeviceEndpointsCount(); + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + java.util.List + getDeviceEndpointsOrBuilderList(); + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + context.ContextOuterClass.EndPointOrBuilder getDeviceEndpointsOrBuilder( int index); } /** - * Protobuf type {@code context.DeviceConfig} + * Protobuf type {@code context.Device} */ - public static final class DeviceConfig extends + public static final class Device extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.DeviceConfig) - DeviceConfigOrBuilder { + // @@protoc_insertion_point(message_implements:context.Device) + DeviceOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceConfig.newBuilder() to construct. - private DeviceConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Device.newBuilder() to construct. + private Device(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceConfig() { - configRules_ = java.util.Collections.emptyList(); + private Device() { + deviceType_ = ""; + deviceOperationalStatus_ = 0; + deviceDrivers_ = java.util.Collections.emptyList(); + deviceEndpoints_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceConfig(); + return new Device(); } @java.lang.Override @@ -14030,7 +13317,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private DeviceConfig( + private Device( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -14050,12 +13337,73 @@ public final class ContextOuterClass { done = true; break; case 10: { + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (deviceId_ != null) { + subBuilder = deviceId_.toBuilder(); + } + deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceId_); + deviceId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + deviceType_ = s; + break; + } + case 26: { + context.ContextOuterClass.DeviceConfig.Builder subBuilder = null; + if (deviceConfig_ != null) { + subBuilder = deviceConfig_.toBuilder(); + } + deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceConfig_); + deviceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 32: { + int rawValue = input.readEnum(); + + deviceOperationalStatus_ = rawValue; + break; + } + case 40: { + int rawValue = input.readEnum(); if (!((mutable_bitField0_ & 0x00000001) != 0)) { - configRules_ = new java.util.ArrayList(); + deviceDrivers_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - configRules_.add( - input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry)); + deviceDrivers_.add(rawValue); + break; + } + case 42: { + int length = input.readRawVarint32(); + int oldLimit = input.pushLimit(length); + while(input.getBytesUntilLimit() > 0) { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deviceDrivers_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + deviceDrivers_.add(rawValue); + } + input.popLimit(oldLimit); + break; + } + case 50: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + deviceEndpoints_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + deviceEndpoints_.add( + input.readMessage(context.ContextOuterClass.EndPoint.parser(), extensionRegistry)); break; } default: { @@ -14074,7 +13422,10 @@ public final class ContextOuterClass { e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - configRules_ = java.util.Collections.unmodifiableList(configRules_); + deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -14082,55 +13433,222 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor; + return context.ContextOuterClass.internal_static_context_Device_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceConfig_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Device_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceConfig.class, context.ContextOuterClass.DeviceConfig.Builder.class); + context.ContextOuterClass.Device.class, context.ContextOuterClass.Device.Builder.class); } - public static final int CONFIG_RULES_FIELD_NUMBER = 1; - private java.util.List configRules_; + public static final int DEVICE_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.DeviceId deviceId_; /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; + * @return Whether the deviceId field is set. */ @java.lang.Override - public java.util.List getConfigRulesList() { - return configRules_; + public boolean hasDeviceId() { + return deviceId_ != null; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; + * @return The deviceId. */ @java.lang.Override - public java.util.List - getConfigRulesOrBuilderList() { - return configRules_; + public context.ContextOuterClass.DeviceId getDeviceId() { + return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ @java.lang.Override - public int getConfigRulesCount() { - return configRules_.size(); + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { + return getDeviceId(); } + + public static final int DEVICE_TYPE_FIELD_NUMBER = 2; + private volatile java.lang.Object deviceType_; /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return The deviceType. */ @java.lang.Override - public context.ContextOuterClass.ConfigRule getConfigRules(int index) { - return configRules_.get(index); + public java.lang.String getDeviceType() { + java.lang.Object ref = deviceType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + deviceType_ = s; + return s; + } } /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return The bytes for deviceType. */ @java.lang.Override - public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + public com.google.protobuf.ByteString + getDeviceTypeBytes() { + java.lang.Object ref = deviceType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + deviceType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DEVICE_CONFIG_FIELD_NUMBER = 3; + private context.ContextOuterClass.DeviceConfig deviceConfig_; + /** + * .context.DeviceConfig device_config = 3; + * @return Whether the deviceConfig field is set. + */ + @java.lang.Override + public boolean hasDeviceConfig() { + return deviceConfig_ != null; + } + /** + * .context.DeviceConfig device_config = 3; + * @return The deviceConfig. + */ + @java.lang.Override + public context.ContextOuterClass.DeviceConfig getDeviceConfig() { + return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; + } + /** + * .context.DeviceConfig device_config = 3; + */ + @java.lang.Override + public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { + return getDeviceConfig(); + } + + public static final int DEVICE_OPERATIONAL_STATUS_FIELD_NUMBER = 4; + private int deviceOperationalStatus_; + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return The enum numeric value on the wire for deviceOperationalStatus. + */ + @java.lang.Override public int getDeviceOperationalStatusValue() { + return deviceOperationalStatus_; + } + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return The deviceOperationalStatus. + */ + @java.lang.Override public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_); + return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result; + } + + public static final int DEVICE_DRIVERS_FIELD_NUMBER = 5; + private java.util.List deviceDrivers_; + private static final com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum> deviceDrivers_converter_ = + new com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum>() { + public context.ContextOuterClass.DeviceDriverEnum convert(java.lang.Integer from) { + @SuppressWarnings("deprecation") + context.ContextOuterClass.DeviceDriverEnum result = context.ContextOuterClass.DeviceDriverEnum.valueOf(from); + return result == null ? context.ContextOuterClass.DeviceDriverEnum.UNRECOGNIZED : result; + } + }; + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return A list containing the deviceDrivers. + */ + @java.lang.Override + public java.util.List getDeviceDriversList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum>(deviceDrivers_, deviceDrivers_converter_); + } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return The count of deviceDrivers. + */ + @java.lang.Override + public int getDeviceDriversCount() { + return deviceDrivers_.size(); + } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the element to return. + * @return The deviceDrivers at the given index. + */ + @java.lang.Override + public context.ContextOuterClass.DeviceDriverEnum getDeviceDrivers(int index) { + return deviceDrivers_converter_.convert(deviceDrivers_.get(index)); + } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return A list containing the enum numeric values on the wire for deviceDrivers. + */ + @java.lang.Override + public java.util.List + getDeviceDriversValueList() { + return deviceDrivers_; + } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of deviceDrivers at the given index. + */ + @java.lang.Override + public int getDeviceDriversValue(int index) { + return deviceDrivers_.get(index); + } + private int deviceDriversMemoizedSerializedSize; + + public static final int DEVICE_ENDPOINTS_FIELD_NUMBER = 6; + private java.util.List deviceEndpoints_; + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + @java.lang.Override + public java.util.List getDeviceEndpointsList() { + return deviceEndpoints_; + } + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + @java.lang.Override + public java.util.List + getDeviceEndpointsOrBuilderList() { + return deviceEndpoints_; + } + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + @java.lang.Override + public int getDeviceEndpointsCount() { + return deviceEndpoints_.size(); + } + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + @java.lang.Override + public context.ContextOuterClass.EndPoint getDeviceEndpoints(int index) { + return deviceEndpoints_.get(index); + } + /** + * repeated .context.EndPoint device_endpoints = 6; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointOrBuilder getDeviceEndpointsOrBuilder( int index) { - return configRules_.get(index); + return deviceEndpoints_.get(index); } private byte memoizedIsInitialized = -1; @@ -14147,8 +13665,28 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < configRules_.size(); i++) { - output.writeMessage(1, configRules_.get(i)); + getSerializedSize(); + if (deviceId_ != null) { + output.writeMessage(1, getDeviceId()); + } + if (!getDeviceTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, deviceType_); + } + if (deviceConfig_ != null) { + output.writeMessage(3, getDeviceConfig()); + } + if (deviceOperationalStatus_ != context.ContextOuterClass.DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_UNDEFINED.getNumber()) { + output.writeEnum(4, deviceOperationalStatus_); + } + if (getDeviceDriversList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(deviceDriversMemoizedSerializedSize); + } + for (int i = 0; i < deviceDrivers_.size(); i++) { + output.writeEnumNoTag(deviceDrivers_.get(i)); + } + for (int i = 0; i < deviceEndpoints_.size(); i++) { + output.writeMessage(6, deviceEndpoints_.get(i)); } unknownFields.writeTo(output); } @@ -14159,27 +13697,68 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < configRules_.size(); i++) { + if (deviceId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, configRules_.get(i)); + .computeMessageSize(1, getDeviceId()); } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override + if (!getDeviceTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, deviceType_); + } + if (deviceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getDeviceConfig()); + } + if (deviceOperationalStatus_ != context.ContextOuterClass.DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, deviceOperationalStatus_); + } + { + int dataSize = 0; + for (int i = 0; i < deviceDrivers_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(deviceDrivers_.get(i)); + } + size += dataSize; + if (!getDeviceDriversList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }deviceDriversMemoizedSerializedSize = dataSize; + } + for (int i = 0; i < deviceEndpoints_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, deviceEndpoints_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.DeviceConfig)) { + if (!(obj instanceof context.ContextOuterClass.Device)) { return super.equals(obj); } - context.ContextOuterClass.DeviceConfig other = (context.ContextOuterClass.DeviceConfig) obj; + context.ContextOuterClass.Device other = (context.ContextOuterClass.Device) obj; - if (!getConfigRulesList() - .equals(other.getConfigRulesList())) return false; + if (hasDeviceId() != other.hasDeviceId()) return false; + if (hasDeviceId()) { + if (!getDeviceId() + .equals(other.getDeviceId())) return false; + } + if (!getDeviceType() + .equals(other.getDeviceType())) return false; + if (hasDeviceConfig() != other.hasDeviceConfig()) return false; + if (hasDeviceConfig()) { + if (!getDeviceConfig() + .equals(other.getDeviceConfig())) return false; + } + if (deviceOperationalStatus_ != other.deviceOperationalStatus_) return false; + if (!deviceDrivers_.equals(other.deviceDrivers_)) return false; + if (!getDeviceEndpointsList() + .equals(other.getDeviceEndpointsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -14191,78 +13770,94 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getConfigRulesCount() > 0) { - hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER; - hash = (53 * hash) + getConfigRulesList().hashCode(); + if (hasDeviceId()) { + hash = (37 * hash) + DEVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getDeviceId().hashCode(); + } + hash = (37 * hash) + DEVICE_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getDeviceType().hashCode(); + if (hasDeviceConfig()) { + hash = (37 * hash) + DEVICE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getDeviceConfig().hashCode(); + } + hash = (37 * hash) + DEVICE_OPERATIONAL_STATUS_FIELD_NUMBER; + hash = (53 * hash) + deviceOperationalStatus_; + if (getDeviceDriversCount() > 0) { + hash = (37 * hash) + DEVICE_DRIVERS_FIELD_NUMBER; + hash = (53 * hash) + deviceDrivers_.hashCode(); + } + if (getDeviceEndpointsCount() > 0) { + hash = (37 * hash) + DEVICE_ENDPOINTS_FIELD_NUMBER; + hash = (53 * hash) + getDeviceEndpointsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceConfig parseFrom(byte[] data) + public static context.ContextOuterClass.Device parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceConfig parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Device parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceConfig parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Device parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceConfig parseDelimitedFrom( + public static context.ContextOuterClass.Device parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceConfig parseFrom( + public static context.ContextOuterClass.Device parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -14275,7 +13870,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.DeviceConfig prototype) { + public static Builder newBuilder(context.ContextOuterClass.Device prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -14291,26 +13886,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.DeviceConfig} + * Protobuf type {@code context.Device} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.DeviceConfig) - context.ContextOuterClass.DeviceConfigOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Device) + context.ContextOuterClass.DeviceOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor; + return context.ContextOuterClass.internal_static_context_Device_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceConfig_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Device_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceConfig.class, context.ContextOuterClass.DeviceConfig.Builder.class); + context.ContextOuterClass.Device.class, context.ContextOuterClass.Device.Builder.class); } - // Construct using context.ContextOuterClass.DeviceConfig.newBuilder() + // Construct using context.ContextOuterClass.Device.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -14323,17 +13918,35 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getConfigRulesFieldBuilder(); + getDeviceEndpointsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (configRulesBuilder_ == null) { - configRules_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (deviceIdBuilder_ == null) { + deviceId_ = null; } else { - configRulesBuilder_.clear(); + deviceId_ = null; + deviceIdBuilder_ = null; + } + deviceType_ = ""; + + if (deviceConfigBuilder_ == null) { + deviceConfig_ = null; + } else { + deviceConfig_ = null; + deviceConfigBuilder_ = null; + } + deviceOperationalStatus_ = 0; + + deviceDrivers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + if (deviceEndpointsBuilder_ == null) { + deviceEndpoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + deviceEndpointsBuilder_.clear(); } return this; } @@ -14341,17 +13954,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor; + return context.ContextOuterClass.internal_static_context_Device_descriptor; } @java.lang.Override - public context.ContextOuterClass.DeviceConfig getDefaultInstanceForType() { - return context.ContextOuterClass.DeviceConfig.getDefaultInstance(); + public context.ContextOuterClass.Device getDefaultInstanceForType() { + return context.ContextOuterClass.Device.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.DeviceConfig build() { - context.ContextOuterClass.DeviceConfig result = buildPartial(); + public context.ContextOuterClass.Device build() { + context.ContextOuterClass.Device result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -14359,17 +13972,34 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.DeviceConfig buildPartial() { - context.ContextOuterClass.DeviceConfig result = new context.ContextOuterClass.DeviceConfig(this); + public context.ContextOuterClass.Device buildPartial() { + context.ContextOuterClass.Device result = new context.ContextOuterClass.Device(this); int from_bitField0_ = bitField0_; - if (configRulesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - configRules_ = java.util.Collections.unmodifiableList(configRules_); - bitField0_ = (bitField0_ & ~0x00000001); + if (deviceIdBuilder_ == null) { + result.deviceId_ = deviceId_; + } else { + result.deviceId_ = deviceIdBuilder_.build(); + } + result.deviceType_ = deviceType_; + if (deviceConfigBuilder_ == null) { + result.deviceConfig_ = deviceConfig_; + } else { + result.deviceConfig_ = deviceConfigBuilder_.build(); + } + result.deviceOperationalStatus_ = deviceOperationalStatus_; + if (((bitField0_ & 0x00000001) != 0)) { + deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.deviceDrivers_ = deviceDrivers_; + if (deviceEndpointsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_); + bitField0_ = (bitField0_ & ~0x00000002); } - result.configRules_ = configRules_; + result.deviceEndpoints_ = deviceEndpoints_; } else { - result.configRules_ = configRulesBuilder_.build(); + result.deviceEndpoints_ = deviceEndpointsBuilder_.build(); } onBuilt(); return result; @@ -14409,39 +14039,62 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.DeviceConfig) { - return mergeFrom((context.ContextOuterClass.DeviceConfig)other); + if (other instanceof context.ContextOuterClass.Device) { + return mergeFrom((context.ContextOuterClass.Device)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.DeviceConfig other) { - if (other == context.ContextOuterClass.DeviceConfig.getDefaultInstance()) return this; - if (configRulesBuilder_ == null) { - if (!other.configRules_.isEmpty()) { - if (configRules_.isEmpty()) { - configRules_ = other.configRules_; - bitField0_ = (bitField0_ & ~0x00000001); + public Builder mergeFrom(context.ContextOuterClass.Device other) { + if (other == context.ContextOuterClass.Device.getDefaultInstance()) return this; + if (other.hasDeviceId()) { + mergeDeviceId(other.getDeviceId()); + } + if (!other.getDeviceType().isEmpty()) { + deviceType_ = other.deviceType_; + onChanged(); + } + if (other.hasDeviceConfig()) { + mergeDeviceConfig(other.getDeviceConfig()); + } + if (other.deviceOperationalStatus_ != 0) { + setDeviceOperationalStatusValue(other.getDeviceOperationalStatusValue()); + } + if (!other.deviceDrivers_.isEmpty()) { + if (deviceDrivers_.isEmpty()) { + deviceDrivers_ = other.deviceDrivers_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDeviceDriversIsMutable(); + deviceDrivers_.addAll(other.deviceDrivers_); + } + onChanged(); + } + if (deviceEndpointsBuilder_ == null) { + if (!other.deviceEndpoints_.isEmpty()) { + if (deviceEndpoints_.isEmpty()) { + deviceEndpoints_ = other.deviceEndpoints_; + bitField0_ = (bitField0_ & ~0x00000002); } else { - ensureConfigRulesIsMutable(); - configRules_.addAll(other.configRules_); + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.addAll(other.deviceEndpoints_); } onChanged(); } } else { - if (!other.configRules_.isEmpty()) { - if (configRulesBuilder_.isEmpty()) { - configRulesBuilder_.dispose(); - configRulesBuilder_ = null; - configRules_ = other.configRules_; - bitField0_ = (bitField0_ & ~0x00000001); - configRulesBuilder_ = + if (!other.deviceEndpoints_.isEmpty()) { + if (deviceEndpointsBuilder_.isEmpty()) { + deviceEndpointsBuilder_.dispose(); + deviceEndpointsBuilder_ = null; + deviceEndpoints_ = other.deviceEndpoints_; + bitField0_ = (bitField0_ & ~0x00000002); + deviceEndpointsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getConfigRulesFieldBuilder() : null; + getDeviceEndpointsFieldBuilder() : null; } else { - configRulesBuilder_.addAllMessages(other.configRules_); + deviceEndpointsBuilder_.addAllMessages(other.deviceEndpoints_); } } } @@ -14460,11 +14113,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.DeviceConfig parsedMessage = null; + context.ContextOuterClass.Device parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.DeviceConfig) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Device) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -14475,1037 +14128,752 @@ public final class ContextOuterClass { } private int bitField0_; - private java.util.List configRules_ = - java.util.Collections.emptyList(); - private void ensureConfigRulesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - configRules_ = new java.util.ArrayList(configRules_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> configRulesBuilder_; - - /** - * repeated .context.ConfigRule config_rules = 1; - */ - public java.util.List getConfigRulesList() { - if (configRulesBuilder_ == null) { - return java.util.Collections.unmodifiableList(configRules_); - } else { - return configRulesBuilder_.getMessageList(); - } - } + private context.ContextOuterClass.DeviceId deviceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; + * @return Whether the deviceId field is set. */ - public int getConfigRulesCount() { - if (configRulesBuilder_ == null) { - return configRules_.size(); - } else { - return configRulesBuilder_.getCount(); - } + public boolean hasDeviceId() { + return deviceIdBuilder_ != null || deviceId_ != null; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; + * @return The deviceId. */ - public context.ContextOuterClass.ConfigRule getConfigRules(int index) { - if (configRulesBuilder_ == null) { - return configRules_.get(index); + public context.ContextOuterClass.DeviceId getDeviceId() { + if (deviceIdBuilder_ == null) { + return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } else { - return configRulesBuilder_.getMessage(index); + return deviceIdBuilder_.getMessage(); } } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder setConfigRules( - int index, context.ContextOuterClass.ConfigRule value) { - if (configRulesBuilder_ == null) { + public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { + if (deviceIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureConfigRulesIsMutable(); - configRules_.set(index, value); + deviceId_ = value; onChanged(); } else { - configRulesBuilder_.setMessage(index, value); + deviceIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder setConfigRules( - int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.set(index, builderForValue.build()); + public Builder setDeviceId( + context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdBuilder_ == null) { + deviceId_ = builderForValue.build(); onChanged(); } else { - configRulesBuilder_.setMessage(index, builderForValue.build()); + deviceIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder addConfigRules(context.ContextOuterClass.ConfigRule value) { - if (configRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { + if (deviceIdBuilder_ == null) { + if (deviceId_ != null) { + deviceId_ = + context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); + } else { + deviceId_ = value; } - ensureConfigRulesIsMutable(); - configRules_.add(value); onChanged(); } else { - configRulesBuilder_.addMessage(value); + deviceIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder addConfigRules( - int index, context.ContextOuterClass.ConfigRule value) { - if (configRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureConfigRulesIsMutable(); - configRules_.add(index, value); + public Builder clearDeviceId() { + if (deviceIdBuilder_ == null) { + deviceId_ = null; onChanged(); } else { - configRulesBuilder_.addMessage(index, value); + deviceId_ = null; + deviceIdBuilder_ = null; } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder addConfigRules( - context.ContextOuterClass.ConfigRule.Builder builderForValue) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.add(builderForValue.build()); - onChanged(); - } else { - configRulesBuilder_.addMessage(builderForValue.build()); - } - return this; + public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { + + onChanged(); + return getDeviceIdFieldBuilder().getBuilder(); } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder addConfigRules( - int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.add(index, builderForValue.build()); - onChanged(); + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { + if (deviceIdBuilder_ != null) { + return deviceIdBuilder_.getMessageOrBuilder(); } else { - configRulesBuilder_.addMessage(index, builderForValue.build()); + return deviceId_ == null ? + context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } - return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceId device_id = 1; */ - public Builder addAllConfigRules( - java.lang.Iterable values) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, configRules_); - onChanged(); - } else { - configRulesBuilder_.addAllMessages(values); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> + getDeviceIdFieldBuilder() { + if (deviceIdBuilder_ == null) { + deviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( + getDeviceId(), + getParentForChildren(), + isClean()); + deviceId_ = null; } - return this; + return deviceIdBuilder_; } + + private java.lang.Object deviceType_ = ""; /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return The deviceType. */ - public Builder clearConfigRules() { - if (configRulesBuilder_ == null) { - configRules_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + public java.lang.String getDeviceType() { + java.lang.Object ref = deviceType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + deviceType_ = s; + return s; } else { - configRulesBuilder_.clear(); + return (java.lang.String) ref; } - return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return The bytes for deviceType. */ - public Builder removeConfigRules(int index) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.remove(index); - onChanged(); + public com.google.protobuf.ByteString + getDeviceTypeBytes() { + java.lang.Object ref = deviceType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + deviceType_ = b; + return b; } else { - configRulesBuilder_.remove(index); + return (com.google.protobuf.ByteString) ref; } - return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @param value The deviceType to set. + * @return This builder for chaining. */ - public context.ContextOuterClass.ConfigRule.Builder getConfigRulesBuilder( - int index) { - return getConfigRulesFieldBuilder().getBuilder(index); + public Builder setDeviceType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + deviceType_ = value; + onChanged(); + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @return This builder for chaining. */ - public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( - int index) { - if (configRulesBuilder_ == null) { - return configRules_.get(index); } else { - return configRulesBuilder_.getMessageOrBuilder(index); - } + public Builder clearDeviceType() { + + deviceType_ = getDefaultInstance().getDeviceType(); + onChanged(); + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * string device_type = 2; + * @param value The bytes for deviceType to set. + * @return This builder for chaining. */ - public java.util.List - getConfigRulesOrBuilderList() { - if (configRulesBuilder_ != null) { - return configRulesBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(configRules_); - } + public Builder setDeviceTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + deviceType_ = value; + onChanged(); + return this; } - /** - * repeated .context.ConfigRule config_rules = 1; + + private context.ContextOuterClass.DeviceConfig deviceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> deviceConfigBuilder_; + /** + * .context.DeviceConfig device_config = 3; + * @return Whether the deviceConfig field is set. */ - public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder() { - return getConfigRulesFieldBuilder().addBuilder( - context.ContextOuterClass.ConfigRule.getDefaultInstance()); + public boolean hasDeviceConfig() { + return deviceConfigBuilder_ != null || deviceConfig_ != null; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceConfig device_config = 3; + * @return The deviceConfig. */ - public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder( - int index) { - return getConfigRulesFieldBuilder().addBuilder( - index, context.ContextOuterClass.ConfigRule.getDefaultInstance()); + public context.ContextOuterClass.DeviceConfig getDeviceConfig() { + if (deviceConfigBuilder_ == null) { + return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; + } else { + return deviceConfigBuilder_.getMessage(); + } } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.DeviceConfig device_config = 3; */ - public java.util.List - getConfigRulesBuilderList() { - return getConfigRulesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> - getConfigRulesFieldBuilder() { - if (configRulesBuilder_ == null) { - configRulesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder>( - configRules_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - configRules_ = null; + public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig value) { + if (deviceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deviceConfig_ = value; + onChanged(); + } else { + deviceConfigBuilder_.setMessage(value); } - return configRulesBuilder_; - } - @java.lang.Override - public final Builder setUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); - } - @java.lang.Override - public final Builder mergeUnknownFields( - final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.mergeUnknownFields(unknownFields); + return this; } + /** + * .context.DeviceConfig device_config = 3; + */ + public Builder setDeviceConfig( + context.ContextOuterClass.DeviceConfig.Builder builderForValue) { + if (deviceConfigBuilder_ == null) { + deviceConfig_ = builderForValue.build(); + onChanged(); + } else { + deviceConfigBuilder_.setMessage(builderForValue.build()); + } - - // @@protoc_insertion_point(builder_scope:context.DeviceConfig) - } - - // @@protoc_insertion_point(class_scope:context.DeviceConfig) - private static final context.ContextOuterClass.DeviceConfig DEFAULT_INSTANCE; - static { - DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceConfig(); - } - - public static context.ContextOuterClass.DeviceConfig getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public DeviceConfig parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceConfig(input, extensionRegistry); + return this; } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public context.ContextOuterClass.DeviceConfig getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface DeviceIdListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.DeviceIdList) - com.google.protobuf.MessageOrBuilder { - - /** - * repeated .context.DeviceId device_ids = 1; - */ - java.util.List - getDeviceIdsList(); - /** - * repeated .context.DeviceId device_ids = 1; - */ - context.ContextOuterClass.DeviceId getDeviceIds(int index); - /** - * repeated .context.DeviceId device_ids = 1; - */ - int getDeviceIdsCount(); - /** - * repeated .context.DeviceId device_ids = 1; - */ - java.util.List - getDeviceIdsOrBuilderList(); - /** - * repeated .context.DeviceId device_ids = 1; - */ - context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( - int index); - } - /** - * Protobuf type {@code context.DeviceIdList} - */ - public static final class DeviceIdList extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.DeviceIdList) - DeviceIdListOrBuilder { - private static final long serialVersionUID = 0L; - // Use DeviceIdList.newBuilder() to construct. - private DeviceIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private DeviceIdList() { - deviceIds_ = java.util.Collections.emptyList(); - } + /** + * .context.DeviceConfig device_config = 3; + */ + public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) { + if (deviceConfigBuilder_ == null) { + if (deviceConfig_ != null) { + deviceConfig_ = + context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial(); + } else { + deviceConfig_ = value; + } + onChanged(); + } else { + deviceConfigBuilder_.mergeFrom(value); + } - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new DeviceIdList(); - } + return this; + } + /** + * .context.DeviceConfig device_config = 3; + */ + public Builder clearDeviceConfig() { + if (deviceConfigBuilder_ == null) { + deviceConfig_ = null; + onChanged(); + } else { + deviceConfig_ = null; + deviceConfigBuilder_ = null; + } - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private DeviceIdList( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - this(); - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); + return this; } - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - deviceIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - deviceIds_.add( - input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry)); - break; - } - default: { - if (!parseUnknownField( - input, unknownFields, extensionRegistry, tag)) { - done = true; - } - break; - } - } + /** + * .context.DeviceConfig device_config = 3; + */ + public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() { + + onChanged(); + return getDeviceConfigFieldBuilder().getBuilder(); + } + /** + * .context.DeviceConfig device_config = 3; + */ + public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { + if (deviceConfigBuilder_ != null) { + return deviceConfigBuilder_.getMessageOrBuilder(); + } else { + return deviceConfig_ == null ? + context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); + } + /** + * .context.DeviceConfig device_config = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> + getDeviceConfigFieldBuilder() { + if (deviceConfigBuilder_ == null) { + deviceConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder>( + getDeviceConfig(), + getParentForChildren(), + isClean()); + deviceConfig_ = null; } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); + return deviceConfigBuilder_; } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceIdList_fieldAccessorTable - .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceIdList.class, context.ContextOuterClass.DeviceIdList.Builder.class); - } - - public static final int DEVICE_IDS_FIELD_NUMBER = 1; - private java.util.List deviceIds_; - /** - * repeated .context.DeviceId device_ids = 1; - */ - @java.lang.Override - public java.util.List getDeviceIdsList() { - return deviceIds_; - } - /** - * repeated .context.DeviceId device_ids = 1; - */ - @java.lang.Override - public java.util.List - getDeviceIdsOrBuilderList() { - return deviceIds_; - } - /** - * repeated .context.DeviceId device_ids = 1; - */ - @java.lang.Override - public int getDeviceIdsCount() { - return deviceIds_.size(); - } - /** - * repeated .context.DeviceId device_ids = 1; - */ - @java.lang.Override - public context.ContextOuterClass.DeviceId getDeviceIds(int index) { - return deviceIds_.get(index); - } - /** - * repeated .context.DeviceId device_ids = 1; - */ - @java.lang.Override - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( - int index) { - return deviceIds_.get(index); - } - - private byte memoizedIsInitialized = -1; - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - for (int i = 0; i < deviceIds_.size(); i++) { - output.writeMessage(1, deviceIds_.get(i)); + private int deviceOperationalStatus_ = 0; + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return The enum numeric value on the wire for deviceOperationalStatus. + */ + @java.lang.Override public int getDeviceOperationalStatusValue() { + return deviceOperationalStatus_; } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < deviceIds_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, deviceIds_.get(i)); + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @param value The enum numeric value on the wire for deviceOperationalStatus to set. + * @return This builder for chaining. + */ + public Builder setDeviceOperationalStatusValue(int value) { + + deviceOperationalStatus_ = value; + onChanged(); + return this; } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return The deviceOperationalStatus. + */ + @java.lang.Override + public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_); + return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result; } - if (!(obj instanceof context.ContextOuterClass.DeviceIdList)) { - return super.equals(obj); + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @param value The deviceOperationalStatus to set. + * @return This builder for chaining. + */ + public Builder setDeviceOperationalStatus(context.ContextOuterClass.DeviceOperationalStatusEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + deviceOperationalStatus_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .context.DeviceOperationalStatusEnum device_operational_status = 4; + * @return This builder for chaining. + */ + public Builder clearDeviceOperationalStatus() { + + deviceOperationalStatus_ = 0; + onChanged(); + return this; } - context.ContextOuterClass.DeviceIdList other = (context.ContextOuterClass.DeviceIdList) obj; - - if (!getDeviceIdsList() - .equals(other.getDeviceIdsList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; + private java.util.List deviceDrivers_ = + java.util.Collections.emptyList(); + private void ensureDeviceDriversIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + deviceDrivers_ = new java.util.ArrayList(deviceDrivers_); + bitField0_ |= 0x00000001; + } } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - if (getDeviceIdsCount() > 0) { - hash = (37 * hash) + DEVICE_IDS_FIELD_NUMBER; - hash = (53 * hash) + getDeviceIdsList().hashCode(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return A list containing the deviceDrivers. + */ + public java.util.List getDeviceDriversList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, context.ContextOuterClass.DeviceDriverEnum>(deviceDrivers_, deviceDrivers_converter_); } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static context.ContextOuterClass.DeviceIdList parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static context.ContextOuterClass.DeviceIdList parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static context.ContextOuterClass.DeviceIdList parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - public static context.ContextOuterClass.DeviceIdList parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - public static context.ContextOuterClass.DeviceIdList parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - public static context.ContextOuterClass.DeviceIdList parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - @java.lang.Override - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - public static Builder newBuilder(context.ContextOuterClass.DeviceIdList prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override - public Builder toBuilder() { - return this == DEFAULT_INSTANCE - ? new Builder() : new Builder().mergeFrom(this); - } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code context.DeviceIdList} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.DeviceIdList) - context.ContextOuterClass.DeviceIdListOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor; - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceIdList_fieldAccessorTable - .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceIdList.class, context.ContextOuterClass.DeviceIdList.Builder.class); - } - - // Construct using context.ContextOuterClass.DeviceIdList.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return The count of deviceDrivers. + */ + public int getDeviceDriversCount() { + return deviceDrivers_.size(); } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getDeviceIdsFieldBuilder(); - } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the element to return. + * @return The deviceDrivers at the given index. + */ + public context.ContextOuterClass.DeviceDriverEnum getDeviceDrivers(int index) { + return deviceDrivers_converter_.convert(deviceDrivers_.get(index)); } - @java.lang.Override - public Builder clear() { - super.clear(); - if (deviceIdsBuilder_ == null) { - deviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - deviceIdsBuilder_.clear(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index to set the value at. + * @param value The deviceDrivers to set. + * @return This builder for chaining. + */ + public Builder setDeviceDrivers( + int index, context.ContextOuterClass.DeviceDriverEnum value) { + if (value == null) { + throw new NullPointerException(); } + ensureDeviceDriversIsMutable(); + deviceDrivers_.set(index, value.getNumber()); + onChanged(); return this; } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor; - } - - @java.lang.Override - public context.ContextOuterClass.DeviceIdList getDefaultInstanceForType() { - return context.ContextOuterClass.DeviceIdList.getDefaultInstance(); - } - - @java.lang.Override - public context.ContextOuterClass.DeviceIdList build() { - context.ContextOuterClass.DeviceIdList result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param value The deviceDrivers to add. + * @return This builder for chaining. + */ + public Builder addDeviceDrivers(context.ContextOuterClass.DeviceDriverEnum value) { + if (value == null) { + throw new NullPointerException(); } - return result; + ensureDeviceDriversIsMutable(); + deviceDrivers_.add(value.getNumber()); + onChanged(); + return this; } - - @java.lang.Override - public context.ContextOuterClass.DeviceIdList buildPartial() { - context.ContextOuterClass.DeviceIdList result = new context.ContextOuterClass.DeviceIdList(this); - int from_bitField0_ = bitField0_; - if (deviceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.deviceIds_ = deviceIds_; - } else { - result.deviceIds_ = deviceIdsBuilder_.build(); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param values The deviceDrivers to add. + * @return This builder for chaining. + */ + public Builder addAllDeviceDrivers( + java.lang.Iterable values) { + ensureDeviceDriversIsMutable(); + for (context.ContextOuterClass.DeviceDriverEnum value : values) { + deviceDrivers_.add(value.getNumber()); } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); + onChanged(); + return this; } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return This builder for chaining. + */ + public Builder clearDeviceDrivers() { + deviceDrivers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @return A list containing the enum numeric values on the wire for deviceDrivers. + */ + public java.util.List + getDeviceDriversValueList() { + return java.util.Collections.unmodifiableList(deviceDrivers_); } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.DeviceIdList) { - return mergeFrom((context.ContextOuterClass.DeviceIdList)other); - } else { - super.mergeFrom(other); - return this; - } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of deviceDrivers at the given index. + */ + public int getDeviceDriversValue(int index) { + return deviceDrivers_.get(index); } - - public Builder mergeFrom(context.ContextOuterClass.DeviceIdList other) { - if (other == context.ContextOuterClass.DeviceIdList.getDefaultInstance()) return this; - if (deviceIdsBuilder_ == null) { - if (!other.deviceIds_.isEmpty()) { - if (deviceIds_.isEmpty()) { - deviceIds_ = other.deviceIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureDeviceIdsIsMutable(); - deviceIds_.addAll(other.deviceIds_); - } - onChanged(); - } - } else { - if (!other.deviceIds_.isEmpty()) { - if (deviceIdsBuilder_.isEmpty()) { - deviceIdsBuilder_.dispose(); - deviceIdsBuilder_ = null; - deviceIds_ = other.deviceIds_; - bitField0_ = (bitField0_ & ~0x00000001); - deviceIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getDeviceIdsFieldBuilder() : null; - } else { - deviceIdsBuilder_.addAllMessages(other.deviceIds_); - } - } - } - this.mergeUnknownFields(other.unknownFields); + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of deviceDrivers at the given index. + * @return This builder for chaining. + */ + public Builder setDeviceDriversValue( + int index, int value) { + ensureDeviceDriversIsMutable(); + deviceDrivers_.set(index, value); onChanged(); return this; } - - @java.lang.Override - public final boolean isInitialized() { - return true; + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param value The enum numeric value on the wire for deviceDrivers to add. + * @return This builder for chaining. + */ + public Builder addDeviceDriversValue(int value) { + ensureDeviceDriversIsMutable(); + deviceDrivers_.add(value); + onChanged(); + return this; } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - context.ContextOuterClass.DeviceIdList parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.DeviceIdList) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } + /** + * repeated .context.DeviceDriverEnum device_drivers = 5; + * @param values The enum numeric values on the wire for deviceDrivers to add. + * @return This builder for chaining. + */ + public Builder addAllDeviceDriversValue( + java.lang.Iterable values) { + ensureDeviceDriversIsMutable(); + for (int value : values) { + deviceDrivers_.add(value); } + onChanged(); return this; } - private int bitField0_; - private java.util.List deviceIds_ = + private java.util.List deviceEndpoints_ = java.util.Collections.emptyList(); - private void ensureDeviceIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - deviceIds_ = new java.util.ArrayList(deviceIds_); - bitField0_ |= 0x00000001; + private void ensureDeviceEndpointsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + deviceEndpoints_ = new java.util.ArrayList(deviceEndpoints_); + bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdsBuilder_; + context.ContextOuterClass.EndPoint, context.ContextOuterClass.EndPoint.Builder, context.ContextOuterClass.EndPointOrBuilder> deviceEndpointsBuilder_; /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public java.util.List getDeviceIdsList() { - if (deviceIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(deviceIds_); + public java.util.List getDeviceEndpointsList() { + if (deviceEndpointsBuilder_ == null) { + return java.util.Collections.unmodifiableList(deviceEndpoints_); } else { - return deviceIdsBuilder_.getMessageList(); + return deviceEndpointsBuilder_.getMessageList(); } } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public int getDeviceIdsCount() { - if (deviceIdsBuilder_ == null) { - return deviceIds_.size(); + public int getDeviceEndpointsCount() { + if (deviceEndpointsBuilder_ == null) { + return deviceEndpoints_.size(); } else { - return deviceIdsBuilder_.getCount(); + return deviceEndpointsBuilder_.getCount(); } } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public context.ContextOuterClass.DeviceId getDeviceIds(int index) { - if (deviceIdsBuilder_ == null) { - return deviceIds_.get(index); + public context.ContextOuterClass.EndPoint getDeviceEndpoints(int index) { + if (deviceEndpointsBuilder_ == null) { + return deviceEndpoints_.get(index); } else { - return deviceIdsBuilder_.getMessage(index); + return deviceEndpointsBuilder_.getMessage(index); } } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder setDeviceIds( - int index, context.ContextOuterClass.DeviceId value) { - if (deviceIdsBuilder_ == null) { + public Builder setDeviceEndpoints( + int index, context.ContextOuterClass.EndPoint value) { + if (deviceEndpointsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDeviceIdsIsMutable(); - deviceIds_.set(index, value); + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.set(index, value); onChanged(); } else { - deviceIdsBuilder_.setMessage(index, value); + deviceEndpointsBuilder_.setMessage(index, value); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder setDeviceIds( - int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.set(index, builderForValue.build()); + public Builder setDeviceEndpoints( + int index, context.ContextOuterClass.EndPoint.Builder builderForValue) { + if (deviceEndpointsBuilder_ == null) { + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.set(index, builderForValue.build()); onChanged(); } else { - deviceIdsBuilder_.setMessage(index, builderForValue.build()); + deviceEndpointsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder addDeviceIds(context.ContextOuterClass.DeviceId value) { - if (deviceIdsBuilder_ == null) { + public Builder addDeviceEndpoints(context.ContextOuterClass.EndPoint value) { + if (deviceEndpointsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDeviceIdsIsMutable(); - deviceIds_.add(value); + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.add(value); onChanged(); } else { - deviceIdsBuilder_.addMessage(value); + deviceEndpointsBuilder_.addMessage(value); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder addDeviceIds( - int index, context.ContextOuterClass.DeviceId value) { - if (deviceIdsBuilder_ == null) { + public Builder addDeviceEndpoints( + int index, context.ContextOuterClass.EndPoint value) { + if (deviceEndpointsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDeviceIdsIsMutable(); - deviceIds_.add(index, value); + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.add(index, value); onChanged(); } else { - deviceIdsBuilder_.addMessage(index, value); + deviceEndpointsBuilder_.addMessage(index, value); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder addDeviceIds( - context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.add(builderForValue.build()); + public Builder addDeviceEndpoints( + context.ContextOuterClass.EndPoint.Builder builderForValue) { + if (deviceEndpointsBuilder_ == null) { + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.add(builderForValue.build()); onChanged(); } else { - deviceIdsBuilder_.addMessage(builderForValue.build()); + deviceEndpointsBuilder_.addMessage(builderForValue.build()); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder addDeviceIds( - int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.add(index, builderForValue.build()); + public Builder addDeviceEndpoints( + int index, context.ContextOuterClass.EndPoint.Builder builderForValue) { + if (deviceEndpointsBuilder_ == null) { + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.add(index, builderForValue.build()); onChanged(); } else { - deviceIdsBuilder_.addMessage(index, builderForValue.build()); + deviceEndpointsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder addAllDeviceIds( - java.lang.Iterable values) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); + public Builder addAllDeviceEndpoints( + java.lang.Iterable values) { + if (deviceEndpointsBuilder_ == null) { + ensureDeviceEndpointsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, deviceIds_); + values, deviceEndpoints_); onChanged(); } else { - deviceIdsBuilder_.addAllMessages(values); + deviceEndpointsBuilder_.addAllMessages(values); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder clearDeviceIds() { - if (deviceIdsBuilder_ == null) { - deviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder clearDeviceEndpoints() { + if (deviceEndpointsBuilder_ == null) { + deviceEndpoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { - deviceIdsBuilder_.clear(); + deviceEndpointsBuilder_.clear(); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public Builder removeDeviceIds(int index) { - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.remove(index); + public Builder removeDeviceEndpoints(int index) { + if (deviceEndpointsBuilder_ == null) { + ensureDeviceEndpointsIsMutable(); + deviceEndpoints_.remove(index); onChanged(); } else { - deviceIdsBuilder_.remove(index); + deviceEndpointsBuilder_.remove(index); } return this; } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public context.ContextOuterClass.DeviceId.Builder getDeviceIdsBuilder( + public context.ContextOuterClass.EndPoint.Builder getDeviceEndpointsBuilder( int index) { - return getDeviceIdsFieldBuilder().getBuilder(index); + return getDeviceEndpointsFieldBuilder().getBuilder(index); } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( + public context.ContextOuterClass.EndPointOrBuilder getDeviceEndpointsOrBuilder( int index) { - if (deviceIdsBuilder_ == null) { - return deviceIds_.get(index); } else { - return deviceIdsBuilder_.getMessageOrBuilder(index); + if (deviceEndpointsBuilder_ == null) { + return deviceEndpoints_.get(index); } else { + return deviceEndpointsBuilder_.getMessageOrBuilder(index); } } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public java.util.List - getDeviceIdsOrBuilderList() { - if (deviceIdsBuilder_ != null) { - return deviceIdsBuilder_.getMessageOrBuilderList(); + public java.util.List + getDeviceEndpointsOrBuilderList() { + if (deviceEndpointsBuilder_ != null) { + return deviceEndpointsBuilder_.getMessageOrBuilderList(); } else { - return java.util.Collections.unmodifiableList(deviceIds_); + return java.util.Collections.unmodifiableList(deviceEndpoints_); } } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder() { - return getDeviceIdsFieldBuilder().addBuilder( - context.ContextOuterClass.DeviceId.getDefaultInstance()); + public context.ContextOuterClass.EndPoint.Builder addDeviceEndpointsBuilder() { + return getDeviceEndpointsFieldBuilder().addBuilder( + context.ContextOuterClass.EndPoint.getDefaultInstance()); } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder( + public context.ContextOuterClass.EndPoint.Builder addDeviceEndpointsBuilder( int index) { - return getDeviceIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.DeviceId.getDefaultInstance()); + return getDeviceEndpointsFieldBuilder().addBuilder( + index, context.ContextOuterClass.EndPoint.getDefaultInstance()); } /** - * repeated .context.DeviceId device_ids = 1; + * repeated .context.EndPoint device_endpoints = 6; */ - public java.util.List - getDeviceIdsBuilderList() { - return getDeviceIdsFieldBuilder().getBuilderList(); + public java.util.List + getDeviceEndpointsBuilderList() { + return getDeviceEndpointsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> - getDeviceIdsFieldBuilder() { - if (deviceIdsBuilder_ == null) { - deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( - deviceIds_, - ((bitField0_ & 0x00000001) != 0), + context.ContextOuterClass.EndPoint, context.ContextOuterClass.EndPoint.Builder, context.ContextOuterClass.EndPointOrBuilder> + getDeviceEndpointsFieldBuilder() { + if (deviceEndpointsBuilder_ == null) { + deviceEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPoint, context.ContextOuterClass.EndPoint.Builder, context.ContextOuterClass.EndPointOrBuilder>( + deviceEndpoints_, + ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); - deviceIds_ = null; + deviceEndpoints_ = null; } - return deviceIdsBuilder_; + return deviceEndpointsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -15520,95 +14888,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.DeviceIdList) + // @@protoc_insertion_point(builder_scope:context.Device) } - // @@protoc_insertion_point(class_scope:context.DeviceIdList) - private static final context.ContextOuterClass.DeviceIdList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Device) + private static final context.ContextOuterClass.Device DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceIdList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Device(); } - public static context.ContextOuterClass.DeviceIdList getDefaultInstance() { + public static context.ContextOuterClass.Device getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceIdList parsePartialFrom( + public Device parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceIdList(input, extensionRegistry); + return new Device(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.DeviceIdList getDefaultInstanceForType() { + public context.ContextOuterClass.Device getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.DeviceList) + public interface DeviceConfigOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.DeviceConfig) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - java.util.List - getDevicesList(); + java.util.List + getConfigRulesList(); /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - context.ContextOuterClass.Device getDevices(int index); + context.ContextOuterClass.ConfigRule getConfigRules(int index); /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - int getDevicesCount(); + int getConfigRulesCount(); /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - java.util.List - getDevicesOrBuilderList(); + java.util.List + getConfigRulesOrBuilderList(); /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - context.ContextOuterClass.DeviceOrBuilder getDevicesOrBuilder( + context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( int index); } /** - * Protobuf type {@code context.DeviceList} + * Protobuf type {@code context.DeviceConfig} */ - public static final class DeviceList extends + public static final class DeviceConfig extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.DeviceList) - DeviceListOrBuilder { + // @@protoc_insertion_point(message_implements:context.DeviceConfig) + DeviceConfigOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceList.newBuilder() to construct. - private DeviceList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceConfig.newBuilder() to construct. + private DeviceConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceList() { - devices_ = java.util.Collections.emptyList(); + private DeviceConfig() { + configRules_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceList(); + return new DeviceConfig(); } @java.lang.Override @@ -15616,7 +14984,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private DeviceList( + private DeviceConfig( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -15637,11 +15005,11 @@ public final class ContextOuterClass { break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - devices_ = new java.util.ArrayList(); + configRules_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - devices_.add( - input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry)); + configRules_.add( + input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry)); break; } default: { @@ -15660,7 +15028,7 @@ public final class ContextOuterClass { e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - devices_ = java.util.Collections.unmodifiableList(devices_); + configRules_ = java.util.Collections.unmodifiableList(configRules_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -15668,55 +15036,55 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceList_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceList.class, context.ContextOuterClass.DeviceList.Builder.class); + context.ContextOuterClass.DeviceConfig.class, context.ContextOuterClass.DeviceConfig.Builder.class); } - public static final int DEVICES_FIELD_NUMBER = 1; - private java.util.List devices_; + public static final int CONFIG_RULES_FIELD_NUMBER = 1; + private java.util.List configRules_; /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ @java.lang.Override - public java.util.List getDevicesList() { - return devices_; + public java.util.List getConfigRulesList() { + return configRules_; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ @java.lang.Override - public java.util.List - getDevicesOrBuilderList() { - return devices_; + public java.util.List + getConfigRulesOrBuilderList() { + return configRules_; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ @java.lang.Override - public int getDevicesCount() { - return devices_.size(); + public int getConfigRulesCount() { + return configRules_.size(); } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ @java.lang.Override - public context.ContextOuterClass.Device getDevices(int index) { - return devices_.get(index); + public context.ContextOuterClass.ConfigRule getConfigRules(int index) { + return configRules_.get(index); } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ @java.lang.Override - public context.ContextOuterClass.DeviceOrBuilder getDevicesOrBuilder( + public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( int index) { - return devices_.get(index); + return configRules_.get(index); } private byte memoizedIsInitialized = -1; @@ -15733,8 +15101,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < devices_.size(); i++) { - output.writeMessage(1, devices_.get(i)); + for (int i = 0; i < configRules_.size(); i++) { + output.writeMessage(1, configRules_.get(i)); } unknownFields.writeTo(output); } @@ -15745,9 +15113,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < devices_.size(); i++) { + for (int i = 0; i < configRules_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, devices_.get(i)); + .computeMessageSize(1, configRules_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -15759,13 +15127,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.DeviceList)) { + if (!(obj instanceof context.ContextOuterClass.DeviceConfig)) { return super.equals(obj); } - context.ContextOuterClass.DeviceList other = (context.ContextOuterClass.DeviceList) obj; + context.ContextOuterClass.DeviceConfig other = (context.ContextOuterClass.DeviceConfig) obj; - if (!getDevicesList() - .equals(other.getDevicesList())) return false; + if (!getConfigRulesList() + .equals(other.getConfigRulesList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -15777,78 +15145,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getDevicesCount() > 0) { - hash = (37 * hash) + DEVICES_FIELD_NUMBER; - hash = (53 * hash) + getDevicesList().hashCode(); + if (getConfigRulesCount() > 0) { + hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER; + hash = (53 * hash) + getConfigRulesList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceList parseFrom(byte[] data) + public static context.ContextOuterClass.DeviceConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceConfig parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceList parseDelimitedFrom( + public static context.ContextOuterClass.DeviceConfig parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceList parseFrom( + public static context.ContextOuterClass.DeviceConfig parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -15861,7 +15229,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.DeviceList prototype) { + public static Builder newBuilder(context.ContextOuterClass.DeviceConfig prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -15877,26 +15245,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.DeviceList} + * Protobuf type {@code context.DeviceConfig} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.DeviceList) - context.ContextOuterClass.DeviceListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.DeviceConfig) + context.ContextOuterClass.DeviceConfigOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceList_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceList.class, context.ContextOuterClass.DeviceList.Builder.class); + context.ContextOuterClass.DeviceConfig.class, context.ContextOuterClass.DeviceConfig.Builder.class); } - // Construct using context.ContextOuterClass.DeviceList.newBuilder() + // Construct using context.ContextOuterClass.DeviceConfig.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -15909,17 +15277,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getDevicesFieldBuilder(); + getConfigRulesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (devicesBuilder_ == null) { - devices_ = java.util.Collections.emptyList(); + if (configRulesBuilder_ == null) { + configRules_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { - devicesBuilder_.clear(); + configRulesBuilder_.clear(); } return this; } @@ -15927,17 +15295,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_DeviceList_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor; } @java.lang.Override - public context.ContextOuterClass.DeviceList getDefaultInstanceForType() { - return context.ContextOuterClass.DeviceList.getDefaultInstance(); + public context.ContextOuterClass.DeviceConfig getDefaultInstanceForType() { + return context.ContextOuterClass.DeviceConfig.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.DeviceList build() { - context.ContextOuterClass.DeviceList result = buildPartial(); + public context.ContextOuterClass.DeviceConfig build() { + context.ContextOuterClass.DeviceConfig result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -15945,17 +15313,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.DeviceList buildPartial() { - context.ContextOuterClass.DeviceList result = new context.ContextOuterClass.DeviceList(this); + public context.ContextOuterClass.DeviceConfig buildPartial() { + context.ContextOuterClass.DeviceConfig result = new context.ContextOuterClass.DeviceConfig(this); int from_bitField0_ = bitField0_; - if (devicesBuilder_ == null) { + if (configRulesBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { - devices_ = java.util.Collections.unmodifiableList(devices_); + configRules_ = java.util.Collections.unmodifiableList(configRules_); bitField0_ = (bitField0_ & ~0x00000001); } - result.devices_ = devices_; + result.configRules_ = configRules_; } else { - result.devices_ = devicesBuilder_.build(); + result.configRules_ = configRulesBuilder_.build(); } onBuilt(); return result; @@ -15995,39 +15363,39 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.DeviceList) { - return mergeFrom((context.ContextOuterClass.DeviceList)other); + if (other instanceof context.ContextOuterClass.DeviceConfig) { + return mergeFrom((context.ContextOuterClass.DeviceConfig)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.DeviceList other) { - if (other == context.ContextOuterClass.DeviceList.getDefaultInstance()) return this; - if (devicesBuilder_ == null) { - if (!other.devices_.isEmpty()) { - if (devices_.isEmpty()) { - devices_ = other.devices_; + public Builder mergeFrom(context.ContextOuterClass.DeviceConfig other) { + if (other == context.ContextOuterClass.DeviceConfig.getDefaultInstance()) return this; + if (configRulesBuilder_ == null) { + if (!other.configRules_.isEmpty()) { + if (configRules_.isEmpty()) { + configRules_ = other.configRules_; bitField0_ = (bitField0_ & ~0x00000001); } else { - ensureDevicesIsMutable(); - devices_.addAll(other.devices_); + ensureConfigRulesIsMutable(); + configRules_.addAll(other.configRules_); } onChanged(); } } else { - if (!other.devices_.isEmpty()) { - if (devicesBuilder_.isEmpty()) { - devicesBuilder_.dispose(); - devicesBuilder_ = null; - devices_ = other.devices_; + if (!other.configRules_.isEmpty()) { + if (configRulesBuilder_.isEmpty()) { + configRulesBuilder_.dispose(); + configRulesBuilder_ = null; + configRules_ = other.configRules_; bitField0_ = (bitField0_ & ~0x00000001); - devicesBuilder_ = + configRulesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getDevicesFieldBuilder() : null; + getConfigRulesFieldBuilder() : null; } else { - devicesBuilder_.addAllMessages(other.devices_); + configRulesBuilder_.addAllMessages(other.configRules_); } } } @@ -16046,11 +15414,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.DeviceList parsedMessage = null; + context.ContextOuterClass.DeviceConfig parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.DeviceList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.DeviceConfig) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -16061,244 +15429,244 @@ public final class ContextOuterClass { } private int bitField0_; - private java.util.List devices_ = + private java.util.List configRules_ = java.util.Collections.emptyList(); - private void ensureDevicesIsMutable() { + private void ensureConfigRulesIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { - devices_ = new java.util.ArrayList(devices_); + configRules_ = new java.util.ArrayList(configRules_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Device, context.ContextOuterClass.Device.Builder, context.ContextOuterClass.DeviceOrBuilder> devicesBuilder_; + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> configRulesBuilder_; /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public java.util.List getDevicesList() { - if (devicesBuilder_ == null) { - return java.util.Collections.unmodifiableList(devices_); + public java.util.List getConfigRulesList() { + if (configRulesBuilder_ == null) { + return java.util.Collections.unmodifiableList(configRules_); } else { - return devicesBuilder_.getMessageList(); + return configRulesBuilder_.getMessageList(); } } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public int getDevicesCount() { - if (devicesBuilder_ == null) { - return devices_.size(); + public int getConfigRulesCount() { + if (configRulesBuilder_ == null) { + return configRules_.size(); } else { - return devicesBuilder_.getCount(); + return configRulesBuilder_.getCount(); } } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public context.ContextOuterClass.Device getDevices(int index) { - if (devicesBuilder_ == null) { - return devices_.get(index); + public context.ContextOuterClass.ConfigRule getConfigRules(int index) { + if (configRulesBuilder_ == null) { + return configRules_.get(index); } else { - return devicesBuilder_.getMessage(index); + return configRulesBuilder_.getMessage(index); } } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder setDevices( - int index, context.ContextOuterClass.Device value) { - if (devicesBuilder_ == null) { + public Builder setConfigRules( + int index, context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDevicesIsMutable(); - devices_.set(index, value); + ensureConfigRulesIsMutable(); + configRules_.set(index, value); onChanged(); } else { - devicesBuilder_.setMessage(index, value); + configRulesBuilder_.setMessage(index, value); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder setDevices( - int index, context.ContextOuterClass.Device.Builder builderForValue) { - if (devicesBuilder_ == null) { - ensureDevicesIsMutable(); - devices_.set(index, builderForValue.build()); + public Builder setConfigRules( + int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.set(index, builderForValue.build()); onChanged(); } else { - devicesBuilder_.setMessage(index, builderForValue.build()); + configRulesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder addDevices(context.ContextOuterClass.Device value) { - if (devicesBuilder_ == null) { + public Builder addConfigRules(context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDevicesIsMutable(); - devices_.add(value); + ensureConfigRulesIsMutable(); + configRules_.add(value); onChanged(); } else { - devicesBuilder_.addMessage(value); + configRulesBuilder_.addMessage(value); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder addDevices( - int index, context.ContextOuterClass.Device value) { - if (devicesBuilder_ == null) { + public Builder addConfigRules( + int index, context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureDevicesIsMutable(); - devices_.add(index, value); + ensureConfigRulesIsMutable(); + configRules_.add(index, value); onChanged(); } else { - devicesBuilder_.addMessage(index, value); + configRulesBuilder_.addMessage(index, value); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder addDevices( - context.ContextOuterClass.Device.Builder builderForValue) { - if (devicesBuilder_ == null) { - ensureDevicesIsMutable(); - devices_.add(builderForValue.build()); + public Builder addConfigRules( + context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.add(builderForValue.build()); onChanged(); } else { - devicesBuilder_.addMessage(builderForValue.build()); + configRulesBuilder_.addMessage(builderForValue.build()); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder addDevices( - int index, context.ContextOuterClass.Device.Builder builderForValue) { - if (devicesBuilder_ == null) { - ensureDevicesIsMutable(); - devices_.add(index, builderForValue.build()); + public Builder addConfigRules( + int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.add(index, builderForValue.build()); onChanged(); } else { - devicesBuilder_.addMessage(index, builderForValue.build()); + configRulesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder addAllDevices( - java.lang.Iterable values) { - if (devicesBuilder_ == null) { - ensureDevicesIsMutable(); + public Builder addAllConfigRules( + java.lang.Iterable values) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, devices_); + values, configRules_); onChanged(); } else { - devicesBuilder_.addAllMessages(values); + configRulesBuilder_.addAllMessages(values); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder clearDevices() { - if (devicesBuilder_ == null) { - devices_ = java.util.Collections.emptyList(); + public Builder clearConfigRules() { + if (configRulesBuilder_ == null) { + configRules_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - devicesBuilder_.clear(); + configRulesBuilder_.clear(); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public Builder removeDevices(int index) { - if (devicesBuilder_ == null) { - ensureDevicesIsMutable(); - devices_.remove(index); + public Builder removeConfigRules(int index) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.remove(index); onChanged(); } else { - devicesBuilder_.remove(index); + configRulesBuilder_.remove(index); } return this; } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public context.ContextOuterClass.Device.Builder getDevicesBuilder( + public context.ContextOuterClass.ConfigRule.Builder getConfigRulesBuilder( int index) { - return getDevicesFieldBuilder().getBuilder(index); + return getConfigRulesFieldBuilder().getBuilder(index); } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public context.ContextOuterClass.DeviceOrBuilder getDevicesOrBuilder( + public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( int index) { - if (devicesBuilder_ == null) { - return devices_.get(index); } else { - return devicesBuilder_.getMessageOrBuilder(index); + if (configRulesBuilder_ == null) { + return configRules_.get(index); } else { + return configRulesBuilder_.getMessageOrBuilder(index); } } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public java.util.List - getDevicesOrBuilderList() { - if (devicesBuilder_ != null) { - return devicesBuilder_.getMessageOrBuilderList(); + public java.util.List + getConfigRulesOrBuilderList() { + if (configRulesBuilder_ != null) { + return configRulesBuilder_.getMessageOrBuilderList(); } else { - return java.util.Collections.unmodifiableList(devices_); + return java.util.Collections.unmodifiableList(configRules_); } } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public context.ContextOuterClass.Device.Builder addDevicesBuilder() { - return getDevicesFieldBuilder().addBuilder( - context.ContextOuterClass.Device.getDefaultInstance()); + public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder() { + return getConfigRulesFieldBuilder().addBuilder( + context.ContextOuterClass.ConfigRule.getDefaultInstance()); } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public context.ContextOuterClass.Device.Builder addDevicesBuilder( + public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder( int index) { - return getDevicesFieldBuilder().addBuilder( - index, context.ContextOuterClass.Device.getDefaultInstance()); + return getConfigRulesFieldBuilder().addBuilder( + index, context.ContextOuterClass.ConfigRule.getDefaultInstance()); } /** - * repeated .context.Device devices = 1; + * repeated .context.ConfigRule config_rules = 1; */ - public java.util.List - getDevicesBuilderList() { - return getDevicesFieldBuilder().getBuilderList(); + public java.util.List + getConfigRulesBuilderList() { + return getConfigRulesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Device, context.ContextOuterClass.Device.Builder, context.ContextOuterClass.DeviceOrBuilder> - getDevicesFieldBuilder() { - if (devicesBuilder_ == null) { - devicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Device, context.ContextOuterClass.Device.Builder, context.ContextOuterClass.DeviceOrBuilder>( - devices_, + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> + getConfigRulesFieldBuilder() { + if (configRulesBuilder_ == null) { + configRulesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder>( + configRules_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - devices_ = null; + configRules_ = null; } - return devicesBuilder_; + return configRulesBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -16313,100 +15681,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.DeviceList) + // @@protoc_insertion_point(builder_scope:context.DeviceConfig) } - // @@protoc_insertion_point(class_scope:context.DeviceList) - private static final context.ContextOuterClass.DeviceList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.DeviceConfig) + private static final context.ContextOuterClass.DeviceConfig DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceConfig(); } - public static context.ContextOuterClass.DeviceList getDefaultInstance() { + public static context.ContextOuterClass.DeviceConfig getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceList parsePartialFrom( + public DeviceConfig parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceList(input, extensionRegistry); + return new DeviceConfig(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.DeviceList getDefaultInstanceForType() { + public context.ContextOuterClass.DeviceConfig getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface DeviceEventOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.DeviceEvent) + public interface DeviceIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.DeviceIdList) com.google.protobuf.MessageOrBuilder { /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - boolean hasEvent(); - /** - * .context.Event event = 1; - * @return The event. + * repeated .context.DeviceId device_ids = 1; */ - context.ContextOuterClass.Event getEvent(); + java.util.List + getDeviceIdsList(); /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ - context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); - + context.ContextOuterClass.DeviceId getDeviceIds(int index); /** - * .context.DeviceId device_id = 2; - * @return Whether the deviceId field is set. + * repeated .context.DeviceId device_ids = 1; */ - boolean hasDeviceId(); + int getDeviceIdsCount(); /** - * .context.DeviceId device_id = 2; - * @return The deviceId. + * repeated .context.DeviceId device_ids = 1; */ - context.ContextOuterClass.DeviceId getDeviceId(); + java.util.List + getDeviceIdsOrBuilderList(); /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); + context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( + int index); } /** - * Protobuf type {@code context.DeviceEvent} + * Protobuf type {@code context.DeviceIdList} */ - public static final class DeviceEvent extends + public static final class DeviceIdList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.DeviceEvent) - DeviceEventOrBuilder { + // @@protoc_insertion_point(message_implements:context.DeviceIdList) + DeviceIdListOrBuilder { private static final long serialVersionUID = 0L; - // Use DeviceEvent.newBuilder() to construct. - private DeviceEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceIdList.newBuilder() to construct. + private DeviceIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private DeviceEvent() { + private DeviceIdList() { + deviceIds_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new DeviceEvent(); + return new DeviceIdList(); } @java.lang.Override @@ -16414,7 +15777,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private DeviceEvent( + private DeviceIdList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -16422,6 +15785,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -16433,29 +15797,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Event.Builder subBuilder = null; - if (event_ != null) { - subBuilder = event_.toBuilder(); - } - event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(event_); - event_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.DeviceId.Builder subBuilder = null; - if (deviceId_ != null) { - subBuilder = deviceId_.toBuilder(); - } - deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(deviceId_); - deviceId_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deviceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + deviceIds_.add( + input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry)); break; } default: { @@ -16473,73 +15820,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceEvent.class, context.ContextOuterClass.DeviceEvent.Builder.class); + context.ContextOuterClass.DeviceIdList.class, context.ContextOuterClass.DeviceIdList.Builder.class); } - public static final int EVENT_FIELD_NUMBER = 1; - private context.ContextOuterClass.Event event_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - @java.lang.Override - public boolean hasEvent() { - return event_ != null; - } + public static final int DEVICE_IDS_FIELD_NUMBER = 1; + private java.util.List deviceIds_; /** - * .context.Event event = 1; - * @return The event. + * repeated .context.DeviceId device_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.Event getEvent() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public java.util.List getDeviceIdsList() { + return deviceIds_; } /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return getEvent(); + public java.util.List + getDeviceIdsOrBuilderList() { + return deviceIds_; } - - public static final int DEVICE_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.DeviceId deviceId_; /** - * .context.DeviceId device_id = 2; - * @return Whether the deviceId field is set. + * repeated .context.DeviceId device_ids = 1; */ @java.lang.Override - public boolean hasDeviceId() { - return deviceId_ != null; + public int getDeviceIdsCount() { + return deviceIds_.size(); } /** - * .context.DeviceId device_id = 2; - * @return The deviceId. + * repeated .context.DeviceId device_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.DeviceId getDeviceId() { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + public context.ContextOuterClass.DeviceId getDeviceIds(int index) { + return deviceIds_.get(index); } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - return getDeviceId(); + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( + int index) { + return deviceIds_.get(index); } private byte memoizedIsInitialized = -1; @@ -16556,11 +15894,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (event_ != null) { - output.writeMessage(1, getEvent()); - } - if (deviceId_ != null) { - output.writeMessage(2, getDeviceId()); + for (int i = 0; i < deviceIds_.size(); i++) { + output.writeMessage(1, deviceIds_.get(i)); } unknownFields.writeTo(output); } @@ -16571,13 +15906,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (event_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEvent()); - } - if (deviceId_ != null) { + for (int i = 0; i < deviceIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getDeviceId()); + .computeMessageSize(1, deviceIds_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -16589,21 +15920,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.DeviceEvent)) { + if (!(obj instanceof context.ContextOuterClass.DeviceIdList)) { return super.equals(obj); } - context.ContextOuterClass.DeviceEvent other = (context.ContextOuterClass.DeviceEvent) obj; + context.ContextOuterClass.DeviceIdList other = (context.ContextOuterClass.DeviceIdList) obj; - if (hasEvent() != other.hasEvent()) return false; - if (hasEvent()) { - if (!getEvent() - .equals(other.getEvent())) return false; - } - if (hasDeviceId() != other.hasDeviceId()) return false; - if (hasDeviceId()) { - if (!getDeviceId() - .equals(other.getDeviceId())) return false; - } + if (!getDeviceIdsList() + .equals(other.getDeviceIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -16615,82 +15938,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEvent()) { - hash = (37 * hash) + EVENT_FIELD_NUMBER; - hash = (53 * hash) + getEvent().hashCode(); - } - if (hasDeviceId()) { - hash = (37 * hash) + DEVICE_ID_FIELD_NUMBER; - hash = (53 * hash) + getDeviceId().hashCode(); + if (getDeviceIdsCount() > 0) { + hash = (37 * hash) + DEVICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getDeviceIdsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceEvent parseFrom(byte[] data) + public static context.ContextOuterClass.DeviceIdList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.DeviceEvent parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceIdList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceEvent parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceIdList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceEvent parseDelimitedFrom( + public static context.ContextOuterClass.DeviceIdList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.DeviceEvent parseFrom( + public static context.ContextOuterClass.DeviceIdList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -16703,7 +16022,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.DeviceEvent prototype) { + public static Builder newBuilder(context.ContextOuterClass.DeviceIdList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -16719,26 +16038,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.DeviceEvent} + * Protobuf type {@code context.DeviceIdList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.DeviceEvent) - context.ContextOuterClass.DeviceEventOrBuilder { + // @@protoc_insertion_point(builder_implements:context.DeviceIdList) + context.ContextOuterClass.DeviceIdListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_DeviceEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.DeviceEvent.class, context.ContextOuterClass.DeviceEvent.Builder.class); + context.ContextOuterClass.DeviceIdList.class, context.ContextOuterClass.DeviceIdList.Builder.class); } - // Construct using context.ContextOuterClass.DeviceEvent.newBuilder() + // Construct using context.ContextOuterClass.DeviceIdList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -16751,22 +16070,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getDeviceIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (eventBuilder_ == null) { - event_ = null; - } else { - event_ = null; - eventBuilder_ = null; - } - if (deviceIdBuilder_ == null) { - deviceId_ = null; + if (deviceIdsBuilder_ == null) { + deviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - deviceId_ = null; - deviceIdBuilder_ = null; + deviceIdsBuilder_.clear(); } return this; } @@ -16774,17 +16088,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor; } @java.lang.Override - public context.ContextOuterClass.DeviceEvent getDefaultInstanceForType() { - return context.ContextOuterClass.DeviceEvent.getDefaultInstance(); + public context.ContextOuterClass.DeviceIdList getDefaultInstanceForType() { + return context.ContextOuterClass.DeviceIdList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.DeviceEvent build() { - context.ContextOuterClass.DeviceEvent result = buildPartial(); + public context.ContextOuterClass.DeviceIdList build() { + context.ContextOuterClass.DeviceIdList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -16792,17 +16106,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.DeviceEvent buildPartial() { - context.ContextOuterClass.DeviceEvent result = new context.ContextOuterClass.DeviceEvent(this); - if (eventBuilder_ == null) { - result.event_ = event_; - } else { - result.event_ = eventBuilder_.build(); - } - if (deviceIdBuilder_ == null) { - result.deviceId_ = deviceId_; + public context.ContextOuterClass.DeviceIdList buildPartial() { + context.ContextOuterClass.DeviceIdList result = new context.ContextOuterClass.DeviceIdList(this); + int from_bitField0_ = bitField0_; + if (deviceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.deviceIds_ = deviceIds_; } else { - result.deviceId_ = deviceIdBuilder_.build(); + result.deviceIds_ = deviceIdsBuilder_.build(); } onBuilt(); return result; @@ -16842,21 +16156,41 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.DeviceEvent) { - return mergeFrom((context.ContextOuterClass.DeviceEvent)other); + if (other instanceof context.ContextOuterClass.DeviceIdList) { + return mergeFrom((context.ContextOuterClass.DeviceIdList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.DeviceEvent other) { - if (other == context.ContextOuterClass.DeviceEvent.getDefaultInstance()) return this; - if (other.hasEvent()) { - mergeEvent(other.getEvent()); - } - if (other.hasDeviceId()) { - mergeDeviceId(other.getDeviceId()); + public Builder mergeFrom(context.ContextOuterClass.DeviceIdList other) { + if (other == context.ContextOuterClass.DeviceIdList.getDefaultInstance()) return this; + if (deviceIdsBuilder_ == null) { + if (!other.deviceIds_.isEmpty()) { + if (deviceIds_.isEmpty()) { + deviceIds_ = other.deviceIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDeviceIdsIsMutable(); + deviceIds_.addAll(other.deviceIds_); + } + onChanged(); + } + } else { + if (!other.deviceIds_.isEmpty()) { + if (deviceIdsBuilder_.isEmpty()) { + deviceIdsBuilder_.dispose(); + deviceIdsBuilder_ = null; + deviceIds_ = other.deviceIds_; + bitField0_ = (bitField0_ & ~0x00000001); + deviceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getDeviceIdsFieldBuilder() : null; + } else { + deviceIdsBuilder_.addAllMessages(other.deviceIds_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -16873,11 +16207,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.DeviceEvent parsedMessage = null; + context.ContextOuterClass.DeviceIdList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.DeviceEvent) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.DeviceIdList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -16886,243 +16220,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List deviceIds_ = + java.util.Collections.emptyList(); + private void ensureDeviceIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + deviceIds_ = new java.util.ArrayList(deviceIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdsBuilder_; - private context.ContextOuterClass.Event event_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.Event event = 1; - * @return Whether the event field is set. + * repeated .context.DeviceId device_ids = 1; */ - public boolean hasEvent() { - return eventBuilder_ != null || event_ != null; + public java.util.List getDeviceIdsList() { + if (deviceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(deviceIds_); + } else { + return deviceIdsBuilder_.getMessageList(); + } } /** - * .context.Event event = 1; - * @return The event. + * repeated .context.DeviceId device_ids = 1; */ - public context.ContextOuterClass.Event getEvent() { - if (eventBuilder_ == null) { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public int getDeviceIdsCount() { + if (deviceIdsBuilder_ == null) { + return deviceIds_.size(); } else { - return eventBuilder_.getMessage(); + return deviceIdsBuilder_.getCount(); } } /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ - public Builder setEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { + public context.ContextOuterClass.DeviceId getDeviceIds(int index) { + if (deviceIdsBuilder_ == null) { + return deviceIds_.get(index); + } else { + return deviceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.DeviceId device_ids = 1; + */ + public Builder setDeviceIds( + int index, context.ContextOuterClass.DeviceId value) { + if (deviceIdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - event_ = value; + ensureDeviceIdsIsMutable(); + deviceIds_.set(index, value); onChanged(); } else { - eventBuilder_.setMessage(value); + deviceIdsBuilder_.setMessage(index, value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ - public Builder setEvent( - context.ContextOuterClass.Event.Builder builderForValue) { - if (eventBuilder_ == null) { - event_ = builderForValue.build(); + public Builder setDeviceIds( + int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.set(index, builderForValue.build()); onChanged(); } else { - eventBuilder_.setMessage(builderForValue.build()); + deviceIdsBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ - public Builder mergeEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (event_ != null) { - event_ = - context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); - } else { - event_ = value; + public Builder addDeviceIds(context.ContextOuterClass.DeviceId value) { + if (deviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureDeviceIdsIsMutable(); + deviceIds_.add(value); onChanged(); } else { - eventBuilder_.mergeFrom(value); + deviceIdsBuilder_.addMessage(value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ - public Builder clearEvent() { - if (eventBuilder_ == null) { - event_ = null; + public Builder addDeviceIds( + int index, context.ContextOuterClass.DeviceId value) { + if (deviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDeviceIdsIsMutable(); + deviceIds_.add(index, value); onChanged(); } else { - event_ = null; - eventBuilder_ = null; + deviceIdsBuilder_.addMessage(index, value); } - return this; } /** - * .context.Event event = 1; - */ - public context.ContextOuterClass.Event.Builder getEventBuilder() { - - onChanged(); - return getEventFieldBuilder().getBuilder(); - } - /** - * .context.Event event = 1; + * repeated .context.DeviceId device_ids = 1; */ - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - if (eventBuilder_ != null) { - return eventBuilder_.getMessageOrBuilder(); + public Builder addDeviceIds( + context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.add(builderForValue.build()); + onChanged(); } else { - return event_ == null ? - context.ContextOuterClass.Event.getDefaultInstance() : event_; - } - } - /** - * .context.Event event = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> - getEventFieldBuilder() { - if (eventBuilder_ == null) { - eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( - getEvent(), - getParentForChildren(), - isClean()); - event_ = null; + deviceIdsBuilder_.addMessage(builderForValue.build()); } - return eventBuilder_; - } - - private context.ContextOuterClass.DeviceId deviceId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; - /** - * .context.DeviceId device_id = 2; - * @return Whether the deviceId field is set. - */ - public boolean hasDeviceId() { - return deviceIdBuilder_ != null || deviceId_ != null; + return this; } /** - * .context.DeviceId device_id = 2; - * @return The deviceId. + * repeated .context.DeviceId device_ids = 1; */ - public context.ContextOuterClass.DeviceId getDeviceId() { - if (deviceIdBuilder_ == null) { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + public Builder addDeviceIds( + int index, context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.add(index, builderForValue.build()); + onChanged(); } else { - return deviceIdBuilder_.getMessage(); + deviceIdsBuilder_.addMessage(index, builderForValue.build()); } + return this; } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { - if (deviceIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - deviceId_ = value; + public Builder addAllDeviceIds( + java.lang.Iterable values) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, deviceIds_); onChanged(); } else { - deviceIdBuilder_.setMessage(value); + deviceIdsBuilder_.addAllMessages(values); } - return this; } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - public Builder setDeviceId( - context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdBuilder_ == null) { - deviceId_ = builderForValue.build(); + public Builder clearDeviceIds() { + if (deviceIdsBuilder_ == null) { + deviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - deviceIdBuilder_.setMessage(builderForValue.build()); + deviceIdsBuilder_.clear(); } - return this; } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { - if (deviceIdBuilder_ == null) { - if (deviceId_ != null) { - deviceId_ = - context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); - } else { - deviceId_ = value; - } + public Builder removeDeviceIds(int index) { + if (deviceIdsBuilder_ == null) { + ensureDeviceIdsIsMutable(); + deviceIds_.remove(index); onChanged(); } else { - deviceIdBuilder_.mergeFrom(value); + deviceIdsBuilder_.remove(index); } - return this; } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - public Builder clearDeviceId() { - if (deviceIdBuilder_ == null) { - deviceId_ = null; - onChanged(); - } else { - deviceId_ = null; - deviceIdBuilder_ = null; - } - - return this; + public context.ContextOuterClass.DeviceId.Builder getDeviceIdsBuilder( + int index) { + return getDeviceIdsFieldBuilder().getBuilder(index); } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { - - onChanged(); - return getDeviceIdFieldBuilder().getBuilder(); + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdsOrBuilder( + int index) { + if (deviceIdsBuilder_ == null) { + return deviceIds_.get(index); } else { + return deviceIdsBuilder_.getMessageOrBuilder(index); + } } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - if (deviceIdBuilder_ != null) { - return deviceIdBuilder_.getMessageOrBuilder(); + public java.util.List + getDeviceIdsOrBuilderList() { + if (deviceIdsBuilder_ != null) { + return deviceIdsBuilder_.getMessageOrBuilderList(); } else { - return deviceId_ == null ? - context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + return java.util.Collections.unmodifiableList(deviceIds_); } } /** - * .context.DeviceId device_id = 2; + * repeated .context.DeviceId device_ids = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< + public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder() { + return getDeviceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.DeviceId.getDefaultInstance()); + } + /** + * repeated .context.DeviceId device_ids = 1; + */ + public context.ContextOuterClass.DeviceId.Builder addDeviceIdsBuilder( + int index) { + return getDeviceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.DeviceId.getDefaultInstance()); + } + /** + * repeated .context.DeviceId device_ids = 1; + */ + public java.util.List + getDeviceIdsBuilderList() { + return getDeviceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> - getDeviceIdFieldBuilder() { - if (deviceIdBuilder_ == null) { - deviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getDeviceIdsFieldBuilder() { + if (deviceIdsBuilder_ == null) { + deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( - getDeviceId(), + deviceIds_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - deviceId_ = null; + deviceIds_ = null; } - return deviceIdBuilder_; + return deviceIdsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -17137,89 +16474,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.DeviceEvent) + // @@protoc_insertion_point(builder_scope:context.DeviceIdList) } - // @@protoc_insertion_point(class_scope:context.DeviceEvent) - private static final context.ContextOuterClass.DeviceEvent DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.DeviceIdList) + private static final context.ContextOuterClass.DeviceIdList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceEvent(); + DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceIdList(); } - public static context.ContextOuterClass.DeviceEvent getDefaultInstance() { + public static context.ContextOuterClass.DeviceIdList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public DeviceEvent parsePartialFrom( + public DeviceIdList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DeviceEvent(input, extensionRegistry); + return new DeviceIdList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.DeviceEvent getDefaultInstanceForType() { + public context.ContextOuterClass.DeviceIdList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface LinkIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.LinkId) + public interface DeviceListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.DeviceList) com.google.protobuf.MessageOrBuilder { /** - * .context.Uuid link_uuid = 1; - * @return Whether the linkUuid field is set. + * repeated .context.Device devices = 1; */ - boolean hasLinkUuid(); + java.util.List + getDevicesList(); /** - * .context.Uuid link_uuid = 1; - * @return The linkUuid. + * repeated .context.Device devices = 1; */ - context.ContextOuterClass.Uuid getLinkUuid(); + context.ContextOuterClass.Device getDevices(int index); /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder(); + int getDevicesCount(); + /** + * repeated .context.Device devices = 1; + */ + java.util.List + getDevicesOrBuilderList(); + /** + * repeated .context.Device devices = 1; + */ + context.ContextOuterClass.DeviceOrBuilder getDevicesOrBuilder( + int index); } /** - *
-   * ----- Link ----------------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.LinkId} + * Protobuf type {@code context.DeviceList} */ - public static final class LinkId extends + public static final class DeviceList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.LinkId) - LinkIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.DeviceList) + DeviceListOrBuilder { private static final long serialVersionUID = 0L; - // Use LinkId.newBuilder() to construct. - private LinkId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceList.newBuilder() to construct. + private DeviceList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private LinkId() { + private DeviceList() { + devices_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new LinkId(); + return new DeviceList(); } @java.lang.Override @@ -17227,7 +16570,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private LinkId( + private DeviceList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -17235,6 +16578,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -17246,16 +16590,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (linkUuid_ != null) { - subBuilder = linkUuid_.toBuilder(); - } - linkUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(linkUuid_); - linkUuid_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + devices_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + devices_.add( + input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry)); break; } default: { @@ -17273,47 +16613,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + devices_ = java.util.Collections.unmodifiableList(devices_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkId_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkId.class, context.ContextOuterClass.LinkId.Builder.class); + context.ContextOuterClass.DeviceList.class, context.ContextOuterClass.DeviceList.Builder.class); } - public static final int LINK_UUID_FIELD_NUMBER = 1; - private context.ContextOuterClass.Uuid linkUuid_; + public static final int DEVICES_FIELD_NUMBER = 1; + private java.util.List devices_; /** - * .context.Uuid link_uuid = 1; - * @return Whether the linkUuid field is set. + * repeated .context.Device devices = 1; */ @java.lang.Override - public boolean hasLinkUuid() { - return linkUuid_ != null; + public java.util.List getDevicesList() { + return devices_; } /** - * .context.Uuid link_uuid = 1; - * @return The linkUuid. + * repeated .context.Device devices = 1; */ @java.lang.Override - public context.ContextOuterClass.Uuid getLinkUuid() { - return linkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_; + public java.util.List + getDevicesOrBuilderList() { + return devices_; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder() { - return getLinkUuid(); + public int getDevicesCount() { + return devices_.size(); + } + /** + * repeated .context.Device devices = 1; + */ + @java.lang.Override + public context.ContextOuterClass.Device getDevices(int index) { + return devices_.get(index); + } + /** + * repeated .context.Device devices = 1; + */ + @java.lang.Override + public context.ContextOuterClass.DeviceOrBuilder getDevicesOrBuilder( + int index) { + return devices_.get(index); } private byte memoizedIsInitialized = -1; @@ -17330,8 +16687,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (linkUuid_ != null) { - output.writeMessage(1, getLinkUuid()); + for (int i = 0; i < devices_.size(); i++) { + output.writeMessage(1, devices_.get(i)); } unknownFields.writeTo(output); } @@ -17342,9 +16699,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (linkUuid_ != null) { + for (int i = 0; i < devices_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getLinkUuid()); + .computeMessageSize(1, devices_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -17356,16 +16713,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.LinkId)) { + if (!(obj instanceof context.ContextOuterClass.DeviceList)) { return super.equals(obj); } - context.ContextOuterClass.LinkId other = (context.ContextOuterClass.LinkId) obj; + context.ContextOuterClass.DeviceList other = (context.ContextOuterClass.DeviceList) obj; - if (hasLinkUuid() != other.hasLinkUuid()) return false; - if (hasLinkUuid()) { - if (!getLinkUuid() - .equals(other.getLinkUuid())) return false; - } + if (!getDevicesList() + .equals(other.getDevicesList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -17377,78 +16731,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasLinkUuid()) { - hash = (37 * hash) + LINK_UUID_FIELD_NUMBER; - hash = (53 * hash) + getLinkUuid().hashCode(); + if (getDevicesCount() > 0) { + hash = (37 * hash) + DEVICES_FIELD_NUMBER; + hash = (53 * hash) + getDevicesList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkId parseFrom(byte[] data) + public static context.ContextOuterClass.DeviceList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkId parseDelimitedFrom( + public static context.ContextOuterClass.DeviceList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkId parseFrom( + public static context.ContextOuterClass.DeviceList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -17461,7 +16815,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.LinkId prototype) { + public static Builder newBuilder(context.ContextOuterClass.DeviceList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -17477,30 +16831,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Link ----------------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.LinkId} + * Protobuf type {@code context.DeviceList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.LinkId) - context.ContextOuterClass.LinkIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.DeviceList) + context.ContextOuterClass.DeviceListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkId_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkId.class, context.ContextOuterClass.LinkId.Builder.class); + context.ContextOuterClass.DeviceList.class, context.ContextOuterClass.DeviceList.Builder.class); } - // Construct using context.ContextOuterClass.LinkId.newBuilder() + // Construct using context.ContextOuterClass.DeviceList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -17513,16 +16863,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getDevicesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (linkUuidBuilder_ == null) { - linkUuid_ = null; + if (devicesBuilder_ == null) { + devices_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - linkUuid_ = null; - linkUuidBuilder_ = null; + devicesBuilder_.clear(); } return this; } @@ -17530,17 +16881,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_LinkId_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceList_descriptor; } @java.lang.Override - public context.ContextOuterClass.LinkId getDefaultInstanceForType() { - return context.ContextOuterClass.LinkId.getDefaultInstance(); + public context.ContextOuterClass.DeviceList getDefaultInstanceForType() { + return context.ContextOuterClass.DeviceList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.LinkId build() { - context.ContextOuterClass.LinkId result = buildPartial(); + public context.ContextOuterClass.DeviceList build() { + context.ContextOuterClass.DeviceList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -17548,12 +16899,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.LinkId buildPartial() { - context.ContextOuterClass.LinkId result = new context.ContextOuterClass.LinkId(this); - if (linkUuidBuilder_ == null) { - result.linkUuid_ = linkUuid_; + public context.ContextOuterClass.DeviceList buildPartial() { + context.ContextOuterClass.DeviceList result = new context.ContextOuterClass.DeviceList(this); + int from_bitField0_ = bitField0_; + if (devicesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + devices_ = java.util.Collections.unmodifiableList(devices_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.devices_ = devices_; } else { - result.linkUuid_ = linkUuidBuilder_.build(); + result.devices_ = devicesBuilder_.build(); } onBuilt(); return result; @@ -17593,18 +16949,41 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.LinkId) { - return mergeFrom((context.ContextOuterClass.LinkId)other); + if (other instanceof context.ContextOuterClass.DeviceList) { + return mergeFrom((context.ContextOuterClass.DeviceList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.LinkId other) { - if (other == context.ContextOuterClass.LinkId.getDefaultInstance()) return this; - if (other.hasLinkUuid()) { - mergeLinkUuid(other.getLinkUuid()); + public Builder mergeFrom(context.ContextOuterClass.DeviceList other) { + if (other == context.ContextOuterClass.DeviceList.getDefaultInstance()) return this; + if (devicesBuilder_ == null) { + if (!other.devices_.isEmpty()) { + if (devices_.isEmpty()) { + devices_ = other.devices_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDevicesIsMutable(); + devices_.addAll(other.devices_); + } + onChanged(); + } + } else { + if (!other.devices_.isEmpty()) { + if (devicesBuilder_.isEmpty()) { + devicesBuilder_.dispose(); + devicesBuilder_ = null; + devices_ = other.devices_; + bitField0_ = (bitField0_ & ~0x00000001); + devicesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getDevicesFieldBuilder() : null; + } else { + devicesBuilder_.addAllMessages(other.devices_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -17621,11 +17000,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.LinkId parsedMessage = null; + context.ContextOuterClass.DeviceList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.LinkId) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.DeviceList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -17634,124 +17013,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List devices_ = + java.util.Collections.emptyList(); + private void ensureDevicesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + devices_ = new java.util.ArrayList(devices_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Device, context.ContextOuterClass.Device.Builder, context.ContextOuterClass.DeviceOrBuilder> devicesBuilder_; - private context.ContextOuterClass.Uuid linkUuid_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> linkUuidBuilder_; /** - * .context.Uuid link_uuid = 1; - * @return Whether the linkUuid field is set. + * repeated .context.Device devices = 1; */ - public boolean hasLinkUuid() { - return linkUuidBuilder_ != null || linkUuid_ != null; + public java.util.List getDevicesList() { + if (devicesBuilder_ == null) { + return java.util.Collections.unmodifiableList(devices_); + } else { + return devicesBuilder_.getMessageList(); + } } /** - * .context.Uuid link_uuid = 1; - * @return The linkUuid. + * repeated .context.Device devices = 1; */ - public context.ContextOuterClass.Uuid getLinkUuid() { - if (linkUuidBuilder_ == null) { - return linkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_; + public int getDevicesCount() { + if (devicesBuilder_ == null) { + return devices_.size(); } else { - return linkUuidBuilder_.getMessage(); + return devicesBuilder_.getCount(); } } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - public Builder setLinkUuid(context.ContextOuterClass.Uuid value) { - if (linkUuidBuilder_ == null) { + public context.ContextOuterClass.Device getDevices(int index) { + if (devicesBuilder_ == null) { + return devices_.get(index); + } else { + return devicesBuilder_.getMessage(index); + } + } + /** + * repeated .context.Device devices = 1; + */ + public Builder setDevices( + int index, context.ContextOuterClass.Device value) { + if (devicesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - linkUuid_ = value; + ensureDevicesIsMutable(); + devices_.set(index, value); onChanged(); } else { - linkUuidBuilder_.setMessage(value); + devicesBuilder_.setMessage(index, value); } - return this; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - public Builder setLinkUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (linkUuidBuilder_ == null) { - linkUuid_ = builderForValue.build(); + public Builder setDevices( + int index, context.ContextOuterClass.Device.Builder builderForValue) { + if (devicesBuilder_ == null) { + ensureDevicesIsMutable(); + devices_.set(index, builderForValue.build()); onChanged(); } else { - linkUuidBuilder_.setMessage(builderForValue.build()); + devicesBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - public Builder mergeLinkUuid(context.ContextOuterClass.Uuid value) { - if (linkUuidBuilder_ == null) { - if (linkUuid_ != null) { - linkUuid_ = - context.ContextOuterClass.Uuid.newBuilder(linkUuid_).mergeFrom(value).buildPartial(); - } else { - linkUuid_ = value; + public Builder addDevices(context.ContextOuterClass.Device value) { + if (devicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureDevicesIsMutable(); + devices_.add(value); onChanged(); } else { - linkUuidBuilder_.mergeFrom(value); + devicesBuilder_.addMessage(value); } - return this; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - public Builder clearLinkUuid() { - if (linkUuidBuilder_ == null) { - linkUuid_ = null; + public Builder addDevices( + int index, context.ContextOuterClass.Device value) { + if (devicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDevicesIsMutable(); + devices_.add(index, value); onChanged(); } else { - linkUuid_ = null; - linkUuidBuilder_ = null; + devicesBuilder_.addMessage(index, value); } - return this; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - public context.ContextOuterClass.Uuid.Builder getLinkUuidBuilder() { - - onChanged(); - return getLinkUuidFieldBuilder().getBuilder(); + public Builder addDevices( + context.ContextOuterClass.Device.Builder builderForValue) { + if (devicesBuilder_ == null) { + ensureDevicesIsMutable(); + devices_.add(builderForValue.build()); + onChanged(); + } else { + devicesBuilder_.addMessage(builderForValue.build()); + } + return this; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - public context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder() { - if (linkUuidBuilder_ != null) { - return linkUuidBuilder_.getMessageOrBuilder(); + public Builder addDevices( + int index, context.ContextOuterClass.Device.Builder builderForValue) { + if (devicesBuilder_ == null) { + ensureDevicesIsMutable(); + devices_.add(index, builderForValue.build()); + onChanged(); } else { - return linkUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_; + devicesBuilder_.addMessage(index, builderForValue.build()); } + return this; } /** - * .context.Uuid link_uuid = 1; + * repeated .context.Device devices = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getLinkUuidFieldBuilder() { - if (linkUuidBuilder_ == null) { - linkUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getLinkUuid(), + public Builder addAllDevices( + java.lang.Iterable values) { + if (devicesBuilder_ == null) { + ensureDevicesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, devices_); + onChanged(); + } else { + devicesBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.Device devices = 1; + */ + public Builder clearDevices() { + if (devicesBuilder_ == null) { + devices_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + devicesBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Device devices = 1; + */ + public Builder removeDevices(int index) { + if (devicesBuilder_ == null) { + ensureDevicesIsMutable(); + devices_.remove(index); + onChanged(); + } else { + devicesBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Device devices = 1; + */ + public context.ContextOuterClass.Device.Builder getDevicesBuilder( + int index) { + return getDevicesFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Device devices = 1; + */ + public context.ContextOuterClass.DeviceOrBuilder getDevicesOrBuilder( + int index) { + if (devicesBuilder_ == null) { + return devices_.get(index); } else { + return devicesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Device devices = 1; + */ + public java.util.List + getDevicesOrBuilderList() { + if (devicesBuilder_ != null) { + return devicesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(devices_); + } + } + /** + * repeated .context.Device devices = 1; + */ + public context.ContextOuterClass.Device.Builder addDevicesBuilder() { + return getDevicesFieldBuilder().addBuilder( + context.ContextOuterClass.Device.getDefaultInstance()); + } + /** + * repeated .context.Device devices = 1; + */ + public context.ContextOuterClass.Device.Builder addDevicesBuilder( + int index) { + return getDevicesFieldBuilder().addBuilder( + index, context.ContextOuterClass.Device.getDefaultInstance()); + } + /** + * repeated .context.Device devices = 1; + */ + public java.util.List + getDevicesBuilderList() { + return getDevicesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Device, context.ContextOuterClass.Device.Builder, context.ContextOuterClass.DeviceOrBuilder> + getDevicesFieldBuilder() { + if (devicesBuilder_ == null) { + devicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Device, context.ContextOuterClass.Device.Builder, context.ContextOuterClass.DeviceOrBuilder>( + devices_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - linkUuid_ = null; + devices_ = null; } - return linkUuidBuilder_; + return devicesBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -17766,110 +17267,115 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.LinkId) + // @@protoc_insertion_point(builder_scope:context.DeviceList) } - // @@protoc_insertion_point(class_scope:context.LinkId) - private static final context.ContextOuterClass.LinkId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.DeviceList) + private static final context.ContextOuterClass.DeviceList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.LinkId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceList(); } - public static context.ContextOuterClass.LinkId getDefaultInstance() { + public static context.ContextOuterClass.DeviceList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public LinkId parsePartialFrom( + public DeviceList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new LinkId(input, extensionRegistry); + return new DeviceList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.LinkId getDefaultInstanceForType() { + public context.ContextOuterClass.DeviceList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface LinkOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.Link) + public interface DeviceEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.DeviceEvent) com.google.protobuf.MessageOrBuilder { /** - * .context.LinkId link_id = 1; - * @return Whether the linkId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - boolean hasLinkId(); + boolean hasEvent(); /** - * .context.LinkId link_id = 1; - * @return The linkId. + * .context.Event event = 1; + * @return The event. */ - context.ContextOuterClass.LinkId getLinkId(); + context.ContextOuterClass.Event getEvent(); /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder(); + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; + * @return Whether the deviceId field is set. */ - java.util.List - getLinkEndpointIdsList(); + boolean hasDeviceId(); /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; + * @return The deviceId. */ - context.ContextOuterClass.EndPointId getLinkEndpointIds(int index); + context.ContextOuterClass.DeviceId getDeviceId(); /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - int getLinkEndpointIdsCount(); + context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); + /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; + * @return Whether the deviceConfig field is set. */ - java.util.List - getLinkEndpointIdsOrBuilderList(); + boolean hasDeviceConfig(); /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; + * @return The deviceConfig. */ - context.ContextOuterClass.EndPointIdOrBuilder getLinkEndpointIdsOrBuilder( - int index); + context.ContextOuterClass.DeviceConfig getDeviceConfig(); + /** + * .context.DeviceConfig device_config = 3; + */ + context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder(); } /** - * Protobuf type {@code context.Link} + * Protobuf type {@code context.DeviceEvent} */ - public static final class Link extends + public static final class DeviceEvent extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.Link) - LinkOrBuilder { + // @@protoc_insertion_point(message_implements:context.DeviceEvent) + DeviceEventOrBuilder { private static final long serialVersionUID = 0L; - // Use Link.newBuilder() to construct. - private Link(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use DeviceEvent.newBuilder() to construct. + private DeviceEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Link() { - linkEndpointIds_ = java.util.Collections.emptyList(); + private DeviceEvent() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Link(); + return new DeviceEvent(); } @java.lang.Override @@ -17877,7 +17383,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private Link( + private DeviceEvent( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -17885,7 +17391,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -17897,25 +17402,42 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.LinkId.Builder subBuilder = null; - if (linkId_ != null) { - subBuilder = linkId_.toBuilder(); + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); } - linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(linkId_); - linkId_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); } break; } case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - linkEndpointIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (deviceId_ != null) { + subBuilder = deviceId_.toBuilder(); } - linkEndpointIds_.add( - input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); + deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceId_); + deviceId_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + context.ContextOuterClass.DeviceConfig.Builder subBuilder = null; + if (deviceConfig_ != null) { + subBuilder = deviceConfig_.toBuilder(); + } + deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceConfig_); + deviceConfig_ = subBuilder.buildPartial(); + } + break; } default: { @@ -17933,90 +17455,99 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Link_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Link_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Link.class, context.ContextOuterClass.Link.Builder.class); + context.ContextOuterClass.DeviceEvent.class, context.ContextOuterClass.DeviceEvent.Builder.class); } - public static final int LINK_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.LinkId linkId_; + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; /** - * .context.LinkId link_id = 1; - * @return Whether the linkId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ @java.lang.Override - public boolean hasLinkId() { - return linkId_ != null; + public boolean hasEvent() { + return event_ != null; } /** - * .context.LinkId link_id = 1; - * @return The linkId. + * .context.Event event = 1; + * @return The event. */ @java.lang.Override - public context.ContextOuterClass.LinkId getLinkId() { - return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ @java.lang.Override - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { - return getLinkId(); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); } - public static final int LINK_ENDPOINT_IDS_FIELD_NUMBER = 2; - private java.util.List linkEndpointIds_; + public static final int DEVICE_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.DeviceId deviceId_; /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; + * @return Whether the deviceId field is set. */ @java.lang.Override - public java.util.List getLinkEndpointIdsList() { - return linkEndpointIds_; + public boolean hasDeviceId() { + return deviceId_ != null; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; + * @return The deviceId. */ @java.lang.Override - public java.util.List - getLinkEndpointIdsOrBuilderList() { - return linkEndpointIds_; + public context.ContextOuterClass.DeviceId getDeviceId() { + return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ @java.lang.Override - public int getLinkEndpointIdsCount() { - return linkEndpointIds_.size(); + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { + return getDeviceId(); + } + + public static final int DEVICE_CONFIG_FIELD_NUMBER = 3; + private context.ContextOuterClass.DeviceConfig deviceConfig_; + /** + * .context.DeviceConfig device_config = 3; + * @return Whether the deviceConfig field is set. + */ + @java.lang.Override + public boolean hasDeviceConfig() { + return deviceConfig_ != null; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; + * @return The deviceConfig. */ @java.lang.Override - public context.ContextOuterClass.EndPointId getLinkEndpointIds(int index) { - return linkEndpointIds_.get(index); + public context.ContextOuterClass.DeviceConfig getDeviceConfig() { + return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ @java.lang.Override - public context.ContextOuterClass.EndPointIdOrBuilder getLinkEndpointIdsOrBuilder( - int index) { - return linkEndpointIds_.get(index); + public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { + return getDeviceConfig(); } private byte memoizedIsInitialized = -1; @@ -18033,11 +17564,14 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (linkId_ != null) { - output.writeMessage(1, getLinkId()); + if (event_ != null) { + output.writeMessage(1, getEvent()); } - for (int i = 0; i < linkEndpointIds_.size(); i++) { - output.writeMessage(2, linkEndpointIds_.get(i)); + if (deviceId_ != null) { + output.writeMessage(2, getDeviceId()); + } + if (deviceConfig_ != null) { + output.writeMessage(3, getDeviceConfig()); } unknownFields.writeTo(output); } @@ -18048,13 +17582,17 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (linkId_ != null) { + if (event_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getLinkId()); + .computeMessageSize(1, getEvent()); } - for (int i = 0; i < linkEndpointIds_.size(); i++) { + if (deviceId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, linkEndpointIds_.get(i)); + .computeMessageSize(2, getDeviceId()); + } + if (deviceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getDeviceConfig()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -18066,18 +17604,26 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.Link)) { + if (!(obj instanceof context.ContextOuterClass.DeviceEvent)) { return super.equals(obj); } - context.ContextOuterClass.Link other = (context.ContextOuterClass.Link) obj; + context.ContextOuterClass.DeviceEvent other = (context.ContextOuterClass.DeviceEvent) obj; - if (hasLinkId() != other.hasLinkId()) return false; - if (hasLinkId()) { - if (!getLinkId() - .equals(other.getLinkId())) return false; + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; + } + if (hasDeviceId() != other.hasDeviceId()) return false; + if (hasDeviceId()) { + if (!getDeviceId() + .equals(other.getDeviceId())) return false; + } + if (hasDeviceConfig() != other.hasDeviceConfig()) return false; + if (hasDeviceConfig()) { + if (!getDeviceConfig() + .equals(other.getDeviceConfig())) return false; } - if (!getLinkEndpointIdsList() - .equals(other.getLinkEndpointIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -18089,82 +17635,86 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasLinkId()) { - hash = (37 * hash) + LINK_ID_FIELD_NUMBER; - hash = (53 * hash) + getLinkId().hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); } - if (getLinkEndpointIdsCount() > 0) { - hash = (37 * hash) + LINK_ENDPOINT_IDS_FIELD_NUMBER; - hash = (53 * hash) + getLinkEndpointIdsList().hashCode(); + if (hasDeviceId()) { + hash = (37 * hash) + DEVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getDeviceId().hashCode(); + } + if (hasDeviceConfig()) { + hash = (37 * hash) + DEVICE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getDeviceConfig().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Link parseFrom(byte[] data) + public static context.ContextOuterClass.DeviceEvent parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Link parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceEvent parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Link parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.DeviceEvent parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.Link parseDelimitedFrom( + public static context.ContextOuterClass.DeviceEvent parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Link parseFrom( + public static context.ContextOuterClass.DeviceEvent parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -18177,7 +17727,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.Link prototype) { + public static Builder newBuilder(context.ContextOuterClass.DeviceEvent prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -18193,26 +17743,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.Link} + * Protobuf type {@code context.DeviceEvent} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.Link) - context.ContextOuterClass.LinkOrBuilder { + // @@protoc_insertion_point(builder_implements:context.DeviceEvent) + context.ContextOuterClass.DeviceEventOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Link_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Link_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_DeviceEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Link.class, context.ContextOuterClass.Link.Builder.class); + context.ContextOuterClass.DeviceEvent.class, context.ContextOuterClass.DeviceEvent.Builder.class); } - // Construct using context.ContextOuterClass.Link.newBuilder() + // Construct using context.ContextOuterClass.DeviceEvent.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -18225,23 +17775,28 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getLinkEndpointIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (linkIdBuilder_ == null) { - linkId_ = null; + if (eventBuilder_ == null) { + event_ = null; } else { - linkId_ = null; - linkIdBuilder_ = null; + event_ = null; + eventBuilder_ = null; } - if (linkEndpointIdsBuilder_ == null) { - linkEndpointIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (deviceIdBuilder_ == null) { + deviceId_ = null; } else { - linkEndpointIdsBuilder_.clear(); + deviceId_ = null; + deviceIdBuilder_ = null; + } + if (deviceConfigBuilder_ == null) { + deviceConfig_ = null; + } else { + deviceConfig_ = null; + deviceConfigBuilder_ = null; } return this; } @@ -18249,17 +17804,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Link_descriptor; + return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor; } @java.lang.Override - public context.ContextOuterClass.Link getDefaultInstanceForType() { - return context.ContextOuterClass.Link.getDefaultInstance(); + public context.ContextOuterClass.DeviceEvent getDefaultInstanceForType() { + return context.ContextOuterClass.DeviceEvent.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.Link build() { - context.ContextOuterClass.Link result = buildPartial(); + public context.ContextOuterClass.DeviceEvent build() { + context.ContextOuterClass.DeviceEvent result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -18267,22 +17822,22 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.Link buildPartial() { - context.ContextOuterClass.Link result = new context.ContextOuterClass.Link(this); - int from_bitField0_ = bitField0_; - if (linkIdBuilder_ == null) { - result.linkId_ = linkId_; + public context.ContextOuterClass.DeviceEvent buildPartial() { + context.ContextOuterClass.DeviceEvent result = new context.ContextOuterClass.DeviceEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; } else { - result.linkId_ = linkIdBuilder_.build(); + result.event_ = eventBuilder_.build(); } - if (linkEndpointIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.linkEndpointIds_ = linkEndpointIds_; + if (deviceIdBuilder_ == null) { + result.deviceId_ = deviceId_; } else { - result.linkEndpointIds_ = linkEndpointIdsBuilder_.build(); + result.deviceId_ = deviceIdBuilder_.build(); + } + if (deviceConfigBuilder_ == null) { + result.deviceConfig_ = deviceConfig_; + } else { + result.deviceConfig_ = deviceConfigBuilder_.build(); } onBuilt(); return result; @@ -18322,44 +17877,24 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Link) { - return mergeFrom((context.ContextOuterClass.Link)other); + if (other instanceof context.ContextOuterClass.DeviceEvent) { + return mergeFrom((context.ContextOuterClass.DeviceEvent)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.Link other) { - if (other == context.ContextOuterClass.Link.getDefaultInstance()) return this; - if (other.hasLinkId()) { - mergeLinkId(other.getLinkId()); + public Builder mergeFrom(context.ContextOuterClass.DeviceEvent other) { + if (other == context.ContextOuterClass.DeviceEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); } - if (linkEndpointIdsBuilder_ == null) { - if (!other.linkEndpointIds_.isEmpty()) { - if (linkEndpointIds_.isEmpty()) { - linkEndpointIds_ = other.linkEndpointIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.addAll(other.linkEndpointIds_); - } - onChanged(); - } - } else { - if (!other.linkEndpointIds_.isEmpty()) { - if (linkEndpointIdsBuilder_.isEmpty()) { - linkEndpointIdsBuilder_.dispose(); - linkEndpointIdsBuilder_ = null; - linkEndpointIds_ = other.linkEndpointIds_; - bitField0_ = (bitField0_ & ~0x00000001); - linkEndpointIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getLinkEndpointIdsFieldBuilder() : null; - } else { - linkEndpointIdsBuilder_.addAllMessages(other.linkEndpointIds_); - } - } + if (other.hasDeviceId()) { + mergeDeviceId(other.getDeviceId()); + } + if (other.hasDeviceConfig()) { + mergeDeviceConfig(other.getDeviceConfig()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -18376,11 +17911,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.Link parsedMessage = null; + context.ContextOuterClass.DeviceEvent parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Link) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.DeviceEvent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -18389,365 +17924,362 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - private context.ContextOuterClass.LinkId linkId_; + private context.ContextOuterClass.Event event_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdBuilder_; + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.LinkId link_id = 1; - * @return Whether the linkId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - public boolean hasLinkId() { - return linkIdBuilder_ != null || linkId_ != null; + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; } /** - * .context.LinkId link_id = 1; - * @return The linkId. + * .context.Event event = 1; + * @return The event. */ - public context.ContextOuterClass.LinkId getLinkId() { - if (linkIdBuilder_ == null) { - return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } else { - return linkIdBuilder_.getMessage(); + return eventBuilder_.getMessage(); } } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - public Builder setLinkId(context.ContextOuterClass.LinkId value) { - if (linkIdBuilder_ == null) { + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - linkId_ = value; + event_ = value; onChanged(); } else { - linkIdBuilder_.setMessage(value); + eventBuilder_.setMessage(value); } return this; } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - public Builder setLinkId( - context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdBuilder_ == null) { - linkId_ = builderForValue.build(); + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); onChanged(); } else { - linkIdBuilder_.setMessage(builderForValue.build()); + eventBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - public Builder mergeLinkId(context.ContextOuterClass.LinkId value) { - if (linkIdBuilder_ == null) { - if (linkId_ != null) { - linkId_ = - context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial(); + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); } else { - linkId_ = value; + event_ = value; } onChanged(); } else { - linkIdBuilder_.mergeFrom(value); + eventBuilder_.mergeFrom(value); } return this; } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - public Builder clearLinkId() { - if (linkIdBuilder_ == null) { - linkId_ = null; + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; onChanged(); } else { - linkId_ = null; - linkIdBuilder_ = null; + event_ = null; + eventBuilder_ = null; } return this; } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() { + public context.ContextOuterClass.Event.Builder getEventBuilder() { onChanged(); - return getLinkIdFieldBuilder().getBuilder(); + return getEventFieldBuilder().getBuilder(); } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { - if (linkIdBuilder_ != null) { - return linkIdBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); } else { - return linkId_ == null ? - context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; } } /** - * .context.LinkId link_id = 1; + * .context.Event event = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> - getLinkIdFieldBuilder() { - if (linkIdBuilder_ == null) { - linkIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( - getLinkId(), + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), getParentForChildren(), isClean()); - linkId_ = null; + event_ = null; } - return linkIdBuilder_; - } - - private java.util.List linkEndpointIds_ = - java.util.Collections.emptyList(); - private void ensureLinkEndpointIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - linkEndpointIds_ = new java.util.ArrayList(linkEndpointIds_); - bitField0_ |= 0x00000001; - } + return eventBuilder_; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> linkEndpointIdsBuilder_; - - /** - * repeated .context.EndPointId link_endpoint_ids = 2; - */ - public java.util.List getLinkEndpointIdsList() { - if (linkEndpointIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(linkEndpointIds_); - } else { - return linkEndpointIdsBuilder_.getMessageList(); - } - } + private context.ContextOuterClass.DeviceId deviceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; + * @return Whether the deviceId field is set. */ - public int getLinkEndpointIdsCount() { - if (linkEndpointIdsBuilder_ == null) { - return linkEndpointIds_.size(); - } else { - return linkEndpointIdsBuilder_.getCount(); - } + public boolean hasDeviceId() { + return deviceIdBuilder_ != null || deviceId_ != null; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; + * @return The deviceId. */ - public context.ContextOuterClass.EndPointId getLinkEndpointIds(int index) { - if (linkEndpointIdsBuilder_ == null) { - return linkEndpointIds_.get(index); + public context.ContextOuterClass.DeviceId getDeviceId() { + if (deviceIdBuilder_ == null) { + return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } else { - return linkEndpointIdsBuilder_.getMessage(index); + return deviceIdBuilder_.getMessage(); } } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - public Builder setLinkEndpointIds( - int index, context.ContextOuterClass.EndPointId value) { - if (linkEndpointIdsBuilder_ == null) { + public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { + if (deviceIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.set(index, value); + deviceId_ = value; onChanged(); } else { - linkEndpointIdsBuilder_.setMessage(index, value); + deviceIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - public Builder setLinkEndpointIds( - int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (linkEndpointIdsBuilder_ == null) { - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.set(index, builderForValue.build()); + public Builder setDeviceId( + context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdBuilder_ == null) { + deviceId_ = builderForValue.build(); onChanged(); } else { - linkEndpointIdsBuilder_.setMessage(index, builderForValue.build()); + deviceIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - public Builder addLinkEndpointIds(context.ContextOuterClass.EndPointId value) { - if (linkEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { + if (deviceIdBuilder_ == null) { + if (deviceId_ != null) { + deviceId_ = + context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); + } else { + deviceId_ = value; } - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.add(value); onChanged(); } else { - linkEndpointIdsBuilder_.addMessage(value); + deviceIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - public Builder addLinkEndpointIds( - int index, context.ContextOuterClass.EndPointId value) { - if (linkEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.add(index, value); + public Builder clearDeviceId() { + if (deviceIdBuilder_ == null) { + deviceId_ = null; onChanged(); } else { - linkEndpointIdsBuilder_.addMessage(index, value); + deviceId_ = null; + deviceIdBuilder_ = null; } + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - public Builder addLinkEndpointIds( - context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (linkEndpointIdsBuilder_ == null) { - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.add(builderForValue.build()); - onChanged(); + public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { + + onChanged(); + return getDeviceIdFieldBuilder().getBuilder(); + } + /** + * .context.DeviceId device_id = 2; + */ + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { + if (deviceIdBuilder_ != null) { + return deviceIdBuilder_.getMessageOrBuilder(); } else { - linkEndpointIdsBuilder_.addMessage(builderForValue.build()); + return deviceId_ == null ? + context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } - return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceId device_id = 2; */ - public Builder addLinkEndpointIds( - int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (linkEndpointIdsBuilder_ == null) { - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.add(index, builderForValue.build()); - onChanged(); - } else { - linkEndpointIdsBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> + getDeviceIdFieldBuilder() { + if (deviceIdBuilder_ == null) { + deviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( + getDeviceId(), + getParentForChildren(), + isClean()); + deviceId_ = null; } - return this; + return deviceIdBuilder_; } + + private context.ContextOuterClass.DeviceConfig deviceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> deviceConfigBuilder_; /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; + * @return Whether the deviceConfig field is set. */ - public Builder addAllLinkEndpointIds( - java.lang.Iterable values) { - if (linkEndpointIdsBuilder_ == null) { - ensureLinkEndpointIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, linkEndpointIds_); - onChanged(); + public boolean hasDeviceConfig() { + return deviceConfigBuilder_ != null || deviceConfig_ != null; + } + /** + * .context.DeviceConfig device_config = 3; + * @return The deviceConfig. + */ + public context.ContextOuterClass.DeviceConfig getDeviceConfig() { + if (deviceConfigBuilder_ == null) { + return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; } else { - linkEndpointIdsBuilder_.addAllMessages(values); + return deviceConfigBuilder_.getMessage(); } - return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public Builder clearLinkEndpointIds() { - if (linkEndpointIdsBuilder_ == null) { - linkEndpointIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig value) { + if (deviceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deviceConfig_ = value; onChanged(); } else { - linkEndpointIdsBuilder_.clear(); + deviceConfigBuilder_.setMessage(value); } + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public Builder removeLinkEndpointIds(int index) { - if (linkEndpointIdsBuilder_ == null) { - ensureLinkEndpointIdsIsMutable(); - linkEndpointIds_.remove(index); + public Builder setDeviceConfig( + context.ContextOuterClass.DeviceConfig.Builder builderForValue) { + if (deviceConfigBuilder_ == null) { + deviceConfig_ = builderForValue.build(); onChanged(); } else { - linkEndpointIdsBuilder_.remove(index); + deviceConfigBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; - */ - public context.ContextOuterClass.EndPointId.Builder getLinkEndpointIdsBuilder( - int index) { - return getLinkEndpointIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public context.ContextOuterClass.EndPointIdOrBuilder getLinkEndpointIdsOrBuilder( - int index) { - if (linkEndpointIdsBuilder_ == null) { - return linkEndpointIds_.get(index); } else { - return linkEndpointIdsBuilder_.getMessageOrBuilder(index); + public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) { + if (deviceConfigBuilder_ == null) { + if (deviceConfig_ != null) { + deviceConfig_ = + context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial(); + } else { + deviceConfig_ = value; + } + onChanged(); + } else { + deviceConfigBuilder_.mergeFrom(value); } + + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public java.util.List - getLinkEndpointIdsOrBuilderList() { - if (linkEndpointIdsBuilder_ != null) { - return linkEndpointIdsBuilder_.getMessageOrBuilderList(); + public Builder clearDeviceConfig() { + if (deviceConfigBuilder_ == null) { + deviceConfig_ = null; + onChanged(); } else { - return java.util.Collections.unmodifiableList(linkEndpointIds_); + deviceConfig_ = null; + deviceConfigBuilder_ = null; } + + return this; } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public context.ContextOuterClass.EndPointId.Builder addLinkEndpointIdsBuilder() { - return getLinkEndpointIdsFieldBuilder().addBuilder( - context.ContextOuterClass.EndPointId.getDefaultInstance()); + public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() { + + onChanged(); + return getDeviceConfigFieldBuilder().getBuilder(); } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public context.ContextOuterClass.EndPointId.Builder addLinkEndpointIdsBuilder( - int index) { - return getLinkEndpointIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.EndPointId.getDefaultInstance()); + public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { + if (deviceConfigBuilder_ != null) { + return deviceConfigBuilder_.getMessageOrBuilder(); + } else { + return deviceConfig_ == null ? + context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; + } } /** - * repeated .context.EndPointId link_endpoint_ids = 2; + * .context.DeviceConfig device_config = 3; */ - public java.util.List - getLinkEndpointIdsBuilderList() { - return getLinkEndpointIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> - getLinkEndpointIdsFieldBuilder() { - if (linkEndpointIdsBuilder_ == null) { - linkEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( - linkEndpointIds_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder> + getDeviceConfigFieldBuilder() { + if (deviceConfigBuilder_ == null) { + deviceConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceConfig, context.ContextOuterClass.DeviceConfig.Builder, context.ContextOuterClass.DeviceConfigOrBuilder>( + getDeviceConfig(), getParentForChildren(), isClean()); - linkEndpointIds_ = null; + deviceConfig_ = null; } - return linkEndpointIdsBuilder_; + return deviceConfigBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -18762,95 +18294,89 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.Link) + // @@protoc_insertion_point(builder_scope:context.DeviceEvent) } - // @@protoc_insertion_point(class_scope:context.Link) - private static final context.ContextOuterClass.Link DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.DeviceEvent) + private static final context.ContextOuterClass.DeviceEvent DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.Link(); + DEFAULT_INSTANCE = new context.ContextOuterClass.DeviceEvent(); } - public static context.ContextOuterClass.Link getDefaultInstance() { + public static context.ContextOuterClass.DeviceEvent getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Link parsePartialFrom( + public DeviceEvent parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Link(input, extensionRegistry); + return new DeviceEvent(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.Link getDefaultInstanceForType() { + public context.ContextOuterClass.DeviceEvent getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface LinkIdListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.LinkIdList) + public interface LinkIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.LinkId) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.LinkId link_ids = 1; - */ - java.util.List - getLinkIdsList(); - /** - * repeated .context.LinkId link_ids = 1; - */ - context.ContextOuterClass.LinkId getLinkIds(int index); - /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; + * @return Whether the linkUuid field is set. */ - int getLinkIdsCount(); + boolean hasLinkUuid(); /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; + * @return The linkUuid. */ - java.util.List - getLinkIdsOrBuilderList(); + context.ContextOuterClass.Uuid getLinkUuid(); /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( - int index); + context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder(); } /** - * Protobuf type {@code context.LinkIdList} + *
+   * ----- Link ----------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.LinkId} */ - public static final class LinkIdList extends + public static final class LinkId extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.LinkIdList) - LinkIdListOrBuilder { - private static final long serialVersionUID = 0L; - // Use LinkIdList.newBuilder() to construct. - private LinkIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // @@protoc_insertion_point(message_implements:context.LinkId) + LinkIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use LinkId.newBuilder() to construct. + private LinkId(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private LinkIdList() { - linkIds_ = java.util.Collections.emptyList(); + private LinkId() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new LinkIdList(); + return new LinkId(); } @java.lang.Override @@ -18858,7 +18384,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private LinkIdList( + private LinkId( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -18866,7 +18392,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -18878,12 +18403,16 @@ public final class ContextOuterClass { done = true; break; case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - linkIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (linkUuid_ != null) { + subBuilder = linkUuid_.toBuilder(); } - linkIds_.add( - input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry)); + linkUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(linkUuid_); + linkUuid_ = subBuilder.buildPartial(); + } + break; } default: { @@ -18901,64 +18430,47 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - linkIds_ = java.util.Collections.unmodifiableList(linkIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor; + return context.ContextOuterClass.internal_static_context_LinkId_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkId_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkIdList.class, context.ContextOuterClass.LinkIdList.Builder.class); + context.ContextOuterClass.LinkId.class, context.ContextOuterClass.LinkId.Builder.class); } - public static final int LINK_IDS_FIELD_NUMBER = 1; - private java.util.List linkIds_; - /** - * repeated .context.LinkId link_ids = 1; - */ - @java.lang.Override - public java.util.List getLinkIdsList() { - return linkIds_; - } - /** - * repeated .context.LinkId link_ids = 1; - */ - @java.lang.Override - public java.util.List - getLinkIdsOrBuilderList() { - return linkIds_; - } + public static final int LINK_UUID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid linkUuid_; /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; + * @return Whether the linkUuid field is set. */ @java.lang.Override - public int getLinkIdsCount() { - return linkIds_.size(); + public boolean hasLinkUuid() { + return linkUuid_ != null; } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; + * @return The linkUuid. */ @java.lang.Override - public context.ContextOuterClass.LinkId getLinkIds(int index) { - return linkIds_.get(index); + public context.ContextOuterClass.Uuid getLinkUuid() { + return linkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_; } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ @java.lang.Override - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( - int index) { - return linkIds_.get(index); + public context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder() { + return getLinkUuid(); } private byte memoizedIsInitialized = -1; @@ -18975,8 +18487,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < linkIds_.size(); i++) { - output.writeMessage(1, linkIds_.get(i)); + if (linkUuid_ != null) { + output.writeMessage(1, getLinkUuid()); } unknownFields.writeTo(output); } @@ -18987,9 +18499,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < linkIds_.size(); i++) { + if (linkUuid_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, linkIds_.get(i)); + .computeMessageSize(1, getLinkUuid()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -19001,13 +18513,16 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.LinkIdList)) { + if (!(obj instanceof context.ContextOuterClass.LinkId)) { return super.equals(obj); } - context.ContextOuterClass.LinkIdList other = (context.ContextOuterClass.LinkIdList) obj; + context.ContextOuterClass.LinkId other = (context.ContextOuterClass.LinkId) obj; - if (!getLinkIdsList() - .equals(other.getLinkIdsList())) return false; + if (hasLinkUuid() != other.hasLinkUuid()) return false; + if (hasLinkUuid()) { + if (!getLinkUuid() + .equals(other.getLinkUuid())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -19019,78 +18534,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getLinkIdsCount() > 0) { - hash = (37 * hash) + LINK_IDS_FIELD_NUMBER; - hash = (53 * hash) + getLinkIdsList().hashCode(); + if (hasLinkUuid()) { + hash = (37 * hash) + LINK_UUID_FIELD_NUMBER; + hash = (53 * hash) + getLinkUuid().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkIdList parseFrom(byte[] data) + public static context.ContextOuterClass.LinkId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkIdList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkId parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkIdList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkIdList parseDelimitedFrom( + public static context.ContextOuterClass.LinkId parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkIdList parseFrom( + public static context.ContextOuterClass.LinkId parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -19103,7 +18618,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.LinkIdList prototype) { + public static Builder newBuilder(context.ContextOuterClass.LinkId prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -19119,26 +18634,30 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.LinkIdList} + *
+     * ----- Link ----------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.LinkId} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.LinkIdList) - context.ContextOuterClass.LinkIdListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.LinkId) + context.ContextOuterClass.LinkIdOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor; + return context.ContextOuterClass.internal_static_context_LinkId_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkId_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkIdList.class, context.ContextOuterClass.LinkIdList.Builder.class); + context.ContextOuterClass.LinkId.class, context.ContextOuterClass.LinkId.Builder.class); } - // Construct using context.ContextOuterClass.LinkIdList.newBuilder() + // Construct using context.ContextOuterClass.LinkId.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -19151,17 +18670,16 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getLinkIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (linkIdsBuilder_ == null) { - linkIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (linkUuidBuilder_ == null) { + linkUuid_ = null; } else { - linkIdsBuilder_.clear(); + linkUuid_ = null; + linkUuidBuilder_ = null; } return this; } @@ -19169,17 +18687,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor; + return context.ContextOuterClass.internal_static_context_LinkId_descriptor; } @java.lang.Override - public context.ContextOuterClass.LinkIdList getDefaultInstanceForType() { - return context.ContextOuterClass.LinkIdList.getDefaultInstance(); + public context.ContextOuterClass.LinkId getDefaultInstanceForType() { + return context.ContextOuterClass.LinkId.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.LinkIdList build() { - context.ContextOuterClass.LinkIdList result = buildPartial(); + public context.ContextOuterClass.LinkId build() { + context.ContextOuterClass.LinkId result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -19187,17 +18705,12 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.LinkIdList buildPartial() { - context.ContextOuterClass.LinkIdList result = new context.ContextOuterClass.LinkIdList(this); - int from_bitField0_ = bitField0_; - if (linkIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - linkIds_ = java.util.Collections.unmodifiableList(linkIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.linkIds_ = linkIds_; + public context.ContextOuterClass.LinkId buildPartial() { + context.ContextOuterClass.LinkId result = new context.ContextOuterClass.LinkId(this); + if (linkUuidBuilder_ == null) { + result.linkUuid_ = linkUuid_; } else { - result.linkIds_ = linkIdsBuilder_.build(); + result.linkUuid_ = linkUuidBuilder_.build(); } onBuilt(); return result; @@ -19237,41 +18750,18 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.LinkIdList) { - return mergeFrom((context.ContextOuterClass.LinkIdList)other); + if (other instanceof context.ContextOuterClass.LinkId) { + return mergeFrom((context.ContextOuterClass.LinkId)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.LinkIdList other) { - if (other == context.ContextOuterClass.LinkIdList.getDefaultInstance()) return this; - if (linkIdsBuilder_ == null) { - if (!other.linkIds_.isEmpty()) { - if (linkIds_.isEmpty()) { - linkIds_ = other.linkIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureLinkIdsIsMutable(); - linkIds_.addAll(other.linkIds_); - } - onChanged(); - } - } else { - if (!other.linkIds_.isEmpty()) { - if (linkIdsBuilder_.isEmpty()) { - linkIdsBuilder_.dispose(); - linkIdsBuilder_ = null; - linkIds_ = other.linkIds_; - bitField0_ = (bitField0_ & ~0x00000001); - linkIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getLinkIdsFieldBuilder() : null; - } else { - linkIdsBuilder_.addAllMessages(other.linkIds_); - } - } + public Builder mergeFrom(context.ContextOuterClass.LinkId other) { + if (other == context.ContextOuterClass.LinkId.getDefaultInstance()) return this; + if (other.hasLinkUuid()) { + mergeLinkUuid(other.getLinkUuid()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -19288,11 +18778,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.LinkIdList parsedMessage = null; + context.ContextOuterClass.LinkId parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.LinkIdList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.LinkId) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -19301,246 +18791,124 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private java.util.List linkIds_ = - java.util.Collections.emptyList(); - private void ensureLinkIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - linkIds_ = new java.util.ArrayList(linkIds_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdsBuilder_; + private context.ContextOuterClass.Uuid linkUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> linkUuidBuilder_; /** - * repeated .context.LinkId link_ids = 1; - */ - public java.util.List getLinkIdsList() { - if (linkIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(linkIds_); - } else { - return linkIdsBuilder_.getMessageList(); - } - } - /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; + * @return Whether the linkUuid field is set. */ - public int getLinkIdsCount() { - if (linkIdsBuilder_ == null) { - return linkIds_.size(); - } else { - return linkIdsBuilder_.getCount(); - } + public boolean hasLinkUuid() { + return linkUuidBuilder_ != null || linkUuid_ != null; } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; + * @return The linkUuid. */ - public context.ContextOuterClass.LinkId getLinkIds(int index) { - if (linkIdsBuilder_ == null) { - return linkIds_.get(index); + public context.ContextOuterClass.Uuid getLinkUuid() { + if (linkUuidBuilder_ == null) { + return linkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_; } else { - return linkIdsBuilder_.getMessage(index); + return linkUuidBuilder_.getMessage(); } } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public Builder setLinkIds( - int index, context.ContextOuterClass.LinkId value) { - if (linkIdsBuilder_ == null) { + public Builder setLinkUuid(context.ContextOuterClass.Uuid value) { + if (linkUuidBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureLinkIdsIsMutable(); - linkIds_.set(index, value); - onChanged(); - } else { - linkIdsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 1; - */ - public Builder setLinkIds( - int index, context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.set(index, builderForValue.build()); + linkUuid_ = value; onChanged(); } else { - linkIdsBuilder_.setMessage(index, builderForValue.build()); + linkUuidBuilder_.setMessage(value); } + return this; } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public Builder addLinkIds(context.ContextOuterClass.LinkId value) { - if (linkIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureLinkIdsIsMutable(); - linkIds_.add(value); + public Builder setLinkUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (linkUuidBuilder_ == null) { + linkUuid_ = builderForValue.build(); onChanged(); } else { - linkIdsBuilder_.addMessage(value); + linkUuidBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public Builder addLinkIds( - int index, context.ContextOuterClass.LinkId value) { - if (linkIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeLinkUuid(context.ContextOuterClass.Uuid value) { + if (linkUuidBuilder_ == null) { + if (linkUuid_ != null) { + linkUuid_ = + context.ContextOuterClass.Uuid.newBuilder(linkUuid_).mergeFrom(value).buildPartial(); + } else { + linkUuid_ = value; } - ensureLinkIdsIsMutable(); - linkIds_.add(index, value); - onChanged(); - } else { - linkIdsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 1; - */ - public Builder addLinkIds( - context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.add(builderForValue.build()); - onChanged(); - } else { - linkIdsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 1; - */ - public Builder addLinkIds( - int index, context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.add(index, builderForValue.build()); - onChanged(); - } else { - linkIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 1; - */ - public Builder addAllLinkIds( - java.lang.Iterable values) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, linkIds_); - onChanged(); - } else { - linkIdsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .context.LinkId link_ids = 1; - */ - public Builder clearLinkIds() { - if (linkIdsBuilder_ == null) { - linkIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - linkIdsBuilder_.clear(); + linkUuidBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public Builder removeLinkIds(int index) { - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.remove(index); + public Builder clearLinkUuid() { + if (linkUuidBuilder_ == null) { + linkUuid_ = null; onChanged(); } else { - linkIdsBuilder_.remove(index); + linkUuid_ = null; + linkUuidBuilder_ = null; } + return this; } /** - * repeated .context.LinkId link_ids = 1; - */ - public context.ContextOuterClass.LinkId.Builder getLinkIdsBuilder( - int index) { - return getLinkIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( - int index) { - if (linkIdsBuilder_ == null) { - return linkIds_.get(index); } else { - return linkIdsBuilder_.getMessageOrBuilder(index); - } + public context.ContextOuterClass.Uuid.Builder getLinkUuidBuilder() { + + onChanged(); + return getLinkUuidFieldBuilder().getBuilder(); } /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public java.util.List - getLinkIdsOrBuilderList() { - if (linkIdsBuilder_ != null) { - return linkIdsBuilder_.getMessageOrBuilderList(); + public context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder() { + if (linkUuidBuilder_ != null) { + return linkUuidBuilder_.getMessageOrBuilder(); } else { - return java.util.Collections.unmodifiableList(linkIds_); + return linkUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_; } } /** - * repeated .context.LinkId link_ids = 1; - */ - public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder() { - return getLinkIdsFieldBuilder().addBuilder( - context.ContextOuterClass.LinkId.getDefaultInstance()); - } - /** - * repeated .context.LinkId link_ids = 1; - */ - public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder( - int index) { - return getLinkIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.LinkId.getDefaultInstance()); - } - /** - * repeated .context.LinkId link_ids = 1; + * .context.Uuid link_uuid = 1; */ - public java.util.List - getLinkIdsBuilderList() { - return getLinkIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> - getLinkIdsFieldBuilder() { - if (linkIdsBuilder_ == null) { - linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( - linkIds_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getLinkUuidFieldBuilder() { + if (linkUuidBuilder_ == null) { + linkUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getLinkUuid(), getParentForChildren(), isClean()); - linkIds_ = null; + linkUuid_ = null; } - return linkIdsBuilder_; + return linkUuidBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -19555,95 +18923,110 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.LinkIdList) + // @@protoc_insertion_point(builder_scope:context.LinkId) } - // @@protoc_insertion_point(class_scope:context.LinkIdList) - private static final context.ContextOuterClass.LinkIdList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.LinkId) + private static final context.ContextOuterClass.LinkId DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.LinkIdList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.LinkId(); } - public static context.ContextOuterClass.LinkIdList getDefaultInstance() { + public static context.ContextOuterClass.LinkId getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public LinkIdList parsePartialFrom( + public LinkId parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new LinkIdList(input, extensionRegistry); + return new LinkId(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.LinkIdList getDefaultInstanceForType() { + public context.ContextOuterClass.LinkId getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface LinkListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.LinkList) + public interface LinkOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Link) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; + * @return Whether the linkId field is set. */ - java.util.List - getLinksList(); + boolean hasLinkId(); /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; + * @return The linkId. */ - context.ContextOuterClass.Link getLinks(int index); + context.ContextOuterClass.LinkId getLinkId(); /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - int getLinksCount(); + context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder(); + /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - java.util.List - getLinksOrBuilderList(); + java.util.List + getLinkEndpointIdsList(); /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - context.ContextOuterClass.LinkOrBuilder getLinksOrBuilder( + context.ContextOuterClass.EndPointId getLinkEndpointIds(int index); + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + int getLinkEndpointIdsCount(); + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + java.util.List + getLinkEndpointIdsOrBuilderList(); + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + context.ContextOuterClass.EndPointIdOrBuilder getLinkEndpointIdsOrBuilder( int index); } /** - * Protobuf type {@code context.LinkList} + * Protobuf type {@code context.Link} */ - public static final class LinkList extends + public static final class Link extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.LinkList) - LinkListOrBuilder { + // @@protoc_insertion_point(message_implements:context.Link) + LinkOrBuilder { private static final long serialVersionUID = 0L; - // Use LinkList.newBuilder() to construct. - private LinkList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Link.newBuilder() to construct. + private Link(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private LinkList() { - links_ = java.util.Collections.emptyList(); + private Link() { + linkEndpointIds_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new LinkList(); + return new Link(); } @java.lang.Override @@ -19651,7 +19034,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private LinkList( + private Link( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -19671,12 +19054,25 @@ public final class ContextOuterClass { done = true; break; case 10: { + context.ContextOuterClass.LinkId.Builder subBuilder = null; + if (linkId_ != null) { + subBuilder = linkId_.toBuilder(); + } + linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(linkId_); + linkId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - links_ = new java.util.ArrayList(); + linkEndpointIds_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - links_.add( - input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry)); + linkEndpointIds_.add( + input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); break; } default: { @@ -19695,7 +19091,7 @@ public final class ContextOuterClass { e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - links_ = java.util.Collections.unmodifiableList(links_); + linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -19703,55 +19099,81 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkList_descriptor; + return context.ContextOuterClass.internal_static_context_Link_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Link_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkList.class, context.ContextOuterClass.LinkList.Builder.class); + context.ContextOuterClass.Link.class, context.ContextOuterClass.Link.Builder.class); } - public static final int LINKS_FIELD_NUMBER = 1; - private java.util.List links_; + public static final int LINK_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.LinkId linkId_; /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; + * @return Whether the linkId field is set. */ @java.lang.Override - public java.util.List getLinksList() { - return links_; + public boolean hasLinkId() { + return linkId_ != null; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; + * @return The linkId. */ @java.lang.Override - public java.util.List - getLinksOrBuilderList() { - return links_; + public context.ContextOuterClass.LinkId getLinkId() { + return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ @java.lang.Override - public int getLinksCount() { - return links_.size(); + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { + return getLinkId(); } + + public static final int LINK_ENDPOINT_IDS_FIELD_NUMBER = 2; + private java.util.List linkEndpointIds_; /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ @java.lang.Override - public context.ContextOuterClass.Link getLinks(int index) { - return links_.get(index); + public java.util.List getLinkEndpointIdsList() { + return linkEndpointIds_; } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ @java.lang.Override - public context.ContextOuterClass.LinkOrBuilder getLinksOrBuilder( + public java.util.List + getLinkEndpointIdsOrBuilderList() { + return linkEndpointIds_; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + @java.lang.Override + public int getLinkEndpointIdsCount() { + return linkEndpointIds_.size(); + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointId getLinkEndpointIds(int index) { + return linkEndpointIds_.get(index); + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointIdOrBuilder getLinkEndpointIdsOrBuilder( int index) { - return links_.get(index); + return linkEndpointIds_.get(index); } private byte memoizedIsInitialized = -1; @@ -19768,8 +19190,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < links_.size(); i++) { - output.writeMessage(1, links_.get(i)); + if (linkId_ != null) { + output.writeMessage(1, getLinkId()); + } + for (int i = 0; i < linkEndpointIds_.size(); i++) { + output.writeMessage(2, linkEndpointIds_.get(i)); } unknownFields.writeTo(output); } @@ -19780,9 +19205,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < links_.size(); i++) { + if (linkId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, links_.get(i)); + .computeMessageSize(1, getLinkId()); + } + for (int i = 0; i < linkEndpointIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, linkEndpointIds_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -19794,13 +19223,18 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.LinkList)) { + if (!(obj instanceof context.ContextOuterClass.Link)) { return super.equals(obj); } - context.ContextOuterClass.LinkList other = (context.ContextOuterClass.LinkList) obj; + context.ContextOuterClass.Link other = (context.ContextOuterClass.Link) obj; - if (!getLinksList() - .equals(other.getLinksList())) return false; + if (hasLinkId() != other.hasLinkId()) return false; + if (hasLinkId()) { + if (!getLinkId() + .equals(other.getLinkId())) return false; + } + if (!getLinkEndpointIdsList() + .equals(other.getLinkEndpointIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -19812,78 +19246,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getLinksCount() > 0) { - hash = (37 * hash) + LINKS_FIELD_NUMBER; - hash = (53 * hash) + getLinksList().hashCode(); + if (hasLinkId()) { + hash = (37 * hash) + LINK_ID_FIELD_NUMBER; + hash = (53 * hash) + getLinkId().hashCode(); + } + if (getLinkEndpointIdsCount() > 0) { + hash = (37 * hash) + LINK_ENDPOINT_IDS_FIELD_NUMBER; + hash = (53 * hash) + getLinkEndpointIdsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkList parseFrom(byte[] data) + public static context.ContextOuterClass.Link parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Link parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Link parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkList parseDelimitedFrom( + public static context.ContextOuterClass.Link parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkList parseFrom( + public static context.ContextOuterClass.Link parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -19896,7 +19334,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.LinkList prototype) { + public static Builder newBuilder(context.ContextOuterClass.Link prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -19912,26 +19350,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.LinkList} + * Protobuf type {@code context.Link} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.LinkList) - context.ContextOuterClass.LinkListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Link) + context.ContextOuterClass.LinkOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkList_descriptor; + return context.ContextOuterClass.internal_static_context_Link_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Link_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkList.class, context.ContextOuterClass.LinkList.Builder.class); + context.ContextOuterClass.Link.class, context.ContextOuterClass.Link.Builder.class); } - // Construct using context.ContextOuterClass.LinkList.newBuilder() + // Construct using context.ContextOuterClass.Link.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -19944,17 +19382,23 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getLinksFieldBuilder(); + getLinkEndpointIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (linksBuilder_ == null) { - links_ = java.util.Collections.emptyList(); + if (linkIdBuilder_ == null) { + linkId_ = null; + } else { + linkId_ = null; + linkIdBuilder_ = null; + } + if (linkEndpointIdsBuilder_ == null) { + linkEndpointIds_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { - linksBuilder_.clear(); + linkEndpointIdsBuilder_.clear(); } return this; } @@ -19962,17 +19406,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_LinkList_descriptor; + return context.ContextOuterClass.internal_static_context_Link_descriptor; } @java.lang.Override - public context.ContextOuterClass.LinkList getDefaultInstanceForType() { - return context.ContextOuterClass.LinkList.getDefaultInstance(); + public context.ContextOuterClass.Link getDefaultInstanceForType() { + return context.ContextOuterClass.Link.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.LinkList build() { - context.ContextOuterClass.LinkList result = buildPartial(); + public context.ContextOuterClass.Link build() { + context.ContextOuterClass.Link result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -19980,17 +19424,22 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.LinkList buildPartial() { - context.ContextOuterClass.LinkList result = new context.ContextOuterClass.LinkList(this); + public context.ContextOuterClass.Link buildPartial() { + context.ContextOuterClass.Link result = new context.ContextOuterClass.Link(this); int from_bitField0_ = bitField0_; - if (linksBuilder_ == null) { + if (linkIdBuilder_ == null) { + result.linkId_ = linkId_; + } else { + result.linkId_ = linkIdBuilder_.build(); + } + if (linkEndpointIdsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { - links_ = java.util.Collections.unmodifiableList(links_); + linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_); bitField0_ = (bitField0_ & ~0x00000001); } - result.links_ = links_; + result.linkEndpointIds_ = linkEndpointIds_; } else { - result.links_ = linksBuilder_.build(); + result.linkEndpointIds_ = linkEndpointIdsBuilder_.build(); } onBuilt(); return result; @@ -20030,39 +19479,42 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.LinkList) { - return mergeFrom((context.ContextOuterClass.LinkList)other); + if (other instanceof context.ContextOuterClass.Link) { + return mergeFrom((context.ContextOuterClass.Link)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.LinkList other) { - if (other == context.ContextOuterClass.LinkList.getDefaultInstance()) return this; - if (linksBuilder_ == null) { - if (!other.links_.isEmpty()) { - if (links_.isEmpty()) { - links_ = other.links_; + public Builder mergeFrom(context.ContextOuterClass.Link other) { + if (other == context.ContextOuterClass.Link.getDefaultInstance()) return this; + if (other.hasLinkId()) { + mergeLinkId(other.getLinkId()); + } + if (linkEndpointIdsBuilder_ == null) { + if (!other.linkEndpointIds_.isEmpty()) { + if (linkEndpointIds_.isEmpty()) { + linkEndpointIds_ = other.linkEndpointIds_; bitField0_ = (bitField0_ & ~0x00000001); } else { - ensureLinksIsMutable(); - links_.addAll(other.links_); + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.addAll(other.linkEndpointIds_); } onChanged(); } } else { - if (!other.links_.isEmpty()) { - if (linksBuilder_.isEmpty()) { - linksBuilder_.dispose(); - linksBuilder_ = null; - links_ = other.links_; + if (!other.linkEndpointIds_.isEmpty()) { + if (linkEndpointIdsBuilder_.isEmpty()) { + linkEndpointIdsBuilder_.dispose(); + linkEndpointIdsBuilder_ = null; + linkEndpointIds_ = other.linkEndpointIds_; bitField0_ = (bitField0_ & ~0x00000001); - linksBuilder_ = + linkEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getLinksFieldBuilder() : null; + getLinkEndpointIdsFieldBuilder() : null; } else { - linksBuilder_.addAllMessages(other.links_); + linkEndpointIdsBuilder_.addAllMessages(other.linkEndpointIds_); } } } @@ -20081,11 +19533,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.LinkList parsedMessage = null; + context.ContextOuterClass.Link parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.LinkList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Link) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -20096,244 +19548,363 @@ public final class ContextOuterClass { } private int bitField0_; - private java.util.List links_ = - java.util.Collections.emptyList(); - private void ensureLinksIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - links_ = new java.util.ArrayList(links_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Link, context.ContextOuterClass.Link.Builder, context.ContextOuterClass.LinkOrBuilder> linksBuilder_; - - /** - * repeated .context.Link links = 1; - */ - public java.util.List getLinksList() { - if (linksBuilder_ == null) { - return java.util.Collections.unmodifiableList(links_); - } else { - return linksBuilder_.getMessageList(); - } - } + private context.ContextOuterClass.LinkId linkId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdBuilder_; /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; + * @return Whether the linkId field is set. */ - public int getLinksCount() { - if (linksBuilder_ == null) { - return links_.size(); - } else { - return linksBuilder_.getCount(); - } + public boolean hasLinkId() { + return linkIdBuilder_ != null || linkId_ != null; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; + * @return The linkId. */ - public context.ContextOuterClass.Link getLinks(int index) { - if (linksBuilder_ == null) { - return links_.get(index); + public context.ContextOuterClass.LinkId getLinkId() { + if (linkIdBuilder_ == null) { + return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; } else { - return linksBuilder_.getMessage(index); + return linkIdBuilder_.getMessage(); } } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder setLinks( - int index, context.ContextOuterClass.Link value) { - if (linksBuilder_ == null) { + public Builder setLinkId(context.ContextOuterClass.LinkId value) { + if (linkIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureLinksIsMutable(); - links_.set(index, value); + linkId_ = value; onChanged(); } else { - linksBuilder_.setMessage(index, value); + linkIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder setLinks( - int index, context.ContextOuterClass.Link.Builder builderForValue) { - if (linksBuilder_ == null) { - ensureLinksIsMutable(); - links_.set(index, builderForValue.build()); + public Builder setLinkId( + context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdBuilder_ == null) { + linkId_ = builderForValue.build(); onChanged(); } else { - linksBuilder_.setMessage(index, builderForValue.build()); + linkIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder addLinks(context.ContextOuterClass.Link value) { - if (linksBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeLinkId(context.ContextOuterClass.LinkId value) { + if (linkIdBuilder_ == null) { + if (linkId_ != null) { + linkId_ = + context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial(); + } else { + linkId_ = value; } - ensureLinksIsMutable(); - links_.add(value); onChanged(); } else { - linksBuilder_.addMessage(value); + linkIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder addLinks( - int index, context.ContextOuterClass.Link value) { - if (linksBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureLinksIsMutable(); - links_.add(index, value); + public Builder clearLinkId() { + if (linkIdBuilder_ == null) { + linkId_ = null; onChanged(); } else { - linksBuilder_.addMessage(index, value); + linkId_ = null; + linkIdBuilder_ = null; } + return this; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder addLinks( - context.ContextOuterClass.Link.Builder builderForValue) { - if (linksBuilder_ == null) { - ensureLinksIsMutable(); - links_.add(builderForValue.build()); - onChanged(); - } else { - linksBuilder_.addMessage(builderForValue.build()); - } - return this; + public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() { + + onChanged(); + return getLinkIdFieldBuilder().getBuilder(); } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder addLinks( - int index, context.ContextOuterClass.Link.Builder builderForValue) { - if (linksBuilder_ == null) { - ensureLinksIsMutable(); - links_.add(index, builderForValue.build()); - onChanged(); + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { + if (linkIdBuilder_ != null) { + return linkIdBuilder_.getMessageOrBuilder(); } else { - linksBuilder_.addMessage(index, builderForValue.build()); + return linkId_ == null ? + context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; } - return this; } /** - * repeated .context.Link links = 1; + * .context.LinkId link_id = 1; */ - public Builder addAllLinks( - java.lang.Iterable values) { - if (linksBuilder_ == null) { - ensureLinksIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, links_); - onChanged(); - } else { - linksBuilder_.addAllMessages(values); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> + getLinkIdFieldBuilder() { + if (linkIdBuilder_ == null) { + linkIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( + getLinkId(), + getParentForChildren(), + isClean()); + linkId_ = null; } - return this; + return linkIdBuilder_; + } + + private java.util.List linkEndpointIds_ = + java.util.Collections.emptyList(); + private void ensureLinkEndpointIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + linkEndpointIds_ = new java.util.ArrayList(linkEndpointIds_); + bitField0_ |= 0x00000001; + } } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> linkEndpointIdsBuilder_; + /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public Builder clearLinks() { - if (linksBuilder_ == null) { - links_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + public java.util.List getLinkEndpointIdsList() { + if (linkEndpointIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(linkEndpointIds_); } else { - linksBuilder_.clear(); + return linkEndpointIdsBuilder_.getMessageList(); } - return this; } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public Builder removeLinks(int index) { - if (linksBuilder_ == null) { - ensureLinksIsMutable(); - links_.remove(index); - onChanged(); + public int getLinkEndpointIdsCount() { + if (linkEndpointIdsBuilder_ == null) { + return linkEndpointIds_.size(); } else { - linksBuilder_.remove(index); + return linkEndpointIdsBuilder_.getCount(); } - return this; } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public context.ContextOuterClass.Link.Builder getLinksBuilder( - int index) { - return getLinksFieldBuilder().getBuilder(index); + public context.ContextOuterClass.EndPointId getLinkEndpointIds(int index) { + if (linkEndpointIdsBuilder_ == null) { + return linkEndpointIds_.get(index); + } else { + return linkEndpointIdsBuilder_.getMessage(index); + } } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public context.ContextOuterClass.LinkOrBuilder getLinksOrBuilder( + public Builder setLinkEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (linkEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.set(index, value); + onChanged(); + } else { + linkEndpointIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder setLinkEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (linkEndpointIdsBuilder_ == null) { + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.set(index, builderForValue.build()); + onChanged(); + } else { + linkEndpointIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder addLinkEndpointIds(context.ContextOuterClass.EndPointId value) { + if (linkEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.add(value); + onChanged(); + } else { + linkEndpointIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder addLinkEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (linkEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.add(index, value); + onChanged(); + } else { + linkEndpointIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder addLinkEndpointIds( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (linkEndpointIdsBuilder_ == null) { + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.add(builderForValue.build()); + onChanged(); + } else { + linkEndpointIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder addLinkEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (linkEndpointIdsBuilder_ == null) { + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.add(index, builderForValue.build()); + onChanged(); + } else { + linkEndpointIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder addAllLinkEndpointIds( + java.lang.Iterable values) { + if (linkEndpointIdsBuilder_ == null) { + ensureLinkEndpointIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, linkEndpointIds_); + onChanged(); + } else { + linkEndpointIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder clearLinkEndpointIds() { + if (linkEndpointIdsBuilder_ == null) { + linkEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + linkEndpointIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public Builder removeLinkEndpointIds(int index) { + if (linkEndpointIdsBuilder_ == null) { + ensureLinkEndpointIdsIsMutable(); + linkEndpointIds_.remove(index); + onChanged(); + } else { + linkEndpointIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointId.Builder getLinkEndpointIdsBuilder( int index) { - if (linksBuilder_ == null) { - return links_.get(index); } else { - return linksBuilder_.getMessageOrBuilder(index); + return getLinkEndpointIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.EndPointId link_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointIdOrBuilder getLinkEndpointIdsOrBuilder( + int index) { + if (linkEndpointIdsBuilder_ == null) { + return linkEndpointIds_.get(index); } else { + return linkEndpointIdsBuilder_.getMessageOrBuilder(index); } } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public java.util.List - getLinksOrBuilderList() { - if (linksBuilder_ != null) { - return linksBuilder_.getMessageOrBuilderList(); + public java.util.List + getLinkEndpointIdsOrBuilderList() { + if (linkEndpointIdsBuilder_ != null) { + return linkEndpointIdsBuilder_.getMessageOrBuilderList(); } else { - return java.util.Collections.unmodifiableList(links_); + return java.util.Collections.unmodifiableList(linkEndpointIds_); } } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public context.ContextOuterClass.Link.Builder addLinksBuilder() { - return getLinksFieldBuilder().addBuilder( - context.ContextOuterClass.Link.getDefaultInstance()); + public context.ContextOuterClass.EndPointId.Builder addLinkEndpointIdsBuilder() { + return getLinkEndpointIdsFieldBuilder().addBuilder( + context.ContextOuterClass.EndPointId.getDefaultInstance()); } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public context.ContextOuterClass.Link.Builder addLinksBuilder( + public context.ContextOuterClass.EndPointId.Builder addLinkEndpointIdsBuilder( int index) { - return getLinksFieldBuilder().addBuilder( - index, context.ContextOuterClass.Link.getDefaultInstance()); + return getLinkEndpointIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.EndPointId.getDefaultInstance()); } /** - * repeated .context.Link links = 1; + * repeated .context.EndPointId link_endpoint_ids = 2; */ - public java.util.List - getLinksBuilderList() { - return getLinksFieldBuilder().getBuilderList(); + public java.util.List + getLinkEndpointIdsBuilderList() { + return getLinkEndpointIdsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Link, context.ContextOuterClass.Link.Builder, context.ContextOuterClass.LinkOrBuilder> - getLinksFieldBuilder() { - if (linksBuilder_ == null) { - linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Link, context.ContextOuterClass.Link.Builder, context.ContextOuterClass.LinkOrBuilder>( - links_, + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getLinkEndpointIdsFieldBuilder() { + if (linkEndpointIdsBuilder_ == null) { + linkEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + linkEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - links_ = null; + linkEndpointIds_ = null; } - return linksBuilder_; + return linkEndpointIdsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -20348,100 +19919,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.LinkList) + // @@protoc_insertion_point(builder_scope:context.Link) } - // @@protoc_insertion_point(class_scope:context.LinkList) - private static final context.ContextOuterClass.LinkList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Link) + private static final context.ContextOuterClass.Link DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.LinkList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Link(); } - public static context.ContextOuterClass.LinkList getDefaultInstance() { + public static context.ContextOuterClass.Link getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public LinkList parsePartialFrom( + public Link parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new LinkList(input, extensionRegistry); + return new Link(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.LinkList getDefaultInstanceForType() { + public context.ContextOuterClass.Link getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface LinkEventOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.LinkEvent) + public interface LinkIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.LinkIdList) com.google.protobuf.MessageOrBuilder { /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - boolean hasEvent(); - /** - * .context.Event event = 1; - * @return The event. + * repeated .context.LinkId link_ids = 1; */ - context.ContextOuterClass.Event getEvent(); + java.util.List + getLinkIdsList(); /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); - + context.ContextOuterClass.LinkId getLinkIds(int index); /** - * .context.LinkId link_id = 2; - * @return Whether the linkId field is set. + * repeated .context.LinkId link_ids = 1; */ - boolean hasLinkId(); + int getLinkIdsCount(); /** - * .context.LinkId link_id = 2; - * @return The linkId. + * repeated .context.LinkId link_ids = 1; */ - context.ContextOuterClass.LinkId getLinkId(); + java.util.List + getLinkIdsOrBuilderList(); /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder(); + context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( + int index); } /** - * Protobuf type {@code context.LinkEvent} + * Protobuf type {@code context.LinkIdList} */ - public static final class LinkEvent extends + public static final class LinkIdList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.LinkEvent) - LinkEventOrBuilder { + // @@protoc_insertion_point(message_implements:context.LinkIdList) + LinkIdListOrBuilder { private static final long serialVersionUID = 0L; - // Use LinkEvent.newBuilder() to construct. - private LinkEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use LinkIdList.newBuilder() to construct. + private LinkIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private LinkEvent() { + private LinkIdList() { + linkIds_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new LinkEvent(); + return new LinkIdList(); } @java.lang.Override @@ -20449,7 +20015,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private LinkEvent( + private LinkIdList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -20457,6 +20023,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -20468,29 +20035,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.Event.Builder subBuilder = null; - if (event_ != null) { - subBuilder = event_.toBuilder(); - } - event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(event_); - event_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.LinkId.Builder subBuilder = null; - if (linkId_ != null) { - subBuilder = linkId_.toBuilder(); - } - linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(linkId_); - linkId_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + linkIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + linkIds_.add( + input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry)); break; } default: { @@ -20508,73 +20058,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + linkIds_ = java.util.Collections.unmodifiableList(linkIds_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor; + return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkEvent.class, context.ContextOuterClass.LinkEvent.Builder.class); + context.ContextOuterClass.LinkIdList.class, context.ContextOuterClass.LinkIdList.Builder.class); } - public static final int EVENT_FIELD_NUMBER = 1; - private context.ContextOuterClass.Event event_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - @java.lang.Override - public boolean hasEvent() { - return event_ != null; - } + public static final int LINK_IDS_FIELD_NUMBER = 1; + private java.util.List linkIds_; /** - * .context.Event event = 1; - * @return The event. + * repeated .context.LinkId link_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.Event getEvent() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public java.util.List getLinkIdsList() { + return linkIds_; } /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return getEvent(); + public java.util.List + getLinkIdsOrBuilderList() { + return linkIds_; } - - public static final int LINK_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.LinkId linkId_; /** - * .context.LinkId link_id = 2; - * @return Whether the linkId field is set. + * repeated .context.LinkId link_ids = 1; */ @java.lang.Override - public boolean hasLinkId() { - return linkId_ != null; + public int getLinkIdsCount() { + return linkIds_.size(); } /** - * .context.LinkId link_id = 2; - * @return The linkId. + * repeated .context.LinkId link_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.LinkId getLinkId() { - return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + public context.ContextOuterClass.LinkId getLinkIds(int index) { + return linkIds_.get(index); } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { - return getLinkId(); + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( + int index) { + return linkIds_.get(index); } private byte memoizedIsInitialized = -1; @@ -20591,11 +20132,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (event_ != null) { - output.writeMessage(1, getEvent()); - } - if (linkId_ != null) { - output.writeMessage(2, getLinkId()); + for (int i = 0; i < linkIds_.size(); i++) { + output.writeMessage(1, linkIds_.get(i)); } unknownFields.writeTo(output); } @@ -20606,13 +20144,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (event_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEvent()); - } - if (linkId_ != null) { + for (int i = 0; i < linkIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getLinkId()); + .computeMessageSize(1, linkIds_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -20624,21 +20158,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.LinkEvent)) { + if (!(obj instanceof context.ContextOuterClass.LinkIdList)) { return super.equals(obj); } - context.ContextOuterClass.LinkEvent other = (context.ContextOuterClass.LinkEvent) obj; + context.ContextOuterClass.LinkIdList other = (context.ContextOuterClass.LinkIdList) obj; - if (hasEvent() != other.hasEvent()) return false; - if (hasEvent()) { - if (!getEvent() - .equals(other.getEvent())) return false; - } - if (hasLinkId() != other.hasLinkId()) return false; - if (hasLinkId()) { - if (!getLinkId() - .equals(other.getLinkId())) return false; - } + if (!getLinkIdsList() + .equals(other.getLinkIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -20650,82 +20176,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEvent()) { - hash = (37 * hash) + EVENT_FIELD_NUMBER; - hash = (53 * hash) + getEvent().hashCode(); - } - if (hasLinkId()) { - hash = (37 * hash) + LINK_ID_FIELD_NUMBER; - hash = (53 * hash) + getLinkId().hashCode(); + if (getLinkIdsCount() > 0) { + hash = (37 * hash) + LINK_IDS_FIELD_NUMBER; + hash = (53 * hash) + getLinkIdsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkEvent parseFrom(byte[] data) + public static context.ContextOuterClass.LinkIdList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.LinkEvent parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkIdList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkEvent parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkIdList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkEvent parseDelimitedFrom( + public static context.ContextOuterClass.LinkIdList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.LinkEvent parseFrom( + public static context.ContextOuterClass.LinkIdList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -20738,7 +20260,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.LinkEvent prototype) { + public static Builder newBuilder(context.ContextOuterClass.LinkIdList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -20754,26 +20276,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.LinkEvent} + * Protobuf type {@code context.LinkIdList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.LinkEvent) - context.ContextOuterClass.LinkEventOrBuilder { + // @@protoc_insertion_point(builder_implements:context.LinkIdList) + context.ContextOuterClass.LinkIdListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor; + return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_LinkEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkIdList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.LinkEvent.class, context.ContextOuterClass.LinkEvent.Builder.class); + context.ContextOuterClass.LinkIdList.class, context.ContextOuterClass.LinkIdList.Builder.class); } - // Construct using context.ContextOuterClass.LinkEvent.newBuilder() + // Construct using context.ContextOuterClass.LinkIdList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -20786,22 +20308,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getLinkIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (eventBuilder_ == null) { - event_ = null; - } else { - event_ = null; - eventBuilder_ = null; - } - if (linkIdBuilder_ == null) { - linkId_ = null; + if (linkIdsBuilder_ == null) { + linkIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - linkId_ = null; - linkIdBuilder_ = null; + linkIdsBuilder_.clear(); } return this; } @@ -20809,17 +20326,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor; + return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor; } @java.lang.Override - public context.ContextOuterClass.LinkEvent getDefaultInstanceForType() { - return context.ContextOuterClass.LinkEvent.getDefaultInstance(); + public context.ContextOuterClass.LinkIdList getDefaultInstanceForType() { + return context.ContextOuterClass.LinkIdList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.LinkEvent build() { - context.ContextOuterClass.LinkEvent result = buildPartial(); + public context.ContextOuterClass.LinkIdList build() { + context.ContextOuterClass.LinkIdList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -20827,17 +20344,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.LinkEvent buildPartial() { - context.ContextOuterClass.LinkEvent result = new context.ContextOuterClass.LinkEvent(this); - if (eventBuilder_ == null) { - result.event_ = event_; - } else { - result.event_ = eventBuilder_.build(); - } - if (linkIdBuilder_ == null) { - result.linkId_ = linkId_; + public context.ContextOuterClass.LinkIdList buildPartial() { + context.ContextOuterClass.LinkIdList result = new context.ContextOuterClass.LinkIdList(this); + int from_bitField0_ = bitField0_; + if (linkIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + linkIds_ = java.util.Collections.unmodifiableList(linkIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.linkIds_ = linkIds_; } else { - result.linkId_ = linkIdBuilder_.build(); + result.linkIds_ = linkIdsBuilder_.build(); } onBuilt(); return result; @@ -20877,42 +20394,62 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.LinkEvent) { - return mergeFrom((context.ContextOuterClass.LinkEvent)other); + if (other instanceof context.ContextOuterClass.LinkIdList) { + return mergeFrom((context.ContextOuterClass.LinkIdList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.LinkEvent other) { - if (other == context.ContextOuterClass.LinkEvent.getDefaultInstance()) return this; - if (other.hasEvent()) { - mergeEvent(other.getEvent()); - } - if (other.hasLinkId()) { - mergeLinkId(other.getLinkId()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } + public Builder mergeFrom(context.ContextOuterClass.LinkIdList other) { + if (other == context.ContextOuterClass.LinkIdList.getDefaultInstance()) return this; + if (linkIdsBuilder_ == null) { + if (!other.linkIds_.isEmpty()) { + if (linkIds_.isEmpty()) { + linkIds_ = other.linkIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureLinkIdsIsMutable(); + linkIds_.addAll(other.linkIds_); + } + onChanged(); + } + } else { + if (!other.linkIds_.isEmpty()) { + if (linkIdsBuilder_.isEmpty()) { + linkIdsBuilder_.dispose(); + linkIdsBuilder_ = null; + linkIds_ = other.linkIds_; + bitField0_ = (bitField0_ & ~0x00000001); + linkIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getLinkIdsFieldBuilder() : null; + } else { + linkIdsBuilder_.addAllMessages(other.linkIds_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.LinkEvent parsedMessage = null; + context.ContextOuterClass.LinkIdList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.LinkEvent) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.LinkIdList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -20921,243 +20458,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List linkIds_ = + java.util.Collections.emptyList(); + private void ensureLinkIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + linkIds_ = new java.util.ArrayList(linkIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdsBuilder_; - private context.ContextOuterClass.Event event_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.Event event = 1; - * @return Whether the event field is set. + * repeated .context.LinkId link_ids = 1; */ - public boolean hasEvent() { - return eventBuilder_ != null || event_ != null; + public java.util.List getLinkIdsList() { + if (linkIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(linkIds_); + } else { + return linkIdsBuilder_.getMessageList(); + } } /** - * .context.Event event = 1; - * @return The event. + * repeated .context.LinkId link_ids = 1; */ - public context.ContextOuterClass.Event getEvent() { - if (eventBuilder_ == null) { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + public int getLinkIdsCount() { + if (linkIdsBuilder_ == null) { + return linkIds_.size(); } else { - return eventBuilder_.getMessage(); + return linkIdsBuilder_.getCount(); } } /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - public Builder setEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { + public context.ContextOuterClass.LinkId getLinkIds(int index) { + if (linkIdsBuilder_ == null) { + return linkIds_.get(index); + } else { + return linkIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.LinkId link_ids = 1; + */ + public Builder setLinkIds( + int index, context.ContextOuterClass.LinkId value) { + if (linkIdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - event_ = value; + ensureLinkIdsIsMutable(); + linkIds_.set(index, value); onChanged(); } else { - eventBuilder_.setMessage(value); + linkIdsBuilder_.setMessage(index, value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - public Builder setEvent( - context.ContextOuterClass.Event.Builder builderForValue) { - if (eventBuilder_ == null) { - event_ = builderForValue.build(); + public Builder setLinkIds( + int index, context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.set(index, builderForValue.build()); onChanged(); } else { - eventBuilder_.setMessage(builderForValue.build()); + linkIdsBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - public Builder mergeEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (event_ != null) { - event_ = - context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); - } else { - event_ = value; + public Builder addLinkIds(context.ContextOuterClass.LinkId value) { + if (linkIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureLinkIdsIsMutable(); + linkIds_.add(value); onChanged(); } else { - eventBuilder_.mergeFrom(value); + linkIdsBuilder_.addMessage(value); } - return this; } /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - public Builder clearEvent() { - if (eventBuilder_ == null) { - event_ = null; + public Builder addLinkIds( + int index, context.ContextOuterClass.LinkId value) { + if (linkIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinkIdsIsMutable(); + linkIds_.add(index, value); onChanged(); } else { - event_ = null; - eventBuilder_ = null; + linkIdsBuilder_.addMessage(index, value); } - return this; } /** - * .context.Event event = 1; - */ - public context.ContextOuterClass.Event.Builder getEventBuilder() { - - onChanged(); - return getEventFieldBuilder().getBuilder(); - } - /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - if (eventBuilder_ != null) { - return eventBuilder_.getMessageOrBuilder(); + public Builder addLinkIds( + context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.add(builderForValue.build()); + onChanged(); } else { - return event_ == null ? - context.ContextOuterClass.Event.getDefaultInstance() : event_; + linkIdsBuilder_.addMessage(builderForValue.build()); } + return this; } /** - * .context.Event event = 1; + * repeated .context.LinkId link_ids = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> - getEventFieldBuilder() { - if (eventBuilder_ == null) { - eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( - getEvent(), - getParentForChildren(), - isClean()); - event_ = null; + public Builder addLinkIds( + int index, context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.add(index, builderForValue.build()); + onChanged(); + } else { + linkIdsBuilder_.addMessage(index, builderForValue.build()); } - return eventBuilder_; - } - - private context.ContextOuterClass.LinkId linkId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdBuilder_; - /** - * .context.LinkId link_id = 2; - * @return Whether the linkId field is set. - */ - public boolean hasLinkId() { - return linkIdBuilder_ != null || linkId_ != null; + return this; } /** - * .context.LinkId link_id = 2; - * @return The linkId. + * repeated .context.LinkId link_ids = 1; */ - public context.ContextOuterClass.LinkId getLinkId() { - if (linkIdBuilder_ == null) { - return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + public Builder addAllLinkIds( + java.lang.Iterable values) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, linkIds_); + onChanged(); } else { - return linkIdBuilder_.getMessage(); + linkIdsBuilder_.addAllMessages(values); } + return this; } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - public Builder setLinkId(context.ContextOuterClass.LinkId value) { - if (linkIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - linkId_ = value; + public Builder clearLinkIds() { + if (linkIdsBuilder_ == null) { + linkIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - linkIdBuilder_.setMessage(value); + linkIdsBuilder_.clear(); } - return this; } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - public Builder setLinkId( - context.ContextOuterClass.LinkId.Builder builderForValue) { - if (linkIdBuilder_ == null) { - linkId_ = builderForValue.build(); + public Builder removeLinkIds(int index) { + if (linkIdsBuilder_ == null) { + ensureLinkIdsIsMutable(); + linkIds_.remove(index); onChanged(); } else { - linkIdBuilder_.setMessage(builderForValue.build()); + linkIdsBuilder_.remove(index); } - return this; } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - public Builder mergeLinkId(context.ContextOuterClass.LinkId value) { - if (linkIdBuilder_ == null) { - if (linkId_ != null) { - linkId_ = - context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial(); - } else { - linkId_ = value; - } - onChanged(); - } else { - linkIdBuilder_.mergeFrom(value); + public context.ContextOuterClass.LinkId.Builder getLinkIdsBuilder( + int index) { + return getLinkIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.LinkId link_ids = 1; + */ + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdsOrBuilder( + int index) { + if (linkIdsBuilder_ == null) { + return linkIds_.get(index); } else { + return linkIdsBuilder_.getMessageOrBuilder(index); } - - return this; } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - public Builder clearLinkId() { - if (linkIdBuilder_ == null) { - linkId_ = null; - onChanged(); + public java.util.List + getLinkIdsOrBuilderList() { + if (linkIdsBuilder_ != null) { + return linkIdsBuilder_.getMessageOrBuilderList(); } else { - linkId_ = null; - linkIdBuilder_ = null; + return java.util.Collections.unmodifiableList(linkIds_); } - - return this; } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() { - - onChanged(); - return getLinkIdFieldBuilder().getBuilder(); + public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder() { + return getLinkIdsFieldBuilder().addBuilder( + context.ContextOuterClass.LinkId.getDefaultInstance()); } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { - if (linkIdBuilder_ != null) { - return linkIdBuilder_.getMessageOrBuilder(); - } else { - return linkId_ == null ? - context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; - } + public context.ContextOuterClass.LinkId.Builder addLinkIdsBuilder( + int index) { + return getLinkIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.LinkId.getDefaultInstance()); } /** - * .context.LinkId link_id = 2; + * repeated .context.LinkId link_ids = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< + public java.util.List + getLinkIdsBuilderList() { + return getLinkIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> - getLinkIdFieldBuilder() { - if (linkIdBuilder_ == null) { - linkIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getLinkIdsFieldBuilder() { + if (linkIdsBuilder_ == null) { + linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( - getLinkId(), + linkIds_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - linkId_ = null; + linkIds_ = null; } - return linkIdBuilder_; + return linkIdsBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -21172,104 +20712,95 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.LinkEvent) + // @@protoc_insertion_point(builder_scope:context.LinkIdList) } - // @@protoc_insertion_point(class_scope:context.LinkEvent) - private static final context.ContextOuterClass.LinkEvent DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.LinkIdList) + private static final context.ContextOuterClass.LinkIdList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.LinkEvent(); + DEFAULT_INSTANCE = new context.ContextOuterClass.LinkIdList(); } - public static context.ContextOuterClass.LinkEvent getDefaultInstance() { + public static context.ContextOuterClass.LinkIdList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public LinkEvent parsePartialFrom( + public LinkIdList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new LinkEvent(input, extensionRegistry); + return new LinkIdList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.LinkEvent getDefaultInstanceForType() { + public context.ContextOuterClass.LinkIdList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ServiceId) + public interface LinkListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.LinkList) com.google.protobuf.MessageOrBuilder { /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. - */ - boolean hasContextId(); - /** - * .context.ContextId context_id = 1; - * @return The contextId. + * repeated .context.Link links = 1; */ - context.ContextOuterClass.ContextId getContextId(); + java.util.List + getLinksList(); /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); - + context.ContextOuterClass.Link getLinks(int index); /** - * .context.Uuid service_uuid = 2; - * @return Whether the serviceUuid field is set. + * repeated .context.Link links = 1; */ - boolean hasServiceUuid(); + int getLinksCount(); /** - * .context.Uuid service_uuid = 2; - * @return The serviceUuid. + * repeated .context.Link links = 1; */ - context.ContextOuterClass.Uuid getServiceUuid(); + java.util.List + getLinksOrBuilderList(); /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder(); + context.ContextOuterClass.LinkOrBuilder getLinksOrBuilder( + int index); } /** - *
-   * ----- Service -------------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.ServiceId} + * Protobuf type {@code context.LinkList} */ - public static final class ServiceId extends + public static final class LinkList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ServiceId) - ServiceIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.LinkList) + LinkListOrBuilder { private static final long serialVersionUID = 0L; - // Use ServiceId.newBuilder() to construct. - private ServiceId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use LinkList.newBuilder() to construct. + private LinkList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ServiceId() { + private LinkList() { + links_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ServiceId(); + return new LinkList(); } @java.lang.Override @@ -21277,7 +20808,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ServiceId( + private LinkList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -21285,6 +20816,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -21296,29 +20828,12 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.ContextId.Builder subBuilder = null; - if (contextId_ != null) { - subBuilder = contextId_.toBuilder(); - } - contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(contextId_); - contextId_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (serviceUuid_ != null) { - subBuilder = serviceUuid_.toBuilder(); - } - serviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(serviceUuid_); - serviceUuid_ = subBuilder.buildPartial(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + links_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - + links_.add( + input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry)); break; } default: { @@ -21336,73 +20851,64 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + links_ = java.util.Collections.unmodifiableList(links_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceId_descriptor; + return context.ContextOuterClass.internal_static_context_LinkList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceId.class, context.ContextOuterClass.ServiceId.Builder.class); + context.ContextOuterClass.LinkList.class, context.ContextOuterClass.LinkList.Builder.class); } - public static final int CONTEXT_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.ContextId contextId_; - /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. - */ - @java.lang.Override - public boolean hasContextId() { - return contextId_ != null; - } + public static final int LINKS_FIELD_NUMBER = 1; + private java.util.List links_; /** - * .context.ContextId context_id = 1; - * @return The contextId. + * repeated .context.Link links = 1; */ @java.lang.Override - public context.ContextOuterClass.ContextId getContextId() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public java.util.List getLinksList() { + return links_; } /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ @java.lang.Override - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return getContextId(); + public java.util.List + getLinksOrBuilderList() { + return links_; } - - public static final int SERVICE_UUID_FIELD_NUMBER = 2; - private context.ContextOuterClass.Uuid serviceUuid_; /** - * .context.Uuid service_uuid = 2; - * @return Whether the serviceUuid field is set. + * repeated .context.Link links = 1; */ @java.lang.Override - public boolean hasServiceUuid() { - return serviceUuid_ != null; + public int getLinksCount() { + return links_.size(); } /** - * .context.Uuid service_uuid = 2; - * @return The serviceUuid. + * repeated .context.Link links = 1; */ @java.lang.Override - public context.ContextOuterClass.Uuid getServiceUuid() { - return serviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_; + public context.ContextOuterClass.Link getLinks(int index) { + return links_.get(index); } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder() { - return getServiceUuid(); + public context.ContextOuterClass.LinkOrBuilder getLinksOrBuilder( + int index) { + return links_.get(index); } private byte memoizedIsInitialized = -1; @@ -21419,11 +20925,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (contextId_ != null) { - output.writeMessage(1, getContextId()); - } - if (serviceUuid_ != null) { - output.writeMessage(2, getServiceUuid()); + for (int i = 0; i < links_.size(); i++) { + output.writeMessage(1, links_.get(i)); } unknownFields.writeTo(output); } @@ -21434,13 +20937,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (contextId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getContextId()); - } - if (serviceUuid_ != null) { + for (int i = 0; i < links_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getServiceUuid()); + .computeMessageSize(1, links_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -21452,21 +20951,13 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ServiceId)) { + if (!(obj instanceof context.ContextOuterClass.LinkList)) { return super.equals(obj); } - context.ContextOuterClass.ServiceId other = (context.ContextOuterClass.ServiceId) obj; + context.ContextOuterClass.LinkList other = (context.ContextOuterClass.LinkList) obj; - if (hasContextId() != other.hasContextId()) return false; - if (hasContextId()) { - if (!getContextId() - .equals(other.getContextId())) return false; - } - if (hasServiceUuid() != other.hasServiceUuid()) return false; - if (hasServiceUuid()) { - if (!getServiceUuid() - .equals(other.getServiceUuid())) return false; - } + if (!getLinksList() + .equals(other.getLinksList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -21478,82 +20969,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasContextId()) { - hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; - hash = (53 * hash) + getContextId().hashCode(); - } - if (hasServiceUuid()) { - hash = (37 * hash) + SERVICE_UUID_FIELD_NUMBER; - hash = (53 * hash) + getServiceUuid().hashCode(); + if (getLinksCount() > 0) { + hash = (37 * hash) + LINKS_FIELD_NUMBER; + hash = (53 * hash) + getLinksList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceId parseFrom(byte[] data) + public static context.ContextOuterClass.LinkList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceId parseDelimitedFrom( + public static context.ContextOuterClass.LinkList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceId parseFrom( + public static context.ContextOuterClass.LinkList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -21566,7 +21053,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ServiceId prototype) { + public static Builder newBuilder(context.ContextOuterClass.LinkList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -21582,30 +21069,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Service -------------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.ServiceId} + * Protobuf type {@code context.LinkList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ServiceId) - context.ContextOuterClass.ServiceIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.LinkList) + context.ContextOuterClass.LinkListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceId_descriptor; + return context.ContextOuterClass.internal_static_context_LinkList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkList_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceId.class, context.ContextOuterClass.ServiceId.Builder.class); + context.ContextOuterClass.LinkList.class, context.ContextOuterClass.LinkList.Builder.class); } - // Construct using context.ContextOuterClass.ServiceId.newBuilder() + // Construct using context.ContextOuterClass.LinkList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -21618,22 +21101,17 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getLinksFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (contextIdBuilder_ == null) { - contextId_ = null; - } else { - contextId_ = null; - contextIdBuilder_ = null; - } - if (serviceUuidBuilder_ == null) { - serviceUuid_ = null; + if (linksBuilder_ == null) { + links_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - serviceUuid_ = null; - serviceUuidBuilder_ = null; + linksBuilder_.clear(); } return this; } @@ -21641,17 +21119,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ServiceId_descriptor; + return context.ContextOuterClass.internal_static_context_LinkList_descriptor; } @java.lang.Override - public context.ContextOuterClass.ServiceId getDefaultInstanceForType() { - return context.ContextOuterClass.ServiceId.getDefaultInstance(); + public context.ContextOuterClass.LinkList getDefaultInstanceForType() { + return context.ContextOuterClass.LinkList.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ServiceId build() { - context.ContextOuterClass.ServiceId result = buildPartial(); + public context.ContextOuterClass.LinkList build() { + context.ContextOuterClass.LinkList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -21659,17 +21137,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ServiceId buildPartial() { - context.ContextOuterClass.ServiceId result = new context.ContextOuterClass.ServiceId(this); - if (contextIdBuilder_ == null) { - result.contextId_ = contextId_; - } else { - result.contextId_ = contextIdBuilder_.build(); - } - if (serviceUuidBuilder_ == null) { - result.serviceUuid_ = serviceUuid_; + public context.ContextOuterClass.LinkList buildPartial() { + context.ContextOuterClass.LinkList result = new context.ContextOuterClass.LinkList(this); + int from_bitField0_ = bitField0_; + if (linksBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + links_ = java.util.Collections.unmodifiableList(links_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.links_ = links_; } else { - result.serviceUuid_ = serviceUuidBuilder_.build(); + result.links_ = linksBuilder_.build(); } onBuilt(); return result; @@ -21709,21 +21187,41 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ServiceId) { - return mergeFrom((context.ContextOuterClass.ServiceId)other); + if (other instanceof context.ContextOuterClass.LinkList) { + return mergeFrom((context.ContextOuterClass.LinkList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ServiceId other) { - if (other == context.ContextOuterClass.ServiceId.getDefaultInstance()) return this; - if (other.hasContextId()) { - mergeContextId(other.getContextId()); - } - if (other.hasServiceUuid()) { - mergeServiceUuid(other.getServiceUuid()); + public Builder mergeFrom(context.ContextOuterClass.LinkList other) { + if (other == context.ContextOuterClass.LinkList.getDefaultInstance()) return this; + if (linksBuilder_ == null) { + if (!other.links_.isEmpty()) { + if (links_.isEmpty()) { + links_ = other.links_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureLinksIsMutable(); + links_.addAll(other.links_); + } + onChanged(); + } + } else { + if (!other.links_.isEmpty()) { + if (linksBuilder_.isEmpty()) { + linksBuilder_.dispose(); + linksBuilder_ = null; + links_ = other.links_; + bitField0_ = (bitField0_ & ~0x00000001); + linksBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getLinksFieldBuilder() : null; + } else { + linksBuilder_.addAllMessages(other.links_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -21740,11 +21238,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ServiceId parsedMessage = null; + context.ContextOuterClass.LinkList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ServiceId) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.LinkList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -21753,243 +21251,246 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; + + private java.util.List links_ = + java.util.Collections.emptyList(); + private void ensureLinksIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + links_ = new java.util.ArrayList(links_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Link, context.ContextOuterClass.Link.Builder, context.ContextOuterClass.LinkOrBuilder> linksBuilder_; - private context.ContextOuterClass.ContextId contextId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; /** - * .context.ContextId context_id = 1; - * @return Whether the contextId field is set. + * repeated .context.Link links = 1; */ - public boolean hasContextId() { - return contextIdBuilder_ != null || contextId_ != null; + public java.util.List getLinksList() { + if (linksBuilder_ == null) { + return java.util.Collections.unmodifiableList(links_); + } else { + return linksBuilder_.getMessageList(); + } } /** - * .context.ContextId context_id = 1; - * @return The contextId. + * repeated .context.Link links = 1; */ - public context.ContextOuterClass.ContextId getContextId() { - if (contextIdBuilder_ == null) { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + public int getLinksCount() { + if (linksBuilder_ == null) { + return links_.size(); } else { - return contextIdBuilder_.getMessage(); + return linksBuilder_.getCount(); } } /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - public Builder setContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { + public context.ContextOuterClass.Link getLinks(int index) { + if (linksBuilder_ == null) { + return links_.get(index); + } else { + return linksBuilder_.getMessage(index); + } + } + /** + * repeated .context.Link links = 1; + */ + public Builder setLinks( + int index, context.ContextOuterClass.Link value) { + if (linksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - contextId_ = value; + ensureLinksIsMutable(); + links_.set(index, value); onChanged(); } else { - contextIdBuilder_.setMessage(value); + linksBuilder_.setMessage(index, value); } - return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - public Builder setContextId( - context.ContextOuterClass.ContextId.Builder builderForValue) { - if (contextIdBuilder_ == null) { - contextId_ = builderForValue.build(); + public Builder setLinks( + int index, context.ContextOuterClass.Link.Builder builderForValue) { + if (linksBuilder_ == null) { + ensureLinksIsMutable(); + links_.set(index, builderForValue.build()); onChanged(); } else { - contextIdBuilder_.setMessage(builderForValue.build()); + linksBuilder_.setMessage(index, builderForValue.build()); } - return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - public Builder mergeContextId(context.ContextOuterClass.ContextId value) { - if (contextIdBuilder_ == null) { - if (contextId_ != null) { - contextId_ = - context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); - } else { - contextId_ = value; + public Builder addLinks(context.ContextOuterClass.Link value) { + if (linksBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } + ensureLinksIsMutable(); + links_.add(value); onChanged(); } else { - contextIdBuilder_.mergeFrom(value); + linksBuilder_.addMessage(value); } - return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - public Builder clearContextId() { - if (contextIdBuilder_ == null) { - contextId_ = null; + public Builder addLinks( + int index, context.ContextOuterClass.Link value) { + if (linksBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinksIsMutable(); + links_.add(index, value); onChanged(); } else { - contextId_ = null; - contextIdBuilder_ = null; + linksBuilder_.addMessage(index, value); } - return this; } /** - * .context.ContextId context_id = 1; - */ - public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { - - onChanged(); - return getContextIdFieldBuilder().getBuilder(); - } - /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - if (contextIdBuilder_ != null) { - return contextIdBuilder_.getMessageOrBuilder(); + public Builder addLinks( + context.ContextOuterClass.Link.Builder builderForValue) { + if (linksBuilder_ == null) { + ensureLinksIsMutable(); + links_.add(builderForValue.build()); + onChanged(); } else { - return contextId_ == null ? - context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + linksBuilder_.addMessage(builderForValue.build()); } + return this; } /** - * .context.ContextId context_id = 1; + * repeated .context.Link links = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> - getContextIdFieldBuilder() { - if (contextIdBuilder_ == null) { - contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( - getContextId(), - getParentForChildren(), - isClean()); - contextId_ = null; + public Builder addLinks( + int index, context.ContextOuterClass.Link.Builder builderForValue) { + if (linksBuilder_ == null) { + ensureLinksIsMutable(); + links_.add(index, builderForValue.build()); + onChanged(); + } else { + linksBuilder_.addMessage(index, builderForValue.build()); } - return contextIdBuilder_; - } - - private context.ContextOuterClass.Uuid serviceUuid_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> serviceUuidBuilder_; - /** - * .context.Uuid service_uuid = 2; - * @return Whether the serviceUuid field is set. - */ - public boolean hasServiceUuid() { - return serviceUuidBuilder_ != null || serviceUuid_ != null; + return this; } /** - * .context.Uuid service_uuid = 2; - * @return The serviceUuid. + * repeated .context.Link links = 1; */ - public context.ContextOuterClass.Uuid getServiceUuid() { - if (serviceUuidBuilder_ == null) { - return serviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_; + public Builder addAllLinks( + java.lang.Iterable values) { + if (linksBuilder_ == null) { + ensureLinksIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, links_); + onChanged(); } else { - return serviceUuidBuilder_.getMessage(); + linksBuilder_.addAllMessages(values); } + return this; } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - public Builder setServiceUuid(context.ContextOuterClass.Uuid value) { - if (serviceUuidBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - serviceUuid_ = value; + public Builder clearLinks() { + if (linksBuilder_ == null) { + links_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - serviceUuidBuilder_.setMessage(value); + linksBuilder_.clear(); } - return this; } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - public Builder setServiceUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (serviceUuidBuilder_ == null) { - serviceUuid_ = builderForValue.build(); + public Builder removeLinks(int index) { + if (linksBuilder_ == null) { + ensureLinksIsMutable(); + links_.remove(index); onChanged(); } else { - serviceUuidBuilder_.setMessage(builderForValue.build()); + linksBuilder_.remove(index); } - return this; } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - public Builder mergeServiceUuid(context.ContextOuterClass.Uuid value) { - if (serviceUuidBuilder_ == null) { - if (serviceUuid_ != null) { - serviceUuid_ = - context.ContextOuterClass.Uuid.newBuilder(serviceUuid_).mergeFrom(value).buildPartial(); - } else { - serviceUuid_ = value; - } - onChanged(); - } else { - serviceUuidBuilder_.mergeFrom(value); + public context.ContextOuterClass.Link.Builder getLinksBuilder( + int index) { + return getLinksFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Link links = 1; + */ + public context.ContextOuterClass.LinkOrBuilder getLinksOrBuilder( + int index) { + if (linksBuilder_ == null) { + return links_.get(index); } else { + return linksBuilder_.getMessageOrBuilder(index); } - - return this; } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - public Builder clearServiceUuid() { - if (serviceUuidBuilder_ == null) { - serviceUuid_ = null; - onChanged(); + public java.util.List + getLinksOrBuilderList() { + if (linksBuilder_ != null) { + return linksBuilder_.getMessageOrBuilderList(); } else { - serviceUuid_ = null; - serviceUuidBuilder_ = null; + return java.util.Collections.unmodifiableList(links_); } - - return this; } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - public context.ContextOuterClass.Uuid.Builder getServiceUuidBuilder() { - - onChanged(); - return getServiceUuidFieldBuilder().getBuilder(); + public context.ContextOuterClass.Link.Builder addLinksBuilder() { + return getLinksFieldBuilder().addBuilder( + context.ContextOuterClass.Link.getDefaultInstance()); } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - public context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder() { - if (serviceUuidBuilder_ != null) { - return serviceUuidBuilder_.getMessageOrBuilder(); - } else { - return serviceUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_; - } + public context.ContextOuterClass.Link.Builder addLinksBuilder( + int index) { + return getLinksFieldBuilder().addBuilder( + index, context.ContextOuterClass.Link.getDefaultInstance()); } /** - * .context.Uuid service_uuid = 2; + * repeated .context.Link links = 1; */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getServiceUuidFieldBuilder() { - if (serviceUuidBuilder_ == null) { - serviceUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getServiceUuid(), + public java.util.List + getLinksBuilderList() { + return getLinksFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Link, context.ContextOuterClass.Link.Builder, context.ContextOuterClass.LinkOrBuilder> + getLinksFieldBuilder() { + if (linksBuilder_ == null) { + linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Link, context.ContextOuterClass.Link.Builder, context.ContextOuterClass.LinkOrBuilder>( + links_, + ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - serviceUuid_ = null; + links_ = null; } - return serviceUuidBuilder_; + return linksBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -22004,177 +21505,100 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ServiceId) + // @@protoc_insertion_point(builder_scope:context.LinkList) } - // @@protoc_insertion_point(class_scope:context.ServiceId) - private static final context.ContextOuterClass.ServiceId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.LinkList) + private static final context.ContextOuterClass.LinkList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.LinkList(); } - public static context.ContextOuterClass.ServiceId getDefaultInstance() { + public static context.ContextOuterClass.LinkList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ServiceId parsePartialFrom( + public LinkList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ServiceId(input, extensionRegistry); + return new LinkList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ServiceId getDefaultInstanceForType() { + public context.ContextOuterClass.LinkList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.Service) + public interface LinkEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.LinkEvent) com.google.protobuf.MessageOrBuilder { /** - * .context.ServiceId service_id = 1; - * @return Whether the serviceId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - boolean hasServiceId(); + boolean hasEvent(); /** - * .context.ServiceId service_id = 1; - * @return The serviceId. + * .context.Event event = 1; + * @return The event. */ - context.ContextOuterClass.ServiceId getServiceId(); + context.ContextOuterClass.Event getEvent(); /** - * .context.ServiceId service_id = 1; + * .context.Event event = 1; */ - context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); /** - * .context.ServiceTypeEnum service_type = 2; - * @return The enum numeric value on the wire for serviceType. - */ - int getServiceTypeValue(); - /** - * .context.ServiceTypeEnum service_type = 2; - * @return The serviceType. - */ - context.ContextOuterClass.ServiceTypeEnum getServiceType(); - - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - java.util.List - getServiceEndpointIdsList(); - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - context.ContextOuterClass.EndPointId getServiceEndpointIds(int index); - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - int getServiceEndpointIdsCount(); - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - java.util.List - getServiceEndpointIdsOrBuilderList(); - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - context.ContextOuterClass.EndPointIdOrBuilder getServiceEndpointIdsOrBuilder( - int index); - - /** - * repeated .context.Constraint service_constraints = 4; - */ - java.util.List - getServiceConstraintsList(); - /** - * repeated .context.Constraint service_constraints = 4; - */ - context.ContextOuterClass.Constraint getServiceConstraints(int index); - /** - * repeated .context.Constraint service_constraints = 4; - */ - int getServiceConstraintsCount(); - /** - * repeated .context.Constraint service_constraints = 4; - */ - java.util.List - getServiceConstraintsOrBuilderList(); - /** - * repeated .context.Constraint service_constraints = 4; - */ - context.ContextOuterClass.ConstraintOrBuilder getServiceConstraintsOrBuilder( - int index); - - /** - * .context.ServiceStatus service_status = 5; - * @return Whether the serviceStatus field is set. - */ - boolean hasServiceStatus(); - /** - * .context.ServiceStatus service_status = 5; - * @return The serviceStatus. - */ - context.ContextOuterClass.ServiceStatus getServiceStatus(); - /** - * .context.ServiceStatus service_status = 5; - */ - context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder(); - - /** - * .context.ServiceConfig service_config = 6; - * @return Whether the serviceConfig field is set. + * .context.LinkId link_id = 2; + * @return Whether the linkId field is set. */ - boolean hasServiceConfig(); + boolean hasLinkId(); /** - * .context.ServiceConfig service_config = 6; - * @return The serviceConfig. + * .context.LinkId link_id = 2; + * @return The linkId. */ - context.ContextOuterClass.ServiceConfig getServiceConfig(); + context.ContextOuterClass.LinkId getLinkId(); /** - * .context.ServiceConfig service_config = 6; + * .context.LinkId link_id = 2; */ - context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder(); + context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder(); } /** - * Protobuf type {@code context.Service} + * Protobuf type {@code context.LinkEvent} */ - public static final class Service extends + public static final class LinkEvent extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.Service) - ServiceOrBuilder { + // @@protoc_insertion_point(message_implements:context.LinkEvent) + LinkEventOrBuilder { private static final long serialVersionUID = 0L; - // Use Service.newBuilder() to construct. - private Service(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use LinkEvent.newBuilder() to construct. + private LinkEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Service() { - serviceType_ = 0; - serviceEndpointIds_ = java.util.Collections.emptyList(); - serviceConstraints_ = java.util.Collections.emptyList(); + private LinkEvent() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Service(); + return new LinkEvent(); } @java.lang.Override @@ -22182,7 +21606,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private Service( + private LinkEvent( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -22190,7 +21614,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -22202,64 +21625,27 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.ServiceId.Builder subBuilder = null; - if (serviceId_ != null) { - subBuilder = serviceId_.toBuilder(); - } - serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(serviceId_); - serviceId_ = subBuilder.buildPartial(); - } - - break; - } - case 16: { - int rawValue = input.readEnum(); - - serviceType_ = rawValue; - break; - } - case 26: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - serviceEndpointIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - serviceEndpointIds_.add( - input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); - break; - } - case 34: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - serviceConstraints_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; - } - serviceConstraints_.add( - input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry)); - break; - } - case 42: { - context.ContextOuterClass.ServiceStatus.Builder subBuilder = null; - if (serviceStatus_ != null) { - subBuilder = serviceStatus_.toBuilder(); + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); } - serviceStatus_ = input.readMessage(context.ContextOuterClass.ServiceStatus.parser(), extensionRegistry); + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(serviceStatus_); - serviceStatus_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); } break; } - case 50: { - context.ContextOuterClass.ServiceConfig.Builder subBuilder = null; - if (serviceConfig_ != null) { - subBuilder = serviceConfig_.toBuilder(); + case 18: { + context.ContextOuterClass.LinkId.Builder subBuilder = null; + if (linkId_ != null) { + subBuilder = linkId_.toBuilder(); } - serviceConfig_ = input.readMessage(context.ContextOuterClass.ServiceConfig.parser(), extensionRegistry); + linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(serviceConfig_); - serviceConfig_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(linkId_); + linkId_ = subBuilder.buildPartial(); } break; @@ -22279,204 +21665,73 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Service_descriptor; + return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Service_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Service.class, context.ContextOuterClass.Service.Builder.class); - } - - public static final int SERVICE_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.ServiceId serviceId_; - /** - * .context.ServiceId service_id = 1; - * @return Whether the serviceId field is set. - */ - @java.lang.Override - public boolean hasServiceId() { - return serviceId_ != null; - } - /** - * .context.ServiceId service_id = 1; - * @return The serviceId. - */ - @java.lang.Override - public context.ContextOuterClass.ServiceId getServiceId() { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; - } - /** - * .context.ServiceId service_id = 1; - */ - @java.lang.Override - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - return getServiceId(); - } - - public static final int SERVICE_TYPE_FIELD_NUMBER = 2; - private int serviceType_; - /** - * .context.ServiceTypeEnum service_type = 2; - * @return The enum numeric value on the wire for serviceType. - */ - @java.lang.Override public int getServiceTypeValue() { - return serviceType_; - } - /** - * .context.ServiceTypeEnum service_type = 2; - * @return The serviceType. - */ - @java.lang.Override public context.ContextOuterClass.ServiceTypeEnum getServiceType() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_); - return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result; - } - - public static final int SERVICE_ENDPOINT_IDS_FIELD_NUMBER = 3; - private java.util.List serviceEndpointIds_; - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - @java.lang.Override - public java.util.List getServiceEndpointIdsList() { - return serviceEndpointIds_; - } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - @java.lang.Override - public java.util.List - getServiceEndpointIdsOrBuilderList() { - return serviceEndpointIds_; - } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - @java.lang.Override - public int getServiceEndpointIdsCount() { - return serviceEndpointIds_.size(); - } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - @java.lang.Override - public context.ContextOuterClass.EndPointId getServiceEndpointIds(int index) { - return serviceEndpointIds_.get(index); - } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - @java.lang.Override - public context.ContextOuterClass.EndPointIdOrBuilder getServiceEndpointIdsOrBuilder( - int index) { - return serviceEndpointIds_.get(index); - } - - public static final int SERVICE_CONSTRAINTS_FIELD_NUMBER = 4; - private java.util.List serviceConstraints_; - /** - * repeated .context.Constraint service_constraints = 4; - */ - @java.lang.Override - public java.util.List getServiceConstraintsList() { - return serviceConstraints_; - } - /** - * repeated .context.Constraint service_constraints = 4; - */ - @java.lang.Override - public java.util.List - getServiceConstraintsOrBuilderList() { - return serviceConstraints_; - } - /** - * repeated .context.Constraint service_constraints = 4; - */ - @java.lang.Override - public int getServiceConstraintsCount() { - return serviceConstraints_.size(); - } - /** - * repeated .context.Constraint service_constraints = 4; - */ - @java.lang.Override - public context.ContextOuterClass.Constraint getServiceConstraints(int index) { - return serviceConstraints_.get(index); - } - /** - * repeated .context.Constraint service_constraints = 4; - */ - @java.lang.Override - public context.ContextOuterClass.ConstraintOrBuilder getServiceConstraintsOrBuilder( - int index) { - return serviceConstraints_.get(index); + context.ContextOuterClass.LinkEvent.class, context.ContextOuterClass.LinkEvent.Builder.class); } - public static final int SERVICE_STATUS_FIELD_NUMBER = 5; - private context.ContextOuterClass.ServiceStatus serviceStatus_; + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; /** - * .context.ServiceStatus service_status = 5; - * @return Whether the serviceStatus field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ @java.lang.Override - public boolean hasServiceStatus() { - return serviceStatus_ != null; + public boolean hasEvent() { + return event_ != null; } /** - * .context.ServiceStatus service_status = 5; - * @return The serviceStatus. + * .context.Event event = 1; + * @return The event. */ @java.lang.Override - public context.ContextOuterClass.ServiceStatus getServiceStatus() { - return serviceStatus_ == null ? context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_; + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } /** - * .context.ServiceStatus service_status = 5; + * .context.Event event = 1; */ @java.lang.Override - public context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder() { - return getServiceStatus(); + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); } - public static final int SERVICE_CONFIG_FIELD_NUMBER = 6; - private context.ContextOuterClass.ServiceConfig serviceConfig_; + public static final int LINK_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.LinkId linkId_; /** - * .context.ServiceConfig service_config = 6; - * @return Whether the serviceConfig field is set. + * .context.LinkId link_id = 2; + * @return Whether the linkId field is set. */ @java.lang.Override - public boolean hasServiceConfig() { - return serviceConfig_ != null; + public boolean hasLinkId() { + return linkId_ != null; } /** - * .context.ServiceConfig service_config = 6; - * @return The serviceConfig. + * .context.LinkId link_id = 2; + * @return The linkId. */ @java.lang.Override - public context.ContextOuterClass.ServiceConfig getServiceConfig() { - return serviceConfig_ == null ? context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_; + public context.ContextOuterClass.LinkId getLinkId() { + return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; } /** - * .context.ServiceConfig service_config = 6; + * .context.LinkId link_id = 2; */ @java.lang.Override - public context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder() { - return getServiceConfig(); + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { + return getLinkId(); } private byte memoizedIsInitialized = -1; @@ -22493,23 +21748,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (serviceId_ != null) { - output.writeMessage(1, getServiceId()); - } - if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) { - output.writeEnum(2, serviceType_); - } - for (int i = 0; i < serviceEndpointIds_.size(); i++) { - output.writeMessage(3, serviceEndpointIds_.get(i)); - } - for (int i = 0; i < serviceConstraints_.size(); i++) { - output.writeMessage(4, serviceConstraints_.get(i)); - } - if (serviceStatus_ != null) { - output.writeMessage(5, getServiceStatus()); + if (event_ != null) { + output.writeMessage(1, getEvent()); } - if (serviceConfig_ != null) { - output.writeMessage(6, getServiceConfig()); + if (linkId_ != null) { + output.writeMessage(2, getLinkId()); } unknownFields.writeTo(output); } @@ -22520,29 +21763,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (serviceId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getServiceId()); - } - if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, serviceType_); - } - for (int i = 0; i < serviceEndpointIds_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, serviceEndpointIds_.get(i)); - } - for (int i = 0; i < serviceConstraints_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, serviceConstraints_.get(i)); - } - if (serviceStatus_ != null) { + if (event_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, getServiceStatus()); + .computeMessageSize(1, getEvent()); } - if (serviceConfig_ != null) { + if (linkId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(6, getServiceConfig()); + .computeMessageSize(2, getLinkId()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -22554,30 +21781,20 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.Service)) { + if (!(obj instanceof context.ContextOuterClass.LinkEvent)) { return super.equals(obj); } - context.ContextOuterClass.Service other = (context.ContextOuterClass.Service) obj; + context.ContextOuterClass.LinkEvent other = (context.ContextOuterClass.LinkEvent) obj; - if (hasServiceId() != other.hasServiceId()) return false; - if (hasServiceId()) { - if (!getServiceId() - .equals(other.getServiceId())) return false; - } - if (serviceType_ != other.serviceType_) return false; - if (!getServiceEndpointIdsList() - .equals(other.getServiceEndpointIdsList())) return false; - if (!getServiceConstraintsList() - .equals(other.getServiceConstraintsList())) return false; - if (hasServiceStatus() != other.hasServiceStatus()) return false; - if (hasServiceStatus()) { - if (!getServiceStatus() - .equals(other.getServiceStatus())) return false; + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; } - if (hasServiceConfig() != other.hasServiceConfig()) return false; - if (hasServiceConfig()) { - if (!getServiceConfig() - .equals(other.getServiceConfig())) return false; + if (hasLinkId() != other.hasLinkId()) return false; + if (hasLinkId()) { + if (!getLinkId() + .equals(other.getLinkId())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; @@ -22590,96 +21807,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasServiceId()) { - hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; - hash = (53 * hash) + getServiceId().hashCode(); - } - hash = (37 * hash) + SERVICE_TYPE_FIELD_NUMBER; - hash = (53 * hash) + serviceType_; - if (getServiceEndpointIdsCount() > 0) { - hash = (37 * hash) + SERVICE_ENDPOINT_IDS_FIELD_NUMBER; - hash = (53 * hash) + getServiceEndpointIdsList().hashCode(); - } - if (getServiceConstraintsCount() > 0) { - hash = (37 * hash) + SERVICE_CONSTRAINTS_FIELD_NUMBER; - hash = (53 * hash) + getServiceConstraintsList().hashCode(); - } - if (hasServiceStatus()) { - hash = (37 * hash) + SERVICE_STATUS_FIELD_NUMBER; - hash = (53 * hash) + getServiceStatus().hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); } - if (hasServiceConfig()) { - hash = (37 * hash) + SERVICE_CONFIG_FIELD_NUMBER; - hash = (53 * hash) + getServiceConfig().hashCode(); + if (hasLinkId()) { + hash = (37 * hash) + LINK_ID_FIELD_NUMBER; + hash = (53 * hash) + getLinkId().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Service parseFrom(byte[] data) + public static context.ContextOuterClass.LinkEvent parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Service parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkEvent parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Service parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.LinkEvent parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.Service parseDelimitedFrom( + public static context.ContextOuterClass.LinkEvent parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Service parseFrom( + public static context.ContextOuterClass.LinkEvent parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -22692,7 +21895,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.Service prototype) { + public static Builder newBuilder(context.ContextOuterClass.LinkEvent prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -22708,26 +21911,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.Service} + * Protobuf type {@code context.LinkEvent} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.Service) - context.ContextOuterClass.ServiceOrBuilder { + // @@protoc_insertion_point(builder_implements:context.LinkEvent) + context.ContextOuterClass.LinkEventOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Service_descriptor; + return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Service_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_LinkEvent_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Service.class, context.ContextOuterClass.Service.Builder.class); + context.ContextOuterClass.LinkEvent.class, context.ContextOuterClass.LinkEvent.Builder.class); } - // Construct using context.ContextOuterClass.Service.newBuilder() + // Construct using context.ContextOuterClass.LinkEvent.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -22740,44 +21943,22 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getServiceEndpointIdsFieldBuilder(); - getServiceConstraintsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (serviceIdBuilder_ == null) { - serviceId_ = null; + if (eventBuilder_ == null) { + event_ = null; } else { - serviceId_ = null; - serviceIdBuilder_ = null; + event_ = null; + eventBuilder_ = null; } - serviceType_ = 0; - - if (serviceEndpointIdsBuilder_ == null) { - serviceEndpointIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - serviceEndpointIdsBuilder_.clear(); - } - if (serviceConstraintsBuilder_ == null) { - serviceConstraints_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - } else { - serviceConstraintsBuilder_.clear(); - } - if (serviceStatusBuilder_ == null) { - serviceStatus_ = null; - } else { - serviceStatus_ = null; - serviceStatusBuilder_ = null; - } - if (serviceConfigBuilder_ == null) { - serviceConfig_ = null; + if (linkIdBuilder_ == null) { + linkId_ = null; } else { - serviceConfig_ = null; - serviceConfigBuilder_ = null; + linkId_ = null; + linkIdBuilder_ = null; } return this; } @@ -22785,17 +21966,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Service_descriptor; + return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor; } @java.lang.Override - public context.ContextOuterClass.Service getDefaultInstanceForType() { - return context.ContextOuterClass.Service.getDefaultInstance(); + public context.ContextOuterClass.LinkEvent getDefaultInstanceForType() { + return context.ContextOuterClass.LinkEvent.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.Service build() { - context.ContextOuterClass.Service result = buildPartial(); + public context.ContextOuterClass.LinkEvent build() { + context.ContextOuterClass.LinkEvent result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -22803,42 +21984,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.Service buildPartial() { - context.ContextOuterClass.Service result = new context.ContextOuterClass.Service(this); - int from_bitField0_ = bitField0_; - if (serviceIdBuilder_ == null) { - result.serviceId_ = serviceId_; - } else { - result.serviceId_ = serviceIdBuilder_.build(); - } - result.serviceType_ = serviceType_; - if (serviceEndpointIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.serviceEndpointIds_ = serviceEndpointIds_; - } else { - result.serviceEndpointIds_ = serviceEndpointIdsBuilder_.build(); - } - if (serviceConstraintsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.serviceConstraints_ = serviceConstraints_; - } else { - result.serviceConstraints_ = serviceConstraintsBuilder_.build(); - } - if (serviceStatusBuilder_ == null) { - result.serviceStatus_ = serviceStatus_; + public context.ContextOuterClass.LinkEvent buildPartial() { + context.ContextOuterClass.LinkEvent result = new context.ContextOuterClass.LinkEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; } else { - result.serviceStatus_ = serviceStatusBuilder_.build(); + result.event_ = eventBuilder_.build(); } - if (serviceConfigBuilder_ == null) { - result.serviceConfig_ = serviceConfig_; + if (linkIdBuilder_ == null) { + result.linkId_ = linkId_; } else { - result.serviceConfig_ = serviceConfigBuilder_.build(); + result.linkId_ = linkIdBuilder_.build(); } onBuilt(); return result; @@ -22878,79 +22034,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Service) { - return mergeFrom((context.ContextOuterClass.Service)other); + if (other instanceof context.ContextOuterClass.LinkEvent) { + return mergeFrom((context.ContextOuterClass.LinkEvent)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.Service other) { - if (other == context.ContextOuterClass.Service.getDefaultInstance()) return this; - if (other.hasServiceId()) { - mergeServiceId(other.getServiceId()); - } - if (other.serviceType_ != 0) { - setServiceTypeValue(other.getServiceTypeValue()); - } - if (serviceEndpointIdsBuilder_ == null) { - if (!other.serviceEndpointIds_.isEmpty()) { - if (serviceEndpointIds_.isEmpty()) { - serviceEndpointIds_ = other.serviceEndpointIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.addAll(other.serviceEndpointIds_); - } - onChanged(); - } - } else { - if (!other.serviceEndpointIds_.isEmpty()) { - if (serviceEndpointIdsBuilder_.isEmpty()) { - serviceEndpointIdsBuilder_.dispose(); - serviceEndpointIdsBuilder_ = null; - serviceEndpointIds_ = other.serviceEndpointIds_; - bitField0_ = (bitField0_ & ~0x00000001); - serviceEndpointIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getServiceEndpointIdsFieldBuilder() : null; - } else { - serviceEndpointIdsBuilder_.addAllMessages(other.serviceEndpointIds_); - } - } - } - if (serviceConstraintsBuilder_ == null) { - if (!other.serviceConstraints_.isEmpty()) { - if (serviceConstraints_.isEmpty()) { - serviceConstraints_ = other.serviceConstraints_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureServiceConstraintsIsMutable(); - serviceConstraints_.addAll(other.serviceConstraints_); - } - onChanged(); - } - } else { - if (!other.serviceConstraints_.isEmpty()) { - if (serviceConstraintsBuilder_.isEmpty()) { - serviceConstraintsBuilder_.dispose(); - serviceConstraintsBuilder_ = null; - serviceConstraints_ = other.serviceConstraints_; - bitField0_ = (bitField0_ & ~0x00000002); - serviceConstraintsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getServiceConstraintsFieldBuilder() : null; - } else { - serviceConstraintsBuilder_.addAllMessages(other.serviceConstraints_); - } - } - } - if (other.hasServiceStatus()) { - mergeServiceStatus(other.getServiceStatus()); + public Builder mergeFrom(context.ContextOuterClass.LinkEvent other) { + if (other == context.ContextOuterClass.LinkEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); } - if (other.hasServiceConfig()) { - mergeServiceConfig(other.getServiceConfig()); + if (other.hasLinkId()) { + mergeLinkId(other.getLinkId()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -22967,11 +22065,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.Service parsedMessage = null; + context.ContextOuterClass.LinkEvent parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Service) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.LinkEvent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -22980,897 +22078,26685 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - private context.ContextOuterClass.ServiceId serviceId_; + private context.ContextOuterClass.Event event_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; /** - * .context.ServiceId service_id = 1; - * @return Whether the serviceId field is set. + * .context.Event event = 1; + * @return Whether the event field is set. */ - public boolean hasServiceId() { - return serviceIdBuilder_ != null || serviceId_ != null; + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; } /** - * .context.ServiceId service_id = 1; - * @return The serviceId. + * .context.Event event = 1; + * @return The event. */ - public context.ContextOuterClass.ServiceId getServiceId() { - if (serviceIdBuilder_ == null) { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; } else { - return serviceIdBuilder_.getMessage(); + return eventBuilder_.getMessage(); } } /** - * .context.ServiceId service_id = 1; + * .context.Event event = 1; */ - public Builder setServiceId(context.ContextOuterClass.ServiceId value) { - if (serviceIdBuilder_ == null) { + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - serviceId_ = value; + event_ = value; onChanged(); } else { - serviceIdBuilder_.setMessage(value); + eventBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); + onChanged(); + } else { + eventBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); + } else { + event_ = value; + } + onChanged(); + } else { + eventBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; + onChanged(); + } else { + event_ = null; + eventBuilder_ = null; + } + + return this; + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.Event.Builder getEventBuilder() { + + onChanged(); + return getEventFieldBuilder().getBuilder(); + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); + } else { + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + } + /** + * .context.Event event = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), + getParentForChildren(), + isClean()); + event_ = null; + } + return eventBuilder_; + } + + private context.ContextOuterClass.LinkId linkId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> linkIdBuilder_; + /** + * .context.LinkId link_id = 2; + * @return Whether the linkId field is set. + */ + public boolean hasLinkId() { + return linkIdBuilder_ != null || linkId_ != null; + } + /** + * .context.LinkId link_id = 2; + * @return The linkId. + */ + public context.ContextOuterClass.LinkId getLinkId() { + if (linkIdBuilder_ == null) { + return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + } else { + return linkIdBuilder_.getMessage(); + } + } + /** + * .context.LinkId link_id = 2; + */ + public Builder setLinkId(context.ContextOuterClass.LinkId value) { + if (linkIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + linkId_ = value; + onChanged(); + } else { + linkIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.LinkId link_id = 2; + */ + public Builder setLinkId( + context.ContextOuterClass.LinkId.Builder builderForValue) { + if (linkIdBuilder_ == null) { + linkId_ = builderForValue.build(); + onChanged(); + } else { + linkIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.LinkId link_id = 2; + */ + public Builder mergeLinkId(context.ContextOuterClass.LinkId value) { + if (linkIdBuilder_ == null) { + if (linkId_ != null) { + linkId_ = + context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial(); + } else { + linkId_ = value; + } + onChanged(); + } else { + linkIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.LinkId link_id = 2; + */ + public Builder clearLinkId() { + if (linkIdBuilder_ == null) { + linkId_ = null; + onChanged(); + } else { + linkId_ = null; + linkIdBuilder_ = null; + } + + return this; + } + /** + * .context.LinkId link_id = 2; + */ + public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() { + + onChanged(); + return getLinkIdFieldBuilder().getBuilder(); + } + /** + * .context.LinkId link_id = 2; + */ + public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { + if (linkIdBuilder_ != null) { + return linkIdBuilder_.getMessageOrBuilder(); + } else { + return linkId_ == null ? + context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + } + } + /** + * .context.LinkId link_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder> + getLinkIdFieldBuilder() { + if (linkIdBuilder_ == null) { + linkIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.LinkId, context.ContextOuterClass.LinkId.Builder, context.ContextOuterClass.LinkIdOrBuilder>( + getLinkId(), + getParentForChildren(), + isClean()); + linkId_ = null; } + return linkIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.LinkEvent) + } + + // @@protoc_insertion_point(class_scope:context.LinkEvent) + private static final context.ContextOuterClass.LinkEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.LinkEvent(); + } + + public static context.ContextOuterClass.LinkEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public LinkEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new LinkEvent(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.LinkEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ServiceId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + boolean hasContextId(); + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + context.ContextOuterClass.ContextId getContextId(); + /** + * .context.ContextId context_id = 1; + */ + context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); + + /** + * .context.Uuid service_uuid = 2; + * @return Whether the serviceUuid field is set. + */ + boolean hasServiceUuid(); + /** + * .context.Uuid service_uuid = 2; + * @return The serviceUuid. + */ + context.ContextOuterClass.Uuid getServiceUuid(); + /** + * .context.Uuid service_uuid = 2; + */ + context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder(); + } + /** + *
+   * ----- Service -------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.ServiceId} + */ + public static final class ServiceId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ServiceId) + ServiceIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use ServiceId.newBuilder() to construct. + private ServiceId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ServiceId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ServiceId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ServiceId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (serviceUuid_ != null) { + subBuilder = serviceUuid_.toBuilder(); + } + serviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceUuid_); + serviceUuid_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceId.class, context.ContextOuterClass.ServiceId.Builder.class); + } + + public static final int CONTEXT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.ContextId contextId_; + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + @java.lang.Override + public boolean hasContextId() { + return contextId_ != null; + } + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + @java.lang.Override + public context.ContextOuterClass.ContextId getContextId() { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + } + /** + * .context.ContextId context_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + return getContextId(); + } + + public static final int SERVICE_UUID_FIELD_NUMBER = 2; + private context.ContextOuterClass.Uuid serviceUuid_; + /** + * .context.Uuid service_uuid = 2; + * @return Whether the serviceUuid field is set. + */ + @java.lang.Override + public boolean hasServiceUuid() { + return serviceUuid_ != null; + } + /** + * .context.Uuid service_uuid = 2; + * @return The serviceUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getServiceUuid() { + return serviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_; + } + /** + * .context.Uuid service_uuid = 2; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder() { + return getServiceUuid(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (contextId_ != null) { + output.writeMessage(1, getContextId()); + } + if (serviceUuid_ != null) { + output.writeMessage(2, getServiceUuid()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (contextId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getContextId()); + } + if (serviceUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getServiceUuid()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ServiceId)) { + return super.equals(obj); + } + context.ContextOuterClass.ServiceId other = (context.ContextOuterClass.ServiceId) obj; + + if (hasContextId() != other.hasContextId()) return false; + if (hasContextId()) { + if (!getContextId() + .equals(other.getContextId())) return false; + } + if (hasServiceUuid() != other.hasServiceUuid()) return false; + if (hasServiceUuid()) { + if (!getServiceUuid() + .equals(other.getServiceUuid())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasContextId()) { + hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; + hash = (53 * hash) + getContextId().hashCode(); + } + if (hasServiceUuid()) { + hash = (37 * hash) + SERVICE_UUID_FIELD_NUMBER; + hash = (53 * hash) + getServiceUuid().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ServiceId parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceId parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceId parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceId parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceId parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceId parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceId parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceId parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceId parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceId parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceId parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceId parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ServiceId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ----- Service -------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.ServiceId} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ServiceId) + context.ContextOuterClass.ServiceIdOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceId.class, context.ContextOuterClass.ServiceId.Builder.class); + } + + // Construct using context.ContextOuterClass.ServiceId.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (contextIdBuilder_ == null) { + contextId_ = null; + } else { + contextId_ = null; + contextIdBuilder_ = null; + } + if (serviceUuidBuilder_ == null) { + serviceUuid_ = null; + } else { + serviceUuid_ = null; + serviceUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ServiceId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceId getDefaultInstanceForType() { + return context.ContextOuterClass.ServiceId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ServiceId build() { + context.ContextOuterClass.ServiceId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceId buildPartial() { + context.ContextOuterClass.ServiceId result = new context.ContextOuterClass.ServiceId(this); + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; + } else { + result.contextId_ = contextIdBuilder_.build(); + } + if (serviceUuidBuilder_ == null) { + result.serviceUuid_ = serviceUuid_; + } else { + result.serviceUuid_ = serviceUuidBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ServiceId) { + return mergeFrom((context.ContextOuterClass.ServiceId)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ServiceId other) { + if (other == context.ContextOuterClass.ServiceId.getDefaultInstance()) return this; + if (other.hasContextId()) { + mergeContextId(other.getContextId()); + } + if (other.hasServiceUuid()) { + mergeServiceUuid(other.getServiceUuid()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ServiceId parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ServiceId) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.ContextId contextId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + public boolean hasContextId() { + return contextIdBuilder_ != null || contextId_ != null; + } + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + public context.ContextOuterClass.ContextId getContextId() { + if (contextIdBuilder_ == null) { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + } else { + return contextIdBuilder_.getMessage(); + } + } + /** + * .context.ContextId context_id = 1; + */ + public Builder setContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + contextId_ = value; + onChanged(); + } else { + contextIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public Builder setContextId( + context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdBuilder_ == null) { + contextId_ = builderForValue.build(); + onChanged(); + } else { + contextIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public Builder mergeContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (contextId_ != null) { + contextId_ = + context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); + } else { + contextId_ = value; + } + onChanged(); + } else { + contextIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public Builder clearContextId() { + if (contextIdBuilder_ == null) { + contextId_ = null; + onChanged(); + } else { + contextId_ = null; + contextIdBuilder_ = null; + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { + + onChanged(); + return getContextIdFieldBuilder().getBuilder(); + } + /** + * .context.ContextId context_id = 1; + */ + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + if (contextIdBuilder_ != null) { + return contextIdBuilder_.getMessageOrBuilder(); + } else { + return contextId_ == null ? + context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + } + } + /** + * .context.ContextId context_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> + getContextIdFieldBuilder() { + if (contextIdBuilder_ == null) { + contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( + getContextId(), + getParentForChildren(), + isClean()); + contextId_ = null; + } + return contextIdBuilder_; + } + + private context.ContextOuterClass.Uuid serviceUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> serviceUuidBuilder_; + /** + * .context.Uuid service_uuid = 2; + * @return Whether the serviceUuid field is set. + */ + public boolean hasServiceUuid() { + return serviceUuidBuilder_ != null || serviceUuid_ != null; + } + /** + * .context.Uuid service_uuid = 2; + * @return The serviceUuid. + */ + public context.ContextOuterClass.Uuid getServiceUuid() { + if (serviceUuidBuilder_ == null) { + return serviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_; + } else { + return serviceUuidBuilder_.getMessage(); + } + } + /** + * .context.Uuid service_uuid = 2; + */ + public Builder setServiceUuid(context.ContextOuterClass.Uuid value) { + if (serviceUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + serviceUuid_ = value; + onChanged(); + } else { + serviceUuidBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid service_uuid = 2; + */ + public Builder setServiceUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (serviceUuidBuilder_ == null) { + serviceUuid_ = builderForValue.build(); + onChanged(); + } else { + serviceUuidBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid service_uuid = 2; + */ + public Builder mergeServiceUuid(context.ContextOuterClass.Uuid value) { + if (serviceUuidBuilder_ == null) { + if (serviceUuid_ != null) { + serviceUuid_ = + context.ContextOuterClass.Uuid.newBuilder(serviceUuid_).mergeFrom(value).buildPartial(); + } else { + serviceUuid_ = value; + } + onChanged(); + } else { + serviceUuidBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid service_uuid = 2; + */ + public Builder clearServiceUuid() { + if (serviceUuidBuilder_ == null) { + serviceUuid_ = null; + onChanged(); + } else { + serviceUuid_ = null; + serviceUuidBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid service_uuid = 2; + */ + public context.ContextOuterClass.Uuid.Builder getServiceUuidBuilder() { + + onChanged(); + return getServiceUuidFieldBuilder().getBuilder(); + } + /** + * .context.Uuid service_uuid = 2; + */ + public context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder() { + if (serviceUuidBuilder_ != null) { + return serviceUuidBuilder_.getMessageOrBuilder(); + } else { + return serviceUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_; + } + } + /** + * .context.Uuid service_uuid = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getServiceUuidFieldBuilder() { + if (serviceUuidBuilder_ == null) { + serviceUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getServiceUuid(), + getParentForChildren(), + isClean()); + serviceUuid_ = null; + } + return serviceUuidBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ServiceId) + } + + // @@protoc_insertion_point(class_scope:context.ServiceId) + private static final context.ContextOuterClass.ServiceId DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceId(); + } + + public static context.ContextOuterClass.ServiceId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceId parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ServiceId(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Service) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ServiceId service_id = 1; + * @return Whether the serviceId field is set. + */ + boolean hasServiceId(); + /** + * .context.ServiceId service_id = 1; + * @return The serviceId. + */ + context.ContextOuterClass.ServiceId getServiceId(); + /** + * .context.ServiceId service_id = 1; + */ + context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + + /** + * .context.ServiceTypeEnum service_type = 2; + * @return The enum numeric value on the wire for serviceType. + */ + int getServiceTypeValue(); + /** + * .context.ServiceTypeEnum service_type = 2; + * @return The serviceType. + */ + context.ContextOuterClass.ServiceTypeEnum getServiceType(); + + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + java.util.List + getServiceEndpointIdsList(); + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + context.ContextOuterClass.EndPointId getServiceEndpointIds(int index); + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + int getServiceEndpointIdsCount(); + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + java.util.List + getServiceEndpointIdsOrBuilderList(); + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + context.ContextOuterClass.EndPointIdOrBuilder getServiceEndpointIdsOrBuilder( + int index); + + /** + * repeated .context.Constraint service_constraints = 4; + */ + java.util.List + getServiceConstraintsList(); + /** + * repeated .context.Constraint service_constraints = 4; + */ + context.ContextOuterClass.Constraint getServiceConstraints(int index); + /** + * repeated .context.Constraint service_constraints = 4; + */ + int getServiceConstraintsCount(); + /** + * repeated .context.Constraint service_constraints = 4; + */ + java.util.List + getServiceConstraintsOrBuilderList(); + /** + * repeated .context.Constraint service_constraints = 4; + */ + context.ContextOuterClass.ConstraintOrBuilder getServiceConstraintsOrBuilder( + int index); + + /** + * .context.ServiceStatus service_status = 5; + * @return Whether the serviceStatus field is set. + */ + boolean hasServiceStatus(); + /** + * .context.ServiceStatus service_status = 5; + * @return The serviceStatus. + */ + context.ContextOuterClass.ServiceStatus getServiceStatus(); + /** + * .context.ServiceStatus service_status = 5; + */ + context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder(); + + /** + * .context.ServiceConfig service_config = 6; + * @return Whether the serviceConfig field is set. + */ + boolean hasServiceConfig(); + /** + * .context.ServiceConfig service_config = 6; + * @return The serviceConfig. + */ + context.ContextOuterClass.ServiceConfig getServiceConfig(); + /** + * .context.ServiceConfig service_config = 6; + */ + context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder(); + + /** + * .context.Timestamp timestamp = 7; + * @return Whether the timestamp field is set. + */ + boolean hasTimestamp(); + /** + * .context.Timestamp timestamp = 7; + * @return The timestamp. + */ + context.ContextOuterClass.Timestamp getTimestamp(); + /** + * .context.Timestamp timestamp = 7; + */ + context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder(); + } + /** + * Protobuf type {@code context.Service} + */ + public static final class Service extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.Service) + ServiceOrBuilder { + private static final long serialVersionUID = 0L; + // Use Service.newBuilder() to construct. + private Service(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Service() { + serviceType_ = 0; + serviceEndpointIds_ = java.util.Collections.emptyList(); + serviceConstraints_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Service(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Service( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ServiceId.Builder subBuilder = null; + if (serviceId_ != null) { + subBuilder = serviceId_.toBuilder(); + } + serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceId_); + serviceId_ = subBuilder.buildPartial(); + } + + break; + } + case 16: { + int rawValue = input.readEnum(); + + serviceType_ = rawValue; + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + serviceEndpointIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + serviceEndpointIds_.add( + input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + serviceConstraints_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + serviceConstraints_.add( + input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry)); + break; + } + case 42: { + context.ContextOuterClass.ServiceStatus.Builder subBuilder = null; + if (serviceStatus_ != null) { + subBuilder = serviceStatus_.toBuilder(); + } + serviceStatus_ = input.readMessage(context.ContextOuterClass.ServiceStatus.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceStatus_); + serviceStatus_ = subBuilder.buildPartial(); + } + + break; + } + case 50: { + context.ContextOuterClass.ServiceConfig.Builder subBuilder = null; + if (serviceConfig_ != null) { + subBuilder = serviceConfig_.toBuilder(); + } + serviceConfig_ = input.readMessage(context.ContextOuterClass.ServiceConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceConfig_); + serviceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 58: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); + } + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Service_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Service_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Service.class, context.ContextOuterClass.Service.Builder.class); + } + + public static final int SERVICE_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.ServiceId serviceId_; + /** + * .context.ServiceId service_id = 1; + * @return Whether the serviceId field is set. + */ + @java.lang.Override + public boolean hasServiceId() { + return serviceId_ != null; + } + /** + * .context.ServiceId service_id = 1; + * @return The serviceId. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceId getServiceId() { + return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } + /** + * .context.ServiceId service_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { + return getServiceId(); + } + + public static final int SERVICE_TYPE_FIELD_NUMBER = 2; + private int serviceType_; + /** + * .context.ServiceTypeEnum service_type = 2; + * @return The enum numeric value on the wire for serviceType. + */ + @java.lang.Override public int getServiceTypeValue() { + return serviceType_; + } + /** + * .context.ServiceTypeEnum service_type = 2; + * @return The serviceType. + */ + @java.lang.Override public context.ContextOuterClass.ServiceTypeEnum getServiceType() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_); + return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result; + } + + public static final int SERVICE_ENDPOINT_IDS_FIELD_NUMBER = 3; + private java.util.List serviceEndpointIds_; + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + @java.lang.Override + public java.util.List getServiceEndpointIdsList() { + return serviceEndpointIds_; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + @java.lang.Override + public java.util.List + getServiceEndpointIdsOrBuilderList() { + return serviceEndpointIds_; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + @java.lang.Override + public int getServiceEndpointIdsCount() { + return serviceEndpointIds_.size(); + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointId getServiceEndpointIds(int index) { + return serviceEndpointIds_.get(index); + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointIdOrBuilder getServiceEndpointIdsOrBuilder( + int index) { + return serviceEndpointIds_.get(index); + } + + public static final int SERVICE_CONSTRAINTS_FIELD_NUMBER = 4; + private java.util.List serviceConstraints_; + /** + * repeated .context.Constraint service_constraints = 4; + */ + @java.lang.Override + public java.util.List getServiceConstraintsList() { + return serviceConstraints_; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + @java.lang.Override + public java.util.List + getServiceConstraintsOrBuilderList() { + return serviceConstraints_; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + @java.lang.Override + public int getServiceConstraintsCount() { + return serviceConstraints_.size(); + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint getServiceConstraints(int index) { + return serviceConstraints_.get(index); + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + @java.lang.Override + public context.ContextOuterClass.ConstraintOrBuilder getServiceConstraintsOrBuilder( + int index) { + return serviceConstraints_.get(index); + } + + public static final int SERVICE_STATUS_FIELD_NUMBER = 5; + private context.ContextOuterClass.ServiceStatus serviceStatus_; + /** + * .context.ServiceStatus service_status = 5; + * @return Whether the serviceStatus field is set. + */ + @java.lang.Override + public boolean hasServiceStatus() { + return serviceStatus_ != null; + } + /** + * .context.ServiceStatus service_status = 5; + * @return The serviceStatus. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceStatus getServiceStatus() { + return serviceStatus_ == null ? context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_; + } + /** + * .context.ServiceStatus service_status = 5; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder() { + return getServiceStatus(); + } + + public static final int SERVICE_CONFIG_FIELD_NUMBER = 6; + private context.ContextOuterClass.ServiceConfig serviceConfig_; + /** + * .context.ServiceConfig service_config = 6; + * @return Whether the serviceConfig field is set. + */ + @java.lang.Override + public boolean hasServiceConfig() { + return serviceConfig_ != null; + } + /** + * .context.ServiceConfig service_config = 6; + * @return The serviceConfig. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceConfig getServiceConfig() { + return serviceConfig_ == null ? context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_; + } + /** + * .context.ServiceConfig service_config = 6; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder() { + return getServiceConfig(); + } + + public static final int TIMESTAMP_FIELD_NUMBER = 7; + private context.ContextOuterClass.Timestamp timestamp_; + /** + * .context.Timestamp timestamp = 7; + * @return Whether the timestamp field is set. + */ + @java.lang.Override + public boolean hasTimestamp() { + return timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 7; + * @return The timestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getTimestamp() { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + /** + * .context.Timestamp timestamp = 7; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + return getTimestamp(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (serviceId_ != null) { + output.writeMessage(1, getServiceId()); + } + if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) { + output.writeEnum(2, serviceType_); + } + for (int i = 0; i < serviceEndpointIds_.size(); i++) { + output.writeMessage(3, serviceEndpointIds_.get(i)); + } + for (int i = 0; i < serviceConstraints_.size(); i++) { + output.writeMessage(4, serviceConstraints_.get(i)); + } + if (serviceStatus_ != null) { + output.writeMessage(5, getServiceStatus()); + } + if (serviceConfig_ != null) { + output.writeMessage(6, getServiceConfig()); + } + if (timestamp_ != null) { + output.writeMessage(7, getTimestamp()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (serviceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getServiceId()); + } + if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, serviceType_); + } + for (int i = 0; i < serviceEndpointIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, serviceEndpointIds_.get(i)); + } + for (int i = 0; i < serviceConstraints_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, serviceConstraints_.get(i)); + } + if (serviceStatus_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getServiceStatus()); + } + if (serviceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getServiceConfig()); + } + if (timestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getTimestamp()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.Service)) { + return super.equals(obj); + } + context.ContextOuterClass.Service other = (context.ContextOuterClass.Service) obj; + + if (hasServiceId() != other.hasServiceId()) return false; + if (hasServiceId()) { + if (!getServiceId() + .equals(other.getServiceId())) return false; + } + if (serviceType_ != other.serviceType_) return false; + if (!getServiceEndpointIdsList() + .equals(other.getServiceEndpointIdsList())) return false; + if (!getServiceConstraintsList() + .equals(other.getServiceConstraintsList())) return false; + if (hasServiceStatus() != other.hasServiceStatus()) return false; + if (hasServiceStatus()) { + if (!getServiceStatus() + .equals(other.getServiceStatus())) return false; + } + if (hasServiceConfig() != other.hasServiceConfig()) return false; + if (hasServiceConfig()) { + if (!getServiceConfig() + .equals(other.getServiceConfig())) return false; + } + if (hasTimestamp() != other.hasTimestamp()) return false; + if (hasTimestamp()) { + if (!getTimestamp() + .equals(other.getTimestamp())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasServiceId()) { + hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getServiceId().hashCode(); + } + hash = (37 * hash) + SERVICE_TYPE_FIELD_NUMBER; + hash = (53 * hash) + serviceType_; + if (getServiceEndpointIdsCount() > 0) { + hash = (37 * hash) + SERVICE_ENDPOINT_IDS_FIELD_NUMBER; + hash = (53 * hash) + getServiceEndpointIdsList().hashCode(); + } + if (getServiceConstraintsCount() > 0) { + hash = (37 * hash) + SERVICE_CONSTRAINTS_FIELD_NUMBER; + hash = (53 * hash) + getServiceConstraintsList().hashCode(); + } + if (hasServiceStatus()) { + hash = (37 * hash) + SERVICE_STATUS_FIELD_NUMBER; + hash = (53 * hash) + getServiceStatus().hashCode(); + } + if (hasServiceConfig()) { + hash = (37 * hash) + SERVICE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getServiceConfig().hashCode(); + } + if (hasTimestamp()) { + hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getTimestamp().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.Service parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Service parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Service parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Service parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Service parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Service parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Service parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Service parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.Service parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Service parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.Service parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Service parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.Service prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.Service} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.Service) + context.ContextOuterClass.ServiceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Service_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Service_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Service.class, context.ContextOuterClass.Service.Builder.class); + } + + // Construct using context.ContextOuterClass.Service.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getServiceEndpointIdsFieldBuilder(); + getServiceConstraintsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (serviceIdBuilder_ == null) { + serviceId_ = null; + } else { + serviceId_ = null; + serviceIdBuilder_ = null; + } + serviceType_ = 0; + + if (serviceEndpointIdsBuilder_ == null) { + serviceEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + serviceEndpointIdsBuilder_.clear(); + } + if (serviceConstraintsBuilder_ == null) { + serviceConstraints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + serviceConstraintsBuilder_.clear(); + } + if (serviceStatusBuilder_ == null) { + serviceStatus_ = null; + } else { + serviceStatus_ = null; + serviceStatusBuilder_ = null; + } + if (serviceConfigBuilder_ == null) { + serviceConfig_ = null; + } else { + serviceConfig_ = null; + serviceConfigBuilder_ = null; + } + if (timestampBuilder_ == null) { + timestamp_ = null; + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Service_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.Service getDefaultInstanceForType() { + return context.ContextOuterClass.Service.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.Service build() { + context.ContextOuterClass.Service result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Service buildPartial() { + context.ContextOuterClass.Service result = new context.ContextOuterClass.Service(this); + int from_bitField0_ = bitField0_; + if (serviceIdBuilder_ == null) { + result.serviceId_ = serviceId_; + } else { + result.serviceId_ = serviceIdBuilder_.build(); + } + result.serviceType_ = serviceType_; + if (serviceEndpointIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.serviceEndpointIds_ = serviceEndpointIds_; + } else { + result.serviceEndpointIds_ = serviceEndpointIdsBuilder_.build(); + } + if (serviceConstraintsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.serviceConstraints_ = serviceConstraints_; + } else { + result.serviceConstraints_ = serviceConstraintsBuilder_.build(); + } + if (serviceStatusBuilder_ == null) { + result.serviceStatus_ = serviceStatus_; + } else { + result.serviceStatus_ = serviceStatusBuilder_.build(); + } + if (serviceConfigBuilder_ == null) { + result.serviceConfig_ = serviceConfig_; + } else { + result.serviceConfig_ = serviceConfigBuilder_.build(); + } + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; + } else { + result.timestamp_ = timestampBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Service) { + return mergeFrom((context.ContextOuterClass.Service)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.Service other) { + if (other == context.ContextOuterClass.Service.getDefaultInstance()) return this; + if (other.hasServiceId()) { + mergeServiceId(other.getServiceId()); + } + if (other.serviceType_ != 0) { + setServiceTypeValue(other.getServiceTypeValue()); + } + if (serviceEndpointIdsBuilder_ == null) { + if (!other.serviceEndpointIds_.isEmpty()) { + if (serviceEndpointIds_.isEmpty()) { + serviceEndpointIds_ = other.serviceEndpointIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.addAll(other.serviceEndpointIds_); + } + onChanged(); + } + } else { + if (!other.serviceEndpointIds_.isEmpty()) { + if (serviceEndpointIdsBuilder_.isEmpty()) { + serviceEndpointIdsBuilder_.dispose(); + serviceEndpointIdsBuilder_ = null; + serviceEndpointIds_ = other.serviceEndpointIds_; + bitField0_ = (bitField0_ & ~0x00000001); + serviceEndpointIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getServiceEndpointIdsFieldBuilder() : null; + } else { + serviceEndpointIdsBuilder_.addAllMessages(other.serviceEndpointIds_); + } + } + } + if (serviceConstraintsBuilder_ == null) { + if (!other.serviceConstraints_.isEmpty()) { + if (serviceConstraints_.isEmpty()) { + serviceConstraints_ = other.serviceConstraints_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureServiceConstraintsIsMutable(); + serviceConstraints_.addAll(other.serviceConstraints_); + } + onChanged(); + } + } else { + if (!other.serviceConstraints_.isEmpty()) { + if (serviceConstraintsBuilder_.isEmpty()) { + serviceConstraintsBuilder_.dispose(); + serviceConstraintsBuilder_ = null; + serviceConstraints_ = other.serviceConstraints_; + bitField0_ = (bitField0_ & ~0x00000002); + serviceConstraintsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getServiceConstraintsFieldBuilder() : null; + } else { + serviceConstraintsBuilder_.addAllMessages(other.serviceConstraints_); + } + } + } + if (other.hasServiceStatus()) { + mergeServiceStatus(other.getServiceStatus()); + } + if (other.hasServiceConfig()) { + mergeServiceConfig(other.getServiceConfig()); + } + if (other.hasTimestamp()) { + mergeTimestamp(other.getTimestamp()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.Service parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Service) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private context.ContextOuterClass.ServiceId serviceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; + /** + * .context.ServiceId service_id = 1; + * @return Whether the serviceId field is set. + */ + public boolean hasServiceId() { + return serviceIdBuilder_ != null || serviceId_ != null; + } + /** + * .context.ServiceId service_id = 1; + * @return The serviceId. + */ + public context.ContextOuterClass.ServiceId getServiceId() { + if (serviceIdBuilder_ == null) { + return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } else { + return serviceIdBuilder_.getMessage(); + } + } + /** + * .context.ServiceId service_id = 1; + */ + public Builder setServiceId(context.ContextOuterClass.ServiceId value) { + if (serviceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + serviceId_ = value; + onChanged(); + } else { + serviceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ServiceId service_id = 1; + */ + public Builder setServiceId( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdBuilder_ == null) { + serviceId_ = builderForValue.build(); + onChanged(); + } else { + serviceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ServiceId service_id = 1; + */ + public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { + if (serviceIdBuilder_ == null) { + if (serviceId_ != null) { + serviceId_ = + context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); + } else { + serviceId_ = value; + } + onChanged(); + } else { + serviceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ServiceId service_id = 1; + */ + public Builder clearServiceId() { + if (serviceIdBuilder_ == null) { + serviceId_ = null; + onChanged(); + } else { + serviceId_ = null; + serviceIdBuilder_ = null; + } + + return this; + } + /** + * .context.ServiceId service_id = 1; + */ + public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { + + onChanged(); + return getServiceIdFieldBuilder().getBuilder(); + } + /** + * .context.ServiceId service_id = 1; + */ + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { + if (serviceIdBuilder_ != null) { + return serviceIdBuilder_.getMessageOrBuilder(); + } else { + return serviceId_ == null ? + context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } + } + /** + * .context.ServiceId service_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getServiceIdFieldBuilder() { + if (serviceIdBuilder_ == null) { + serviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + getServiceId(), + getParentForChildren(), + isClean()); + serviceId_ = null; + } + return serviceIdBuilder_; + } + + private int serviceType_ = 0; + /** + * .context.ServiceTypeEnum service_type = 2; + * @return The enum numeric value on the wire for serviceType. + */ + @java.lang.Override public int getServiceTypeValue() { + return serviceType_; + } + /** + * .context.ServiceTypeEnum service_type = 2; + * @param value The enum numeric value on the wire for serviceType to set. + * @return This builder for chaining. + */ + public Builder setServiceTypeValue(int value) { + + serviceType_ = value; + onChanged(); + return this; + } + /** + * .context.ServiceTypeEnum service_type = 2; + * @return The serviceType. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceTypeEnum getServiceType() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_); + return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result; + } + /** + * .context.ServiceTypeEnum service_type = 2; + * @param value The serviceType to set. + * @return This builder for chaining. + */ + public Builder setServiceType(context.ContextOuterClass.ServiceTypeEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + serviceType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .context.ServiceTypeEnum service_type = 2; + * @return This builder for chaining. + */ + public Builder clearServiceType() { + + serviceType_ = 0; + onChanged(); + return this; + } + + private java.util.List serviceEndpointIds_ = + java.util.Collections.emptyList(); + private void ensureServiceEndpointIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + serviceEndpointIds_ = new java.util.ArrayList(serviceEndpointIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> serviceEndpointIdsBuilder_; + + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public java.util.List getServiceEndpointIdsList() { + if (serviceEndpointIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(serviceEndpointIds_); + } else { + return serviceEndpointIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public int getServiceEndpointIdsCount() { + if (serviceEndpointIdsBuilder_ == null) { + return serviceEndpointIds_.size(); + } else { + return serviceEndpointIdsBuilder_.getCount(); + } + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId getServiceEndpointIds(int index) { + if (serviceEndpointIdsBuilder_ == null) { + return serviceEndpointIds_.get(index); + } else { + return serviceEndpointIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder setServiceEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (serviceEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.set(index, value); + onChanged(); + } else { + serviceEndpointIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder setServiceEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (serviceEndpointIdsBuilder_ == null) { + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.set(index, builderForValue.build()); + onChanged(); + } else { + serviceEndpointIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder addServiceEndpointIds(context.ContextOuterClass.EndPointId value) { + if (serviceEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.add(value); + onChanged(); + } else { + serviceEndpointIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder addServiceEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (serviceEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.add(index, value); + onChanged(); + } else { + serviceEndpointIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder addServiceEndpointIds( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (serviceEndpointIdsBuilder_ == null) { + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.add(builderForValue.build()); + onChanged(); + } else { + serviceEndpointIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder addServiceEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (serviceEndpointIdsBuilder_ == null) { + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.add(index, builderForValue.build()); + onChanged(); + } else { + serviceEndpointIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder addAllServiceEndpointIds( + java.lang.Iterable values) { + if (serviceEndpointIdsBuilder_ == null) { + ensureServiceEndpointIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, serviceEndpointIds_); + onChanged(); + } else { + serviceEndpointIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder clearServiceEndpointIds() { + if (serviceEndpointIdsBuilder_ == null) { + serviceEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + serviceEndpointIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public Builder removeServiceEndpointIds(int index) { + if (serviceEndpointIdsBuilder_ == null) { + ensureServiceEndpointIdsIsMutable(); + serviceEndpointIds_.remove(index); + onChanged(); + } else { + serviceEndpointIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId.Builder getServiceEndpointIdsBuilder( + int index) { + return getServiceEndpointIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointIdOrBuilder getServiceEndpointIdsOrBuilder( + int index) { + if (serviceEndpointIdsBuilder_ == null) { + return serviceEndpointIds_.get(index); } else { + return serviceEndpointIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public java.util.List + getServiceEndpointIdsOrBuilderList() { + if (serviceEndpointIdsBuilder_ != null) { + return serviceEndpointIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(serviceEndpointIds_); + } + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId.Builder addServiceEndpointIdsBuilder() { + return getServiceEndpointIdsFieldBuilder().addBuilder( + context.ContextOuterClass.EndPointId.getDefaultInstance()); + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId.Builder addServiceEndpointIdsBuilder( + int index) { + return getServiceEndpointIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.EndPointId.getDefaultInstance()); + } + /** + * repeated .context.EndPointId service_endpoint_ids = 3; + */ + public java.util.List + getServiceEndpointIdsBuilderList() { + return getServiceEndpointIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getServiceEndpointIdsFieldBuilder() { + if (serviceEndpointIdsBuilder_ == null) { + serviceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + serviceEndpointIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + serviceEndpointIds_ = null; + } + return serviceEndpointIdsBuilder_; + } + + private java.util.List serviceConstraints_ = + java.util.Collections.emptyList(); + private void ensureServiceConstraintsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + serviceConstraints_ = new java.util.ArrayList(serviceConstraints_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder> serviceConstraintsBuilder_; + + /** + * repeated .context.Constraint service_constraints = 4; + */ + public java.util.List getServiceConstraintsList() { + if (serviceConstraintsBuilder_ == null) { + return java.util.Collections.unmodifiableList(serviceConstraints_); + } else { + return serviceConstraintsBuilder_.getMessageList(); + } + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public int getServiceConstraintsCount() { + if (serviceConstraintsBuilder_ == null) { + return serviceConstraints_.size(); + } else { + return serviceConstraintsBuilder_.getCount(); + } + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public context.ContextOuterClass.Constraint getServiceConstraints(int index) { + if (serviceConstraintsBuilder_ == null) { + return serviceConstraints_.get(index); + } else { + return serviceConstraintsBuilder_.getMessage(index); + } + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder setServiceConstraints( + int index, context.ContextOuterClass.Constraint value) { + if (serviceConstraintsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceConstraintsIsMutable(); + serviceConstraints_.set(index, value); + onChanged(); + } else { + serviceConstraintsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder setServiceConstraints( + int index, context.ContextOuterClass.Constraint.Builder builderForValue) { + if (serviceConstraintsBuilder_ == null) { + ensureServiceConstraintsIsMutable(); + serviceConstraints_.set(index, builderForValue.build()); + onChanged(); + } else { + serviceConstraintsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder addServiceConstraints(context.ContextOuterClass.Constraint value) { + if (serviceConstraintsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceConstraintsIsMutable(); + serviceConstraints_.add(value); + onChanged(); + } else { + serviceConstraintsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder addServiceConstraints( + int index, context.ContextOuterClass.Constraint value) { + if (serviceConstraintsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceConstraintsIsMutable(); + serviceConstraints_.add(index, value); + onChanged(); + } else { + serviceConstraintsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder addServiceConstraints( + context.ContextOuterClass.Constraint.Builder builderForValue) { + if (serviceConstraintsBuilder_ == null) { + ensureServiceConstraintsIsMutable(); + serviceConstraints_.add(builderForValue.build()); + onChanged(); + } else { + serviceConstraintsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder addServiceConstraints( + int index, context.ContextOuterClass.Constraint.Builder builderForValue) { + if (serviceConstraintsBuilder_ == null) { + ensureServiceConstraintsIsMutable(); + serviceConstraints_.add(index, builderForValue.build()); + onChanged(); + } else { + serviceConstraintsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder addAllServiceConstraints( + java.lang.Iterable values) { + if (serviceConstraintsBuilder_ == null) { + ensureServiceConstraintsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, serviceConstraints_); + onChanged(); + } else { + serviceConstraintsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder clearServiceConstraints() { + if (serviceConstraintsBuilder_ == null) { + serviceConstraints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + serviceConstraintsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public Builder removeServiceConstraints(int index) { + if (serviceConstraintsBuilder_ == null) { + ensureServiceConstraintsIsMutable(); + serviceConstraints_.remove(index); + onChanged(); + } else { + serviceConstraintsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public context.ContextOuterClass.Constraint.Builder getServiceConstraintsBuilder( + int index) { + return getServiceConstraintsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public context.ContextOuterClass.ConstraintOrBuilder getServiceConstraintsOrBuilder( + int index) { + if (serviceConstraintsBuilder_ == null) { + return serviceConstraints_.get(index); } else { + return serviceConstraintsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public java.util.List + getServiceConstraintsOrBuilderList() { + if (serviceConstraintsBuilder_ != null) { + return serviceConstraintsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(serviceConstraints_); + } + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public context.ContextOuterClass.Constraint.Builder addServiceConstraintsBuilder() { + return getServiceConstraintsFieldBuilder().addBuilder( + context.ContextOuterClass.Constraint.getDefaultInstance()); + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public context.ContextOuterClass.Constraint.Builder addServiceConstraintsBuilder( + int index) { + return getServiceConstraintsFieldBuilder().addBuilder( + index, context.ContextOuterClass.Constraint.getDefaultInstance()); + } + /** + * repeated .context.Constraint service_constraints = 4; + */ + public java.util.List + getServiceConstraintsBuilderList() { + return getServiceConstraintsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder> + getServiceConstraintsFieldBuilder() { + if (serviceConstraintsBuilder_ == null) { + serviceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder>( + serviceConstraints_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + serviceConstraints_ = null; + } + return serviceConstraintsBuilder_; + } + + private context.ContextOuterClass.ServiceStatus serviceStatus_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceStatus, context.ContextOuterClass.ServiceStatus.Builder, context.ContextOuterClass.ServiceStatusOrBuilder> serviceStatusBuilder_; + /** + * .context.ServiceStatus service_status = 5; + * @return Whether the serviceStatus field is set. + */ + public boolean hasServiceStatus() { + return serviceStatusBuilder_ != null || serviceStatus_ != null; + } + /** + * .context.ServiceStatus service_status = 5; + * @return The serviceStatus. + */ + public context.ContextOuterClass.ServiceStatus getServiceStatus() { + if (serviceStatusBuilder_ == null) { + return serviceStatus_ == null ? context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_; + } else { + return serviceStatusBuilder_.getMessage(); + } + } + /** + * .context.ServiceStatus service_status = 5; + */ + public Builder setServiceStatus(context.ContextOuterClass.ServiceStatus value) { + if (serviceStatusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + serviceStatus_ = value; + onChanged(); + } else { + serviceStatusBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ServiceStatus service_status = 5; + */ + public Builder setServiceStatus( + context.ContextOuterClass.ServiceStatus.Builder builderForValue) { + if (serviceStatusBuilder_ == null) { + serviceStatus_ = builderForValue.build(); + onChanged(); + } else { + serviceStatusBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ServiceStatus service_status = 5; + */ + public Builder mergeServiceStatus(context.ContextOuterClass.ServiceStatus value) { + if (serviceStatusBuilder_ == null) { + if (serviceStatus_ != null) { + serviceStatus_ = + context.ContextOuterClass.ServiceStatus.newBuilder(serviceStatus_).mergeFrom(value).buildPartial(); + } else { + serviceStatus_ = value; + } + onChanged(); + } else { + serviceStatusBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ServiceStatus service_status = 5; + */ + public Builder clearServiceStatus() { + if (serviceStatusBuilder_ == null) { + serviceStatus_ = null; + onChanged(); + } else { + serviceStatus_ = null; + serviceStatusBuilder_ = null; + } + + return this; + } + /** + * .context.ServiceStatus service_status = 5; + */ + public context.ContextOuterClass.ServiceStatus.Builder getServiceStatusBuilder() { + + onChanged(); + return getServiceStatusFieldBuilder().getBuilder(); + } + /** + * .context.ServiceStatus service_status = 5; + */ + public context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder() { + if (serviceStatusBuilder_ != null) { + return serviceStatusBuilder_.getMessageOrBuilder(); + } else { + return serviceStatus_ == null ? + context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_; + } + } + /** + * .context.ServiceStatus service_status = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceStatus, context.ContextOuterClass.ServiceStatus.Builder, context.ContextOuterClass.ServiceStatusOrBuilder> + getServiceStatusFieldBuilder() { + if (serviceStatusBuilder_ == null) { + serviceStatusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceStatus, context.ContextOuterClass.ServiceStatus.Builder, context.ContextOuterClass.ServiceStatusOrBuilder>( + getServiceStatus(), + getParentForChildren(), + isClean()); + serviceStatus_ = null; + } + return serviceStatusBuilder_; + } + + private context.ContextOuterClass.ServiceConfig serviceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceConfig, context.ContextOuterClass.ServiceConfig.Builder, context.ContextOuterClass.ServiceConfigOrBuilder> serviceConfigBuilder_; + /** + * .context.ServiceConfig service_config = 6; + * @return Whether the serviceConfig field is set. + */ + public boolean hasServiceConfig() { + return serviceConfigBuilder_ != null || serviceConfig_ != null; + } + /** + * .context.ServiceConfig service_config = 6; + * @return The serviceConfig. + */ + public context.ContextOuterClass.ServiceConfig getServiceConfig() { + if (serviceConfigBuilder_ == null) { + return serviceConfig_ == null ? context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_; + } else { + return serviceConfigBuilder_.getMessage(); + } + } + /** + * .context.ServiceConfig service_config = 6; + */ + public Builder setServiceConfig(context.ContextOuterClass.ServiceConfig value) { + if (serviceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + serviceConfig_ = value; + onChanged(); + } else { + serviceConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ServiceConfig service_config = 6; + */ + public Builder setServiceConfig( + context.ContextOuterClass.ServiceConfig.Builder builderForValue) { + if (serviceConfigBuilder_ == null) { + serviceConfig_ = builderForValue.build(); + onChanged(); + } else { + serviceConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ServiceConfig service_config = 6; + */ + public Builder mergeServiceConfig(context.ContextOuterClass.ServiceConfig value) { + if (serviceConfigBuilder_ == null) { + if (serviceConfig_ != null) { + serviceConfig_ = + context.ContextOuterClass.ServiceConfig.newBuilder(serviceConfig_).mergeFrom(value).buildPartial(); + } else { + serviceConfig_ = value; + } + onChanged(); + } else { + serviceConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ServiceConfig service_config = 6; + */ + public Builder clearServiceConfig() { + if (serviceConfigBuilder_ == null) { + serviceConfig_ = null; + onChanged(); + } else { + serviceConfig_ = null; + serviceConfigBuilder_ = null; + } + + return this; + } + /** + * .context.ServiceConfig service_config = 6; + */ + public context.ContextOuterClass.ServiceConfig.Builder getServiceConfigBuilder() { + + onChanged(); + return getServiceConfigFieldBuilder().getBuilder(); + } + /** + * .context.ServiceConfig service_config = 6; + */ + public context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder() { + if (serviceConfigBuilder_ != null) { + return serviceConfigBuilder_.getMessageOrBuilder(); + } else { + return serviceConfig_ == null ? + context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_; + } + } + /** + * .context.ServiceConfig service_config = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceConfig, context.ContextOuterClass.ServiceConfig.Builder, context.ContextOuterClass.ServiceConfigOrBuilder> + getServiceConfigFieldBuilder() { + if (serviceConfigBuilder_ == null) { + serviceConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceConfig, context.ContextOuterClass.ServiceConfig.Builder, context.ContextOuterClass.ServiceConfigOrBuilder>( + getServiceConfig(), + getParentForChildren(), + isClean()); + serviceConfig_ = null; + } + return serviceConfigBuilder_; + } + + private context.ContextOuterClass.Timestamp timestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> timestampBuilder_; + /** + * .context.Timestamp timestamp = 7; + * @return Whether the timestamp field is set. + */ + public boolean hasTimestamp() { + return timestampBuilder_ != null || timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 7; + * @return The timestamp. + */ + public context.ContextOuterClass.Timestamp getTimestamp() { + if (timestampBuilder_ == null) { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } else { + return timestampBuilder_.getMessage(); + } + } + /** + * .context.Timestamp timestamp = 7; + */ + public Builder setTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timestamp_ = value; + onChanged(); + } else { + timestampBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 7; + */ + public Builder setTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (timestampBuilder_ == null) { + timestamp_ = builderForValue.build(); + onChanged(); + } else { + timestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Timestamp timestamp = 7; + */ + public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (timestamp_ != null) { + timestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); + } else { + timestamp_ = value; + } + onChanged(); + } else { + timestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 7; + */ + public Builder clearTimestamp() { + if (timestampBuilder_ == null) { + timestamp_ = null; + onChanged(); + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + + return this; + } + /** + * .context.Timestamp timestamp = 7; + */ + public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { + + onChanged(); + return getTimestampFieldBuilder().getBuilder(); + } + /** + * .context.Timestamp timestamp = 7; + */ + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + if (timestampBuilder_ != null) { + return timestampBuilder_.getMessageOrBuilder(); + } else { + return timestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + } + /** + * .context.Timestamp timestamp = 7; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getTimestampFieldBuilder() { + if (timestampBuilder_ == null) { + timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getTimestamp(), + getParentForChildren(), + isClean()); + timestamp_ = null; + } + return timestampBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.Service) + } + + // @@protoc_insertion_point(class_scope:context.Service) + private static final context.ContextOuterClass.Service DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.Service(); + } + + public static context.ContextOuterClass.Service getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Service parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Service(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.Service getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceStatusOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ServiceStatus) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ServiceStatusEnum service_status = 1; + * @return The enum numeric value on the wire for serviceStatus. + */ + int getServiceStatusValue(); + /** + * .context.ServiceStatusEnum service_status = 1; + * @return The serviceStatus. + */ + context.ContextOuterClass.ServiceStatusEnum getServiceStatus(); + } + /** + * Protobuf type {@code context.ServiceStatus} + */ + public static final class ServiceStatus extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ServiceStatus) + ServiceStatusOrBuilder { + private static final long serialVersionUID = 0L; + // Use ServiceStatus.newBuilder() to construct. + private ServiceStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ServiceStatus() { + serviceStatus_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ServiceStatus(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ServiceStatus( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + serviceStatus_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceStatus.class, context.ContextOuterClass.ServiceStatus.Builder.class); + } + + public static final int SERVICE_STATUS_FIELD_NUMBER = 1; + private int serviceStatus_; + /** + * .context.ServiceStatusEnum service_status = 1; + * @return The enum numeric value on the wire for serviceStatus. + */ + @java.lang.Override public int getServiceStatusValue() { + return serviceStatus_; + } + /** + * .context.ServiceStatusEnum service_status = 1; + * @return The serviceStatus. + */ + @java.lang.Override public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_); + return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) { + output.writeEnum(1, serviceStatus_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, serviceStatus_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ServiceStatus)) { + return super.equals(obj); + } + context.ContextOuterClass.ServiceStatus other = (context.ContextOuterClass.ServiceStatus) obj; + + if (serviceStatus_ != other.serviceStatus_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SERVICE_STATUS_FIELD_NUMBER; + hash = (53 * hash) + serviceStatus_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ServiceStatus parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceStatus parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceStatus parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceStatus parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceStatus parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceStatus parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ServiceStatus prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ServiceStatus} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ServiceStatus) + context.ContextOuterClass.ServiceStatusOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceStatus.class, context.ContextOuterClass.ServiceStatus.Builder.class); + } + + // Construct using context.ContextOuterClass.ServiceStatus.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + serviceStatus_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceStatus getDefaultInstanceForType() { + return context.ContextOuterClass.ServiceStatus.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ServiceStatus build() { + context.ContextOuterClass.ServiceStatus result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceStatus buildPartial() { + context.ContextOuterClass.ServiceStatus result = new context.ContextOuterClass.ServiceStatus(this); + result.serviceStatus_ = serviceStatus_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ServiceStatus) { + return mergeFrom((context.ContextOuterClass.ServiceStatus)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ServiceStatus other) { + if (other == context.ContextOuterClass.ServiceStatus.getDefaultInstance()) return this; + if (other.serviceStatus_ != 0) { + setServiceStatusValue(other.getServiceStatusValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ServiceStatus parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ServiceStatus) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int serviceStatus_ = 0; + /** + * .context.ServiceStatusEnum service_status = 1; + * @return The enum numeric value on the wire for serviceStatus. + */ + @java.lang.Override public int getServiceStatusValue() { + return serviceStatus_; + } + /** + * .context.ServiceStatusEnum service_status = 1; + * @param value The enum numeric value on the wire for serviceStatus to set. + * @return This builder for chaining. + */ + public Builder setServiceStatusValue(int value) { + + serviceStatus_ = value; + onChanged(); + return this; + } + /** + * .context.ServiceStatusEnum service_status = 1; + * @return The serviceStatus. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_); + return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result; + } + /** + * .context.ServiceStatusEnum service_status = 1; + * @param value The serviceStatus to set. + * @return This builder for chaining. + */ + public Builder setServiceStatus(context.ContextOuterClass.ServiceStatusEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + serviceStatus_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .context.ServiceStatusEnum service_status = 1; + * @return This builder for chaining. + */ + public Builder clearServiceStatus() { + + serviceStatus_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ServiceStatus) + } + + // @@protoc_insertion_point(class_scope:context.ServiceStatus) + private static final context.ContextOuterClass.ServiceStatus DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceStatus(); + } + + public static context.ContextOuterClass.ServiceStatus getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceStatus parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ServiceStatus(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceStatus getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceConfigOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ServiceConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.ConfigRule config_rules = 1; + */ + java.util.List + getConfigRulesList(); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + context.ContextOuterClass.ConfigRule getConfigRules(int index); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + int getConfigRulesCount(); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + java.util.List + getConfigRulesOrBuilderList(); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + int index); + } + /** + * Protobuf type {@code context.ServiceConfig} + */ + public static final class ServiceConfig extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ServiceConfig) + ServiceConfigOrBuilder { + private static final long serialVersionUID = 0L; + // Use ServiceConfig.newBuilder() to construct. + private ServiceConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ServiceConfig() { + configRules_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ServiceConfig(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ServiceConfig( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + configRules_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + configRules_.add( + input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + configRules_ = java.util.Collections.unmodifiableList(configRules_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceConfig.class, context.ContextOuterClass.ServiceConfig.Builder.class); + } + + public static final int CONFIG_RULES_FIELD_NUMBER = 1; + private java.util.List configRules_; + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public java.util.List getConfigRulesList() { + return configRules_; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public java.util.List + getConfigRulesOrBuilderList() { + return configRules_; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public int getConfigRulesCount() { + return configRules_.size(); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRule getConfigRules(int index) { + return configRules_.get(index); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + int index) { + return configRules_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < configRules_.size(); i++) { + output.writeMessage(1, configRules_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < configRules_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, configRules_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ServiceConfig)) { + return super.equals(obj); + } + context.ContextOuterClass.ServiceConfig other = (context.ContextOuterClass.ServiceConfig) obj; + + if (!getConfigRulesList() + .equals(other.getConfigRulesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getConfigRulesCount() > 0) { + hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER; + hash = (53 * hash) + getConfigRulesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ServiceConfig parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceConfig parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceConfig parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceConfig parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceConfig parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceConfig parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ServiceConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ServiceConfig} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ServiceConfig) + context.ContextOuterClass.ServiceConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceConfig.class, context.ContextOuterClass.ServiceConfig.Builder.class); + } + + // Construct using context.ContextOuterClass.ServiceConfig.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getConfigRulesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (configRulesBuilder_ == null) { + configRules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + configRulesBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceConfig getDefaultInstanceForType() { + return context.ContextOuterClass.ServiceConfig.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ServiceConfig build() { + context.ContextOuterClass.ServiceConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceConfig buildPartial() { + context.ContextOuterClass.ServiceConfig result = new context.ContextOuterClass.ServiceConfig(this); + int from_bitField0_ = bitField0_; + if (configRulesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + configRules_ = java.util.Collections.unmodifiableList(configRules_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.configRules_ = configRules_; + } else { + result.configRules_ = configRulesBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ServiceConfig) { + return mergeFrom((context.ContextOuterClass.ServiceConfig)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ServiceConfig other) { + if (other == context.ContextOuterClass.ServiceConfig.getDefaultInstance()) return this; + if (configRulesBuilder_ == null) { + if (!other.configRules_.isEmpty()) { + if (configRules_.isEmpty()) { + configRules_ = other.configRules_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureConfigRulesIsMutable(); + configRules_.addAll(other.configRules_); + } + onChanged(); + } + } else { + if (!other.configRules_.isEmpty()) { + if (configRulesBuilder_.isEmpty()) { + configRulesBuilder_.dispose(); + configRulesBuilder_ = null; + configRules_ = other.configRules_; + bitField0_ = (bitField0_ & ~0x00000001); + configRulesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getConfigRulesFieldBuilder() : null; + } else { + configRulesBuilder_.addAllMessages(other.configRules_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ServiceConfig parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ServiceConfig) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List configRules_ = + java.util.Collections.emptyList(); + private void ensureConfigRulesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + configRules_ = new java.util.ArrayList(configRules_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> configRulesBuilder_; + + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public java.util.List getConfigRulesList() { + if (configRulesBuilder_ == null) { + return java.util.Collections.unmodifiableList(configRules_); + } else { + return configRulesBuilder_.getMessageList(); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public int getConfigRulesCount() { + if (configRulesBuilder_ == null) { + return configRules_.size(); + } else { + return configRulesBuilder_.getCount(); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule getConfigRules(int index) { + if (configRulesBuilder_ == null) { + return configRules_.get(index); + } else { + return configRulesBuilder_.getMessage(index); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder setConfigRules( + int index, context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigRulesIsMutable(); + configRules_.set(index, value); + onChanged(); + } else { + configRulesBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder setConfigRules( + int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.set(index, builderForValue.build()); + onChanged(); + } else { + configRulesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules(context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigRulesIsMutable(); + configRules_.add(value); + onChanged(); + } else { + configRulesBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules( + int index, context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigRulesIsMutable(); + configRules_.add(index, value); + onChanged(); + } else { + configRulesBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules( + context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.add(builderForValue.build()); + onChanged(); + } else { + configRulesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules( + int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.add(index, builderForValue.build()); + onChanged(); + } else { + configRulesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addAllConfigRules( + java.lang.Iterable values) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, configRules_); + onChanged(); + } else { + configRulesBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder clearConfigRules() { + if (configRulesBuilder_ == null) { + configRules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + configRulesBuilder_.clear(); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder removeConfigRules(int index) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.remove(index); + onChanged(); + } else { + configRulesBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule.Builder getConfigRulesBuilder( + int index) { + return getConfigRulesFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + int index) { + if (configRulesBuilder_ == null) { + return configRules_.get(index); } else { + return configRulesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public java.util.List + getConfigRulesOrBuilderList() { + if (configRulesBuilder_ != null) { + return configRulesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(configRules_); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder() { + return getConfigRulesFieldBuilder().addBuilder( + context.ContextOuterClass.ConfigRule.getDefaultInstance()); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder( + int index) { + return getConfigRulesFieldBuilder().addBuilder( + index, context.ContextOuterClass.ConfigRule.getDefaultInstance()); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public java.util.List + getConfigRulesBuilderList() { + return getConfigRulesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> + getConfigRulesFieldBuilder() { + if (configRulesBuilder_ == null) { + configRulesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder>( + configRules_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + configRules_ = null; + } + return configRulesBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ServiceConfig) + } + + // @@protoc_insertion_point(class_scope:context.ServiceConfig) + private static final context.ContextOuterClass.ServiceConfig DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceConfig(); + } + + public static context.ContextOuterClass.ServiceConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ServiceConfig(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ServiceIdList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.ServiceId service_ids = 1; + */ + java.util.List + getServiceIdsList(); + /** + * repeated .context.ServiceId service_ids = 1; + */ + context.ContextOuterClass.ServiceId getServiceIds(int index); + /** + * repeated .context.ServiceId service_ids = 1; + */ + int getServiceIdsCount(); + /** + * repeated .context.ServiceId service_ids = 1; + */ + java.util.List + getServiceIdsOrBuilderList(); + /** + * repeated .context.ServiceId service_ids = 1; + */ + context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( + int index); + } + /** + * Protobuf type {@code context.ServiceIdList} + */ + public static final class ServiceIdList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ServiceIdList) + ServiceIdListOrBuilder { + private static final long serialVersionUID = 0L; + // Use ServiceIdList.newBuilder() to construct. + private ServiceIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ServiceIdList() { + serviceIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ServiceIdList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ServiceIdList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + serviceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + serviceIds_.add( + input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceIdList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceIdList.class, context.ContextOuterClass.ServiceIdList.Builder.class); + } + + public static final int SERVICE_IDS_FIELD_NUMBER = 1; + private java.util.List serviceIds_; + /** + * repeated .context.ServiceId service_ids = 1; + */ + @java.lang.Override + public java.util.List getServiceIdsList() { + return serviceIds_; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + @java.lang.Override + public java.util.List + getServiceIdsOrBuilderList() { + return serviceIds_; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + @java.lang.Override + public int getServiceIdsCount() { + return serviceIds_.size(); + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceId getServiceIds(int index) { + return serviceIds_.get(index); + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( + int index) { + return serviceIds_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < serviceIds_.size(); i++) { + output.writeMessage(1, serviceIds_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < serviceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, serviceIds_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ServiceIdList)) { + return super.equals(obj); + } + context.ContextOuterClass.ServiceIdList other = (context.ContextOuterClass.ServiceIdList) obj; + + if (!getServiceIdsList() + .equals(other.getServiceIdsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getServiceIdsCount() > 0) { + hash = (37 * hash) + SERVICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getServiceIdsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ServiceIdList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceIdList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceIdList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceIdList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceIdList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceIdList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ServiceIdList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ServiceIdList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ServiceIdList) + context.ContextOuterClass.ServiceIdListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceIdList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceIdList.class, context.ContextOuterClass.ServiceIdList.Builder.class); + } + + // Construct using context.ContextOuterClass.ServiceIdList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getServiceIdsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (serviceIdsBuilder_ == null) { + serviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + serviceIdsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceIdList getDefaultInstanceForType() { + return context.ContextOuterClass.ServiceIdList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ServiceIdList build() { + context.ContextOuterClass.ServiceIdList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceIdList buildPartial() { + context.ContextOuterClass.ServiceIdList result = new context.ContextOuterClass.ServiceIdList(this); + int from_bitField0_ = bitField0_; + if (serviceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.serviceIds_ = serviceIds_; + } else { + result.serviceIds_ = serviceIdsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ServiceIdList) { + return mergeFrom((context.ContextOuterClass.ServiceIdList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ServiceIdList other) { + if (other == context.ContextOuterClass.ServiceIdList.getDefaultInstance()) return this; + if (serviceIdsBuilder_ == null) { + if (!other.serviceIds_.isEmpty()) { + if (serviceIds_.isEmpty()) { + serviceIds_ = other.serviceIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureServiceIdsIsMutable(); + serviceIds_.addAll(other.serviceIds_); + } + onChanged(); + } + } else { + if (!other.serviceIds_.isEmpty()) { + if (serviceIdsBuilder_.isEmpty()) { + serviceIdsBuilder_.dispose(); + serviceIdsBuilder_ = null; + serviceIds_ = other.serviceIds_; + bitField0_ = (bitField0_ & ~0x00000001); + serviceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getServiceIdsFieldBuilder() : null; + } else { + serviceIdsBuilder_.addAllMessages(other.serviceIds_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ServiceIdList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ServiceIdList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List serviceIds_ = + java.util.Collections.emptyList(); + private void ensureServiceIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + serviceIds_ = new java.util.ArrayList(serviceIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdsBuilder_; + + /** + * repeated .context.ServiceId service_ids = 1; + */ + public java.util.List getServiceIdsList() { + if (serviceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(serviceIds_); + } else { + return serviceIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public int getServiceIdsCount() { + if (serviceIdsBuilder_ == null) { + return serviceIds_.size(); + } else { + return serviceIdsBuilder_.getCount(); + } + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public context.ContextOuterClass.ServiceId getServiceIds(int index) { + if (serviceIdsBuilder_ == null) { + return serviceIds_.get(index); + } else { + return serviceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder setServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (serviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceIdsIsMutable(); + serviceIds_.set(index, value); + onChanged(); + } else { + serviceIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder setServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + serviceIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder addServiceIds(context.ContextOuterClass.ServiceId value) { + if (serviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceIdsIsMutable(); + serviceIds_.add(value); + onChanged(); + } else { + serviceIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder addServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (serviceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServiceIdsIsMutable(); + serviceIds_.add(index, value); + onChanged(); + } else { + serviceIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder addServiceIds( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.add(builderForValue.build()); + onChanged(); + } else { + serviceIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder addServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.add(index, builderForValue.build()); + onChanged(); + } else { + serviceIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder addAllServiceIds( + java.lang.Iterable values) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, serviceIds_); + onChanged(); + } else { + serviceIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder clearServiceIds() { + if (serviceIdsBuilder_ == null) { + serviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + serviceIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public Builder removeServiceIds(int index) { + if (serviceIdsBuilder_ == null) { + ensureServiceIdsIsMutable(); + serviceIds_.remove(index); + onChanged(); + } else { + serviceIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public context.ContextOuterClass.ServiceId.Builder getServiceIdsBuilder( + int index) { + return getServiceIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( + int index) { + if (serviceIdsBuilder_ == null) { + return serviceIds_.get(index); } else { + return serviceIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public java.util.List + getServiceIdsOrBuilderList() { + if (serviceIdsBuilder_ != null) { + return serviceIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(serviceIds_); + } + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder() { + return getServiceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder( + int index) { + return getServiceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId service_ids = 1; + */ + public java.util.List + getServiceIdsBuilderList() { + return getServiceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getServiceIdsFieldBuilder() { + if (serviceIdsBuilder_ == null) { + serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + serviceIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + serviceIds_ = null; + } + return serviceIdsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ServiceIdList) + } + + // @@protoc_insertion_point(class_scope:context.ServiceIdList) + private static final context.ContextOuterClass.ServiceIdList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceIdList(); + } + + public static context.ContextOuterClass.ServiceIdList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceIdList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ServiceIdList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceIdList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ServiceList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.Service services = 1; + */ + java.util.List + getServicesList(); + /** + * repeated .context.Service services = 1; + */ + context.ContextOuterClass.Service getServices(int index); + /** + * repeated .context.Service services = 1; + */ + int getServicesCount(); + /** + * repeated .context.Service services = 1; + */ + java.util.List + getServicesOrBuilderList(); + /** + * repeated .context.Service services = 1; + */ + context.ContextOuterClass.ServiceOrBuilder getServicesOrBuilder( + int index); + } + /** + * Protobuf type {@code context.ServiceList} + */ + public static final class ServiceList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ServiceList) + ServiceListOrBuilder { + private static final long serialVersionUID = 0L; + // Use ServiceList.newBuilder() to construct. + private ServiceList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ServiceList() { + services_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ServiceList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ServiceList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + services_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + services_.add( + input.readMessage(context.ContextOuterClass.Service.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + services_ = java.util.Collections.unmodifiableList(services_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceList.class, context.ContextOuterClass.ServiceList.Builder.class); + } + + public static final int SERVICES_FIELD_NUMBER = 1; + private java.util.List services_; + /** + * repeated .context.Service services = 1; + */ + @java.lang.Override + public java.util.List getServicesList() { + return services_; + } + /** + * repeated .context.Service services = 1; + */ + @java.lang.Override + public java.util.List + getServicesOrBuilderList() { + return services_; + } + /** + * repeated .context.Service services = 1; + */ + @java.lang.Override + public int getServicesCount() { + return services_.size(); + } + /** + * repeated .context.Service services = 1; + */ + @java.lang.Override + public context.ContextOuterClass.Service getServices(int index) { + return services_.get(index); + } + /** + * repeated .context.Service services = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceOrBuilder getServicesOrBuilder( + int index) { + return services_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < services_.size(); i++) { + output.writeMessage(1, services_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < services_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, services_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ServiceList)) { + return super.equals(obj); + } + context.ContextOuterClass.ServiceList other = (context.ContextOuterClass.ServiceList) obj; + + if (!getServicesList() + .equals(other.getServicesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getServicesCount() > 0) { + hash = (37 * hash) + SERVICES_FIELD_NUMBER; + hash = (53 * hash) + getServicesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ServiceList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ServiceList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ServiceList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ServiceList) + context.ContextOuterClass.ServiceListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceList.class, context.ContextOuterClass.ServiceList.Builder.class); + } + + // Construct using context.ContextOuterClass.ServiceList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getServicesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (servicesBuilder_ == null) { + services_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + servicesBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ServiceList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceList getDefaultInstanceForType() { + return context.ContextOuterClass.ServiceList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ServiceList build() { + context.ContextOuterClass.ServiceList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceList buildPartial() { + context.ContextOuterClass.ServiceList result = new context.ContextOuterClass.ServiceList(this); + int from_bitField0_ = bitField0_; + if (servicesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + services_ = java.util.Collections.unmodifiableList(services_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.services_ = services_; + } else { + result.services_ = servicesBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ServiceList) { + return mergeFrom((context.ContextOuterClass.ServiceList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ServiceList other) { + if (other == context.ContextOuterClass.ServiceList.getDefaultInstance()) return this; + if (servicesBuilder_ == null) { + if (!other.services_.isEmpty()) { + if (services_.isEmpty()) { + services_ = other.services_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureServicesIsMutable(); + services_.addAll(other.services_); + } + onChanged(); + } + } else { + if (!other.services_.isEmpty()) { + if (servicesBuilder_.isEmpty()) { + servicesBuilder_.dispose(); + servicesBuilder_ = null; + services_ = other.services_; + bitField0_ = (bitField0_ & ~0x00000001); + servicesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getServicesFieldBuilder() : null; + } else { + servicesBuilder_.addAllMessages(other.services_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ServiceList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ServiceList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List services_ = + java.util.Collections.emptyList(); + private void ensureServicesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + services_ = new java.util.ArrayList(services_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Service, context.ContextOuterClass.Service.Builder, context.ContextOuterClass.ServiceOrBuilder> servicesBuilder_; + + /** + * repeated .context.Service services = 1; + */ + public java.util.List getServicesList() { + if (servicesBuilder_ == null) { + return java.util.Collections.unmodifiableList(services_); + } else { + return servicesBuilder_.getMessageList(); + } + } + /** + * repeated .context.Service services = 1; + */ + public int getServicesCount() { + if (servicesBuilder_ == null) { + return services_.size(); + } else { + return servicesBuilder_.getCount(); + } + } + /** + * repeated .context.Service services = 1; + */ + public context.ContextOuterClass.Service getServices(int index) { + if (servicesBuilder_ == null) { + return services_.get(index); + } else { + return servicesBuilder_.getMessage(index); + } + } + /** + * repeated .context.Service services = 1; + */ + public Builder setServices( + int index, context.ContextOuterClass.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.set(index, value); + onChanged(); + } else { + servicesBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder setServices( + int index, context.ContextOuterClass.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.set(index, builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder addServices(context.ContextOuterClass.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.add(value); + onChanged(); + } else { + servicesBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder addServices( + int index, context.ContextOuterClass.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.add(index, value); + onChanged(); + } else { + servicesBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder addServices( + context.ContextOuterClass.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder addServices( + int index, context.ContextOuterClass.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(index, builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder addAllServices( + java.lang.Iterable values) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, services_); + onChanged(); + } else { + servicesBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder clearServices() { + if (servicesBuilder_ == null) { + services_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + servicesBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public Builder removeServices(int index) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.remove(index); + onChanged(); + } else { + servicesBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Service services = 1; + */ + public context.ContextOuterClass.Service.Builder getServicesBuilder( + int index) { + return getServicesFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Service services = 1; + */ + public context.ContextOuterClass.ServiceOrBuilder getServicesOrBuilder( + int index) { + if (servicesBuilder_ == null) { + return services_.get(index); } else { + return servicesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Service services = 1; + */ + public java.util.List + getServicesOrBuilderList() { + if (servicesBuilder_ != null) { + return servicesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(services_); + } + } + /** + * repeated .context.Service services = 1; + */ + public context.ContextOuterClass.Service.Builder addServicesBuilder() { + return getServicesFieldBuilder().addBuilder( + context.ContextOuterClass.Service.getDefaultInstance()); + } + /** + * repeated .context.Service services = 1; + */ + public context.ContextOuterClass.Service.Builder addServicesBuilder( + int index) { + return getServicesFieldBuilder().addBuilder( + index, context.ContextOuterClass.Service.getDefaultInstance()); + } + /** + * repeated .context.Service services = 1; + */ + public java.util.List + getServicesBuilderList() { + return getServicesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Service, context.ContextOuterClass.Service.Builder, context.ContextOuterClass.ServiceOrBuilder> + getServicesFieldBuilder() { + if (servicesBuilder_ == null) { + servicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Service, context.ContextOuterClass.Service.Builder, context.ContextOuterClass.ServiceOrBuilder>( + services_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + services_ = null; + } + return servicesBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ServiceList) + } + + // @@protoc_insertion_point(class_scope:context.ServiceList) + private static final context.ContextOuterClass.ServiceList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceList(); + } + + public static context.ContextOuterClass.ServiceList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ServiceList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ServiceEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ServiceEvent) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + boolean hasEvent(); + /** + * .context.Event event = 1; + * @return The event. + */ + context.ContextOuterClass.Event getEvent(); + /** + * .context.Event event = 1; + */ + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); + + /** + * .context.ServiceId service_id = 2; + * @return Whether the serviceId field is set. + */ + boolean hasServiceId(); + /** + * .context.ServiceId service_id = 2; + * @return The serviceId. + */ + context.ContextOuterClass.ServiceId getServiceId(); + /** + * .context.ServiceId service_id = 2; + */ + context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + } + /** + * Protobuf type {@code context.ServiceEvent} + */ + public static final class ServiceEvent extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ServiceEvent) + ServiceEventOrBuilder { + private static final long serialVersionUID = 0L; + // Use ServiceEvent.newBuilder() to construct. + private ServiceEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ServiceEvent() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ServiceEvent(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ServiceEvent( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); + } + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.ServiceId.Builder subBuilder = null; + if (serviceId_ != null) { + subBuilder = serviceId_.toBuilder(); + } + serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceId_); + serviceId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceEvent.class, context.ContextOuterClass.ServiceEvent.Builder.class); + } + + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + @java.lang.Override + public boolean hasEvent() { + return event_ != null; + } + /** + * .context.Event event = 1; + * @return The event. + */ + @java.lang.Override + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + /** + * .context.Event event = 1; + */ + @java.lang.Override + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); + } + + public static final int SERVICE_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.ServiceId serviceId_; + /** + * .context.ServiceId service_id = 2; + * @return Whether the serviceId field is set. + */ + @java.lang.Override + public boolean hasServiceId() { + return serviceId_ != null; + } + /** + * .context.ServiceId service_id = 2; + * @return The serviceId. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceId getServiceId() { + return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } + /** + * .context.ServiceId service_id = 2; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { + return getServiceId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (event_ != null) { + output.writeMessage(1, getEvent()); + } + if (serviceId_ != null) { + output.writeMessage(2, getServiceId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (event_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getEvent()); + } + if (serviceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getServiceId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ServiceEvent)) { + return super.equals(obj); + } + context.ContextOuterClass.ServiceEvent other = (context.ContextOuterClass.ServiceEvent) obj; + + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; + } + if (hasServiceId() != other.hasServiceId()) return false; + if (hasServiceId()) { + if (!getServiceId() + .equals(other.getServiceId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); + } + if (hasServiceId()) { + hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getServiceId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ServiceEvent parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceEvent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ServiceEvent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceEvent parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceEvent parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ServiceEvent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ServiceEvent prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ServiceEvent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ServiceEvent) + context.ContextOuterClass.ServiceEventOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ServiceEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ServiceEvent.class, context.ContextOuterClass.ServiceEvent.Builder.class); + } + + // Construct using context.ContextOuterClass.ServiceEvent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (eventBuilder_ == null) { + event_ = null; + } else { + event_ = null; + eventBuilder_ = null; + } + if (serviceIdBuilder_ == null) { + serviceId_ = null; + } else { + serviceId_ = null; + serviceIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceEvent getDefaultInstanceForType() { + return context.ContextOuterClass.ServiceEvent.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ServiceEvent build() { + context.ContextOuterClass.ServiceEvent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceEvent buildPartial() { + context.ContextOuterClass.ServiceEvent result = new context.ContextOuterClass.ServiceEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; + } else { + result.event_ = eventBuilder_.build(); + } + if (serviceIdBuilder_ == null) { + result.serviceId_ = serviceId_; + } else { + result.serviceId_ = serviceIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ServiceEvent) { + return mergeFrom((context.ContextOuterClass.ServiceEvent)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ServiceEvent other) { + if (other == context.ContextOuterClass.ServiceEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); + } + if (other.hasServiceId()) { + mergeServiceId(other.getServiceId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ServiceEvent parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ServiceEvent) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Event event_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; + } + /** + * .context.Event event = 1; + * @return The event. + */ + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + } else { + return eventBuilder_.getMessage(); + } + } + /** + * .context.Event event = 1; + */ + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + event_ = value; + onChanged(); + } else { + eventBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); + onChanged(); + } else { + eventBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); + } else { + event_ = value; + } + onChanged(); + } else { + eventBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; + onChanged(); + } else { + event_ = null; + eventBuilder_ = null; + } + + return this; + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.Event.Builder getEventBuilder() { + + onChanged(); + return getEventFieldBuilder().getBuilder(); + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); + } else { + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + } + /** + * .context.Event event = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), + getParentForChildren(), + isClean()); + event_ = null; + } + return eventBuilder_; + } + + private context.ContextOuterClass.ServiceId serviceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; + /** + * .context.ServiceId service_id = 2; + * @return Whether the serviceId field is set. + */ + public boolean hasServiceId() { + return serviceIdBuilder_ != null || serviceId_ != null; + } + /** + * .context.ServiceId service_id = 2; + * @return The serviceId. + */ + public context.ContextOuterClass.ServiceId getServiceId() { + if (serviceIdBuilder_ == null) { + return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } else { + return serviceIdBuilder_.getMessage(); + } + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder setServiceId(context.ContextOuterClass.ServiceId value) { + if (serviceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + serviceId_ = value; + onChanged(); + } else { + serviceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder setServiceId( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdBuilder_ == null) { + serviceId_ = builderForValue.build(); + onChanged(); + } else { + serviceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { + if (serviceIdBuilder_ == null) { + if (serviceId_ != null) { + serviceId_ = + context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); + } else { + serviceId_ = value; + } + onChanged(); + } else { + serviceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder clearServiceId() { + if (serviceIdBuilder_ == null) { + serviceId_ = null; + onChanged(); + } else { + serviceId_ = null; + serviceIdBuilder_ = null; + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { + + onChanged(); + return getServiceIdFieldBuilder().getBuilder(); + } + /** + * .context.ServiceId service_id = 2; + */ + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { + if (serviceIdBuilder_ != null) { + return serviceIdBuilder_.getMessageOrBuilder(); + } else { + return serviceId_ == null ? + context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } + } + /** + * .context.ServiceId service_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getServiceIdFieldBuilder() { + if (serviceIdBuilder_ == null) { + serviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + getServiceId(), + getParentForChildren(), + isClean()); + serviceId_ = null; + } + return serviceIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ServiceEvent) + } + + // @@protoc_insertion_point(class_scope:context.ServiceEvent) + private static final context.ContextOuterClass.ServiceEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceEvent(); + } + + public static context.ContextOuterClass.ServiceEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ServiceEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ServiceEvent(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ServiceEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + boolean hasContextId(); + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + context.ContextOuterClass.ContextId getContextId(); + /** + * .context.ContextId context_id = 1; + */ + context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder(); + + /** + * .context.Uuid slice_uuid = 2; + * @return Whether the sliceUuid field is set. + */ + boolean hasSliceUuid(); + /** + * .context.Uuid slice_uuid = 2; + * @return The sliceUuid. + */ + context.ContextOuterClass.Uuid getSliceUuid(); + /** + * .context.Uuid slice_uuid = 2; + */ + context.ContextOuterClass.UuidOrBuilder getSliceUuidOrBuilder(); + } + /** + *
+   * ----- Slice ---------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.SliceId} + */ + public static final class SliceId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceId) + SliceIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceId.newBuilder() to construct. + private SliceId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (sliceUuid_ != null) { + subBuilder = sliceUuid_.toBuilder(); + } + sliceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceUuid_); + sliceUuid_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceId.class, context.ContextOuterClass.SliceId.Builder.class); + } + + public static final int CONTEXT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.ContextId contextId_; + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + @java.lang.Override + public boolean hasContextId() { + return contextId_ != null; + } + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + @java.lang.Override + public context.ContextOuterClass.ContextId getContextId() { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + } + /** + * .context.ContextId context_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + return getContextId(); + } + + public static final int SLICE_UUID_FIELD_NUMBER = 2; + private context.ContextOuterClass.Uuid sliceUuid_; + /** + * .context.Uuid slice_uuid = 2; + * @return Whether the sliceUuid field is set. + */ + @java.lang.Override + public boolean hasSliceUuid() { + return sliceUuid_ != null; + } + /** + * .context.Uuid slice_uuid = 2; + * @return The sliceUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getSliceUuid() { + return sliceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : sliceUuid_; + } + /** + * .context.Uuid slice_uuid = 2; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getSliceUuidOrBuilder() { + return getSliceUuid(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (contextId_ != null) { + output.writeMessage(1, getContextId()); + } + if (sliceUuid_ != null) { + output.writeMessage(2, getSliceUuid()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (contextId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getContextId()); + } + if (sliceUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getSliceUuid()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceId)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceId other = (context.ContextOuterClass.SliceId) obj; + + if (hasContextId() != other.hasContextId()) return false; + if (hasContextId()) { + if (!getContextId() + .equals(other.getContextId())) return false; + } + if (hasSliceUuid() != other.hasSliceUuid()) return false; + if (hasSliceUuid()) { + if (!getSliceUuid() + .equals(other.getSliceUuid())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasContextId()) { + hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; + hash = (53 * hash) + getContextId().hashCode(); + } + if (hasSliceUuid()) { + hash = (37 * hash) + SLICE_UUID_FIELD_NUMBER; + hash = (53 * hash) + getSliceUuid().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceId parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceId parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceId parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceId parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceId parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceId parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceId parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceId parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceId parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceId parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceId parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceId parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ----- Slice ---------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.SliceId} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceId) + context.ContextOuterClass.SliceIdOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceId.class, context.ContextOuterClass.SliceId.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceId.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (contextIdBuilder_ == null) { + contextId_ = null; + } else { + contextId_ = null; + contextIdBuilder_ = null; + } + if (sliceUuidBuilder_ == null) { + sliceUuid_ = null; + } else { + sliceUuid_ = null; + sliceUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceId getDefaultInstanceForType() { + return context.ContextOuterClass.SliceId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceId build() { + context.ContextOuterClass.SliceId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceId buildPartial() { + context.ContextOuterClass.SliceId result = new context.ContextOuterClass.SliceId(this); + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; + } else { + result.contextId_ = contextIdBuilder_.build(); + } + if (sliceUuidBuilder_ == null) { + result.sliceUuid_ = sliceUuid_; + } else { + result.sliceUuid_ = sliceUuidBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceId) { + return mergeFrom((context.ContextOuterClass.SliceId)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceId other) { + if (other == context.ContextOuterClass.SliceId.getDefaultInstance()) return this; + if (other.hasContextId()) { + mergeContextId(other.getContextId()); + } + if (other.hasSliceUuid()) { + mergeSliceUuid(other.getSliceUuid()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceId parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceId) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.ContextId contextId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> contextIdBuilder_; + /** + * .context.ContextId context_id = 1; + * @return Whether the contextId field is set. + */ + public boolean hasContextId() { + return contextIdBuilder_ != null || contextId_ != null; + } + /** + * .context.ContextId context_id = 1; + * @return The contextId. + */ + public context.ContextOuterClass.ContextId getContextId() { + if (contextIdBuilder_ == null) { + return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + } else { + return contextIdBuilder_.getMessage(); + } + } + /** + * .context.ContextId context_id = 1; + */ + public Builder setContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + contextId_ = value; + onChanged(); + } else { + contextIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public Builder setContextId( + context.ContextOuterClass.ContextId.Builder builderForValue) { + if (contextIdBuilder_ == null) { + contextId_ = builderForValue.build(); + onChanged(); + } else { + contextIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public Builder mergeContextId(context.ContextOuterClass.ContextId value) { + if (contextIdBuilder_ == null) { + if (contextId_ != null) { + contextId_ = + context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); + } else { + contextId_ = value; + } + onChanged(); + } else { + contextIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public Builder clearContextId() { + if (contextIdBuilder_ == null) { + contextId_ = null; + onChanged(); + } else { + contextId_ = null; + contextIdBuilder_ = null; + } + + return this; + } + /** + * .context.ContextId context_id = 1; + */ + public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { + + onChanged(); + return getContextIdFieldBuilder().getBuilder(); + } + /** + * .context.ContextId context_id = 1; + */ + public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { + if (contextIdBuilder_ != null) { + return contextIdBuilder_.getMessageOrBuilder(); + } else { + return contextId_ == null ? + context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + } + } + /** + * .context.ContextId context_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder> + getContextIdFieldBuilder() { + if (contextIdBuilder_ == null) { + contextIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ContextId, context.ContextOuterClass.ContextId.Builder, context.ContextOuterClass.ContextIdOrBuilder>( + getContextId(), + getParentForChildren(), + isClean()); + contextId_ = null; + } + return contextIdBuilder_; + } + + private context.ContextOuterClass.Uuid sliceUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> sliceUuidBuilder_; + /** + * .context.Uuid slice_uuid = 2; + * @return Whether the sliceUuid field is set. + */ + public boolean hasSliceUuid() { + return sliceUuidBuilder_ != null || sliceUuid_ != null; + } + /** + * .context.Uuid slice_uuid = 2; + * @return The sliceUuid. + */ + public context.ContextOuterClass.Uuid getSliceUuid() { + if (sliceUuidBuilder_ == null) { + return sliceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : sliceUuid_; + } else { + return sliceUuidBuilder_.getMessage(); + } + } + /** + * .context.Uuid slice_uuid = 2; + */ + public Builder setSliceUuid(context.ContextOuterClass.Uuid value) { + if (sliceUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceUuid_ = value; + onChanged(); + } else { + sliceUuidBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid slice_uuid = 2; + */ + public Builder setSliceUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (sliceUuidBuilder_ == null) { + sliceUuid_ = builderForValue.build(); + onChanged(); + } else { + sliceUuidBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid slice_uuid = 2; + */ + public Builder mergeSliceUuid(context.ContextOuterClass.Uuid value) { + if (sliceUuidBuilder_ == null) { + if (sliceUuid_ != null) { + sliceUuid_ = + context.ContextOuterClass.Uuid.newBuilder(sliceUuid_).mergeFrom(value).buildPartial(); + } else { + sliceUuid_ = value; + } + onChanged(); + } else { + sliceUuidBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid slice_uuid = 2; + */ + public Builder clearSliceUuid() { + if (sliceUuidBuilder_ == null) { + sliceUuid_ = null; + onChanged(); + } else { + sliceUuid_ = null; + sliceUuidBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid slice_uuid = 2; + */ + public context.ContextOuterClass.Uuid.Builder getSliceUuidBuilder() { + + onChanged(); + return getSliceUuidFieldBuilder().getBuilder(); + } + /** + * .context.Uuid slice_uuid = 2; + */ + public context.ContextOuterClass.UuidOrBuilder getSliceUuidOrBuilder() { + if (sliceUuidBuilder_ != null) { + return sliceUuidBuilder_.getMessageOrBuilder(); + } else { + return sliceUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : sliceUuid_; + } + } + /** + * .context.Uuid slice_uuid = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getSliceUuidFieldBuilder() { + if (sliceUuidBuilder_ == null) { + sliceUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getSliceUuid(), + getParentForChildren(), + isClean()); + sliceUuid_ = null; + } + return sliceUuidBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceId) + } + + // @@protoc_insertion_point(class_scope:context.SliceId) + private static final context.ContextOuterClass.SliceId DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceId(); + } + + public static context.ContextOuterClass.SliceId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceId parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceId(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Slice) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.SliceId slice_id = 1; + * @return Whether the sliceId field is set. + */ + boolean hasSliceId(); + /** + * .context.SliceId slice_id = 1; + * @return The sliceId. + */ + context.ContextOuterClass.SliceId getSliceId(); + /** + * .context.SliceId slice_id = 1; + */ + context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder(); + + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + java.util.List + getSliceEndpointIdsList(); + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + context.ContextOuterClass.EndPointId getSliceEndpointIds(int index); + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + int getSliceEndpointIdsCount(); + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + java.util.List + getSliceEndpointIdsOrBuilderList(); + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + context.ContextOuterClass.EndPointIdOrBuilder getSliceEndpointIdsOrBuilder( + int index); + + /** + * repeated .context.Constraint slice_constraints = 3; + */ + java.util.List + getSliceConstraintsList(); + /** + * repeated .context.Constraint slice_constraints = 3; + */ + context.ContextOuterClass.Constraint getSliceConstraints(int index); + /** + * repeated .context.Constraint slice_constraints = 3; + */ + int getSliceConstraintsCount(); + /** + * repeated .context.Constraint slice_constraints = 3; + */ + java.util.List + getSliceConstraintsOrBuilderList(); + /** + * repeated .context.Constraint slice_constraints = 3; + */ + context.ContextOuterClass.ConstraintOrBuilder getSliceConstraintsOrBuilder( + int index); + + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + java.util.List + getSliceServiceIdsList(); + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + context.ContextOuterClass.ServiceId getSliceServiceIds(int index); + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + int getSliceServiceIdsCount(); + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + java.util.List + getSliceServiceIdsOrBuilderList(); + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + context.ContextOuterClass.ServiceIdOrBuilder getSliceServiceIdsOrBuilder( + int index); + + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + java.util.List + getSliceSubsliceIdsList(); + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + context.ContextOuterClass.SliceId getSliceSubsliceIds(int index); + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + int getSliceSubsliceIdsCount(); + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + java.util.List + getSliceSubsliceIdsOrBuilderList(); + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + context.ContextOuterClass.SliceIdOrBuilder getSliceSubsliceIdsOrBuilder( + int index); + + /** + * .context.SliceStatus slice_status = 6; + * @return Whether the sliceStatus field is set. + */ + boolean hasSliceStatus(); + /** + * .context.SliceStatus slice_status = 6; + * @return The sliceStatus. + */ + context.ContextOuterClass.SliceStatus getSliceStatus(); + /** + * .context.SliceStatus slice_status = 6; + */ + context.ContextOuterClass.SliceStatusOrBuilder getSliceStatusOrBuilder(); + + /** + * .context.SliceConfig slice_config = 7; + * @return Whether the sliceConfig field is set. + */ + boolean hasSliceConfig(); + /** + * .context.SliceConfig slice_config = 7; + * @return The sliceConfig. + */ + context.ContextOuterClass.SliceConfig getSliceConfig(); + /** + * .context.SliceConfig slice_config = 7; + */ + context.ContextOuterClass.SliceConfigOrBuilder getSliceConfigOrBuilder(); + + /** + * .context.SliceOwner slice_owner = 8; + * @return Whether the sliceOwner field is set. + */ + boolean hasSliceOwner(); + /** + * .context.SliceOwner slice_owner = 8; + * @return The sliceOwner. + */ + context.ContextOuterClass.SliceOwner getSliceOwner(); + /** + * .context.SliceOwner slice_owner = 8; + */ + context.ContextOuterClass.SliceOwnerOrBuilder getSliceOwnerOrBuilder(); + + /** + * .context.Timestamp timestamp = 9; + * @return Whether the timestamp field is set. + */ + boolean hasTimestamp(); + /** + * .context.Timestamp timestamp = 9; + * @return The timestamp. + */ + context.ContextOuterClass.Timestamp getTimestamp(); + /** + * .context.Timestamp timestamp = 9; + */ + context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder(); + } + /** + * Protobuf type {@code context.Slice} + */ + public static final class Slice extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.Slice) + SliceOrBuilder { + private static final long serialVersionUID = 0L; + // Use Slice.newBuilder() to construct. + private Slice(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Slice() { + sliceEndpointIds_ = java.util.Collections.emptyList(); + sliceConstraints_ = java.util.Collections.emptyList(); + sliceServiceIds_ = java.util.Collections.emptyList(); + sliceSubsliceIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Slice(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Slice( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.SliceId.Builder subBuilder = null; + if (sliceId_ != null) { + subBuilder = sliceId_.toBuilder(); + } + sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceId_); + sliceId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + sliceEndpointIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + sliceEndpointIds_.add( + input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + sliceConstraints_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + sliceConstraints_.add( + input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry)); + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + sliceServiceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000004; + } + sliceServiceIds_.add( + input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + break; + } + case 42: { + if (!((mutable_bitField0_ & 0x00000008) != 0)) { + sliceSubsliceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000008; + } + sliceSubsliceIds_.add( + input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry)); + break; + } + case 50: { + context.ContextOuterClass.SliceStatus.Builder subBuilder = null; + if (sliceStatus_ != null) { + subBuilder = sliceStatus_.toBuilder(); + } + sliceStatus_ = input.readMessage(context.ContextOuterClass.SliceStatus.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceStatus_); + sliceStatus_ = subBuilder.buildPartial(); + } + + break; + } + case 58: { + context.ContextOuterClass.SliceConfig.Builder subBuilder = null; + if (sliceConfig_ != null) { + subBuilder = sliceConfig_.toBuilder(); + } + sliceConfig_ = input.readMessage(context.ContextOuterClass.SliceConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceConfig_); + sliceConfig_ = subBuilder.buildPartial(); + } + + break; + } + case 66: { + context.ContextOuterClass.SliceOwner.Builder subBuilder = null; + if (sliceOwner_ != null) { + subBuilder = sliceOwner_.toBuilder(); + } + sliceOwner_ = input.readMessage(context.ContextOuterClass.SliceOwner.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceOwner_); + sliceOwner_ = subBuilder.buildPartial(); + } + + break; + } + case 74: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); + } + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + sliceEndpointIds_ = java.util.Collections.unmodifiableList(sliceEndpointIds_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + sliceConstraints_ = java.util.Collections.unmodifiableList(sliceConstraints_); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + sliceServiceIds_ = java.util.Collections.unmodifiableList(sliceServiceIds_); + } + if (((mutable_bitField0_ & 0x00000008) != 0)) { + sliceSubsliceIds_ = java.util.Collections.unmodifiableList(sliceSubsliceIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Slice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Slice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Slice.class, context.ContextOuterClass.Slice.Builder.class); + } + + public static final int SLICE_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.SliceId sliceId_; + /** + * .context.SliceId slice_id = 1; + * @return Whether the sliceId field is set. + */ + @java.lang.Override + public boolean hasSliceId() { + return sliceId_ != null; + } + /** + * .context.SliceId slice_id = 1; + * @return The sliceId. + */ + @java.lang.Override + public context.ContextOuterClass.SliceId getSliceId() { + return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } + /** + * .context.SliceId slice_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { + return getSliceId(); + } + + public static final int SLICE_ENDPOINT_IDS_FIELD_NUMBER = 2; + private java.util.List sliceEndpointIds_; + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + @java.lang.Override + public java.util.List getSliceEndpointIdsList() { + return sliceEndpointIds_; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + @java.lang.Override + public java.util.List + getSliceEndpointIdsOrBuilderList() { + return sliceEndpointIds_; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + @java.lang.Override + public int getSliceEndpointIdsCount() { + return sliceEndpointIds_.size(); + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointId getSliceEndpointIds(int index) { + return sliceEndpointIds_.get(index); + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointIdOrBuilder getSliceEndpointIdsOrBuilder( + int index) { + return sliceEndpointIds_.get(index); + } + + public static final int SLICE_CONSTRAINTS_FIELD_NUMBER = 3; + private java.util.List sliceConstraints_; + /** + * repeated .context.Constraint slice_constraints = 3; + */ + @java.lang.Override + public java.util.List getSliceConstraintsList() { + return sliceConstraints_; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + @java.lang.Override + public java.util.List + getSliceConstraintsOrBuilderList() { + return sliceConstraints_; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + @java.lang.Override + public int getSliceConstraintsCount() { + return sliceConstraints_.size(); + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint getSliceConstraints(int index) { + return sliceConstraints_.get(index); + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + @java.lang.Override + public context.ContextOuterClass.ConstraintOrBuilder getSliceConstraintsOrBuilder( + int index) { + return sliceConstraints_.get(index); + } + + public static final int SLICE_SERVICE_IDS_FIELD_NUMBER = 4; + private java.util.List sliceServiceIds_; + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + @java.lang.Override + public java.util.List getSliceServiceIdsList() { + return sliceServiceIds_; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + @java.lang.Override + public java.util.List + getSliceServiceIdsOrBuilderList() { + return sliceServiceIds_; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + @java.lang.Override + public int getSliceServiceIdsCount() { + return sliceServiceIds_.size(); + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceId getSliceServiceIds(int index) { + return sliceServiceIds_.get(index); + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceIdOrBuilder getSliceServiceIdsOrBuilder( + int index) { + return sliceServiceIds_.get(index); + } + + public static final int SLICE_SUBSLICE_IDS_FIELD_NUMBER = 5; + private java.util.List sliceSubsliceIds_; + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + @java.lang.Override + public java.util.List getSliceSubsliceIdsList() { + return sliceSubsliceIds_; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + @java.lang.Override + public java.util.List + getSliceSubsliceIdsOrBuilderList() { + return sliceSubsliceIds_; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + @java.lang.Override + public int getSliceSubsliceIdsCount() { + return sliceSubsliceIds_.size(); + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + @java.lang.Override + public context.ContextOuterClass.SliceId getSliceSubsliceIds(int index) { + return sliceSubsliceIds_.get(index); + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + @java.lang.Override + public context.ContextOuterClass.SliceIdOrBuilder getSliceSubsliceIdsOrBuilder( + int index) { + return sliceSubsliceIds_.get(index); + } + + public static final int SLICE_STATUS_FIELD_NUMBER = 6; + private context.ContextOuterClass.SliceStatus sliceStatus_; + /** + * .context.SliceStatus slice_status = 6; + * @return Whether the sliceStatus field is set. + */ + @java.lang.Override + public boolean hasSliceStatus() { + return sliceStatus_ != null; + } + /** + * .context.SliceStatus slice_status = 6; + * @return The sliceStatus. + */ + @java.lang.Override + public context.ContextOuterClass.SliceStatus getSliceStatus() { + return sliceStatus_ == null ? context.ContextOuterClass.SliceStatus.getDefaultInstance() : sliceStatus_; + } + /** + * .context.SliceStatus slice_status = 6; + */ + @java.lang.Override + public context.ContextOuterClass.SliceStatusOrBuilder getSliceStatusOrBuilder() { + return getSliceStatus(); + } + + public static final int SLICE_CONFIG_FIELD_NUMBER = 7; + private context.ContextOuterClass.SliceConfig sliceConfig_; + /** + * .context.SliceConfig slice_config = 7; + * @return Whether the sliceConfig field is set. + */ + @java.lang.Override + public boolean hasSliceConfig() { + return sliceConfig_ != null; + } + /** + * .context.SliceConfig slice_config = 7; + * @return The sliceConfig. + */ + @java.lang.Override + public context.ContextOuterClass.SliceConfig getSliceConfig() { + return sliceConfig_ == null ? context.ContextOuterClass.SliceConfig.getDefaultInstance() : sliceConfig_; + } + /** + * .context.SliceConfig slice_config = 7; + */ + @java.lang.Override + public context.ContextOuterClass.SliceConfigOrBuilder getSliceConfigOrBuilder() { + return getSliceConfig(); + } + + public static final int SLICE_OWNER_FIELD_NUMBER = 8; + private context.ContextOuterClass.SliceOwner sliceOwner_; + /** + * .context.SliceOwner slice_owner = 8; + * @return Whether the sliceOwner field is set. + */ + @java.lang.Override + public boolean hasSliceOwner() { + return sliceOwner_ != null; + } + /** + * .context.SliceOwner slice_owner = 8; + * @return The sliceOwner. + */ + @java.lang.Override + public context.ContextOuterClass.SliceOwner getSliceOwner() { + return sliceOwner_ == null ? context.ContextOuterClass.SliceOwner.getDefaultInstance() : sliceOwner_; + } + /** + * .context.SliceOwner slice_owner = 8; + */ + @java.lang.Override + public context.ContextOuterClass.SliceOwnerOrBuilder getSliceOwnerOrBuilder() { + return getSliceOwner(); + } + + public static final int TIMESTAMP_FIELD_NUMBER = 9; + private context.ContextOuterClass.Timestamp timestamp_; + /** + * .context.Timestamp timestamp = 9; + * @return Whether the timestamp field is set. + */ + @java.lang.Override + public boolean hasTimestamp() { + return timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 9; + * @return The timestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getTimestamp() { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + /** + * .context.Timestamp timestamp = 9; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + return getTimestamp(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (sliceId_ != null) { + output.writeMessage(1, getSliceId()); + } + for (int i = 0; i < sliceEndpointIds_.size(); i++) { + output.writeMessage(2, sliceEndpointIds_.get(i)); + } + for (int i = 0; i < sliceConstraints_.size(); i++) { + output.writeMessage(3, sliceConstraints_.get(i)); + } + for (int i = 0; i < sliceServiceIds_.size(); i++) { + output.writeMessage(4, sliceServiceIds_.get(i)); + } + for (int i = 0; i < sliceSubsliceIds_.size(); i++) { + output.writeMessage(5, sliceSubsliceIds_.get(i)); + } + if (sliceStatus_ != null) { + output.writeMessage(6, getSliceStatus()); + } + if (sliceConfig_ != null) { + output.writeMessage(7, getSliceConfig()); + } + if (sliceOwner_ != null) { + output.writeMessage(8, getSliceOwner()); + } + if (timestamp_ != null) { + output.writeMessage(9, getTimestamp()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (sliceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getSliceId()); + } + for (int i = 0; i < sliceEndpointIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, sliceEndpointIds_.get(i)); + } + for (int i = 0; i < sliceConstraints_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, sliceConstraints_.get(i)); + } + for (int i = 0; i < sliceServiceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, sliceServiceIds_.get(i)); + } + for (int i = 0; i < sliceSubsliceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, sliceSubsliceIds_.get(i)); + } + if (sliceStatus_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getSliceStatus()); + } + if (sliceConfig_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getSliceConfig()); + } + if (sliceOwner_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, getSliceOwner()); + } + if (timestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(9, getTimestamp()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.Slice)) { + return super.equals(obj); + } + context.ContextOuterClass.Slice other = (context.ContextOuterClass.Slice) obj; + + if (hasSliceId() != other.hasSliceId()) return false; + if (hasSliceId()) { + if (!getSliceId() + .equals(other.getSliceId())) return false; + } + if (!getSliceEndpointIdsList() + .equals(other.getSliceEndpointIdsList())) return false; + if (!getSliceConstraintsList() + .equals(other.getSliceConstraintsList())) return false; + if (!getSliceServiceIdsList() + .equals(other.getSliceServiceIdsList())) return false; + if (!getSliceSubsliceIdsList() + .equals(other.getSliceSubsliceIdsList())) return false; + if (hasSliceStatus() != other.hasSliceStatus()) return false; + if (hasSliceStatus()) { + if (!getSliceStatus() + .equals(other.getSliceStatus())) return false; + } + if (hasSliceConfig() != other.hasSliceConfig()) return false; + if (hasSliceConfig()) { + if (!getSliceConfig() + .equals(other.getSliceConfig())) return false; + } + if (hasSliceOwner() != other.hasSliceOwner()) return false; + if (hasSliceOwner()) { + if (!getSliceOwner() + .equals(other.getSliceOwner())) return false; + } + if (hasTimestamp() != other.hasTimestamp()) return false; + if (hasTimestamp()) { + if (!getTimestamp() + .equals(other.getTimestamp())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSliceId()) { + hash = (37 * hash) + SLICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getSliceId().hashCode(); + } + if (getSliceEndpointIdsCount() > 0) { + hash = (37 * hash) + SLICE_ENDPOINT_IDS_FIELD_NUMBER; + hash = (53 * hash) + getSliceEndpointIdsList().hashCode(); + } + if (getSliceConstraintsCount() > 0) { + hash = (37 * hash) + SLICE_CONSTRAINTS_FIELD_NUMBER; + hash = (53 * hash) + getSliceConstraintsList().hashCode(); + } + if (getSliceServiceIdsCount() > 0) { + hash = (37 * hash) + SLICE_SERVICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getSliceServiceIdsList().hashCode(); + } + if (getSliceSubsliceIdsCount() > 0) { + hash = (37 * hash) + SLICE_SUBSLICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getSliceSubsliceIdsList().hashCode(); + } + if (hasSliceStatus()) { + hash = (37 * hash) + SLICE_STATUS_FIELD_NUMBER; + hash = (53 * hash) + getSliceStatus().hashCode(); + } + if (hasSliceConfig()) { + hash = (37 * hash) + SLICE_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getSliceConfig().hashCode(); + } + if (hasSliceOwner()) { + hash = (37 * hash) + SLICE_OWNER_FIELD_NUMBER; + hash = (53 * hash) + getSliceOwner().hashCode(); + } + if (hasTimestamp()) { + hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getTimestamp().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.Slice parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Slice parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Slice parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Slice parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Slice parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Slice parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Slice parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Slice parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.Slice parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Slice parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.Slice parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Slice parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.Slice prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.Slice} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.Slice) + context.ContextOuterClass.SliceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Slice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Slice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Slice.class, context.ContextOuterClass.Slice.Builder.class); + } + + // Construct using context.ContextOuterClass.Slice.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getSliceEndpointIdsFieldBuilder(); + getSliceConstraintsFieldBuilder(); + getSliceServiceIdsFieldBuilder(); + getSliceSubsliceIdsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (sliceIdBuilder_ == null) { + sliceId_ = null; + } else { + sliceId_ = null; + sliceIdBuilder_ = null; + } + if (sliceEndpointIdsBuilder_ == null) { + sliceEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + sliceEndpointIdsBuilder_.clear(); + } + if (sliceConstraintsBuilder_ == null) { + sliceConstraints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + sliceConstraintsBuilder_.clear(); + } + if (sliceServiceIdsBuilder_ == null) { + sliceServiceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + } else { + sliceServiceIdsBuilder_.clear(); + } + if (sliceSubsliceIdsBuilder_ == null) { + sliceSubsliceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + } else { + sliceSubsliceIdsBuilder_.clear(); + } + if (sliceStatusBuilder_ == null) { + sliceStatus_ = null; + } else { + sliceStatus_ = null; + sliceStatusBuilder_ = null; + } + if (sliceConfigBuilder_ == null) { + sliceConfig_ = null; + } else { + sliceConfig_ = null; + sliceConfigBuilder_ = null; + } + if (sliceOwnerBuilder_ == null) { + sliceOwner_ = null; + } else { + sliceOwner_ = null; + sliceOwnerBuilder_ = null; + } + if (timestampBuilder_ == null) { + timestamp_ = null; + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Slice_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.Slice getDefaultInstanceForType() { + return context.ContextOuterClass.Slice.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.Slice build() { + context.ContextOuterClass.Slice result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Slice buildPartial() { + context.ContextOuterClass.Slice result = new context.ContextOuterClass.Slice(this); + int from_bitField0_ = bitField0_; + if (sliceIdBuilder_ == null) { + result.sliceId_ = sliceId_; + } else { + result.sliceId_ = sliceIdBuilder_.build(); + } + if (sliceEndpointIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + sliceEndpointIds_ = java.util.Collections.unmodifiableList(sliceEndpointIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.sliceEndpointIds_ = sliceEndpointIds_; + } else { + result.sliceEndpointIds_ = sliceEndpointIdsBuilder_.build(); + } + if (sliceConstraintsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + sliceConstraints_ = java.util.Collections.unmodifiableList(sliceConstraints_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.sliceConstraints_ = sliceConstraints_; + } else { + result.sliceConstraints_ = sliceConstraintsBuilder_.build(); + } + if (sliceServiceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + sliceServiceIds_ = java.util.Collections.unmodifiableList(sliceServiceIds_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.sliceServiceIds_ = sliceServiceIds_; + } else { + result.sliceServiceIds_ = sliceServiceIdsBuilder_.build(); + } + if (sliceSubsliceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + sliceSubsliceIds_ = java.util.Collections.unmodifiableList(sliceSubsliceIds_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.sliceSubsliceIds_ = sliceSubsliceIds_; + } else { + result.sliceSubsliceIds_ = sliceSubsliceIdsBuilder_.build(); + } + if (sliceStatusBuilder_ == null) { + result.sliceStatus_ = sliceStatus_; + } else { + result.sliceStatus_ = sliceStatusBuilder_.build(); + } + if (sliceConfigBuilder_ == null) { + result.sliceConfig_ = sliceConfig_; + } else { + result.sliceConfig_ = sliceConfigBuilder_.build(); + } + if (sliceOwnerBuilder_ == null) { + result.sliceOwner_ = sliceOwner_; + } else { + result.sliceOwner_ = sliceOwnerBuilder_.build(); + } + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; + } else { + result.timestamp_ = timestampBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Slice) { + return mergeFrom((context.ContextOuterClass.Slice)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.Slice other) { + if (other == context.ContextOuterClass.Slice.getDefaultInstance()) return this; + if (other.hasSliceId()) { + mergeSliceId(other.getSliceId()); + } + if (sliceEndpointIdsBuilder_ == null) { + if (!other.sliceEndpointIds_.isEmpty()) { + if (sliceEndpointIds_.isEmpty()) { + sliceEndpointIds_ = other.sliceEndpointIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.addAll(other.sliceEndpointIds_); + } + onChanged(); + } + } else { + if (!other.sliceEndpointIds_.isEmpty()) { + if (sliceEndpointIdsBuilder_.isEmpty()) { + sliceEndpointIdsBuilder_.dispose(); + sliceEndpointIdsBuilder_ = null; + sliceEndpointIds_ = other.sliceEndpointIds_; + bitField0_ = (bitField0_ & ~0x00000001); + sliceEndpointIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSliceEndpointIdsFieldBuilder() : null; + } else { + sliceEndpointIdsBuilder_.addAllMessages(other.sliceEndpointIds_); + } + } + } + if (sliceConstraintsBuilder_ == null) { + if (!other.sliceConstraints_.isEmpty()) { + if (sliceConstraints_.isEmpty()) { + sliceConstraints_ = other.sliceConstraints_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureSliceConstraintsIsMutable(); + sliceConstraints_.addAll(other.sliceConstraints_); + } + onChanged(); + } + } else { + if (!other.sliceConstraints_.isEmpty()) { + if (sliceConstraintsBuilder_.isEmpty()) { + sliceConstraintsBuilder_.dispose(); + sliceConstraintsBuilder_ = null; + sliceConstraints_ = other.sliceConstraints_; + bitField0_ = (bitField0_ & ~0x00000002); + sliceConstraintsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSliceConstraintsFieldBuilder() : null; + } else { + sliceConstraintsBuilder_.addAllMessages(other.sliceConstraints_); + } + } + } + if (sliceServiceIdsBuilder_ == null) { + if (!other.sliceServiceIds_.isEmpty()) { + if (sliceServiceIds_.isEmpty()) { + sliceServiceIds_ = other.sliceServiceIds_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.addAll(other.sliceServiceIds_); + } + onChanged(); + } + } else { + if (!other.sliceServiceIds_.isEmpty()) { + if (sliceServiceIdsBuilder_.isEmpty()) { + sliceServiceIdsBuilder_.dispose(); + sliceServiceIdsBuilder_ = null; + sliceServiceIds_ = other.sliceServiceIds_; + bitField0_ = (bitField0_ & ~0x00000004); + sliceServiceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSliceServiceIdsFieldBuilder() : null; + } else { + sliceServiceIdsBuilder_.addAllMessages(other.sliceServiceIds_); + } + } + } + if (sliceSubsliceIdsBuilder_ == null) { + if (!other.sliceSubsliceIds_.isEmpty()) { + if (sliceSubsliceIds_.isEmpty()) { + sliceSubsliceIds_ = other.sliceSubsliceIds_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.addAll(other.sliceSubsliceIds_); + } + onChanged(); + } + } else { + if (!other.sliceSubsliceIds_.isEmpty()) { + if (sliceSubsliceIdsBuilder_.isEmpty()) { + sliceSubsliceIdsBuilder_.dispose(); + sliceSubsliceIdsBuilder_ = null; + sliceSubsliceIds_ = other.sliceSubsliceIds_; + bitField0_ = (bitField0_ & ~0x00000008); + sliceSubsliceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSliceSubsliceIdsFieldBuilder() : null; + } else { + sliceSubsliceIdsBuilder_.addAllMessages(other.sliceSubsliceIds_); + } + } + } + if (other.hasSliceStatus()) { + mergeSliceStatus(other.getSliceStatus()); + } + if (other.hasSliceConfig()) { + mergeSliceConfig(other.getSliceConfig()); + } + if (other.hasSliceOwner()) { + mergeSliceOwner(other.getSliceOwner()); + } + if (other.hasTimestamp()) { + mergeTimestamp(other.getTimestamp()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.Slice parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Slice) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private context.ContextOuterClass.SliceId sliceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> sliceIdBuilder_; + /** + * .context.SliceId slice_id = 1; + * @return Whether the sliceId field is set. + */ + public boolean hasSliceId() { + return sliceIdBuilder_ != null || sliceId_ != null; + } + /** + * .context.SliceId slice_id = 1; + * @return The sliceId. + */ + public context.ContextOuterClass.SliceId getSliceId() { + if (sliceIdBuilder_ == null) { + return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } else { + return sliceIdBuilder_.getMessage(); + } + } + /** + * .context.SliceId slice_id = 1; + */ + public Builder setSliceId(context.ContextOuterClass.SliceId value) { + if (sliceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceId_ = value; + onChanged(); + } else { + sliceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.SliceId slice_id = 1; + */ + public Builder setSliceId( + context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceIdBuilder_ == null) { + sliceId_ = builderForValue.build(); + onChanged(); + } else { + sliceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.SliceId slice_id = 1; + */ + public Builder mergeSliceId(context.ContextOuterClass.SliceId value) { + if (sliceIdBuilder_ == null) { + if (sliceId_ != null) { + sliceId_ = + context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial(); + } else { + sliceId_ = value; + } + onChanged(); + } else { + sliceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.SliceId slice_id = 1; + */ + public Builder clearSliceId() { + if (sliceIdBuilder_ == null) { + sliceId_ = null; + onChanged(); + } else { + sliceId_ = null; + sliceIdBuilder_ = null; + } + + return this; + } + /** + * .context.SliceId slice_id = 1; + */ + public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() { + + onChanged(); + return getSliceIdFieldBuilder().getBuilder(); + } + /** + * .context.SliceId slice_id = 1; + */ + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { + if (sliceIdBuilder_ != null) { + return sliceIdBuilder_.getMessageOrBuilder(); + } else { + return sliceId_ == null ? + context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } + } + /** + * .context.SliceId slice_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> + getSliceIdFieldBuilder() { + if (sliceIdBuilder_ == null) { + sliceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder>( + getSliceId(), + getParentForChildren(), + isClean()); + sliceId_ = null; + } + return sliceIdBuilder_; + } + + private java.util.List sliceEndpointIds_ = + java.util.Collections.emptyList(); + private void ensureSliceEndpointIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + sliceEndpointIds_ = new java.util.ArrayList(sliceEndpointIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> sliceEndpointIdsBuilder_; + + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public java.util.List getSliceEndpointIdsList() { + if (sliceEndpointIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(sliceEndpointIds_); + } else { + return sliceEndpointIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public int getSliceEndpointIdsCount() { + if (sliceEndpointIdsBuilder_ == null) { + return sliceEndpointIds_.size(); + } else { + return sliceEndpointIdsBuilder_.getCount(); + } + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointId getSliceEndpointIds(int index) { + if (sliceEndpointIdsBuilder_ == null) { + return sliceEndpointIds_.get(index); + } else { + return sliceEndpointIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder setSliceEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (sliceEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.set(index, value); + onChanged(); + } else { + sliceEndpointIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder setSliceEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (sliceEndpointIdsBuilder_ == null) { + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.set(index, builderForValue.build()); + onChanged(); + } else { + sliceEndpointIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder addSliceEndpointIds(context.ContextOuterClass.EndPointId value) { + if (sliceEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.add(value); + onChanged(); + } else { + sliceEndpointIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder addSliceEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (sliceEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.add(index, value); + onChanged(); + } else { + sliceEndpointIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder addSliceEndpointIds( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (sliceEndpointIdsBuilder_ == null) { + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.add(builderForValue.build()); + onChanged(); + } else { + sliceEndpointIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder addSliceEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (sliceEndpointIdsBuilder_ == null) { + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.add(index, builderForValue.build()); + onChanged(); + } else { + sliceEndpointIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder addAllSliceEndpointIds( + java.lang.Iterable values) { + if (sliceEndpointIdsBuilder_ == null) { + ensureSliceEndpointIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, sliceEndpointIds_); + onChanged(); + } else { + sliceEndpointIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder clearSliceEndpointIds() { + if (sliceEndpointIdsBuilder_ == null) { + sliceEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + sliceEndpointIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public Builder removeSliceEndpointIds(int index) { + if (sliceEndpointIdsBuilder_ == null) { + ensureSliceEndpointIdsIsMutable(); + sliceEndpointIds_.remove(index); + onChanged(); + } else { + sliceEndpointIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointId.Builder getSliceEndpointIdsBuilder( + int index) { + return getSliceEndpointIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointIdOrBuilder getSliceEndpointIdsOrBuilder( + int index) { + if (sliceEndpointIdsBuilder_ == null) { + return sliceEndpointIds_.get(index); } else { + return sliceEndpointIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public java.util.List + getSliceEndpointIdsOrBuilderList() { + if (sliceEndpointIdsBuilder_ != null) { + return sliceEndpointIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(sliceEndpointIds_); + } + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointId.Builder addSliceEndpointIdsBuilder() { + return getSliceEndpointIdsFieldBuilder().addBuilder( + context.ContextOuterClass.EndPointId.getDefaultInstance()); + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public context.ContextOuterClass.EndPointId.Builder addSliceEndpointIdsBuilder( + int index) { + return getSliceEndpointIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.EndPointId.getDefaultInstance()); + } + /** + * repeated .context.EndPointId slice_endpoint_ids = 2; + */ + public java.util.List + getSliceEndpointIdsBuilderList() { + return getSliceEndpointIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getSliceEndpointIdsFieldBuilder() { + if (sliceEndpointIdsBuilder_ == null) { + sliceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + sliceEndpointIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + sliceEndpointIds_ = null; + } + return sliceEndpointIdsBuilder_; + } + + private java.util.List sliceConstraints_ = + java.util.Collections.emptyList(); + private void ensureSliceConstraintsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + sliceConstraints_ = new java.util.ArrayList(sliceConstraints_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder> sliceConstraintsBuilder_; + + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public java.util.List getSliceConstraintsList() { + if (sliceConstraintsBuilder_ == null) { + return java.util.Collections.unmodifiableList(sliceConstraints_); + } else { + return sliceConstraintsBuilder_.getMessageList(); + } + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public int getSliceConstraintsCount() { + if (sliceConstraintsBuilder_ == null) { + return sliceConstraints_.size(); + } else { + return sliceConstraintsBuilder_.getCount(); + } + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public context.ContextOuterClass.Constraint getSliceConstraints(int index) { + if (sliceConstraintsBuilder_ == null) { + return sliceConstraints_.get(index); + } else { + return sliceConstraintsBuilder_.getMessage(index); + } + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder setSliceConstraints( + int index, context.ContextOuterClass.Constraint value) { + if (sliceConstraintsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceConstraintsIsMutable(); + sliceConstraints_.set(index, value); + onChanged(); + } else { + sliceConstraintsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder setSliceConstraints( + int index, context.ContextOuterClass.Constraint.Builder builderForValue) { + if (sliceConstraintsBuilder_ == null) { + ensureSliceConstraintsIsMutable(); + sliceConstraints_.set(index, builderForValue.build()); + onChanged(); + } else { + sliceConstraintsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder addSliceConstraints(context.ContextOuterClass.Constraint value) { + if (sliceConstraintsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceConstraintsIsMutable(); + sliceConstraints_.add(value); + onChanged(); + } else { + sliceConstraintsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder addSliceConstraints( + int index, context.ContextOuterClass.Constraint value) { + if (sliceConstraintsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceConstraintsIsMutable(); + sliceConstraints_.add(index, value); + onChanged(); + } else { + sliceConstraintsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder addSliceConstraints( + context.ContextOuterClass.Constraint.Builder builderForValue) { + if (sliceConstraintsBuilder_ == null) { + ensureSliceConstraintsIsMutable(); + sliceConstraints_.add(builderForValue.build()); + onChanged(); + } else { + sliceConstraintsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder addSliceConstraints( + int index, context.ContextOuterClass.Constraint.Builder builderForValue) { + if (sliceConstraintsBuilder_ == null) { + ensureSliceConstraintsIsMutable(); + sliceConstraints_.add(index, builderForValue.build()); + onChanged(); + } else { + sliceConstraintsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder addAllSliceConstraints( + java.lang.Iterable values) { + if (sliceConstraintsBuilder_ == null) { + ensureSliceConstraintsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, sliceConstraints_); + onChanged(); + } else { + sliceConstraintsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder clearSliceConstraints() { + if (sliceConstraintsBuilder_ == null) { + sliceConstraints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + sliceConstraintsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public Builder removeSliceConstraints(int index) { + if (sliceConstraintsBuilder_ == null) { + ensureSliceConstraintsIsMutable(); + sliceConstraints_.remove(index); + onChanged(); + } else { + sliceConstraintsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public context.ContextOuterClass.Constraint.Builder getSliceConstraintsBuilder( + int index) { + return getSliceConstraintsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public context.ContextOuterClass.ConstraintOrBuilder getSliceConstraintsOrBuilder( + int index) { + if (sliceConstraintsBuilder_ == null) { + return sliceConstraints_.get(index); } else { + return sliceConstraintsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public java.util.List + getSliceConstraintsOrBuilderList() { + if (sliceConstraintsBuilder_ != null) { + return sliceConstraintsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(sliceConstraints_); + } + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public context.ContextOuterClass.Constraint.Builder addSliceConstraintsBuilder() { + return getSliceConstraintsFieldBuilder().addBuilder( + context.ContextOuterClass.Constraint.getDefaultInstance()); + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public context.ContextOuterClass.Constraint.Builder addSliceConstraintsBuilder( + int index) { + return getSliceConstraintsFieldBuilder().addBuilder( + index, context.ContextOuterClass.Constraint.getDefaultInstance()); + } + /** + * repeated .context.Constraint slice_constraints = 3; + */ + public java.util.List + getSliceConstraintsBuilderList() { + return getSliceConstraintsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder> + getSliceConstraintsFieldBuilder() { + if (sliceConstraintsBuilder_ == null) { + sliceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder>( + sliceConstraints_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + sliceConstraints_ = null; + } + return sliceConstraintsBuilder_; + } + + private java.util.List sliceServiceIds_ = + java.util.Collections.emptyList(); + private void ensureSliceServiceIdsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + sliceServiceIds_ = new java.util.ArrayList(sliceServiceIds_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> sliceServiceIdsBuilder_; + + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public java.util.List getSliceServiceIdsList() { + if (sliceServiceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(sliceServiceIds_); + } else { + return sliceServiceIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public int getSliceServiceIdsCount() { + if (sliceServiceIdsBuilder_ == null) { + return sliceServiceIds_.size(); + } else { + return sliceServiceIdsBuilder_.getCount(); + } + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId getSliceServiceIds(int index) { + if (sliceServiceIdsBuilder_ == null) { + return sliceServiceIds_.get(index); + } else { + return sliceServiceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder setSliceServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (sliceServiceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.set(index, value); + onChanged(); + } else { + sliceServiceIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder setSliceServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (sliceServiceIdsBuilder_ == null) { + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + sliceServiceIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder addSliceServiceIds(context.ContextOuterClass.ServiceId value) { + if (sliceServiceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.add(value); + onChanged(); + } else { + sliceServiceIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder addSliceServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (sliceServiceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.add(index, value); + onChanged(); + } else { + sliceServiceIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder addSliceServiceIds( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (sliceServiceIdsBuilder_ == null) { + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.add(builderForValue.build()); + onChanged(); + } else { + sliceServiceIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder addSliceServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (sliceServiceIdsBuilder_ == null) { + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.add(index, builderForValue.build()); + onChanged(); + } else { + sliceServiceIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder addAllSliceServiceIds( + java.lang.Iterable values) { + if (sliceServiceIdsBuilder_ == null) { + ensureSliceServiceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, sliceServiceIds_); + onChanged(); + } else { + sliceServiceIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder clearSliceServiceIds() { + if (sliceServiceIdsBuilder_ == null) { + sliceServiceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + sliceServiceIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public Builder removeSliceServiceIds(int index) { + if (sliceServiceIdsBuilder_ == null) { + ensureSliceServiceIdsIsMutable(); + sliceServiceIds_.remove(index); + onChanged(); + } else { + sliceServiceIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId.Builder getSliceServiceIdsBuilder( + int index) { + return getSliceServiceIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public context.ContextOuterClass.ServiceIdOrBuilder getSliceServiceIdsOrBuilder( + int index) { + if (sliceServiceIdsBuilder_ == null) { + return sliceServiceIds_.get(index); } else { + return sliceServiceIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public java.util.List + getSliceServiceIdsOrBuilderList() { + if (sliceServiceIdsBuilder_ != null) { + return sliceServiceIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(sliceServiceIds_); + } + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId.Builder addSliceServiceIdsBuilder() { + return getSliceServiceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId.Builder addSliceServiceIdsBuilder( + int index) { + return getSliceServiceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId slice_service_ids = 4; + */ + public java.util.List + getSliceServiceIdsBuilderList() { + return getSliceServiceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getSliceServiceIdsFieldBuilder() { + if (sliceServiceIdsBuilder_ == null) { + sliceServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + sliceServiceIds_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + sliceServiceIds_ = null; + } + return sliceServiceIdsBuilder_; + } + + private java.util.List sliceSubsliceIds_ = + java.util.Collections.emptyList(); + private void ensureSliceSubsliceIdsIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + sliceSubsliceIds_ = new java.util.ArrayList(sliceSubsliceIds_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> sliceSubsliceIdsBuilder_; + + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public java.util.List getSliceSubsliceIdsList() { + if (sliceSubsliceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(sliceSubsliceIds_); + } else { + return sliceSubsliceIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public int getSliceSubsliceIdsCount() { + if (sliceSubsliceIdsBuilder_ == null) { + return sliceSubsliceIds_.size(); + } else { + return sliceSubsliceIdsBuilder_.getCount(); + } + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public context.ContextOuterClass.SliceId getSliceSubsliceIds(int index) { + if (sliceSubsliceIdsBuilder_ == null) { + return sliceSubsliceIds_.get(index); + } else { + return sliceSubsliceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder setSliceSubsliceIds( + int index, context.ContextOuterClass.SliceId value) { + if (sliceSubsliceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.set(index, value); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder setSliceSubsliceIds( + int index, context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceSubsliceIdsBuilder_ == null) { + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder addSliceSubsliceIds(context.ContextOuterClass.SliceId value) { + if (sliceSubsliceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.add(value); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder addSliceSubsliceIds( + int index, context.ContextOuterClass.SliceId value) { + if (sliceSubsliceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.add(index, value); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder addSliceSubsliceIds( + context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceSubsliceIdsBuilder_ == null) { + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.add(builderForValue.build()); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder addSliceSubsliceIds( + int index, context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceSubsliceIdsBuilder_ == null) { + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.add(index, builderForValue.build()); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder addAllSliceSubsliceIds( + java.lang.Iterable values) { + if (sliceSubsliceIdsBuilder_ == null) { + ensureSliceSubsliceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, sliceSubsliceIds_); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder clearSliceSubsliceIds() { + if (sliceSubsliceIdsBuilder_ == null) { + sliceSubsliceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public Builder removeSliceSubsliceIds(int index) { + if (sliceSubsliceIdsBuilder_ == null) { + ensureSliceSubsliceIdsIsMutable(); + sliceSubsliceIds_.remove(index); + onChanged(); + } else { + sliceSubsliceIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public context.ContextOuterClass.SliceId.Builder getSliceSubsliceIdsBuilder( + int index) { + return getSliceSubsliceIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public context.ContextOuterClass.SliceIdOrBuilder getSliceSubsliceIdsOrBuilder( + int index) { + if (sliceSubsliceIdsBuilder_ == null) { + return sliceSubsliceIds_.get(index); } else { + return sliceSubsliceIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public java.util.List + getSliceSubsliceIdsOrBuilderList() { + if (sliceSubsliceIdsBuilder_ != null) { + return sliceSubsliceIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(sliceSubsliceIds_); + } + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public context.ContextOuterClass.SliceId.Builder addSliceSubsliceIdsBuilder() { + return getSliceSubsliceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.SliceId.getDefaultInstance()); + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public context.ContextOuterClass.SliceId.Builder addSliceSubsliceIdsBuilder( + int index) { + return getSliceSubsliceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.SliceId.getDefaultInstance()); + } + /** + * repeated .context.SliceId slice_subslice_ids = 5; + */ + public java.util.List + getSliceSubsliceIdsBuilderList() { + return getSliceSubsliceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> + getSliceSubsliceIdsFieldBuilder() { + if (sliceSubsliceIdsBuilder_ == null) { + sliceSubsliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder>( + sliceSubsliceIds_, + ((bitField0_ & 0x00000008) != 0), + getParentForChildren(), + isClean()); + sliceSubsliceIds_ = null; + } + return sliceSubsliceIdsBuilder_; + } + + private context.ContextOuterClass.SliceStatus sliceStatus_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceStatus, context.ContextOuterClass.SliceStatus.Builder, context.ContextOuterClass.SliceStatusOrBuilder> sliceStatusBuilder_; + /** + * .context.SliceStatus slice_status = 6; + * @return Whether the sliceStatus field is set. + */ + public boolean hasSliceStatus() { + return sliceStatusBuilder_ != null || sliceStatus_ != null; + } + /** + * .context.SliceStatus slice_status = 6; + * @return The sliceStatus. + */ + public context.ContextOuterClass.SliceStatus getSliceStatus() { + if (sliceStatusBuilder_ == null) { + return sliceStatus_ == null ? context.ContextOuterClass.SliceStatus.getDefaultInstance() : sliceStatus_; + } else { + return sliceStatusBuilder_.getMessage(); + } + } + /** + * .context.SliceStatus slice_status = 6; + */ + public Builder setSliceStatus(context.ContextOuterClass.SliceStatus value) { + if (sliceStatusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceStatus_ = value; + onChanged(); + } else { + sliceStatusBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.SliceStatus slice_status = 6; + */ + public Builder setSliceStatus( + context.ContextOuterClass.SliceStatus.Builder builderForValue) { + if (sliceStatusBuilder_ == null) { + sliceStatus_ = builderForValue.build(); + onChanged(); + } else { + sliceStatusBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.SliceStatus slice_status = 6; + */ + public Builder mergeSliceStatus(context.ContextOuterClass.SliceStatus value) { + if (sliceStatusBuilder_ == null) { + if (sliceStatus_ != null) { + sliceStatus_ = + context.ContextOuterClass.SliceStatus.newBuilder(sliceStatus_).mergeFrom(value).buildPartial(); + } else { + sliceStatus_ = value; + } + onChanged(); + } else { + sliceStatusBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.SliceStatus slice_status = 6; + */ + public Builder clearSliceStatus() { + if (sliceStatusBuilder_ == null) { + sliceStatus_ = null; + onChanged(); + } else { + sliceStatus_ = null; + sliceStatusBuilder_ = null; + } + + return this; + } + /** + * .context.SliceStatus slice_status = 6; + */ + public context.ContextOuterClass.SliceStatus.Builder getSliceStatusBuilder() { + + onChanged(); + return getSliceStatusFieldBuilder().getBuilder(); + } + /** + * .context.SliceStatus slice_status = 6; + */ + public context.ContextOuterClass.SliceStatusOrBuilder getSliceStatusOrBuilder() { + if (sliceStatusBuilder_ != null) { + return sliceStatusBuilder_.getMessageOrBuilder(); + } else { + return sliceStatus_ == null ? + context.ContextOuterClass.SliceStatus.getDefaultInstance() : sliceStatus_; + } + } + /** + * .context.SliceStatus slice_status = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceStatus, context.ContextOuterClass.SliceStatus.Builder, context.ContextOuterClass.SliceStatusOrBuilder> + getSliceStatusFieldBuilder() { + if (sliceStatusBuilder_ == null) { + sliceStatusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceStatus, context.ContextOuterClass.SliceStatus.Builder, context.ContextOuterClass.SliceStatusOrBuilder>( + getSliceStatus(), + getParentForChildren(), + isClean()); + sliceStatus_ = null; + } + return sliceStatusBuilder_; + } + + private context.ContextOuterClass.SliceConfig sliceConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceConfig, context.ContextOuterClass.SliceConfig.Builder, context.ContextOuterClass.SliceConfigOrBuilder> sliceConfigBuilder_; + /** + * .context.SliceConfig slice_config = 7; + * @return Whether the sliceConfig field is set. + */ + public boolean hasSliceConfig() { + return sliceConfigBuilder_ != null || sliceConfig_ != null; + } + /** + * .context.SliceConfig slice_config = 7; + * @return The sliceConfig. + */ + public context.ContextOuterClass.SliceConfig getSliceConfig() { + if (sliceConfigBuilder_ == null) { + return sliceConfig_ == null ? context.ContextOuterClass.SliceConfig.getDefaultInstance() : sliceConfig_; + } else { + return sliceConfigBuilder_.getMessage(); + } + } + /** + * .context.SliceConfig slice_config = 7; + */ + public Builder setSliceConfig(context.ContextOuterClass.SliceConfig value) { + if (sliceConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceConfig_ = value; + onChanged(); + } else { + sliceConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.SliceConfig slice_config = 7; + */ + public Builder setSliceConfig( + context.ContextOuterClass.SliceConfig.Builder builderForValue) { + if (sliceConfigBuilder_ == null) { + sliceConfig_ = builderForValue.build(); + onChanged(); + } else { + sliceConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.SliceConfig slice_config = 7; + */ + public Builder mergeSliceConfig(context.ContextOuterClass.SliceConfig value) { + if (sliceConfigBuilder_ == null) { + if (sliceConfig_ != null) { + sliceConfig_ = + context.ContextOuterClass.SliceConfig.newBuilder(sliceConfig_).mergeFrom(value).buildPartial(); + } else { + sliceConfig_ = value; + } + onChanged(); + } else { + sliceConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.SliceConfig slice_config = 7; + */ + public Builder clearSliceConfig() { + if (sliceConfigBuilder_ == null) { + sliceConfig_ = null; + onChanged(); + } else { + sliceConfig_ = null; + sliceConfigBuilder_ = null; + } + + return this; + } + /** + * .context.SliceConfig slice_config = 7; + */ + public context.ContextOuterClass.SliceConfig.Builder getSliceConfigBuilder() { + + onChanged(); + return getSliceConfigFieldBuilder().getBuilder(); + } + /** + * .context.SliceConfig slice_config = 7; + */ + public context.ContextOuterClass.SliceConfigOrBuilder getSliceConfigOrBuilder() { + if (sliceConfigBuilder_ != null) { + return sliceConfigBuilder_.getMessageOrBuilder(); + } else { + return sliceConfig_ == null ? + context.ContextOuterClass.SliceConfig.getDefaultInstance() : sliceConfig_; + } + } + /** + * .context.SliceConfig slice_config = 7; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceConfig, context.ContextOuterClass.SliceConfig.Builder, context.ContextOuterClass.SliceConfigOrBuilder> + getSliceConfigFieldBuilder() { + if (sliceConfigBuilder_ == null) { + sliceConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceConfig, context.ContextOuterClass.SliceConfig.Builder, context.ContextOuterClass.SliceConfigOrBuilder>( + getSliceConfig(), + getParentForChildren(), + isClean()); + sliceConfig_ = null; + } + return sliceConfigBuilder_; + } + + private context.ContextOuterClass.SliceOwner sliceOwner_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceOwner, context.ContextOuterClass.SliceOwner.Builder, context.ContextOuterClass.SliceOwnerOrBuilder> sliceOwnerBuilder_; + /** + * .context.SliceOwner slice_owner = 8; + * @return Whether the sliceOwner field is set. + */ + public boolean hasSliceOwner() { + return sliceOwnerBuilder_ != null || sliceOwner_ != null; + } + /** + * .context.SliceOwner slice_owner = 8; + * @return The sliceOwner. + */ + public context.ContextOuterClass.SliceOwner getSliceOwner() { + if (sliceOwnerBuilder_ == null) { + return sliceOwner_ == null ? context.ContextOuterClass.SliceOwner.getDefaultInstance() : sliceOwner_; + } else { + return sliceOwnerBuilder_.getMessage(); + } + } + /** + * .context.SliceOwner slice_owner = 8; + */ + public Builder setSliceOwner(context.ContextOuterClass.SliceOwner value) { + if (sliceOwnerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceOwner_ = value; + onChanged(); + } else { + sliceOwnerBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.SliceOwner slice_owner = 8; + */ + public Builder setSliceOwner( + context.ContextOuterClass.SliceOwner.Builder builderForValue) { + if (sliceOwnerBuilder_ == null) { + sliceOwner_ = builderForValue.build(); + onChanged(); + } else { + sliceOwnerBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.SliceOwner slice_owner = 8; + */ + public Builder mergeSliceOwner(context.ContextOuterClass.SliceOwner value) { + if (sliceOwnerBuilder_ == null) { + if (sliceOwner_ != null) { + sliceOwner_ = + context.ContextOuterClass.SliceOwner.newBuilder(sliceOwner_).mergeFrom(value).buildPartial(); + } else { + sliceOwner_ = value; + } + onChanged(); + } else { + sliceOwnerBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.SliceOwner slice_owner = 8; + */ + public Builder clearSliceOwner() { + if (sliceOwnerBuilder_ == null) { + sliceOwner_ = null; + onChanged(); + } else { + sliceOwner_ = null; + sliceOwnerBuilder_ = null; + } + + return this; + } + /** + * .context.SliceOwner slice_owner = 8; + */ + public context.ContextOuterClass.SliceOwner.Builder getSliceOwnerBuilder() { + + onChanged(); + return getSliceOwnerFieldBuilder().getBuilder(); + } + /** + * .context.SliceOwner slice_owner = 8; + */ + public context.ContextOuterClass.SliceOwnerOrBuilder getSliceOwnerOrBuilder() { + if (sliceOwnerBuilder_ != null) { + return sliceOwnerBuilder_.getMessageOrBuilder(); + } else { + return sliceOwner_ == null ? + context.ContextOuterClass.SliceOwner.getDefaultInstance() : sliceOwner_; + } + } + /** + * .context.SliceOwner slice_owner = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceOwner, context.ContextOuterClass.SliceOwner.Builder, context.ContextOuterClass.SliceOwnerOrBuilder> + getSliceOwnerFieldBuilder() { + if (sliceOwnerBuilder_ == null) { + sliceOwnerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceOwner, context.ContextOuterClass.SliceOwner.Builder, context.ContextOuterClass.SliceOwnerOrBuilder>( + getSliceOwner(), + getParentForChildren(), + isClean()); + sliceOwner_ = null; + } + return sliceOwnerBuilder_; + } + + private context.ContextOuterClass.Timestamp timestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> timestampBuilder_; + /** + * .context.Timestamp timestamp = 9; + * @return Whether the timestamp field is set. + */ + public boolean hasTimestamp() { + return timestampBuilder_ != null || timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 9; + * @return The timestamp. + */ + public context.ContextOuterClass.Timestamp getTimestamp() { + if (timestampBuilder_ == null) { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } else { + return timestampBuilder_.getMessage(); + } + } + /** + * .context.Timestamp timestamp = 9; + */ + public Builder setTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timestamp_ = value; + onChanged(); + } else { + timestampBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 9; + */ + public Builder setTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (timestampBuilder_ == null) { + timestamp_ = builderForValue.build(); + onChanged(); + } else { + timestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Timestamp timestamp = 9; + */ + public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (timestamp_ != null) { + timestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); + } else { + timestamp_ = value; + } + onChanged(); + } else { + timestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 9; + */ + public Builder clearTimestamp() { + if (timestampBuilder_ == null) { + timestamp_ = null; + onChanged(); + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + + return this; + } + /** + * .context.Timestamp timestamp = 9; + */ + public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { + + onChanged(); + return getTimestampFieldBuilder().getBuilder(); + } + /** + * .context.Timestamp timestamp = 9; + */ + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + if (timestampBuilder_ != null) { + return timestampBuilder_.getMessageOrBuilder(); + } else { + return timestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + } + /** + * .context.Timestamp timestamp = 9; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getTimestampFieldBuilder() { + if (timestampBuilder_ == null) { + timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getTimestamp(), + getParentForChildren(), + isClean()); + timestamp_ = null; + } + return timestampBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.Slice) + } + + // @@protoc_insertion_point(class_scope:context.Slice) + private static final context.ContextOuterClass.Slice DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.Slice(); + } + + public static context.ContextOuterClass.Slice getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Slice parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Slice(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.Slice getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceOwnerOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceOwner) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid owner_uuid = 1; + * @return Whether the ownerUuid field is set. + */ + boolean hasOwnerUuid(); + /** + * .context.Uuid owner_uuid = 1; + * @return The ownerUuid. + */ + context.ContextOuterClass.Uuid getOwnerUuid(); + /** + * .context.Uuid owner_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getOwnerUuidOrBuilder(); + + /** + * string owner_string = 2; + * @return The ownerString. + */ + java.lang.String getOwnerString(); + /** + * string owner_string = 2; + * @return The bytes for ownerString. + */ + com.google.protobuf.ByteString + getOwnerStringBytes(); + } + /** + * Protobuf type {@code context.SliceOwner} + */ + public static final class SliceOwner extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceOwner) + SliceOwnerOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceOwner.newBuilder() to construct. + private SliceOwner(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceOwner() { + ownerString_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceOwner(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceOwner( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (ownerUuid_ != null) { + subBuilder = ownerUuid_.toBuilder(); + } + ownerUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(ownerUuid_); + ownerUuid_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + ownerString_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceOwner_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceOwner_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceOwner.class, context.ContextOuterClass.SliceOwner.Builder.class); + } + + public static final int OWNER_UUID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid ownerUuid_; + /** + * .context.Uuid owner_uuid = 1; + * @return Whether the ownerUuid field is set. + */ + @java.lang.Override + public boolean hasOwnerUuid() { + return ownerUuid_ != null; + } + /** + * .context.Uuid owner_uuid = 1; + * @return The ownerUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getOwnerUuid() { + return ownerUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : ownerUuid_; + } + /** + * .context.Uuid owner_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getOwnerUuidOrBuilder() { + return getOwnerUuid(); + } + + public static final int OWNER_STRING_FIELD_NUMBER = 2; + private volatile java.lang.Object ownerString_; + /** + * string owner_string = 2; + * @return The ownerString. + */ + @java.lang.Override + public java.lang.String getOwnerString() { + java.lang.Object ref = ownerString_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ownerString_ = s; + return s; + } + } + /** + * string owner_string = 2; + * @return The bytes for ownerString. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getOwnerStringBytes() { + java.lang.Object ref = ownerString_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ownerString_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (ownerUuid_ != null) { + output.writeMessage(1, getOwnerUuid()); + } + if (!getOwnerStringBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ownerString_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (ownerUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getOwnerUuid()); + } + if (!getOwnerStringBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ownerString_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceOwner)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceOwner other = (context.ContextOuterClass.SliceOwner) obj; + + if (hasOwnerUuid() != other.hasOwnerUuid()) return false; + if (hasOwnerUuid()) { + if (!getOwnerUuid() + .equals(other.getOwnerUuid())) return false; + } + if (!getOwnerString() + .equals(other.getOwnerString())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOwnerUuid()) { + hash = (37 * hash) + OWNER_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOwnerUuid().hashCode(); + } + hash = (37 * hash) + OWNER_STRING_FIELD_NUMBER; + hash = (53 * hash) + getOwnerString().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceOwner parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceOwner parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceOwner parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceOwner parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceOwner parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceOwner parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceOwner prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.SliceOwner} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceOwner) + context.ContextOuterClass.SliceOwnerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceOwner_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceOwner_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceOwner.class, context.ContextOuterClass.SliceOwner.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceOwner.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (ownerUuidBuilder_ == null) { + ownerUuid_ = null; + } else { + ownerUuid_ = null; + ownerUuidBuilder_ = null; + } + ownerString_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceOwner_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceOwner getDefaultInstanceForType() { + return context.ContextOuterClass.SliceOwner.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceOwner build() { + context.ContextOuterClass.SliceOwner result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceOwner buildPartial() { + context.ContextOuterClass.SliceOwner result = new context.ContextOuterClass.SliceOwner(this); + if (ownerUuidBuilder_ == null) { + result.ownerUuid_ = ownerUuid_; + } else { + result.ownerUuid_ = ownerUuidBuilder_.build(); + } + result.ownerString_ = ownerString_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceOwner) { + return mergeFrom((context.ContextOuterClass.SliceOwner)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceOwner other) { + if (other == context.ContextOuterClass.SliceOwner.getDefaultInstance()) return this; + if (other.hasOwnerUuid()) { + mergeOwnerUuid(other.getOwnerUuid()); + } + if (!other.getOwnerString().isEmpty()) { + ownerString_ = other.ownerString_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceOwner parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceOwner) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Uuid ownerUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> ownerUuidBuilder_; + /** + * .context.Uuid owner_uuid = 1; + * @return Whether the ownerUuid field is set. + */ + public boolean hasOwnerUuid() { + return ownerUuidBuilder_ != null || ownerUuid_ != null; + } + /** + * .context.Uuid owner_uuid = 1; + * @return The ownerUuid. + */ + public context.ContextOuterClass.Uuid getOwnerUuid() { + if (ownerUuidBuilder_ == null) { + return ownerUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : ownerUuid_; + } else { + return ownerUuidBuilder_.getMessage(); + } + } + /** + * .context.Uuid owner_uuid = 1; + */ + public Builder setOwnerUuid(context.ContextOuterClass.Uuid value) { + if (ownerUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ownerUuid_ = value; + onChanged(); + } else { + ownerUuidBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid owner_uuid = 1; + */ + public Builder setOwnerUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (ownerUuidBuilder_ == null) { + ownerUuid_ = builderForValue.build(); + onChanged(); + } else { + ownerUuidBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid owner_uuid = 1; + */ + public Builder mergeOwnerUuid(context.ContextOuterClass.Uuid value) { + if (ownerUuidBuilder_ == null) { + if (ownerUuid_ != null) { + ownerUuid_ = + context.ContextOuterClass.Uuid.newBuilder(ownerUuid_).mergeFrom(value).buildPartial(); + } else { + ownerUuid_ = value; + } + onChanged(); + } else { + ownerUuidBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid owner_uuid = 1; + */ + public Builder clearOwnerUuid() { + if (ownerUuidBuilder_ == null) { + ownerUuid_ = null; + onChanged(); + } else { + ownerUuid_ = null; + ownerUuidBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid owner_uuid = 1; + */ + public context.ContextOuterClass.Uuid.Builder getOwnerUuidBuilder() { + + onChanged(); + return getOwnerUuidFieldBuilder().getBuilder(); + } + /** + * .context.Uuid owner_uuid = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getOwnerUuidOrBuilder() { + if (ownerUuidBuilder_ != null) { + return ownerUuidBuilder_.getMessageOrBuilder(); + } else { + return ownerUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : ownerUuid_; + } + } + /** + * .context.Uuid owner_uuid = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getOwnerUuidFieldBuilder() { + if (ownerUuidBuilder_ == null) { + ownerUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getOwnerUuid(), + getParentForChildren(), + isClean()); + ownerUuid_ = null; + } + return ownerUuidBuilder_; + } + + private java.lang.Object ownerString_ = ""; + /** + * string owner_string = 2; + * @return The ownerString. + */ + public java.lang.String getOwnerString() { + java.lang.Object ref = ownerString_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ownerString_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string owner_string = 2; + * @return The bytes for ownerString. + */ + public com.google.protobuf.ByteString + getOwnerStringBytes() { + java.lang.Object ref = ownerString_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ownerString_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string owner_string = 2; + * @param value The ownerString to set. + * @return This builder for chaining. + */ + public Builder setOwnerString( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + ownerString_ = value; + onChanged(); + return this; + } + /** + * string owner_string = 2; + * @return This builder for chaining. + */ + public Builder clearOwnerString() { + + ownerString_ = getDefaultInstance().getOwnerString(); + onChanged(); + return this; + } + /** + * string owner_string = 2; + * @param value The bytes for ownerString to set. + * @return This builder for chaining. + */ + public Builder setOwnerStringBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + ownerString_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceOwner) + } + + // @@protoc_insertion_point(class_scope:context.SliceOwner) + private static final context.ContextOuterClass.SliceOwner DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceOwner(); + } + + public static context.ContextOuterClass.SliceOwner getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceOwner parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceOwner(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceOwner getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceStatusOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceStatus) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.SliceStatusEnum slice_status = 1; + * @return The enum numeric value on the wire for sliceStatus. + */ + int getSliceStatusValue(); + /** + * .context.SliceStatusEnum slice_status = 1; + * @return The sliceStatus. + */ + context.ContextOuterClass.SliceStatusEnum getSliceStatus(); + } + /** + * Protobuf type {@code context.SliceStatus} + */ + public static final class SliceStatus extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceStatus) + SliceStatusOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceStatus.newBuilder() to construct. + private SliceStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceStatus() { + sliceStatus_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceStatus(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceStatus( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + sliceStatus_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceStatus.class, context.ContextOuterClass.SliceStatus.Builder.class); + } + + public static final int SLICE_STATUS_FIELD_NUMBER = 1; + private int sliceStatus_; + /** + * .context.SliceStatusEnum slice_status = 1; + * @return The enum numeric value on the wire for sliceStatus. + */ + @java.lang.Override public int getSliceStatusValue() { + return sliceStatus_; + } + /** + * .context.SliceStatusEnum slice_status = 1; + * @return The sliceStatus. + */ + @java.lang.Override public context.ContextOuterClass.SliceStatusEnum getSliceStatus() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.valueOf(sliceStatus_); + return result == null ? context.ContextOuterClass.SliceStatusEnum.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (sliceStatus_ != context.ContextOuterClass.SliceStatusEnum.SLICESTATUS_UNDEFINED.getNumber()) { + output.writeEnum(1, sliceStatus_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (sliceStatus_ != context.ContextOuterClass.SliceStatusEnum.SLICESTATUS_UNDEFINED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, sliceStatus_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceStatus)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceStatus other = (context.ContextOuterClass.SliceStatus) obj; + + if (sliceStatus_ != other.sliceStatus_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SLICE_STATUS_FIELD_NUMBER; + hash = (53 * hash) + sliceStatus_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceStatus parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceStatus parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceStatus parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceStatus parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceStatus parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceStatus parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceStatus prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.SliceStatus} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceStatus) + context.ContextOuterClass.SliceStatusOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceStatus.class, context.ContextOuterClass.SliceStatus.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceStatus.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + sliceStatus_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceStatus_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceStatus getDefaultInstanceForType() { + return context.ContextOuterClass.SliceStatus.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceStatus build() { + context.ContextOuterClass.SliceStatus result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceStatus buildPartial() { + context.ContextOuterClass.SliceStatus result = new context.ContextOuterClass.SliceStatus(this); + result.sliceStatus_ = sliceStatus_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceStatus) { + return mergeFrom((context.ContextOuterClass.SliceStatus)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceStatus other) { + if (other == context.ContextOuterClass.SliceStatus.getDefaultInstance()) return this; + if (other.sliceStatus_ != 0) { + setSliceStatusValue(other.getSliceStatusValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceStatus parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceStatus) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int sliceStatus_ = 0; + /** + * .context.SliceStatusEnum slice_status = 1; + * @return The enum numeric value on the wire for sliceStatus. + */ + @java.lang.Override public int getSliceStatusValue() { + return sliceStatus_; + } + /** + * .context.SliceStatusEnum slice_status = 1; + * @param value The enum numeric value on the wire for sliceStatus to set. + * @return This builder for chaining. + */ + public Builder setSliceStatusValue(int value) { + + sliceStatus_ = value; + onChanged(); + return this; + } + /** + * .context.SliceStatusEnum slice_status = 1; + * @return The sliceStatus. + */ + @java.lang.Override + public context.ContextOuterClass.SliceStatusEnum getSliceStatus() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.valueOf(sliceStatus_); + return result == null ? context.ContextOuterClass.SliceStatusEnum.UNRECOGNIZED : result; + } + /** + * .context.SliceStatusEnum slice_status = 1; + * @param value The sliceStatus to set. + * @return This builder for chaining. + */ + public Builder setSliceStatus(context.ContextOuterClass.SliceStatusEnum value) { + if (value == null) { + throw new NullPointerException(); + } + + sliceStatus_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .context.SliceStatusEnum slice_status = 1; + * @return This builder for chaining. + */ + public Builder clearSliceStatus() { + + sliceStatus_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceStatus) + } + + // @@protoc_insertion_point(class_scope:context.SliceStatus) + private static final context.ContextOuterClass.SliceStatus DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceStatus(); + } + + public static context.ContextOuterClass.SliceStatus getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceStatus parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceStatus(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceStatus getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceConfigOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.ConfigRule config_rules = 1; + */ + java.util.List + getConfigRulesList(); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + context.ContextOuterClass.ConfigRule getConfigRules(int index); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + int getConfigRulesCount(); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + java.util.List + getConfigRulesOrBuilderList(); + /** + * repeated .context.ConfigRule config_rules = 1; + */ + context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + int index); + } + /** + * Protobuf type {@code context.SliceConfig} + */ + public static final class SliceConfig extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceConfig) + SliceConfigOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceConfig.newBuilder() to construct. + private SliceConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceConfig() { + configRules_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceConfig(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceConfig( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + configRules_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + configRules_.add( + input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + configRules_ = java.util.Collections.unmodifiableList(configRules_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceConfig.class, context.ContextOuterClass.SliceConfig.Builder.class); + } + + public static final int CONFIG_RULES_FIELD_NUMBER = 1; + private java.util.List configRules_; + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public java.util.List getConfigRulesList() { + return configRules_; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public java.util.List + getConfigRulesOrBuilderList() { + return configRules_; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public int getConfigRulesCount() { + return configRules_.size(); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRule getConfigRules(int index) { + return configRules_.get(index); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + int index) { + return configRules_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < configRules_.size(); i++) { + output.writeMessage(1, configRules_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < configRules_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, configRules_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceConfig)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceConfig other = (context.ContextOuterClass.SliceConfig) obj; + + if (!getConfigRulesList() + .equals(other.getConfigRulesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getConfigRulesCount() > 0) { + hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER; + hash = (53 * hash) + getConfigRulesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceConfig parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceConfig parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceConfig parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceConfig parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceConfig parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceConfig parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.SliceConfig} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceConfig) + context.ContextOuterClass.SliceConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceConfig.class, context.ContextOuterClass.SliceConfig.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceConfig.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getConfigRulesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (configRulesBuilder_ == null) { + configRules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + configRulesBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceConfig_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceConfig getDefaultInstanceForType() { + return context.ContextOuterClass.SliceConfig.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceConfig build() { + context.ContextOuterClass.SliceConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceConfig buildPartial() { + context.ContextOuterClass.SliceConfig result = new context.ContextOuterClass.SliceConfig(this); + int from_bitField0_ = bitField0_; + if (configRulesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + configRules_ = java.util.Collections.unmodifiableList(configRules_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.configRules_ = configRules_; + } else { + result.configRules_ = configRulesBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceConfig) { + return mergeFrom((context.ContextOuterClass.SliceConfig)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceConfig other) { + if (other == context.ContextOuterClass.SliceConfig.getDefaultInstance()) return this; + if (configRulesBuilder_ == null) { + if (!other.configRules_.isEmpty()) { + if (configRules_.isEmpty()) { + configRules_ = other.configRules_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureConfigRulesIsMutable(); + configRules_.addAll(other.configRules_); + } + onChanged(); + } + } else { + if (!other.configRules_.isEmpty()) { + if (configRulesBuilder_.isEmpty()) { + configRulesBuilder_.dispose(); + configRulesBuilder_ = null; + configRules_ = other.configRules_; + bitField0_ = (bitField0_ & ~0x00000001); + configRulesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getConfigRulesFieldBuilder() : null; + } else { + configRulesBuilder_.addAllMessages(other.configRules_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceConfig parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceConfig) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List configRules_ = + java.util.Collections.emptyList(); + private void ensureConfigRulesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + configRules_ = new java.util.ArrayList(configRules_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> configRulesBuilder_; + + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public java.util.List getConfigRulesList() { + if (configRulesBuilder_ == null) { + return java.util.Collections.unmodifiableList(configRules_); + } else { + return configRulesBuilder_.getMessageList(); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public int getConfigRulesCount() { + if (configRulesBuilder_ == null) { + return configRules_.size(); + } else { + return configRulesBuilder_.getCount(); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule getConfigRules(int index) { + if (configRulesBuilder_ == null) { + return configRules_.get(index); + } else { + return configRulesBuilder_.getMessage(index); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder setConfigRules( + int index, context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigRulesIsMutable(); + configRules_.set(index, value); + onChanged(); + } else { + configRulesBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder setConfigRules( + int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.set(index, builderForValue.build()); + onChanged(); + } else { + configRulesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules(context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigRulesIsMutable(); + configRules_.add(value); + onChanged(); + } else { + configRulesBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules( + int index, context.ContextOuterClass.ConfigRule value) { + if (configRulesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigRulesIsMutable(); + configRules_.add(index, value); + onChanged(); + } else { + configRulesBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules( + context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.add(builderForValue.build()); + onChanged(); + } else { + configRulesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addConfigRules( + int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.add(index, builderForValue.build()); + onChanged(); + } else { + configRulesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder addAllConfigRules( + java.lang.Iterable values) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, configRules_); + onChanged(); + } else { + configRulesBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder clearConfigRules() { + if (configRulesBuilder_ == null) { + configRules_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + configRulesBuilder_.clear(); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public Builder removeConfigRules(int index) { + if (configRulesBuilder_ == null) { + ensureConfigRulesIsMutable(); + configRules_.remove(index); + onChanged(); + } else { + configRulesBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule.Builder getConfigRulesBuilder( + int index) { + return getConfigRulesFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( + int index) { + if (configRulesBuilder_ == null) { + return configRules_.get(index); } else { + return configRulesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public java.util.List + getConfigRulesOrBuilderList() { + if (configRulesBuilder_ != null) { + return configRulesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(configRules_); + } + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder() { + return getConfigRulesFieldBuilder().addBuilder( + context.ContextOuterClass.ConfigRule.getDefaultInstance()); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder( + int index) { + return getConfigRulesFieldBuilder().addBuilder( + index, context.ContextOuterClass.ConfigRule.getDefaultInstance()); + } + /** + * repeated .context.ConfigRule config_rules = 1; + */ + public java.util.List + getConfigRulesBuilderList() { + return getConfigRulesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> + getConfigRulesFieldBuilder() { + if (configRulesBuilder_ == null) { + configRulesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder>( + configRules_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + configRules_ = null; + } + return configRulesBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceConfig) + } + + // @@protoc_insertion_point(class_scope:context.SliceConfig) + private static final context.ContextOuterClass.SliceConfig DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceConfig(); + } + + public static context.ContextOuterClass.SliceConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceConfig(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceIdList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.SliceId slice_ids = 1; + */ + java.util.List + getSliceIdsList(); + /** + * repeated .context.SliceId slice_ids = 1; + */ + context.ContextOuterClass.SliceId getSliceIds(int index); + /** + * repeated .context.SliceId slice_ids = 1; + */ + int getSliceIdsCount(); + /** + * repeated .context.SliceId slice_ids = 1; + */ + java.util.List + getSliceIdsOrBuilderList(); + /** + * repeated .context.SliceId slice_ids = 1; + */ + context.ContextOuterClass.SliceIdOrBuilder getSliceIdsOrBuilder( + int index); + } + /** + * Protobuf type {@code context.SliceIdList} + */ + public static final class SliceIdList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceIdList) + SliceIdListOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceIdList.newBuilder() to construct. + private SliceIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceIdList() { + sliceIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceIdList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceIdList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + sliceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + sliceIds_.add( + input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceIdList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceIdList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceIdList.class, context.ContextOuterClass.SliceIdList.Builder.class); + } + + public static final int SLICE_IDS_FIELD_NUMBER = 1; + private java.util.List sliceIds_; + /** + * repeated .context.SliceId slice_ids = 1; + */ + @java.lang.Override + public java.util.List getSliceIdsList() { + return sliceIds_; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + @java.lang.Override + public java.util.List + getSliceIdsOrBuilderList() { + return sliceIds_; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + @java.lang.Override + public int getSliceIdsCount() { + return sliceIds_.size(); + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + @java.lang.Override + public context.ContextOuterClass.SliceId getSliceIds(int index) { + return sliceIds_.get(index); + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + @java.lang.Override + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdsOrBuilder( + int index) { + return sliceIds_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < sliceIds_.size(); i++) { + output.writeMessage(1, sliceIds_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < sliceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, sliceIds_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceIdList)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceIdList other = (context.ContextOuterClass.SliceIdList) obj; + + if (!getSliceIdsList() + .equals(other.getSliceIdsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getSliceIdsCount() > 0) { + hash = (37 * hash) + SLICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getSliceIdsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceIdList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceIdList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceIdList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceIdList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceIdList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceIdList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceIdList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.SliceIdList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceIdList) + context.ContextOuterClass.SliceIdListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceIdList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceIdList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceIdList.class, context.ContextOuterClass.SliceIdList.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceIdList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getSliceIdsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (sliceIdsBuilder_ == null) { + sliceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + sliceIdsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceIdList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceIdList getDefaultInstanceForType() { + return context.ContextOuterClass.SliceIdList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceIdList build() { + context.ContextOuterClass.SliceIdList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceIdList buildPartial() { + context.ContextOuterClass.SliceIdList result = new context.ContextOuterClass.SliceIdList(this); + int from_bitField0_ = bitField0_; + if (sliceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.sliceIds_ = sliceIds_; + } else { + result.sliceIds_ = sliceIdsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceIdList) { + return mergeFrom((context.ContextOuterClass.SliceIdList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceIdList other) { + if (other == context.ContextOuterClass.SliceIdList.getDefaultInstance()) return this; + if (sliceIdsBuilder_ == null) { + if (!other.sliceIds_.isEmpty()) { + if (sliceIds_.isEmpty()) { + sliceIds_ = other.sliceIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSliceIdsIsMutable(); + sliceIds_.addAll(other.sliceIds_); + } + onChanged(); + } + } else { + if (!other.sliceIds_.isEmpty()) { + if (sliceIdsBuilder_.isEmpty()) { + sliceIdsBuilder_.dispose(); + sliceIdsBuilder_ = null; + sliceIds_ = other.sliceIds_; + bitField0_ = (bitField0_ & ~0x00000001); + sliceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSliceIdsFieldBuilder() : null; + } else { + sliceIdsBuilder_.addAllMessages(other.sliceIds_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceIdList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceIdList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List sliceIds_ = + java.util.Collections.emptyList(); + private void ensureSliceIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + sliceIds_ = new java.util.ArrayList(sliceIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> sliceIdsBuilder_; + + /** + * repeated .context.SliceId slice_ids = 1; + */ + public java.util.List getSliceIdsList() { + if (sliceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(sliceIds_); + } else { + return sliceIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public int getSliceIdsCount() { + if (sliceIdsBuilder_ == null) { + return sliceIds_.size(); + } else { + return sliceIdsBuilder_.getCount(); + } + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public context.ContextOuterClass.SliceId getSliceIds(int index) { + if (sliceIdsBuilder_ == null) { + return sliceIds_.get(index); + } else { + return sliceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder setSliceIds( + int index, context.ContextOuterClass.SliceId value) { + if (sliceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceIdsIsMutable(); + sliceIds_.set(index, value); + onChanged(); + } else { + sliceIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder setSliceIds( + int index, context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceIdsBuilder_ == null) { + ensureSliceIdsIsMutable(); + sliceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + sliceIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder addSliceIds(context.ContextOuterClass.SliceId value) { + if (sliceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceIdsIsMutable(); + sliceIds_.add(value); + onChanged(); + } else { + sliceIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder addSliceIds( + int index, context.ContextOuterClass.SliceId value) { + if (sliceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSliceIdsIsMutable(); + sliceIds_.add(index, value); + onChanged(); + } else { + sliceIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder addSliceIds( + context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceIdsBuilder_ == null) { + ensureSliceIdsIsMutable(); + sliceIds_.add(builderForValue.build()); + onChanged(); + } else { + sliceIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder addSliceIds( + int index, context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceIdsBuilder_ == null) { + ensureSliceIdsIsMutable(); + sliceIds_.add(index, builderForValue.build()); + onChanged(); + } else { + sliceIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder addAllSliceIds( + java.lang.Iterable values) { + if (sliceIdsBuilder_ == null) { + ensureSliceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, sliceIds_); + onChanged(); + } else { + sliceIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder clearSliceIds() { + if (sliceIdsBuilder_ == null) { + sliceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + sliceIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public Builder removeSliceIds(int index) { + if (sliceIdsBuilder_ == null) { + ensureSliceIdsIsMutable(); + sliceIds_.remove(index); + onChanged(); + } else { + sliceIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public context.ContextOuterClass.SliceId.Builder getSliceIdsBuilder( + int index) { + return getSliceIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdsOrBuilder( + int index) { + if (sliceIdsBuilder_ == null) { + return sliceIds_.get(index); } else { + return sliceIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public java.util.List + getSliceIdsOrBuilderList() { + if (sliceIdsBuilder_ != null) { + return sliceIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(sliceIds_); + } + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public context.ContextOuterClass.SliceId.Builder addSliceIdsBuilder() { + return getSliceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.SliceId.getDefaultInstance()); + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public context.ContextOuterClass.SliceId.Builder addSliceIdsBuilder( + int index) { + return getSliceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.SliceId.getDefaultInstance()); + } + /** + * repeated .context.SliceId slice_ids = 1; + */ + public java.util.List + getSliceIdsBuilderList() { + return getSliceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> + getSliceIdsFieldBuilder() { + if (sliceIdsBuilder_ == null) { + sliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder>( + sliceIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + sliceIds_ = null; + } + return sliceIdsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceIdList) + } + + // @@protoc_insertion_point(class_scope:context.SliceIdList) + private static final context.ContextOuterClass.SliceIdList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceIdList(); + } + + public static context.ContextOuterClass.SliceIdList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceIdList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceIdList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceIdList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.Slice slices = 1; + */ + java.util.List + getSlicesList(); + /** + * repeated .context.Slice slices = 1; + */ + context.ContextOuterClass.Slice getSlices(int index); + /** + * repeated .context.Slice slices = 1; + */ + int getSlicesCount(); + /** + * repeated .context.Slice slices = 1; + */ + java.util.List + getSlicesOrBuilderList(); + /** + * repeated .context.Slice slices = 1; + */ + context.ContextOuterClass.SliceOrBuilder getSlicesOrBuilder( + int index); + } + /** + * Protobuf type {@code context.SliceList} + */ + public static final class SliceList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceList) + SliceListOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceList.newBuilder() to construct. + private SliceList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceList() { + slices_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + slices_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + slices_.add( + input.readMessage(context.ContextOuterClass.Slice.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + slices_ = java.util.Collections.unmodifiableList(slices_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceList.class, context.ContextOuterClass.SliceList.Builder.class); + } + + public static final int SLICES_FIELD_NUMBER = 1; + private java.util.List slices_; + /** + * repeated .context.Slice slices = 1; + */ + @java.lang.Override + public java.util.List getSlicesList() { + return slices_; + } + /** + * repeated .context.Slice slices = 1; + */ + @java.lang.Override + public java.util.List + getSlicesOrBuilderList() { + return slices_; + } + /** + * repeated .context.Slice slices = 1; + */ + @java.lang.Override + public int getSlicesCount() { + return slices_.size(); + } + /** + * repeated .context.Slice slices = 1; + */ + @java.lang.Override + public context.ContextOuterClass.Slice getSlices(int index) { + return slices_.get(index); + } + /** + * repeated .context.Slice slices = 1; + */ + @java.lang.Override + public context.ContextOuterClass.SliceOrBuilder getSlicesOrBuilder( + int index) { + return slices_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < slices_.size(); i++) { + output.writeMessage(1, slices_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < slices_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, slices_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceList)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceList other = (context.ContextOuterClass.SliceList) obj; + + if (!getSlicesList() + .equals(other.getSlicesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getSlicesCount() > 0) { + hash = (37 * hash) + SLICES_FIELD_NUMBER; + hash = (53 * hash) + getSlicesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.SliceList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceList) + context.ContextOuterClass.SliceListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceList.class, context.ContextOuterClass.SliceList.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getSlicesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (slicesBuilder_ == null) { + slices_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + slicesBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceList getDefaultInstanceForType() { + return context.ContextOuterClass.SliceList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceList build() { + context.ContextOuterClass.SliceList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceList buildPartial() { + context.ContextOuterClass.SliceList result = new context.ContextOuterClass.SliceList(this); + int from_bitField0_ = bitField0_; + if (slicesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + slices_ = java.util.Collections.unmodifiableList(slices_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.slices_ = slices_; + } else { + result.slices_ = slicesBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceList) { + return mergeFrom((context.ContextOuterClass.SliceList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceList other) { + if (other == context.ContextOuterClass.SliceList.getDefaultInstance()) return this; + if (slicesBuilder_ == null) { + if (!other.slices_.isEmpty()) { + if (slices_.isEmpty()) { + slices_ = other.slices_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSlicesIsMutable(); + slices_.addAll(other.slices_); + } + onChanged(); + } + } else { + if (!other.slices_.isEmpty()) { + if (slicesBuilder_.isEmpty()) { + slicesBuilder_.dispose(); + slicesBuilder_ = null; + slices_ = other.slices_; + bitField0_ = (bitField0_ & ~0x00000001); + slicesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSlicesFieldBuilder() : null; + } else { + slicesBuilder_.addAllMessages(other.slices_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List slices_ = + java.util.Collections.emptyList(); + private void ensureSlicesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + slices_ = new java.util.ArrayList(slices_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Slice, context.ContextOuterClass.Slice.Builder, context.ContextOuterClass.SliceOrBuilder> slicesBuilder_; + + /** + * repeated .context.Slice slices = 1; + */ + public java.util.List getSlicesList() { + if (slicesBuilder_ == null) { + return java.util.Collections.unmodifiableList(slices_); + } else { + return slicesBuilder_.getMessageList(); + } + } + /** + * repeated .context.Slice slices = 1; + */ + public int getSlicesCount() { + if (slicesBuilder_ == null) { + return slices_.size(); + } else { + return slicesBuilder_.getCount(); + } + } + /** + * repeated .context.Slice slices = 1; + */ + public context.ContextOuterClass.Slice getSlices(int index) { + if (slicesBuilder_ == null) { + return slices_.get(index); + } else { + return slicesBuilder_.getMessage(index); + } + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder setSlices( + int index, context.ContextOuterClass.Slice value) { + if (slicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSlicesIsMutable(); + slices_.set(index, value); + onChanged(); + } else { + slicesBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder setSlices( + int index, context.ContextOuterClass.Slice.Builder builderForValue) { + if (slicesBuilder_ == null) { + ensureSlicesIsMutable(); + slices_.set(index, builderForValue.build()); + onChanged(); + } else { + slicesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder addSlices(context.ContextOuterClass.Slice value) { + if (slicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSlicesIsMutable(); + slices_.add(value); + onChanged(); + } else { + slicesBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder addSlices( + int index, context.ContextOuterClass.Slice value) { + if (slicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSlicesIsMutable(); + slices_.add(index, value); + onChanged(); + } else { + slicesBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder addSlices( + context.ContextOuterClass.Slice.Builder builderForValue) { + if (slicesBuilder_ == null) { + ensureSlicesIsMutable(); + slices_.add(builderForValue.build()); + onChanged(); + } else { + slicesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder addSlices( + int index, context.ContextOuterClass.Slice.Builder builderForValue) { + if (slicesBuilder_ == null) { + ensureSlicesIsMutable(); + slices_.add(index, builderForValue.build()); + onChanged(); + } else { + slicesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder addAllSlices( + java.lang.Iterable values) { + if (slicesBuilder_ == null) { + ensureSlicesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, slices_); + onChanged(); + } else { + slicesBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder clearSlices() { + if (slicesBuilder_ == null) { + slices_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + slicesBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public Builder removeSlices(int index) { + if (slicesBuilder_ == null) { + ensureSlicesIsMutable(); + slices_.remove(index); + onChanged(); + } else { + slicesBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Slice slices = 1; + */ + public context.ContextOuterClass.Slice.Builder getSlicesBuilder( + int index) { + return getSlicesFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Slice slices = 1; + */ + public context.ContextOuterClass.SliceOrBuilder getSlicesOrBuilder( + int index) { + if (slicesBuilder_ == null) { + return slices_.get(index); } else { + return slicesBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Slice slices = 1; + */ + public java.util.List + getSlicesOrBuilderList() { + if (slicesBuilder_ != null) { + return slicesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(slices_); + } + } + /** + * repeated .context.Slice slices = 1; + */ + public context.ContextOuterClass.Slice.Builder addSlicesBuilder() { + return getSlicesFieldBuilder().addBuilder( + context.ContextOuterClass.Slice.getDefaultInstance()); + } + /** + * repeated .context.Slice slices = 1; + */ + public context.ContextOuterClass.Slice.Builder addSlicesBuilder( + int index) { + return getSlicesFieldBuilder().addBuilder( + index, context.ContextOuterClass.Slice.getDefaultInstance()); + } + /** + * repeated .context.Slice slices = 1; + */ + public java.util.List + getSlicesBuilderList() { + return getSlicesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Slice, context.ContextOuterClass.Slice.Builder, context.ContextOuterClass.SliceOrBuilder> + getSlicesFieldBuilder() { + if (slicesBuilder_ == null) { + slicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Slice, context.ContextOuterClass.Slice.Builder, context.ContextOuterClass.SliceOrBuilder>( + slices_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + slices_ = null; + } + return slicesBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceList) + } + + // @@protoc_insertion_point(class_scope:context.SliceList) + private static final context.ContextOuterClass.SliceList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceList(); + } + + public static context.ContextOuterClass.SliceList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SliceEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.SliceEvent) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + boolean hasEvent(); + /** + * .context.Event event = 1; + * @return The event. + */ + context.ContextOuterClass.Event getEvent(); + /** + * .context.Event event = 1; + */ + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); + + /** + * .context.SliceId slice_id = 2; + * @return Whether the sliceId field is set. + */ + boolean hasSliceId(); + /** + * .context.SliceId slice_id = 2; + * @return The sliceId. + */ + context.ContextOuterClass.SliceId getSliceId(); + /** + * .context.SliceId slice_id = 2; + */ + context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder(); + } + /** + * Protobuf type {@code context.SliceEvent} + */ + public static final class SliceEvent extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.SliceEvent) + SliceEventOrBuilder { + private static final long serialVersionUID = 0L; + // Use SliceEvent.newBuilder() to construct. + private SliceEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SliceEvent() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SliceEvent(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SliceEvent( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); + } + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.SliceId.Builder subBuilder = null; + if (sliceId_ != null) { + subBuilder = sliceId_.toBuilder(); + } + sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceId_); + sliceId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceEvent.class, context.ContextOuterClass.SliceEvent.Builder.class); + } + + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + @java.lang.Override + public boolean hasEvent() { + return event_ != null; + } + /** + * .context.Event event = 1; + * @return The event. + */ + @java.lang.Override + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + /** + * .context.Event event = 1; + */ + @java.lang.Override + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); + } + + public static final int SLICE_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.SliceId sliceId_; + /** + * .context.SliceId slice_id = 2; + * @return Whether the sliceId field is set. + */ + @java.lang.Override + public boolean hasSliceId() { + return sliceId_ != null; + } + /** + * .context.SliceId slice_id = 2; + * @return The sliceId. + */ + @java.lang.Override + public context.ContextOuterClass.SliceId getSliceId() { + return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } + /** + * .context.SliceId slice_id = 2; + */ + @java.lang.Override + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { + return getSliceId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (event_ != null) { + output.writeMessage(1, getEvent()); + } + if (sliceId_ != null) { + output.writeMessage(2, getSliceId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (event_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getEvent()); + } + if (sliceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getSliceId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.SliceEvent)) { + return super.equals(obj); + } + context.ContextOuterClass.SliceEvent other = (context.ContextOuterClass.SliceEvent) obj; + + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; + } + if (hasSliceId() != other.hasSliceId()) return false; + if (hasSliceId()) { + if (!getSliceId() + .equals(other.getSliceId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); + } + if (hasSliceId()) { + hash = (37 * hash) + SLICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getSliceId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.SliceEvent parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceEvent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.SliceEvent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceEvent parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceEvent parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.SliceEvent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.SliceEvent prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.SliceEvent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.SliceEvent) + context.ContextOuterClass.SliceEventOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_SliceEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_SliceEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.SliceEvent.class, context.ContextOuterClass.SliceEvent.Builder.class); + } + + // Construct using context.ContextOuterClass.SliceEvent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (eventBuilder_ == null) { + event_ = null; + } else { + event_ = null; + eventBuilder_ = null; + } + if (sliceIdBuilder_ == null) { + sliceId_ = null; + } else { + sliceId_ = null; + sliceIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_SliceEvent_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.SliceEvent getDefaultInstanceForType() { + return context.ContextOuterClass.SliceEvent.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.SliceEvent build() { + context.ContextOuterClass.SliceEvent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.SliceEvent buildPartial() { + context.ContextOuterClass.SliceEvent result = new context.ContextOuterClass.SliceEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; + } else { + result.event_ = eventBuilder_.build(); + } + if (sliceIdBuilder_ == null) { + result.sliceId_ = sliceId_; + } else { + result.sliceId_ = sliceIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.SliceEvent) { + return mergeFrom((context.ContextOuterClass.SliceEvent)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.SliceEvent other) { + if (other == context.ContextOuterClass.SliceEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); + } + if (other.hasSliceId()) { + mergeSliceId(other.getSliceId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.SliceEvent parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.SliceEvent) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Event event_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; + } + /** + * .context.Event event = 1; + * @return The event. + */ + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + } else { + return eventBuilder_.getMessage(); + } + } + /** + * .context.Event event = 1; + */ + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + event_ = value; + onChanged(); + } else { + eventBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); + onChanged(); + } else { + eventBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); + } else { + event_ = value; + } + onChanged(); + } else { + eventBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; + onChanged(); + } else { + event_ = null; + eventBuilder_ = null; + } + + return this; + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.Event.Builder getEventBuilder() { + + onChanged(); + return getEventFieldBuilder().getBuilder(); + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); + } else { + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + } + /** + * .context.Event event = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), + getParentForChildren(), + isClean()); + event_ = null; + } + return eventBuilder_; + } + + private context.ContextOuterClass.SliceId sliceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> sliceIdBuilder_; + /** + * .context.SliceId slice_id = 2; + * @return Whether the sliceId field is set. + */ + public boolean hasSliceId() { + return sliceIdBuilder_ != null || sliceId_ != null; + } + /** + * .context.SliceId slice_id = 2; + * @return The sliceId. + */ + public context.ContextOuterClass.SliceId getSliceId() { + if (sliceIdBuilder_ == null) { + return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } else { + return sliceIdBuilder_.getMessage(); + } + } + /** + * .context.SliceId slice_id = 2; + */ + public Builder setSliceId(context.ContextOuterClass.SliceId value) { + if (sliceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceId_ = value; + onChanged(); + } else { + sliceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.SliceId slice_id = 2; + */ + public Builder setSliceId( + context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceIdBuilder_ == null) { + sliceId_ = builderForValue.build(); + onChanged(); + } else { + sliceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.SliceId slice_id = 2; + */ + public Builder mergeSliceId(context.ContextOuterClass.SliceId value) { + if (sliceIdBuilder_ == null) { + if (sliceId_ != null) { + sliceId_ = + context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial(); + } else { + sliceId_ = value; + } + onChanged(); + } else { + sliceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.SliceId slice_id = 2; + */ + public Builder clearSliceId() { + if (sliceIdBuilder_ == null) { + sliceId_ = null; + onChanged(); + } else { + sliceId_ = null; + sliceIdBuilder_ = null; + } + + return this; + } + /** + * .context.SliceId slice_id = 2; + */ + public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() { + + onChanged(); + return getSliceIdFieldBuilder().getBuilder(); + } + /** + * .context.SliceId slice_id = 2; + */ + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { + if (sliceIdBuilder_ != null) { + return sliceIdBuilder_.getMessageOrBuilder(); + } else { + return sliceId_ == null ? + context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } + } + /** + * .context.SliceId slice_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> + getSliceIdFieldBuilder() { + if (sliceIdBuilder_ == null) { + sliceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder>( + getSliceId(), + getParentForChildren(), + isClean()); + sliceId_ = null; + } + return sliceIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.SliceEvent) + } + + // @@protoc_insertion_point(class_scope:context.SliceEvent) + private static final context.ContextOuterClass.SliceEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.SliceEvent(); + } + + public static context.ContextOuterClass.SliceEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SliceEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SliceEvent(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.SliceEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid connection_uuid = 1; + * @return Whether the connectionUuid field is set. + */ + boolean hasConnectionUuid(); + /** + * .context.Uuid connection_uuid = 1; + * @return The connectionUuid. + */ + context.ContextOuterClass.Uuid getConnectionUuid(); + /** + * .context.Uuid connection_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder(); + } + /** + *
+   * ----- Connection ----------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.ConnectionId} + */ + public static final class ConnectionId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionId) + ConnectionIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionId.newBuilder() to construct. + private ConnectionId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (connectionUuid_ != null) { + subBuilder = connectionUuid_.toBuilder(); + } + connectionUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(connectionUuid_); + connectionUuid_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionId.class, context.ContextOuterClass.ConnectionId.Builder.class); + } + + public static final int CONNECTION_UUID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid connectionUuid_; + /** + * .context.Uuid connection_uuid = 1; + * @return Whether the connectionUuid field is set. + */ + @java.lang.Override + public boolean hasConnectionUuid() { + return connectionUuid_ != null; + } + /** + * .context.Uuid connection_uuid = 1; + * @return The connectionUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getConnectionUuid() { + return connectionUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_; + } + /** + * .context.Uuid connection_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder() { + return getConnectionUuid(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (connectionUuid_ != null) { + output.writeMessage(1, getConnectionUuid()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (connectionUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getConnectionUuid()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionId)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionId other = (context.ContextOuterClass.ConnectionId) obj; + + if (hasConnectionUuid() != other.hasConnectionUuid()) return false; + if (hasConnectionUuid()) { + if (!getConnectionUuid() + .equals(other.getConnectionUuid())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasConnectionUuid()) { + hash = (37 * hash) + CONNECTION_UUID_FIELD_NUMBER; + hash = (53 * hash) + getConnectionUuid().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionId parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionId parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionId parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionId parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionId parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionId parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ----- Connection ----------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.ConnectionId} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionId) + context.ContextOuterClass.ConnectionIdOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionId.class, context.ContextOuterClass.ConnectionId.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionId.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (connectionUuidBuilder_ == null) { + connectionUuid_ = null; + } else { + connectionUuid_ = null; + connectionUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionId getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionId build() { + context.ContextOuterClass.ConnectionId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionId buildPartial() { + context.ContextOuterClass.ConnectionId result = new context.ContextOuterClass.ConnectionId(this); + if (connectionUuidBuilder_ == null) { + result.connectionUuid_ = connectionUuid_; + } else { + result.connectionUuid_ = connectionUuidBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionId) { + return mergeFrom((context.ContextOuterClass.ConnectionId)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionId other) { + if (other == context.ContextOuterClass.ConnectionId.getDefaultInstance()) return this; + if (other.hasConnectionUuid()) { + mergeConnectionUuid(other.getConnectionUuid()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionId parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionId) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Uuid connectionUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> connectionUuidBuilder_; + /** + * .context.Uuid connection_uuid = 1; + * @return Whether the connectionUuid field is set. + */ + public boolean hasConnectionUuid() { + return connectionUuidBuilder_ != null || connectionUuid_ != null; + } + /** + * .context.Uuid connection_uuid = 1; + * @return The connectionUuid. + */ + public context.ContextOuterClass.Uuid getConnectionUuid() { + if (connectionUuidBuilder_ == null) { + return connectionUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_; + } else { + return connectionUuidBuilder_.getMessage(); + } + } + /** + * .context.Uuid connection_uuid = 1; + */ + public Builder setConnectionUuid(context.ContextOuterClass.Uuid value) { + if (connectionUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + connectionUuid_ = value; + onChanged(); + } else { + connectionUuidBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid connection_uuid = 1; + */ + public Builder setConnectionUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (connectionUuidBuilder_ == null) { + connectionUuid_ = builderForValue.build(); + onChanged(); + } else { + connectionUuidBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid connection_uuid = 1; + */ + public Builder mergeConnectionUuid(context.ContextOuterClass.Uuid value) { + if (connectionUuidBuilder_ == null) { + if (connectionUuid_ != null) { + connectionUuid_ = + context.ContextOuterClass.Uuid.newBuilder(connectionUuid_).mergeFrom(value).buildPartial(); + } else { + connectionUuid_ = value; + } + onChanged(); + } else { + connectionUuidBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid connection_uuid = 1; + */ + public Builder clearConnectionUuid() { + if (connectionUuidBuilder_ == null) { + connectionUuid_ = null; + onChanged(); + } else { + connectionUuid_ = null; + connectionUuidBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid connection_uuid = 1; + */ + public context.ContextOuterClass.Uuid.Builder getConnectionUuidBuilder() { + + onChanged(); + return getConnectionUuidFieldBuilder().getBuilder(); + } + /** + * .context.Uuid connection_uuid = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder() { + if (connectionUuidBuilder_ != null) { + return connectionUuidBuilder_.getMessageOrBuilder(); + } else { + return connectionUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_; + } + } + /** + * .context.Uuid connection_uuid = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getConnectionUuidFieldBuilder() { + if (connectionUuidBuilder_ == null) { + connectionUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getConnectionUuid(), + getParentForChildren(), + isClean()); + connectionUuid_ = null; + } + return connectionUuidBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionId) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionId) + private static final context.ContextOuterClass.ConnectionId DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionId(); + } + + public static context.ContextOuterClass.ConnectionId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionId parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionId(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionSettings_L0OrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionSettings_L0) + com.google.protobuf.MessageOrBuilder { + + /** + * string lsp_symbolic_name = 1; + * @return The lspSymbolicName. + */ + java.lang.String getLspSymbolicName(); + /** + * string lsp_symbolic_name = 1; + * @return The bytes for lspSymbolicName. + */ + com.google.protobuf.ByteString + getLspSymbolicNameBytes(); + } + /** + * Protobuf type {@code context.ConnectionSettings_L0} + */ + public static final class ConnectionSettings_L0 extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionSettings_L0) + ConnectionSettings_L0OrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionSettings_L0.newBuilder() to construct. + private ConnectionSettings_L0(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionSettings_L0() { + lspSymbolicName_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionSettings_L0(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionSettings_L0( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + lspSymbolicName_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L0.class, context.ContextOuterClass.ConnectionSettings_L0.Builder.class); + } + + public static final int LSP_SYMBOLIC_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object lspSymbolicName_; + /** + * string lsp_symbolic_name = 1; + * @return The lspSymbolicName. + */ + @java.lang.Override + public java.lang.String getLspSymbolicName() { + java.lang.Object ref = lspSymbolicName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + lspSymbolicName_ = s; + return s; + } + } + /** + * string lsp_symbolic_name = 1; + * @return The bytes for lspSymbolicName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getLspSymbolicNameBytes() { + java.lang.Object ref = lspSymbolicName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + lspSymbolicName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getLspSymbolicNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, lspSymbolicName_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getLspSymbolicNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, lspSymbolicName_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionSettings_L0)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionSettings_L0 other = (context.ContextOuterClass.ConnectionSettings_L0) obj; + + if (!getLspSymbolicName() + .equals(other.getLspSymbolicName())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + LSP_SYMBOLIC_NAME_FIELD_NUMBER; + hash = (53 * hash) + getLspSymbolicName().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L0 parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionSettings_L0 prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionSettings_L0} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionSettings_L0) + context.ContextOuterClass.ConnectionSettings_L0OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L0.class, context.ContextOuterClass.ConnectionSettings_L0.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionSettings_L0.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + lspSymbolicName_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L0 getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L0 build() { + context.ContextOuterClass.ConnectionSettings_L0 result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L0 buildPartial() { + context.ContextOuterClass.ConnectionSettings_L0 result = new context.ContextOuterClass.ConnectionSettings_L0(this); + result.lspSymbolicName_ = lspSymbolicName_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionSettings_L0) { + return mergeFrom((context.ContextOuterClass.ConnectionSettings_L0)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionSettings_L0 other) { + if (other == context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance()) return this; + if (!other.getLspSymbolicName().isEmpty()) { + lspSymbolicName_ = other.lspSymbolicName_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionSettings_L0 parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionSettings_L0) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object lspSymbolicName_ = ""; + /** + * string lsp_symbolic_name = 1; + * @return The lspSymbolicName. + */ + public java.lang.String getLspSymbolicName() { + java.lang.Object ref = lspSymbolicName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + lspSymbolicName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string lsp_symbolic_name = 1; + * @return The bytes for lspSymbolicName. + */ + public com.google.protobuf.ByteString + getLspSymbolicNameBytes() { + java.lang.Object ref = lspSymbolicName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + lspSymbolicName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string lsp_symbolic_name = 1; + * @param value The lspSymbolicName to set. + * @return This builder for chaining. + */ + public Builder setLspSymbolicName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + lspSymbolicName_ = value; + onChanged(); + return this; + } + /** + * string lsp_symbolic_name = 1; + * @return This builder for chaining. + */ + public Builder clearLspSymbolicName() { + + lspSymbolicName_ = getDefaultInstance().getLspSymbolicName(); + onChanged(); + return this; + } + /** + * string lsp_symbolic_name = 1; + * @param value The bytes for lspSymbolicName to set. + * @return This builder for chaining. + */ + public Builder setLspSymbolicNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + lspSymbolicName_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionSettings_L0) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionSettings_L0) + private static final context.ContextOuterClass.ConnectionSettings_L0 DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionSettings_L0(); + } + + public static context.ContextOuterClass.ConnectionSettings_L0 getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionSettings_L0 parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionSettings_L0(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L0 getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionSettings_L2OrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionSettings_L2) + com.google.protobuf.MessageOrBuilder { + + /** + * string src_mac_address = 1; + * @return The srcMacAddress. + */ + java.lang.String getSrcMacAddress(); + /** + * string src_mac_address = 1; + * @return The bytes for srcMacAddress. + */ + com.google.protobuf.ByteString + getSrcMacAddressBytes(); + + /** + * string dst_mac_address = 2; + * @return The dstMacAddress. + */ + java.lang.String getDstMacAddress(); + /** + * string dst_mac_address = 2; + * @return The bytes for dstMacAddress. + */ + com.google.protobuf.ByteString + getDstMacAddressBytes(); + + /** + * uint32 ether_type = 3; + * @return The etherType. + */ + int getEtherType(); + + /** + * uint32 vlan_id = 4; + * @return The vlanId. + */ + int getVlanId(); + + /** + * uint32 mpls_label = 5; + * @return The mplsLabel. + */ + int getMplsLabel(); + + /** + * uint32 mpls_traffic_class = 6; + * @return The mplsTrafficClass. + */ + int getMplsTrafficClass(); + } + /** + * Protobuf type {@code context.ConnectionSettings_L2} + */ + public static final class ConnectionSettings_L2 extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionSettings_L2) + ConnectionSettings_L2OrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionSettings_L2.newBuilder() to construct. + private ConnectionSettings_L2(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionSettings_L2() { + srcMacAddress_ = ""; + dstMacAddress_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionSettings_L2(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionSettings_L2( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + srcMacAddress_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + dstMacAddress_ = s; + break; + } + case 24: { + + etherType_ = input.readUInt32(); + break; + } + case 32: { + + vlanId_ = input.readUInt32(); + break; + } + case 40: { + + mplsLabel_ = input.readUInt32(); + break; + } + case 48: { + + mplsTrafficClass_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L2.class, context.ContextOuterClass.ConnectionSettings_L2.Builder.class); + } + + public static final int SRC_MAC_ADDRESS_FIELD_NUMBER = 1; + private volatile java.lang.Object srcMacAddress_; + /** + * string src_mac_address = 1; + * @return The srcMacAddress. + */ + @java.lang.Override + public java.lang.String getSrcMacAddress() { + java.lang.Object ref = srcMacAddress_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcMacAddress_ = s; + return s; + } + } + /** + * string src_mac_address = 1; + * @return The bytes for srcMacAddress. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSrcMacAddressBytes() { + java.lang.Object ref = srcMacAddress_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + srcMacAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DST_MAC_ADDRESS_FIELD_NUMBER = 2; + private volatile java.lang.Object dstMacAddress_; + /** + * string dst_mac_address = 2; + * @return The dstMacAddress. + */ + @java.lang.Override + public java.lang.String getDstMacAddress() { + java.lang.Object ref = dstMacAddress_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstMacAddress_ = s; + return s; + } + } + /** + * string dst_mac_address = 2; + * @return The bytes for dstMacAddress. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDstMacAddressBytes() { + java.lang.Object ref = dstMacAddress_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dstMacAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ETHER_TYPE_FIELD_NUMBER = 3; + private int etherType_; + /** + * uint32 ether_type = 3; + * @return The etherType. + */ + @java.lang.Override + public int getEtherType() { + return etherType_; + } + + public static final int VLAN_ID_FIELD_NUMBER = 4; + private int vlanId_; + /** + * uint32 vlan_id = 4; + * @return The vlanId. + */ + @java.lang.Override + public int getVlanId() { + return vlanId_; + } + + public static final int MPLS_LABEL_FIELD_NUMBER = 5; + private int mplsLabel_; + /** + * uint32 mpls_label = 5; + * @return The mplsLabel. + */ + @java.lang.Override + public int getMplsLabel() { + return mplsLabel_; + } + + public static final int MPLS_TRAFFIC_CLASS_FIELD_NUMBER = 6; + private int mplsTrafficClass_; + /** + * uint32 mpls_traffic_class = 6; + * @return The mplsTrafficClass. + */ + @java.lang.Override + public int getMplsTrafficClass() { + return mplsTrafficClass_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getSrcMacAddressBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcMacAddress_); + } + if (!getDstMacAddressBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstMacAddress_); + } + if (etherType_ != 0) { + output.writeUInt32(3, etherType_); + } + if (vlanId_ != 0) { + output.writeUInt32(4, vlanId_); + } + if (mplsLabel_ != 0) { + output.writeUInt32(5, mplsLabel_); + } + if (mplsTrafficClass_ != 0) { + output.writeUInt32(6, mplsTrafficClass_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getSrcMacAddressBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcMacAddress_); + } + if (!getDstMacAddressBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstMacAddress_); + } + if (etherType_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, etherType_); + } + if (vlanId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, vlanId_); + } + if (mplsLabel_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, mplsLabel_); + } + if (mplsTrafficClass_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, mplsTrafficClass_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionSettings_L2)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionSettings_L2 other = (context.ContextOuterClass.ConnectionSettings_L2) obj; + + if (!getSrcMacAddress() + .equals(other.getSrcMacAddress())) return false; + if (!getDstMacAddress() + .equals(other.getDstMacAddress())) return false; + if (getEtherType() + != other.getEtherType()) return false; + if (getVlanId() + != other.getVlanId()) return false; + if (getMplsLabel() + != other.getMplsLabel()) return false; + if (getMplsTrafficClass() + != other.getMplsTrafficClass()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SRC_MAC_ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getSrcMacAddress().hashCode(); + hash = (37 * hash) + DST_MAC_ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getDstMacAddress().hashCode(); + hash = (37 * hash) + ETHER_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getEtherType(); + hash = (37 * hash) + VLAN_ID_FIELD_NUMBER; + hash = (53 * hash) + getVlanId(); + hash = (37 * hash) + MPLS_LABEL_FIELD_NUMBER; + hash = (53 * hash) + getMplsLabel(); + hash = (37 * hash) + MPLS_TRAFFIC_CLASS_FIELD_NUMBER; + hash = (53 * hash) + getMplsTrafficClass(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L2 parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionSettings_L2 prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionSettings_L2} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionSettings_L2) + context.ContextOuterClass.ConnectionSettings_L2OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L2.class, context.ContextOuterClass.ConnectionSettings_L2.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionSettings_L2.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + srcMacAddress_ = ""; + + dstMacAddress_ = ""; + + etherType_ = 0; + + vlanId_ = 0; + + mplsLabel_ = 0; + + mplsTrafficClass_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L2 getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L2 build() { + context.ContextOuterClass.ConnectionSettings_L2 result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L2 buildPartial() { + context.ContextOuterClass.ConnectionSettings_L2 result = new context.ContextOuterClass.ConnectionSettings_L2(this); + result.srcMacAddress_ = srcMacAddress_; + result.dstMacAddress_ = dstMacAddress_; + result.etherType_ = etherType_; + result.vlanId_ = vlanId_; + result.mplsLabel_ = mplsLabel_; + result.mplsTrafficClass_ = mplsTrafficClass_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionSettings_L2) { + return mergeFrom((context.ContextOuterClass.ConnectionSettings_L2)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionSettings_L2 other) { + if (other == context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance()) return this; + if (!other.getSrcMacAddress().isEmpty()) { + srcMacAddress_ = other.srcMacAddress_; + onChanged(); + } + if (!other.getDstMacAddress().isEmpty()) { + dstMacAddress_ = other.dstMacAddress_; + onChanged(); + } + if (other.getEtherType() != 0) { + setEtherType(other.getEtherType()); + } + if (other.getVlanId() != 0) { + setVlanId(other.getVlanId()); + } + if (other.getMplsLabel() != 0) { + setMplsLabel(other.getMplsLabel()); + } + if (other.getMplsTrafficClass() != 0) { + setMplsTrafficClass(other.getMplsTrafficClass()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionSettings_L2 parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionSettings_L2) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object srcMacAddress_ = ""; + /** + * string src_mac_address = 1; + * @return The srcMacAddress. + */ + public java.lang.String getSrcMacAddress() { + java.lang.Object ref = srcMacAddress_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcMacAddress_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string src_mac_address = 1; + * @return The bytes for srcMacAddress. + */ + public com.google.protobuf.ByteString + getSrcMacAddressBytes() { + java.lang.Object ref = srcMacAddress_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + srcMacAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string src_mac_address = 1; + * @param value The srcMacAddress to set. + * @return This builder for chaining. + */ + public Builder setSrcMacAddress( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + srcMacAddress_ = value; + onChanged(); + return this; + } + /** + * string src_mac_address = 1; + * @return This builder for chaining. + */ + public Builder clearSrcMacAddress() { + + srcMacAddress_ = getDefaultInstance().getSrcMacAddress(); + onChanged(); + return this; + } + /** + * string src_mac_address = 1; + * @param value The bytes for srcMacAddress to set. + * @return This builder for chaining. + */ + public Builder setSrcMacAddressBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + srcMacAddress_ = value; + onChanged(); + return this; + } + + private java.lang.Object dstMacAddress_ = ""; + /** + * string dst_mac_address = 2; + * @return The dstMacAddress. + */ + public java.lang.String getDstMacAddress() { + java.lang.Object ref = dstMacAddress_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstMacAddress_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string dst_mac_address = 2; + * @return The bytes for dstMacAddress. + */ + public com.google.protobuf.ByteString + getDstMacAddressBytes() { + java.lang.Object ref = dstMacAddress_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dstMacAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string dst_mac_address = 2; + * @param value The dstMacAddress to set. + * @return This builder for chaining. + */ + public Builder setDstMacAddress( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + dstMacAddress_ = value; + onChanged(); + return this; + } + /** + * string dst_mac_address = 2; + * @return This builder for chaining. + */ + public Builder clearDstMacAddress() { + + dstMacAddress_ = getDefaultInstance().getDstMacAddress(); + onChanged(); + return this; + } + /** + * string dst_mac_address = 2; + * @param value The bytes for dstMacAddress to set. + * @return This builder for chaining. + */ + public Builder setDstMacAddressBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + dstMacAddress_ = value; + onChanged(); + return this; + } + + private int etherType_ ; + /** + * uint32 ether_type = 3; + * @return The etherType. + */ + @java.lang.Override + public int getEtherType() { + return etherType_; + } + /** + * uint32 ether_type = 3; + * @param value The etherType to set. + * @return This builder for chaining. + */ + public Builder setEtherType(int value) { + + etherType_ = value; + onChanged(); + return this; + } + /** + * uint32 ether_type = 3; + * @return This builder for chaining. + */ + public Builder clearEtherType() { + + etherType_ = 0; + onChanged(); + return this; + } + + private int vlanId_ ; + /** + * uint32 vlan_id = 4; + * @return The vlanId. + */ + @java.lang.Override + public int getVlanId() { + return vlanId_; + } + /** + * uint32 vlan_id = 4; + * @param value The vlanId to set. + * @return This builder for chaining. + */ + public Builder setVlanId(int value) { + + vlanId_ = value; + onChanged(); + return this; + } + /** + * uint32 vlan_id = 4; + * @return This builder for chaining. + */ + public Builder clearVlanId() { + + vlanId_ = 0; + onChanged(); + return this; + } + + private int mplsLabel_ ; + /** + * uint32 mpls_label = 5; + * @return The mplsLabel. + */ + @java.lang.Override + public int getMplsLabel() { + return mplsLabel_; + } + /** + * uint32 mpls_label = 5; + * @param value The mplsLabel to set. + * @return This builder for chaining. + */ + public Builder setMplsLabel(int value) { + + mplsLabel_ = value; + onChanged(); + return this; + } + /** + * uint32 mpls_label = 5; + * @return This builder for chaining. + */ + public Builder clearMplsLabel() { + + mplsLabel_ = 0; + onChanged(); + return this; + } + + private int mplsTrafficClass_ ; + /** + * uint32 mpls_traffic_class = 6; + * @return The mplsTrafficClass. + */ + @java.lang.Override + public int getMplsTrafficClass() { + return mplsTrafficClass_; + } + /** + * uint32 mpls_traffic_class = 6; + * @param value The mplsTrafficClass to set. + * @return This builder for chaining. + */ + public Builder setMplsTrafficClass(int value) { + + mplsTrafficClass_ = value; + onChanged(); + return this; + } + /** + * uint32 mpls_traffic_class = 6; + * @return This builder for chaining. + */ + public Builder clearMplsTrafficClass() { + + mplsTrafficClass_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionSettings_L2) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionSettings_L2) + private static final context.ContextOuterClass.ConnectionSettings_L2 DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionSettings_L2(); + } + + public static context.ContextOuterClass.ConnectionSettings_L2 getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionSettings_L2 parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionSettings_L2(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L2 getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionSettings_L3OrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionSettings_L3) + com.google.protobuf.MessageOrBuilder { + + /** + * string src_ip_address = 1; + * @return The srcIpAddress. + */ + java.lang.String getSrcIpAddress(); + /** + * string src_ip_address = 1; + * @return The bytes for srcIpAddress. + */ + com.google.protobuf.ByteString + getSrcIpAddressBytes(); + + /** + * string dst_ip_address = 2; + * @return The dstIpAddress. + */ + java.lang.String getDstIpAddress(); + /** + * string dst_ip_address = 2; + * @return The bytes for dstIpAddress. + */ + com.google.protobuf.ByteString + getDstIpAddressBytes(); + + /** + * uint32 dscp = 3; + * @return The dscp. + */ + int getDscp(); + + /** + * uint32 protocol = 4; + * @return The protocol. + */ + int getProtocol(); + + /** + * uint32 ttl = 5; + * @return The ttl. + */ + int getTtl(); + } + /** + * Protobuf type {@code context.ConnectionSettings_L3} + */ + public static final class ConnectionSettings_L3 extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionSettings_L3) + ConnectionSettings_L3OrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionSettings_L3.newBuilder() to construct. + private ConnectionSettings_L3(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionSettings_L3() { + srcIpAddress_ = ""; + dstIpAddress_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionSettings_L3(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionSettings_L3( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + srcIpAddress_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + dstIpAddress_ = s; + break; + } + case 24: { + + dscp_ = input.readUInt32(); + break; + } + case 32: { + + protocol_ = input.readUInt32(); + break; + } + case 40: { + + ttl_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L3.class, context.ContextOuterClass.ConnectionSettings_L3.Builder.class); + } + + public static final int SRC_IP_ADDRESS_FIELD_NUMBER = 1; + private volatile java.lang.Object srcIpAddress_; + /** + * string src_ip_address = 1; + * @return The srcIpAddress. + */ + @java.lang.Override + public java.lang.String getSrcIpAddress() { + java.lang.Object ref = srcIpAddress_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcIpAddress_ = s; + return s; + } + } + /** + * string src_ip_address = 1; + * @return The bytes for srcIpAddress. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSrcIpAddressBytes() { + java.lang.Object ref = srcIpAddress_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + srcIpAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DST_IP_ADDRESS_FIELD_NUMBER = 2; + private volatile java.lang.Object dstIpAddress_; + /** + * string dst_ip_address = 2; + * @return The dstIpAddress. + */ + @java.lang.Override + public java.lang.String getDstIpAddress() { + java.lang.Object ref = dstIpAddress_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstIpAddress_ = s; + return s; + } + } + /** + * string dst_ip_address = 2; + * @return The bytes for dstIpAddress. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDstIpAddressBytes() { + java.lang.Object ref = dstIpAddress_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dstIpAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DSCP_FIELD_NUMBER = 3; + private int dscp_; + /** + * uint32 dscp = 3; + * @return The dscp. + */ + @java.lang.Override + public int getDscp() { + return dscp_; + } + + public static final int PROTOCOL_FIELD_NUMBER = 4; + private int protocol_; + /** + * uint32 protocol = 4; + * @return The protocol. + */ + @java.lang.Override + public int getProtocol() { + return protocol_; + } + + public static final int TTL_FIELD_NUMBER = 5; + private int ttl_; + /** + * uint32 ttl = 5; + * @return The ttl. + */ + @java.lang.Override + public int getTtl() { + return ttl_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getSrcIpAddressBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcIpAddress_); + } + if (!getDstIpAddressBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstIpAddress_); + } + if (dscp_ != 0) { + output.writeUInt32(3, dscp_); + } + if (protocol_ != 0) { + output.writeUInt32(4, protocol_); + } + if (ttl_ != 0) { + output.writeUInt32(5, ttl_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getSrcIpAddressBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcIpAddress_); + } + if (!getDstIpAddressBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstIpAddress_); + } + if (dscp_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, dscp_); + } + if (protocol_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, protocol_); + } + if (ttl_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, ttl_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionSettings_L3)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionSettings_L3 other = (context.ContextOuterClass.ConnectionSettings_L3) obj; + + if (!getSrcIpAddress() + .equals(other.getSrcIpAddress())) return false; + if (!getDstIpAddress() + .equals(other.getDstIpAddress())) return false; + if (getDscp() + != other.getDscp()) return false; + if (getProtocol() + != other.getProtocol()) return false; + if (getTtl() + != other.getTtl()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SRC_IP_ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getSrcIpAddress().hashCode(); + hash = (37 * hash) + DST_IP_ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getDstIpAddress().hashCode(); + hash = (37 * hash) + DSCP_FIELD_NUMBER; + hash = (53 * hash) + getDscp(); + hash = (37 * hash) + PROTOCOL_FIELD_NUMBER; + hash = (53 * hash) + getProtocol(); + hash = (37 * hash) + TTL_FIELD_NUMBER; + hash = (53 * hash) + getTtl(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L3 parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionSettings_L3 prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionSettings_L3} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionSettings_L3) + context.ContextOuterClass.ConnectionSettings_L3OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L3.class, context.ContextOuterClass.ConnectionSettings_L3.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionSettings_L3.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + srcIpAddress_ = ""; + + dstIpAddress_ = ""; + + dscp_ = 0; + + protocol_ = 0; + + ttl_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L3 getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L3 build() { + context.ContextOuterClass.ConnectionSettings_L3 result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L3 buildPartial() { + context.ContextOuterClass.ConnectionSettings_L3 result = new context.ContextOuterClass.ConnectionSettings_L3(this); + result.srcIpAddress_ = srcIpAddress_; + result.dstIpAddress_ = dstIpAddress_; + result.dscp_ = dscp_; + result.protocol_ = protocol_; + result.ttl_ = ttl_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionSettings_L3) { + return mergeFrom((context.ContextOuterClass.ConnectionSettings_L3)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionSettings_L3 other) { + if (other == context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance()) return this; + if (!other.getSrcIpAddress().isEmpty()) { + srcIpAddress_ = other.srcIpAddress_; + onChanged(); + } + if (!other.getDstIpAddress().isEmpty()) { + dstIpAddress_ = other.dstIpAddress_; + onChanged(); + } + if (other.getDscp() != 0) { + setDscp(other.getDscp()); + } + if (other.getProtocol() != 0) { + setProtocol(other.getProtocol()); + } + if (other.getTtl() != 0) { + setTtl(other.getTtl()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionSettings_L3 parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionSettings_L3) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object srcIpAddress_ = ""; + /** + * string src_ip_address = 1; + * @return The srcIpAddress. + */ + public java.lang.String getSrcIpAddress() { + java.lang.Object ref = srcIpAddress_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcIpAddress_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string src_ip_address = 1; + * @return The bytes for srcIpAddress. + */ + public com.google.protobuf.ByteString + getSrcIpAddressBytes() { + java.lang.Object ref = srcIpAddress_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + srcIpAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string src_ip_address = 1; + * @param value The srcIpAddress to set. + * @return This builder for chaining. + */ + public Builder setSrcIpAddress( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + srcIpAddress_ = value; + onChanged(); + return this; + } + /** + * string src_ip_address = 1; + * @return This builder for chaining. + */ + public Builder clearSrcIpAddress() { + + srcIpAddress_ = getDefaultInstance().getSrcIpAddress(); + onChanged(); + return this; + } + /** + * string src_ip_address = 1; + * @param value The bytes for srcIpAddress to set. + * @return This builder for chaining. + */ + public Builder setSrcIpAddressBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + srcIpAddress_ = value; + onChanged(); + return this; + } + + private java.lang.Object dstIpAddress_ = ""; + /** + * string dst_ip_address = 2; + * @return The dstIpAddress. + */ + public java.lang.String getDstIpAddress() { + java.lang.Object ref = dstIpAddress_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstIpAddress_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string dst_ip_address = 2; + * @return The bytes for dstIpAddress. + */ + public com.google.protobuf.ByteString + getDstIpAddressBytes() { + java.lang.Object ref = dstIpAddress_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + dstIpAddress_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string dst_ip_address = 2; + * @param value The dstIpAddress to set. + * @return This builder for chaining. + */ + public Builder setDstIpAddress( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + dstIpAddress_ = value; + onChanged(); + return this; + } + /** + * string dst_ip_address = 2; + * @return This builder for chaining. + */ + public Builder clearDstIpAddress() { + + dstIpAddress_ = getDefaultInstance().getDstIpAddress(); + onChanged(); + return this; + } + /** + * string dst_ip_address = 2; + * @param value The bytes for dstIpAddress to set. + * @return This builder for chaining. + */ + public Builder setDstIpAddressBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + dstIpAddress_ = value; + onChanged(); + return this; + } + + private int dscp_ ; + /** + * uint32 dscp = 3; + * @return The dscp. + */ + @java.lang.Override + public int getDscp() { + return dscp_; + } + /** + * uint32 dscp = 3; + * @param value The dscp to set. + * @return This builder for chaining. + */ + public Builder setDscp(int value) { + + dscp_ = value; + onChanged(); + return this; + } + /** + * uint32 dscp = 3; + * @return This builder for chaining. + */ + public Builder clearDscp() { + + dscp_ = 0; + onChanged(); + return this; + } + + private int protocol_ ; + /** + * uint32 protocol = 4; + * @return The protocol. + */ + @java.lang.Override + public int getProtocol() { + return protocol_; + } + /** + * uint32 protocol = 4; + * @param value The protocol to set. + * @return This builder for chaining. + */ + public Builder setProtocol(int value) { + + protocol_ = value; + onChanged(); + return this; + } + /** + * uint32 protocol = 4; + * @return This builder for chaining. + */ + public Builder clearProtocol() { + + protocol_ = 0; + onChanged(); + return this; + } + + private int ttl_ ; + /** + * uint32 ttl = 5; + * @return The ttl. + */ + @java.lang.Override + public int getTtl() { + return ttl_; + } + /** + * uint32 ttl = 5; + * @param value The ttl to set. + * @return This builder for chaining. + */ + public Builder setTtl(int value) { + + ttl_ = value; + onChanged(); + return this; + } + /** + * uint32 ttl = 5; + * @return This builder for chaining. + */ + public Builder clearTtl() { + + ttl_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionSettings_L3) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionSettings_L3) + private static final context.ContextOuterClass.ConnectionSettings_L3 DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionSettings_L3(); + } + + public static context.ContextOuterClass.ConnectionSettings_L3 getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionSettings_L3 parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionSettings_L3(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L3 getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionSettings_L4OrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionSettings_L4) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 src_port = 1; + * @return The srcPort. + */ + int getSrcPort(); + + /** + * uint32 dst_port = 2; + * @return The dstPort. + */ + int getDstPort(); + + /** + * uint32 tcp_flags = 3; + * @return The tcpFlags. + */ + int getTcpFlags(); + + /** + * uint32 ttl = 4; + * @return The ttl. + */ + int getTtl(); + } + /** + * Protobuf type {@code context.ConnectionSettings_L4} + */ + public static final class ConnectionSettings_L4 extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionSettings_L4) + ConnectionSettings_L4OrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionSettings_L4.newBuilder() to construct. + private ConnectionSettings_L4(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionSettings_L4() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionSettings_L4(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionSettings_L4( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + srcPort_ = input.readUInt32(); + break; + } + case 16: { + + dstPort_ = input.readUInt32(); + break; + } + case 24: { + + tcpFlags_ = input.readUInt32(); + break; + } + case 32: { + + ttl_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L4.class, context.ContextOuterClass.ConnectionSettings_L4.Builder.class); + } + + public static final int SRC_PORT_FIELD_NUMBER = 1; + private int srcPort_; + /** + * uint32 src_port = 1; + * @return The srcPort. + */ + @java.lang.Override + public int getSrcPort() { + return srcPort_; + } + + public static final int DST_PORT_FIELD_NUMBER = 2; + private int dstPort_; + /** + * uint32 dst_port = 2; + * @return The dstPort. + */ + @java.lang.Override + public int getDstPort() { + return dstPort_; + } + + public static final int TCP_FLAGS_FIELD_NUMBER = 3; + private int tcpFlags_; + /** + * uint32 tcp_flags = 3; + * @return The tcpFlags. + */ + @java.lang.Override + public int getTcpFlags() { + return tcpFlags_; + } + + public static final int TTL_FIELD_NUMBER = 4; + private int ttl_; + /** + * uint32 ttl = 4; + * @return The ttl. + */ + @java.lang.Override + public int getTtl() { + return ttl_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (srcPort_ != 0) { + output.writeUInt32(1, srcPort_); + } + if (dstPort_ != 0) { + output.writeUInt32(2, dstPort_); + } + if (tcpFlags_ != 0) { + output.writeUInt32(3, tcpFlags_); + } + if (ttl_ != 0) { + output.writeUInt32(4, ttl_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (srcPort_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, srcPort_); + } + if (dstPort_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, dstPort_); + } + if (tcpFlags_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, tcpFlags_); + } + if (ttl_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, ttl_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionSettings_L4)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionSettings_L4 other = (context.ContextOuterClass.ConnectionSettings_L4) obj; + + if (getSrcPort() + != other.getSrcPort()) return false; + if (getDstPort() + != other.getDstPort()) return false; + if (getTcpFlags() + != other.getTcpFlags()) return false; + if (getTtl() + != other.getTtl()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + SRC_PORT_FIELD_NUMBER; + hash = (53 * hash) + getSrcPort(); + hash = (37 * hash) + DST_PORT_FIELD_NUMBER; + hash = (53 * hash) + getDstPort(); + hash = (37 * hash) + TCP_FLAGS_FIELD_NUMBER; + hash = (53 * hash) + getTcpFlags(); + hash = (37 * hash) + TTL_FIELD_NUMBER; + hash = (53 * hash) + getTtl(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings_L4 parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionSettings_L4 prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionSettings_L4} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionSettings_L4) + context.ContextOuterClass.ConnectionSettings_L4OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings_L4.class, context.ContextOuterClass.ConnectionSettings_L4.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionSettings_L4.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + srcPort_ = 0; + + dstPort_ = 0; + + tcpFlags_ = 0; + + ttl_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L4 getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L4 build() { + context.ContextOuterClass.ConnectionSettings_L4 result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L4 buildPartial() { + context.ContextOuterClass.ConnectionSettings_L4 result = new context.ContextOuterClass.ConnectionSettings_L4(this); + result.srcPort_ = srcPort_; + result.dstPort_ = dstPort_; + result.tcpFlags_ = tcpFlags_; + result.ttl_ = ttl_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionSettings_L4) { + return mergeFrom((context.ContextOuterClass.ConnectionSettings_L4)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionSettings_L4 other) { + if (other == context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance()) return this; + if (other.getSrcPort() != 0) { + setSrcPort(other.getSrcPort()); + } + if (other.getDstPort() != 0) { + setDstPort(other.getDstPort()); + } + if (other.getTcpFlags() != 0) { + setTcpFlags(other.getTcpFlags()); + } + if (other.getTtl() != 0) { + setTtl(other.getTtl()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionSettings_L4 parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionSettings_L4) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int srcPort_ ; + /** + * uint32 src_port = 1; + * @return The srcPort. + */ + @java.lang.Override + public int getSrcPort() { + return srcPort_; + } + /** + * uint32 src_port = 1; + * @param value The srcPort to set. + * @return This builder for chaining. + */ + public Builder setSrcPort(int value) { + + srcPort_ = value; + onChanged(); + return this; + } + /** + * uint32 src_port = 1; + * @return This builder for chaining. + */ + public Builder clearSrcPort() { + + srcPort_ = 0; + onChanged(); + return this; + } + + private int dstPort_ ; + /** + * uint32 dst_port = 2; + * @return The dstPort. + */ + @java.lang.Override + public int getDstPort() { + return dstPort_; + } + /** + * uint32 dst_port = 2; + * @param value The dstPort to set. + * @return This builder for chaining. + */ + public Builder setDstPort(int value) { + + dstPort_ = value; + onChanged(); + return this; + } + /** + * uint32 dst_port = 2; + * @return This builder for chaining. + */ + public Builder clearDstPort() { + + dstPort_ = 0; + onChanged(); + return this; + } + + private int tcpFlags_ ; + /** + * uint32 tcp_flags = 3; + * @return The tcpFlags. + */ + @java.lang.Override + public int getTcpFlags() { + return tcpFlags_; + } + /** + * uint32 tcp_flags = 3; + * @param value The tcpFlags to set. + * @return This builder for chaining. + */ + public Builder setTcpFlags(int value) { + + tcpFlags_ = value; + onChanged(); + return this; + } + /** + * uint32 tcp_flags = 3; + * @return This builder for chaining. + */ + public Builder clearTcpFlags() { + + tcpFlags_ = 0; + onChanged(); + return this; + } + + private int ttl_ ; + /** + * uint32 ttl = 4; + * @return The ttl. + */ + @java.lang.Override + public int getTtl() { + return ttl_; + } + /** + * uint32 ttl = 4; + * @param value The ttl to set. + * @return This builder for chaining. + */ + public Builder setTtl(int value) { + + ttl_ = value; + onChanged(); + return this; + } + /** + * uint32 ttl = 4; + * @return This builder for chaining. + */ + public Builder clearTtl() { + + ttl_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionSettings_L4) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionSettings_L4) + private static final context.ContextOuterClass.ConnectionSettings_L4 DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionSettings_L4(); + } + + public static context.ContextOuterClass.ConnectionSettings_L4 getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionSettings_L4 parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionSettings_L4(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L4 getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionSettingsOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionSettings) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ConnectionSettings_L0 l0 = 1; + * @return Whether the l0 field is set. + */ + boolean hasL0(); + /** + * .context.ConnectionSettings_L0 l0 = 1; + * @return The l0. + */ + context.ContextOuterClass.ConnectionSettings_L0 getL0(); + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + context.ContextOuterClass.ConnectionSettings_L0OrBuilder getL0OrBuilder(); + + /** + * .context.ConnectionSettings_L2 l2 = 2; + * @return Whether the l2 field is set. + */ + boolean hasL2(); + /** + * .context.ConnectionSettings_L2 l2 = 2; + * @return The l2. + */ + context.ContextOuterClass.ConnectionSettings_L2 getL2(); + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + context.ContextOuterClass.ConnectionSettings_L2OrBuilder getL2OrBuilder(); + + /** + * .context.ConnectionSettings_L3 l3 = 3; + * @return Whether the l3 field is set. + */ + boolean hasL3(); + /** + * .context.ConnectionSettings_L3 l3 = 3; + * @return The l3. + */ + context.ContextOuterClass.ConnectionSettings_L3 getL3(); + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + context.ContextOuterClass.ConnectionSettings_L3OrBuilder getL3OrBuilder(); + + /** + * .context.ConnectionSettings_L4 l4 = 4; + * @return Whether the l4 field is set. + */ + boolean hasL4(); + /** + * .context.ConnectionSettings_L4 l4 = 4; + * @return The l4. + */ + context.ContextOuterClass.ConnectionSettings_L4 getL4(); + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + context.ContextOuterClass.ConnectionSettings_L4OrBuilder getL4OrBuilder(); + } + /** + * Protobuf type {@code context.ConnectionSettings} + */ + public static final class ConnectionSettings extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionSettings) + ConnectionSettingsOrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionSettings.newBuilder() to construct. + private ConnectionSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionSettings() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionSettings(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionSettings( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ConnectionSettings_L0.Builder subBuilder = null; + if (l0_ != null) { + subBuilder = l0_.toBuilder(); + } + l0_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L0.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(l0_); + l0_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.ConnectionSettings_L2.Builder subBuilder = null; + if (l2_ != null) { + subBuilder = l2_.toBuilder(); + } + l2_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L2.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(l2_); + l2_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + context.ContextOuterClass.ConnectionSettings_L3.Builder subBuilder = null; + if (l3_ != null) { + subBuilder = l3_.toBuilder(); + } + l3_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L3.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(l3_); + l3_ = subBuilder.buildPartial(); + } + + break; + } + case 34: { + context.ContextOuterClass.ConnectionSettings_L4.Builder subBuilder = null; + if (l4_ != null) { + subBuilder = l4_.toBuilder(); + } + l4_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L4.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(l4_); + l4_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings.class, context.ContextOuterClass.ConnectionSettings.Builder.class); + } + + public static final int L0_FIELD_NUMBER = 1; + private context.ContextOuterClass.ConnectionSettings_L0 l0_; + /** + * .context.ConnectionSettings_L0 l0 = 1; + * @return Whether the l0 field is set. + */ + @java.lang.Override + public boolean hasL0() { + return l0_ != null; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + * @return The l0. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L0 getL0() { + return l0_ == null ? context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance() : l0_; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L0OrBuilder getL0OrBuilder() { + return getL0(); + } + + public static final int L2_FIELD_NUMBER = 2; + private context.ContextOuterClass.ConnectionSettings_L2 l2_; + /** + * .context.ConnectionSettings_L2 l2 = 2; + * @return Whether the l2 field is set. + */ + @java.lang.Override + public boolean hasL2() { + return l2_ != null; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + * @return The l2. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L2 getL2() { + return l2_ == null ? context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance() : l2_; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L2OrBuilder getL2OrBuilder() { + return getL2(); + } + + public static final int L3_FIELD_NUMBER = 3; + private context.ContextOuterClass.ConnectionSettings_L3 l3_; + /** + * .context.ConnectionSettings_L3 l3 = 3; + * @return Whether the l3 field is set. + */ + @java.lang.Override + public boolean hasL3() { + return l3_ != null; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + * @return The l3. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L3 getL3() { + return l3_ == null ? context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance() : l3_; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L3OrBuilder getL3OrBuilder() { + return getL3(); + } + + public static final int L4_FIELD_NUMBER = 4; + private context.ContextOuterClass.ConnectionSettings_L4 l4_; + /** + * .context.ConnectionSettings_L4 l4 = 4; + * @return Whether the l4 field is set. + */ + @java.lang.Override + public boolean hasL4() { + return l4_ != null; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + * @return The l4. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L4 getL4() { + return l4_ == null ? context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance() : l4_; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings_L4OrBuilder getL4OrBuilder() { + return getL4(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (l0_ != null) { + output.writeMessage(1, getL0()); + } + if (l2_ != null) { + output.writeMessage(2, getL2()); + } + if (l3_ != null) { + output.writeMessage(3, getL3()); + } + if (l4_ != null) { + output.writeMessage(4, getL4()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (l0_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getL0()); + } + if (l2_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getL2()); + } + if (l3_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getL3()); + } + if (l4_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getL4()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionSettings)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionSettings other = (context.ContextOuterClass.ConnectionSettings) obj; + + if (hasL0() != other.hasL0()) return false; + if (hasL0()) { + if (!getL0() + .equals(other.getL0())) return false; + } + if (hasL2() != other.hasL2()) return false; + if (hasL2()) { + if (!getL2() + .equals(other.getL2())) return false; + } + if (hasL3() != other.hasL3()) return false; + if (hasL3()) { + if (!getL3() + .equals(other.getL3())) return false; + } + if (hasL4() != other.hasL4()) return false; + if (hasL4()) { + if (!getL4() + .equals(other.getL4())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasL0()) { + hash = (37 * hash) + L0_FIELD_NUMBER; + hash = (53 * hash) + getL0().hashCode(); + } + if (hasL2()) { + hash = (37 * hash) + L2_FIELD_NUMBER; + hash = (53 * hash) + getL2().hashCode(); + } + if (hasL3()) { + hash = (37 * hash) + L3_FIELD_NUMBER; + hash = (53 * hash) + getL3().hashCode(); + } + if (hasL4()) { + hash = (37 * hash) + L4_FIELD_NUMBER; + hash = (53 * hash) + getL4().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionSettings parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionSettings parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionSettings prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionSettings} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionSettings) + context.ContextOuterClass.ConnectionSettingsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionSettings.class, context.ContextOuterClass.ConnectionSettings.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionSettings.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (l0Builder_ == null) { + l0_ = null; + } else { + l0_ = null; + l0Builder_ = null; + } + if (l2Builder_ == null) { + l2_ = null; + } else { + l2_ = null; + l2Builder_ = null; + } + if (l3Builder_ == null) { + l3_ = null; + } else { + l3_ = null; + l3Builder_ = null; + } + if (l4Builder_ == null) { + l4_ = null; + } else { + l4_ = null; + l4Builder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionSettings_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionSettings.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings build() { + context.ContextOuterClass.ConnectionSettings result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings buildPartial() { + context.ContextOuterClass.ConnectionSettings result = new context.ContextOuterClass.ConnectionSettings(this); + if (l0Builder_ == null) { + result.l0_ = l0_; + } else { + result.l0_ = l0Builder_.build(); + } + if (l2Builder_ == null) { + result.l2_ = l2_; + } else { + result.l2_ = l2Builder_.build(); + } + if (l3Builder_ == null) { + result.l3_ = l3_; + } else { + result.l3_ = l3Builder_.build(); + } + if (l4Builder_ == null) { + result.l4_ = l4_; + } else { + result.l4_ = l4Builder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionSettings) { + return mergeFrom((context.ContextOuterClass.ConnectionSettings)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionSettings other) { + if (other == context.ContextOuterClass.ConnectionSettings.getDefaultInstance()) return this; + if (other.hasL0()) { + mergeL0(other.getL0()); + } + if (other.hasL2()) { + mergeL2(other.getL2()); + } + if (other.hasL3()) { + mergeL3(other.getL3()); + } + if (other.hasL4()) { + mergeL4(other.getL4()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionSettings parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionSettings) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.ConnectionSettings_L0 l0_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L0, context.ContextOuterClass.ConnectionSettings_L0.Builder, context.ContextOuterClass.ConnectionSettings_L0OrBuilder> l0Builder_; + /** + * .context.ConnectionSettings_L0 l0 = 1; + * @return Whether the l0 field is set. + */ + public boolean hasL0() { + return l0Builder_ != null || l0_ != null; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + * @return The l0. + */ + public context.ContextOuterClass.ConnectionSettings_L0 getL0() { + if (l0Builder_ == null) { + return l0_ == null ? context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance() : l0_; + } else { + return l0Builder_.getMessage(); + } + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + public Builder setL0(context.ContextOuterClass.ConnectionSettings_L0 value) { + if (l0Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + l0_ = value; + onChanged(); + } else { + l0Builder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + public Builder setL0( + context.ContextOuterClass.ConnectionSettings_L0.Builder builderForValue) { + if (l0Builder_ == null) { + l0_ = builderForValue.build(); + onChanged(); + } else { + l0Builder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + public Builder mergeL0(context.ContextOuterClass.ConnectionSettings_L0 value) { + if (l0Builder_ == null) { + if (l0_ != null) { + l0_ = + context.ContextOuterClass.ConnectionSettings_L0.newBuilder(l0_).mergeFrom(value).buildPartial(); + } else { + l0_ = value; + } + onChanged(); + } else { + l0Builder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + public Builder clearL0() { + if (l0Builder_ == null) { + l0_ = null; + onChanged(); + } else { + l0_ = null; + l0Builder_ = null; + } + + return this; + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + public context.ContextOuterClass.ConnectionSettings_L0.Builder getL0Builder() { + + onChanged(); + return getL0FieldBuilder().getBuilder(); + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + public context.ContextOuterClass.ConnectionSettings_L0OrBuilder getL0OrBuilder() { + if (l0Builder_ != null) { + return l0Builder_.getMessageOrBuilder(); + } else { + return l0_ == null ? + context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance() : l0_; + } + } + /** + * .context.ConnectionSettings_L0 l0 = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L0, context.ContextOuterClass.ConnectionSettings_L0.Builder, context.ContextOuterClass.ConnectionSettings_L0OrBuilder> + getL0FieldBuilder() { + if (l0Builder_ == null) { + l0Builder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L0, context.ContextOuterClass.ConnectionSettings_L0.Builder, context.ContextOuterClass.ConnectionSettings_L0OrBuilder>( + getL0(), + getParentForChildren(), + isClean()); + l0_ = null; + } + return l0Builder_; + } + + private context.ContextOuterClass.ConnectionSettings_L2 l2_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L2, context.ContextOuterClass.ConnectionSettings_L2.Builder, context.ContextOuterClass.ConnectionSettings_L2OrBuilder> l2Builder_; + /** + * .context.ConnectionSettings_L2 l2 = 2; + * @return Whether the l2 field is set. + */ + public boolean hasL2() { + return l2Builder_ != null || l2_ != null; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + * @return The l2. + */ + public context.ContextOuterClass.ConnectionSettings_L2 getL2() { + if (l2Builder_ == null) { + return l2_ == null ? context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance() : l2_; + } else { + return l2Builder_.getMessage(); + } + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + public Builder setL2(context.ContextOuterClass.ConnectionSettings_L2 value) { + if (l2Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + l2_ = value; + onChanged(); + } else { + l2Builder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + public Builder setL2( + context.ContextOuterClass.ConnectionSettings_L2.Builder builderForValue) { + if (l2Builder_ == null) { + l2_ = builderForValue.build(); + onChanged(); + } else { + l2Builder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + public Builder mergeL2(context.ContextOuterClass.ConnectionSettings_L2 value) { + if (l2Builder_ == null) { + if (l2_ != null) { + l2_ = + context.ContextOuterClass.ConnectionSettings_L2.newBuilder(l2_).mergeFrom(value).buildPartial(); + } else { + l2_ = value; + } + onChanged(); + } else { + l2Builder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + public Builder clearL2() { + if (l2Builder_ == null) { + l2_ = null; + onChanged(); + } else { + l2_ = null; + l2Builder_ = null; + } + + return this; + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + public context.ContextOuterClass.ConnectionSettings_L2.Builder getL2Builder() { + + onChanged(); + return getL2FieldBuilder().getBuilder(); + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + public context.ContextOuterClass.ConnectionSettings_L2OrBuilder getL2OrBuilder() { + if (l2Builder_ != null) { + return l2Builder_.getMessageOrBuilder(); + } else { + return l2_ == null ? + context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance() : l2_; + } + } + /** + * .context.ConnectionSettings_L2 l2 = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L2, context.ContextOuterClass.ConnectionSettings_L2.Builder, context.ContextOuterClass.ConnectionSettings_L2OrBuilder> + getL2FieldBuilder() { + if (l2Builder_ == null) { + l2Builder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L2, context.ContextOuterClass.ConnectionSettings_L2.Builder, context.ContextOuterClass.ConnectionSettings_L2OrBuilder>( + getL2(), + getParentForChildren(), + isClean()); + l2_ = null; + } + return l2Builder_; + } + + private context.ContextOuterClass.ConnectionSettings_L3 l3_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L3, context.ContextOuterClass.ConnectionSettings_L3.Builder, context.ContextOuterClass.ConnectionSettings_L3OrBuilder> l3Builder_; + /** + * .context.ConnectionSettings_L3 l3 = 3; + * @return Whether the l3 field is set. + */ + public boolean hasL3() { + return l3Builder_ != null || l3_ != null; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + * @return The l3. + */ + public context.ContextOuterClass.ConnectionSettings_L3 getL3() { + if (l3Builder_ == null) { + return l3_ == null ? context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance() : l3_; + } else { + return l3Builder_.getMessage(); + } + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + public Builder setL3(context.ContextOuterClass.ConnectionSettings_L3 value) { + if (l3Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + l3_ = value; + onChanged(); + } else { + l3Builder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + public Builder setL3( + context.ContextOuterClass.ConnectionSettings_L3.Builder builderForValue) { + if (l3Builder_ == null) { + l3_ = builderForValue.build(); + onChanged(); + } else { + l3Builder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + public Builder mergeL3(context.ContextOuterClass.ConnectionSettings_L3 value) { + if (l3Builder_ == null) { + if (l3_ != null) { + l3_ = + context.ContextOuterClass.ConnectionSettings_L3.newBuilder(l3_).mergeFrom(value).buildPartial(); + } else { + l3_ = value; + } + onChanged(); + } else { + l3Builder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + public Builder clearL3() { + if (l3Builder_ == null) { + l3_ = null; + onChanged(); + } else { + l3_ = null; + l3Builder_ = null; + } + + return this; + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + public context.ContextOuterClass.ConnectionSettings_L3.Builder getL3Builder() { + + onChanged(); + return getL3FieldBuilder().getBuilder(); + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + public context.ContextOuterClass.ConnectionSettings_L3OrBuilder getL3OrBuilder() { + if (l3Builder_ != null) { + return l3Builder_.getMessageOrBuilder(); + } else { + return l3_ == null ? + context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance() : l3_; + } + } + /** + * .context.ConnectionSettings_L3 l3 = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L3, context.ContextOuterClass.ConnectionSettings_L3.Builder, context.ContextOuterClass.ConnectionSettings_L3OrBuilder> + getL3FieldBuilder() { + if (l3Builder_ == null) { + l3Builder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L3, context.ContextOuterClass.ConnectionSettings_L3.Builder, context.ContextOuterClass.ConnectionSettings_L3OrBuilder>( + getL3(), + getParentForChildren(), + isClean()); + l3_ = null; + } + return l3Builder_; + } + + private context.ContextOuterClass.ConnectionSettings_L4 l4_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L4, context.ContextOuterClass.ConnectionSettings_L4.Builder, context.ContextOuterClass.ConnectionSettings_L4OrBuilder> l4Builder_; + /** + * .context.ConnectionSettings_L4 l4 = 4; + * @return Whether the l4 field is set. + */ + public boolean hasL4() { + return l4Builder_ != null || l4_ != null; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + * @return The l4. + */ + public context.ContextOuterClass.ConnectionSettings_L4 getL4() { + if (l4Builder_ == null) { + return l4_ == null ? context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance() : l4_; + } else { + return l4Builder_.getMessage(); + } + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + public Builder setL4(context.ContextOuterClass.ConnectionSettings_L4 value) { + if (l4Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + l4_ = value; + onChanged(); + } else { + l4Builder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + public Builder setL4( + context.ContextOuterClass.ConnectionSettings_L4.Builder builderForValue) { + if (l4Builder_ == null) { + l4_ = builderForValue.build(); + onChanged(); + } else { + l4Builder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + public Builder mergeL4(context.ContextOuterClass.ConnectionSettings_L4 value) { + if (l4Builder_ == null) { + if (l4_ != null) { + l4_ = + context.ContextOuterClass.ConnectionSettings_L4.newBuilder(l4_).mergeFrom(value).buildPartial(); + } else { + l4_ = value; + } + onChanged(); + } else { + l4Builder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + public Builder clearL4() { + if (l4Builder_ == null) { + l4_ = null; + onChanged(); + } else { + l4_ = null; + l4Builder_ = null; + } + + return this; + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + public context.ContextOuterClass.ConnectionSettings_L4.Builder getL4Builder() { + + onChanged(); + return getL4FieldBuilder().getBuilder(); + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + public context.ContextOuterClass.ConnectionSettings_L4OrBuilder getL4OrBuilder() { + if (l4Builder_ != null) { + return l4Builder_.getMessageOrBuilder(); + } else { + return l4_ == null ? + context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance() : l4_; + } + } + /** + * .context.ConnectionSettings_L4 l4 = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L4, context.ContextOuterClass.ConnectionSettings_L4.Builder, context.ContextOuterClass.ConnectionSettings_L4OrBuilder> + getL4FieldBuilder() { + if (l4Builder_ == null) { + l4Builder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings_L4, context.ContextOuterClass.ConnectionSettings_L4.Builder, context.ContextOuterClass.ConnectionSettings_L4OrBuilder>( + getL4(), + getParentForChildren(), + isClean()); + l4_ = null; + } + return l4Builder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionSettings) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionSettings) + private static final context.ContextOuterClass.ConnectionSettings DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionSettings(); + } + + public static context.ContextOuterClass.ConnectionSettings getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionSettings parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionSettings(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Connection) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.ConnectionId connection_id = 1; + * @return Whether the connectionId field is set. + */ + boolean hasConnectionId(); + /** + * .context.ConnectionId connection_id = 1; + * @return The connectionId. + */ + context.ContextOuterClass.ConnectionId getConnectionId(); + /** + * .context.ConnectionId connection_id = 1; + */ + context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder(); + + /** + * .context.ServiceId service_id = 2; + * @return Whether the serviceId field is set. + */ + boolean hasServiceId(); + /** + * .context.ServiceId service_id = 2; + * @return The serviceId. + */ + context.ContextOuterClass.ServiceId getServiceId(); + /** + * .context.ServiceId service_id = 2; + */ + context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + java.util.List + getPathHopsEndpointIdsList(); + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + context.ContextOuterClass.EndPointId getPathHopsEndpointIds(int index); + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + int getPathHopsEndpointIdsCount(); + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + java.util.List + getPathHopsEndpointIdsOrBuilderList(); + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + context.ContextOuterClass.EndPointIdOrBuilder getPathHopsEndpointIdsOrBuilder( + int index); + + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + java.util.List + getSubServiceIdsList(); + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + context.ContextOuterClass.ServiceId getSubServiceIds(int index); + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + int getSubServiceIdsCount(); + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + java.util.List + getSubServiceIdsOrBuilderList(); + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + context.ContextOuterClass.ServiceIdOrBuilder getSubServiceIdsOrBuilder( + int index); + + /** + * .context.ConnectionSettings settings = 5; + * @return Whether the settings field is set. + */ + boolean hasSettings(); + /** + * .context.ConnectionSettings settings = 5; + * @return The settings. + */ + context.ContextOuterClass.ConnectionSettings getSettings(); + /** + * .context.ConnectionSettings settings = 5; + */ + context.ContextOuterClass.ConnectionSettingsOrBuilder getSettingsOrBuilder(); + } + /** + * Protobuf type {@code context.Connection} + */ + public static final class Connection extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.Connection) + ConnectionOrBuilder { + private static final long serialVersionUID = 0L; + // Use Connection.newBuilder() to construct. + private Connection(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Connection() { + pathHopsEndpointIds_ = java.util.Collections.emptyList(); + subServiceIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Connection(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Connection( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.ConnectionId.Builder subBuilder = null; + if (connectionId_ != null) { + subBuilder = connectionId_.toBuilder(); + } + connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(connectionId_); + connectionId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.ServiceId.Builder subBuilder = null; + if (serviceId_ != null) { + subBuilder = serviceId_.toBuilder(); + } + serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceId_); + serviceId_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + pathHopsEndpointIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + pathHopsEndpointIds_.add( + input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + subServiceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + subServiceIds_.add( + input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + break; + } + case 42: { + context.ContextOuterClass.ConnectionSettings.Builder subBuilder = null; + if (settings_ != null) { + subBuilder = settings_.toBuilder(); + } + settings_ = input.readMessage(context.ContextOuterClass.ConnectionSettings.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(settings_); + settings_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Connection_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Connection_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Connection.class, context.ContextOuterClass.Connection.Builder.class); + } + + public static final int CONNECTION_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.ConnectionId connectionId_; + /** + * .context.ConnectionId connection_id = 1; + * @return Whether the connectionId field is set. + */ + @java.lang.Override + public boolean hasConnectionId() { + return connectionId_ != null; + } + /** + * .context.ConnectionId connection_id = 1; + * @return The connectionId. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionId getConnectionId() { + return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } + /** + * .context.ConnectionId connection_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { + return getConnectionId(); + } + + public static final int SERVICE_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.ServiceId serviceId_; + /** + * .context.ServiceId service_id = 2; + * @return Whether the serviceId field is set. + */ + @java.lang.Override + public boolean hasServiceId() { + return serviceId_ != null; + } + /** + * .context.ServiceId service_id = 2; + * @return The serviceId. + */ + @java.lang.Override + public context.ContextOuterClass.ServiceId getServiceId() { + return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } + /** + * .context.ServiceId service_id = 2; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { + return getServiceId(); + } + + public static final int PATH_HOPS_ENDPOINT_IDS_FIELD_NUMBER = 3; + private java.util.List pathHopsEndpointIds_; + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + @java.lang.Override + public java.util.List getPathHopsEndpointIdsList() { + return pathHopsEndpointIds_; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + @java.lang.Override + public java.util.List + getPathHopsEndpointIdsOrBuilderList() { + return pathHopsEndpointIds_; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + @java.lang.Override + public int getPathHopsEndpointIdsCount() { + return pathHopsEndpointIds_.size(); + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointId getPathHopsEndpointIds(int index) { + return pathHopsEndpointIds_.get(index); + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointIdOrBuilder getPathHopsEndpointIdsOrBuilder( + int index) { + return pathHopsEndpointIds_.get(index); + } + + public static final int SUB_SERVICE_IDS_FIELD_NUMBER = 4; + private java.util.List subServiceIds_; + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + @java.lang.Override + public java.util.List getSubServiceIdsList() { + return subServiceIds_; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + @java.lang.Override + public java.util.List + getSubServiceIdsOrBuilderList() { + return subServiceIds_; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + @java.lang.Override + public int getSubServiceIdsCount() { + return subServiceIds_.size(); + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceId getSubServiceIds(int index) { + return subServiceIds_.get(index); + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + @java.lang.Override + public context.ContextOuterClass.ServiceIdOrBuilder getSubServiceIdsOrBuilder( + int index) { + return subServiceIds_.get(index); + } + + public static final int SETTINGS_FIELD_NUMBER = 5; + private context.ContextOuterClass.ConnectionSettings settings_; + /** + * .context.ConnectionSettings settings = 5; + * @return Whether the settings field is set. + */ + @java.lang.Override + public boolean hasSettings() { + return settings_ != null; + } + /** + * .context.ConnectionSettings settings = 5; + * @return The settings. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettings getSettings() { + return settings_ == null ? context.ContextOuterClass.ConnectionSettings.getDefaultInstance() : settings_; + } + /** + * .context.ConnectionSettings settings = 5; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionSettingsOrBuilder getSettingsOrBuilder() { + return getSettings(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (connectionId_ != null) { + output.writeMessage(1, getConnectionId()); + } + if (serviceId_ != null) { + output.writeMessage(2, getServiceId()); + } + for (int i = 0; i < pathHopsEndpointIds_.size(); i++) { + output.writeMessage(3, pathHopsEndpointIds_.get(i)); + } + for (int i = 0; i < subServiceIds_.size(); i++) { + output.writeMessage(4, subServiceIds_.get(i)); + } + if (settings_ != null) { + output.writeMessage(5, getSettings()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (connectionId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getConnectionId()); + } + if (serviceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getServiceId()); + } + for (int i = 0; i < pathHopsEndpointIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, pathHopsEndpointIds_.get(i)); + } + for (int i = 0; i < subServiceIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, subServiceIds_.get(i)); + } + if (settings_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getSettings()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.Connection)) { + return super.equals(obj); + } + context.ContextOuterClass.Connection other = (context.ContextOuterClass.Connection) obj; + + if (hasConnectionId() != other.hasConnectionId()) return false; + if (hasConnectionId()) { + if (!getConnectionId() + .equals(other.getConnectionId())) return false; + } + if (hasServiceId() != other.hasServiceId()) return false; + if (hasServiceId()) { + if (!getServiceId() + .equals(other.getServiceId())) return false; + } + if (!getPathHopsEndpointIdsList() + .equals(other.getPathHopsEndpointIdsList())) return false; + if (!getSubServiceIdsList() + .equals(other.getSubServiceIdsList())) return false; + if (hasSettings() != other.hasSettings()) return false; + if (hasSettings()) { + if (!getSettings() + .equals(other.getSettings())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasConnectionId()) { + hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER; + hash = (53 * hash) + getConnectionId().hashCode(); + } + if (hasServiceId()) { + hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getServiceId().hashCode(); + } + if (getPathHopsEndpointIdsCount() > 0) { + hash = (37 * hash) + PATH_HOPS_ENDPOINT_IDS_FIELD_NUMBER; + hash = (53 * hash) + getPathHopsEndpointIdsList().hashCode(); + } + if (getSubServiceIdsCount() > 0) { + hash = (37 * hash) + SUB_SERVICE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getSubServiceIdsList().hashCode(); + } + if (hasSettings()) { + hash = (37 * hash) + SETTINGS_FIELD_NUMBER; + hash = (53 * hash) + getSettings().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.Connection parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Connection parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Connection parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Connection parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Connection parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.Connection parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.Connection parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Connection parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.Connection parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Connection parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.Connection parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.Connection parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.Connection prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.Connection} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.Connection) + context.ContextOuterClass.ConnectionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_Connection_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Connection_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Connection.class, context.ContextOuterClass.Connection.Builder.class); + } + + // Construct using context.ContextOuterClass.Connection.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getPathHopsEndpointIdsFieldBuilder(); + getSubServiceIdsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (connectionIdBuilder_ == null) { + connectionId_ = null; + } else { + connectionId_ = null; + connectionIdBuilder_ = null; + } + if (serviceIdBuilder_ == null) { + serviceId_ = null; + } else { + serviceId_ = null; + serviceIdBuilder_ = null; + } + if (pathHopsEndpointIdsBuilder_ == null) { + pathHopsEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + pathHopsEndpointIdsBuilder_.clear(); + } + if (subServiceIdsBuilder_ == null) { + subServiceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + subServiceIdsBuilder_.clear(); + } + if (settingsBuilder_ == null) { + settings_ = null; + } else { + settings_ = null; + settingsBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Connection_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.Connection getDefaultInstanceForType() { + return context.ContextOuterClass.Connection.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.Connection build() { + context.ContextOuterClass.Connection result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Connection buildPartial() { + context.ContextOuterClass.Connection result = new context.ContextOuterClass.Connection(this); + int from_bitField0_ = bitField0_; + if (connectionIdBuilder_ == null) { + result.connectionId_ = connectionId_; + } else { + result.connectionId_ = connectionIdBuilder_.build(); + } + if (serviceIdBuilder_ == null) { + result.serviceId_ = serviceId_; + } else { + result.serviceId_ = serviceIdBuilder_.build(); + } + if (pathHopsEndpointIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.pathHopsEndpointIds_ = pathHopsEndpointIds_; + } else { + result.pathHopsEndpointIds_ = pathHopsEndpointIdsBuilder_.build(); + } + if (subServiceIdsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.subServiceIds_ = subServiceIds_; + } else { + result.subServiceIds_ = subServiceIdsBuilder_.build(); + } + if (settingsBuilder_ == null) { + result.settings_ = settings_; + } else { + result.settings_ = settingsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Connection) { + return mergeFrom((context.ContextOuterClass.Connection)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.Connection other) { + if (other == context.ContextOuterClass.Connection.getDefaultInstance()) return this; + if (other.hasConnectionId()) { + mergeConnectionId(other.getConnectionId()); + } + if (other.hasServiceId()) { + mergeServiceId(other.getServiceId()); + } + if (pathHopsEndpointIdsBuilder_ == null) { + if (!other.pathHopsEndpointIds_.isEmpty()) { + if (pathHopsEndpointIds_.isEmpty()) { + pathHopsEndpointIds_ = other.pathHopsEndpointIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.addAll(other.pathHopsEndpointIds_); + } + onChanged(); + } + } else { + if (!other.pathHopsEndpointIds_.isEmpty()) { + if (pathHopsEndpointIdsBuilder_.isEmpty()) { + pathHopsEndpointIdsBuilder_.dispose(); + pathHopsEndpointIdsBuilder_ = null; + pathHopsEndpointIds_ = other.pathHopsEndpointIds_; + bitField0_ = (bitField0_ & ~0x00000001); + pathHopsEndpointIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getPathHopsEndpointIdsFieldBuilder() : null; + } else { + pathHopsEndpointIdsBuilder_.addAllMessages(other.pathHopsEndpointIds_); + } + } + } + if (subServiceIdsBuilder_ == null) { + if (!other.subServiceIds_.isEmpty()) { + if (subServiceIds_.isEmpty()) { + subServiceIds_ = other.subServiceIds_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureSubServiceIdsIsMutable(); + subServiceIds_.addAll(other.subServiceIds_); + } + onChanged(); + } + } else { + if (!other.subServiceIds_.isEmpty()) { + if (subServiceIdsBuilder_.isEmpty()) { + subServiceIdsBuilder_.dispose(); + subServiceIdsBuilder_ = null; + subServiceIds_ = other.subServiceIds_; + bitField0_ = (bitField0_ & ~0x00000002); + subServiceIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSubServiceIdsFieldBuilder() : null; + } else { + subServiceIdsBuilder_.addAllMessages(other.subServiceIds_); + } + } + } + if (other.hasSettings()) { + mergeSettings(other.getSettings()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.Connection parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Connection) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private context.ContextOuterClass.ConnectionId connectionId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdBuilder_; + /** + * .context.ConnectionId connection_id = 1; + * @return Whether the connectionId field is set. + */ + public boolean hasConnectionId() { + return connectionIdBuilder_ != null || connectionId_ != null; + } + /** + * .context.ConnectionId connection_id = 1; + * @return The connectionId. + */ + public context.ContextOuterClass.ConnectionId getConnectionId() { + if (connectionIdBuilder_ == null) { + return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } else { + return connectionIdBuilder_.getMessage(); + } + } + /** + * .context.ConnectionId connection_id = 1; + */ + public Builder setConnectionId(context.ContextOuterClass.ConnectionId value) { + if (connectionIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + connectionId_ = value; + onChanged(); + } else { + connectionIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 1; + */ + public Builder setConnectionId( + context.ContextOuterClass.ConnectionId.Builder builderForValue) { + if (connectionIdBuilder_ == null) { + connectionId_ = builderForValue.build(); + onChanged(); + } else { + connectionIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 1; + */ + public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { + if (connectionIdBuilder_ == null) { + if (connectionId_ != null) { + connectionId_ = + context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); + } else { + connectionId_ = value; + } + onChanged(); + } else { + connectionIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 1; + */ + public Builder clearConnectionId() { + if (connectionIdBuilder_ == null) { + connectionId_ = null; + onChanged(); + } else { + connectionId_ = null; + connectionIdBuilder_ = null; + } + + return this; + } + /** + * .context.ConnectionId connection_id = 1; + */ + public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { + + onChanged(); + return getConnectionIdFieldBuilder().getBuilder(); + } + /** + * .context.ConnectionId connection_id = 1; + */ + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { + if (connectionIdBuilder_ != null) { + return connectionIdBuilder_.getMessageOrBuilder(); + } else { + return connectionId_ == null ? + context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } + } + /** + * .context.ConnectionId connection_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> + getConnectionIdFieldBuilder() { + if (connectionIdBuilder_ == null) { + connectionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( + getConnectionId(), + getParentForChildren(), + isClean()); + connectionId_ = null; + } + return connectionIdBuilder_; + } + + private context.ContextOuterClass.ServiceId serviceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; + /** + * .context.ServiceId service_id = 2; + * @return Whether the serviceId field is set. + */ + public boolean hasServiceId() { + return serviceIdBuilder_ != null || serviceId_ != null; + } + /** + * .context.ServiceId service_id = 2; + * @return The serviceId. + */ + public context.ContextOuterClass.ServiceId getServiceId() { + if (serviceIdBuilder_ == null) { + return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } else { + return serviceIdBuilder_.getMessage(); + } + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder setServiceId(context.ContextOuterClass.ServiceId value) { + if (serviceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + serviceId_ = value; + onChanged(); + } else { + serviceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder setServiceId( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (serviceIdBuilder_ == null) { + serviceId_ = builderForValue.build(); + onChanged(); + } else { + serviceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { + if (serviceIdBuilder_ == null) { + if (serviceId_ != null) { + serviceId_ = + context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); + } else { + serviceId_ = value; + } + onChanged(); + } else { + serviceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public Builder clearServiceId() { + if (serviceIdBuilder_ == null) { + serviceId_ = null; + onChanged(); + } else { + serviceId_ = null; + serviceIdBuilder_ = null; + } + + return this; + } + /** + * .context.ServiceId service_id = 2; + */ + public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { + + onChanged(); + return getServiceIdFieldBuilder().getBuilder(); + } + /** + * .context.ServiceId service_id = 2; + */ + public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { + if (serviceIdBuilder_ != null) { + return serviceIdBuilder_.getMessageOrBuilder(); + } else { + return serviceId_ == null ? + context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + } + } + /** + * .context.ServiceId service_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getServiceIdFieldBuilder() { + if (serviceIdBuilder_ == null) { + serviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + getServiceId(), + getParentForChildren(), + isClean()); + serviceId_ = null; + } + return serviceIdBuilder_; + } + + private java.util.List pathHopsEndpointIds_ = + java.util.Collections.emptyList(); + private void ensurePathHopsEndpointIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + pathHopsEndpointIds_ = new java.util.ArrayList(pathHopsEndpointIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> pathHopsEndpointIdsBuilder_; + + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public java.util.List getPathHopsEndpointIdsList() { + if (pathHopsEndpointIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(pathHopsEndpointIds_); + } else { + return pathHopsEndpointIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public int getPathHopsEndpointIdsCount() { + if (pathHopsEndpointIdsBuilder_ == null) { + return pathHopsEndpointIds_.size(); + } else { + return pathHopsEndpointIdsBuilder_.getCount(); + } + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId getPathHopsEndpointIds(int index) { + if (pathHopsEndpointIdsBuilder_ == null) { + return pathHopsEndpointIds_.get(index); + } else { + return pathHopsEndpointIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder setPathHopsEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (pathHopsEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.set(index, value); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder setPathHopsEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (pathHopsEndpointIdsBuilder_ == null) { + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.set(index, builderForValue.build()); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder addPathHopsEndpointIds(context.ContextOuterClass.EndPointId value) { + if (pathHopsEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.add(value); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder addPathHopsEndpointIds( + int index, context.ContextOuterClass.EndPointId value) { + if (pathHopsEndpointIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.add(index, value); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder addPathHopsEndpointIds( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (pathHopsEndpointIdsBuilder_ == null) { + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.add(builderForValue.build()); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder addPathHopsEndpointIds( + int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (pathHopsEndpointIdsBuilder_ == null) { + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.add(index, builderForValue.build()); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder addAllPathHopsEndpointIds( + java.lang.Iterable values) { + if (pathHopsEndpointIdsBuilder_ == null) { + ensurePathHopsEndpointIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, pathHopsEndpointIds_); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder clearPathHopsEndpointIds() { + if (pathHopsEndpointIdsBuilder_ == null) { + pathHopsEndpointIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public Builder removePathHopsEndpointIds(int index) { + if (pathHopsEndpointIdsBuilder_ == null) { + ensurePathHopsEndpointIdsIsMutable(); + pathHopsEndpointIds_.remove(index); + onChanged(); + } else { + pathHopsEndpointIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId.Builder getPathHopsEndpointIdsBuilder( + int index) { + return getPathHopsEndpointIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointIdOrBuilder getPathHopsEndpointIdsOrBuilder( + int index) { + if (pathHopsEndpointIdsBuilder_ == null) { + return pathHopsEndpointIds_.get(index); } else { + return pathHopsEndpointIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public java.util.List + getPathHopsEndpointIdsOrBuilderList() { + if (pathHopsEndpointIdsBuilder_ != null) { + return pathHopsEndpointIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(pathHopsEndpointIds_); + } + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId.Builder addPathHopsEndpointIdsBuilder() { + return getPathHopsEndpointIdsFieldBuilder().addBuilder( + context.ContextOuterClass.EndPointId.getDefaultInstance()); + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public context.ContextOuterClass.EndPointId.Builder addPathHopsEndpointIdsBuilder( + int index) { + return getPathHopsEndpointIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.EndPointId.getDefaultInstance()); + } + /** + * repeated .context.EndPointId path_hops_endpoint_ids = 3; + */ + public java.util.List + getPathHopsEndpointIdsBuilderList() { + return getPathHopsEndpointIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getPathHopsEndpointIdsFieldBuilder() { + if (pathHopsEndpointIdsBuilder_ == null) { + pathHopsEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + pathHopsEndpointIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + pathHopsEndpointIds_ = null; + } + return pathHopsEndpointIdsBuilder_; + } + + private java.util.List subServiceIds_ = + java.util.Collections.emptyList(); + private void ensureSubServiceIdsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + subServiceIds_ = new java.util.ArrayList(subServiceIds_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> subServiceIdsBuilder_; + + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public java.util.List getSubServiceIdsList() { + if (subServiceIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(subServiceIds_); + } else { + return subServiceIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public int getSubServiceIdsCount() { + if (subServiceIdsBuilder_ == null) { + return subServiceIds_.size(); + } else { + return subServiceIdsBuilder_.getCount(); + } + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId getSubServiceIds(int index) { + if (subServiceIdsBuilder_ == null) { + return subServiceIds_.get(index); + } else { + return subServiceIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder setSubServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (subServiceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSubServiceIdsIsMutable(); + subServiceIds_.set(index, value); + onChanged(); + } else { + subServiceIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder setSubServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (subServiceIdsBuilder_ == null) { + ensureSubServiceIdsIsMutable(); + subServiceIds_.set(index, builderForValue.build()); + onChanged(); + } else { + subServiceIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder addSubServiceIds(context.ContextOuterClass.ServiceId value) { + if (subServiceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSubServiceIdsIsMutable(); + subServiceIds_.add(value); + onChanged(); + } else { + subServiceIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder addSubServiceIds( + int index, context.ContextOuterClass.ServiceId value) { + if (subServiceIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSubServiceIdsIsMutable(); + subServiceIds_.add(index, value); + onChanged(); + } else { + subServiceIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder addSubServiceIds( + context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (subServiceIdsBuilder_ == null) { + ensureSubServiceIdsIsMutable(); + subServiceIds_.add(builderForValue.build()); + onChanged(); + } else { + subServiceIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder addSubServiceIds( + int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { + if (subServiceIdsBuilder_ == null) { + ensureSubServiceIdsIsMutable(); + subServiceIds_.add(index, builderForValue.build()); + onChanged(); + } else { + subServiceIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder addAllSubServiceIds( + java.lang.Iterable values) { + if (subServiceIdsBuilder_ == null) { + ensureSubServiceIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, subServiceIds_); + onChanged(); + } else { + subServiceIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder clearSubServiceIds() { + if (subServiceIdsBuilder_ == null) { + subServiceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + subServiceIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public Builder removeSubServiceIds(int index) { + if (subServiceIdsBuilder_ == null) { + ensureSubServiceIdsIsMutable(); + subServiceIds_.remove(index); + onChanged(); + } else { + subServiceIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId.Builder getSubServiceIdsBuilder( + int index) { + return getSubServiceIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public context.ContextOuterClass.ServiceIdOrBuilder getSubServiceIdsOrBuilder( + int index) { + if (subServiceIdsBuilder_ == null) { + return subServiceIds_.get(index); } else { + return subServiceIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public java.util.List + getSubServiceIdsOrBuilderList() { + if (subServiceIdsBuilder_ != null) { + return subServiceIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(subServiceIds_); + } + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId.Builder addSubServiceIdsBuilder() { + return getSubServiceIdsFieldBuilder().addBuilder( + context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public context.ContextOuterClass.ServiceId.Builder addSubServiceIdsBuilder( + int index) { + return getSubServiceIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.ServiceId.getDefaultInstance()); + } + /** + * repeated .context.ServiceId sub_service_ids = 4; + */ + public java.util.List + getSubServiceIdsBuilderList() { + return getSubServiceIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> + getSubServiceIdsFieldBuilder() { + if (subServiceIdsBuilder_ == null) { + subServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( + subServiceIds_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + subServiceIds_ = null; + } + return subServiceIdsBuilder_; + } + + private context.ContextOuterClass.ConnectionSettings settings_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings, context.ContextOuterClass.ConnectionSettings.Builder, context.ContextOuterClass.ConnectionSettingsOrBuilder> settingsBuilder_; + /** + * .context.ConnectionSettings settings = 5; + * @return Whether the settings field is set. + */ + public boolean hasSettings() { + return settingsBuilder_ != null || settings_ != null; + } + /** + * .context.ConnectionSettings settings = 5; + * @return The settings. + */ + public context.ContextOuterClass.ConnectionSettings getSettings() { + if (settingsBuilder_ == null) { + return settings_ == null ? context.ContextOuterClass.ConnectionSettings.getDefaultInstance() : settings_; + } else { + return settingsBuilder_.getMessage(); + } + } + /** + * .context.ConnectionSettings settings = 5; + */ + public Builder setSettings(context.ContextOuterClass.ConnectionSettings value) { + if (settingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + settings_ = value; + onChanged(); + } else { + settingsBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionSettings settings = 5; + */ + public Builder setSettings( + context.ContextOuterClass.ConnectionSettings.Builder builderForValue) { + if (settingsBuilder_ == null) { + settings_ = builderForValue.build(); + onChanged(); + } else { + settingsBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionSettings settings = 5; + */ + public Builder mergeSettings(context.ContextOuterClass.ConnectionSettings value) { + if (settingsBuilder_ == null) { + if (settings_ != null) { + settings_ = + context.ContextOuterClass.ConnectionSettings.newBuilder(settings_).mergeFrom(value).buildPartial(); + } else { + settings_ = value; + } + onChanged(); + } else { + settingsBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionSettings settings = 5; + */ + public Builder clearSettings() { + if (settingsBuilder_ == null) { + settings_ = null; + onChanged(); + } else { + settings_ = null; + settingsBuilder_ = null; + } + + return this; + } + /** + * .context.ConnectionSettings settings = 5; + */ + public context.ContextOuterClass.ConnectionSettings.Builder getSettingsBuilder() { + + onChanged(); + return getSettingsFieldBuilder().getBuilder(); + } + /** + * .context.ConnectionSettings settings = 5; + */ + public context.ContextOuterClass.ConnectionSettingsOrBuilder getSettingsOrBuilder() { + if (settingsBuilder_ != null) { + return settingsBuilder_.getMessageOrBuilder(); + } else { + return settings_ == null ? + context.ContextOuterClass.ConnectionSettings.getDefaultInstance() : settings_; + } + } + /** + * .context.ConnectionSettings settings = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings, context.ContextOuterClass.ConnectionSettings.Builder, context.ContextOuterClass.ConnectionSettingsOrBuilder> + getSettingsFieldBuilder() { + if (settingsBuilder_ == null) { + settingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionSettings, context.ContextOuterClass.ConnectionSettings.Builder, context.ContextOuterClass.ConnectionSettingsOrBuilder>( + getSettings(), + getParentForChildren(), + isClean()); + settings_ = null; + } + return settingsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.Connection) + } + + // @@protoc_insertion_point(class_scope:context.Connection) + private static final context.ContextOuterClass.Connection DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.Connection(); + } + + public static context.ContextOuterClass.Connection getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Connection parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Connection(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.Connection getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionIdListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionIdList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + java.util.List + getConnectionIdsList(); + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + context.ContextOuterClass.ConnectionId getConnectionIds(int index); + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + int getConnectionIdsCount(); + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + java.util.List + getConnectionIdsOrBuilderList(); + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdsOrBuilder( + int index); + } + /** + * Protobuf type {@code context.ConnectionIdList} + */ + public static final class ConnectionIdList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionIdList) + ConnectionIdListOrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionIdList.newBuilder() to construct. + private ConnectionIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionIdList() { + connectionIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionIdList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionIdList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + connectionIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + connectionIds_.add( + input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionIdList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionIdList.class, context.ContextOuterClass.ConnectionIdList.Builder.class); + } + + public static final int CONNECTION_IDS_FIELD_NUMBER = 1; + private java.util.List connectionIds_; + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + @java.lang.Override + public java.util.List getConnectionIdsList() { + return connectionIds_; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + @java.lang.Override + public java.util.List + getConnectionIdsOrBuilderList() { + return connectionIds_; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + @java.lang.Override + public int getConnectionIdsCount() { + return connectionIds_.size(); + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionId getConnectionIds(int index) { + return connectionIds_.get(index); + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdsOrBuilder( + int index) { + return connectionIds_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < connectionIds_.size(); i++) { + output.writeMessage(1, connectionIds_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < connectionIds_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, connectionIds_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionIdList)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionIdList other = (context.ContextOuterClass.ConnectionIdList) obj; + + if (!getConnectionIdsList() + .equals(other.getConnectionIdsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getConnectionIdsCount() > 0) { + hash = (37 * hash) + CONNECTION_IDS_FIELD_NUMBER; + hash = (53 * hash) + getConnectionIdsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionIdList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionIdList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionIdList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionIdList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionIdList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionIdList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionIdList) + context.ContextOuterClass.ConnectionIdListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionIdList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionIdList.class, context.ContextOuterClass.ConnectionIdList.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionIdList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getConnectionIdsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (connectionIdsBuilder_ == null) { + connectionIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + connectionIdsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionIdList getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionIdList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionIdList build() { + context.ContextOuterClass.ConnectionIdList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionIdList buildPartial() { + context.ContextOuterClass.ConnectionIdList result = new context.ContextOuterClass.ConnectionIdList(this); + int from_bitField0_ = bitField0_; + if (connectionIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.connectionIds_ = connectionIds_; + } else { + result.connectionIds_ = connectionIdsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionIdList) { + return mergeFrom((context.ContextOuterClass.ConnectionIdList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionIdList other) { + if (other == context.ContextOuterClass.ConnectionIdList.getDefaultInstance()) return this; + if (connectionIdsBuilder_ == null) { + if (!other.connectionIds_.isEmpty()) { + if (connectionIds_.isEmpty()) { + connectionIds_ = other.connectionIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureConnectionIdsIsMutable(); + connectionIds_.addAll(other.connectionIds_); + } + onChanged(); + } + } else { + if (!other.connectionIds_.isEmpty()) { + if (connectionIdsBuilder_.isEmpty()) { + connectionIdsBuilder_.dispose(); + connectionIdsBuilder_ = null; + connectionIds_ = other.connectionIds_; + bitField0_ = (bitField0_ & ~0x00000001); + connectionIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getConnectionIdsFieldBuilder() : null; + } else { + connectionIdsBuilder_.addAllMessages(other.connectionIds_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionIdList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionIdList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List connectionIds_ = + java.util.Collections.emptyList(); + private void ensureConnectionIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + connectionIds_ = new java.util.ArrayList(connectionIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdsBuilder_; + + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public java.util.List getConnectionIdsList() { + if (connectionIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(connectionIds_); + } else { + return connectionIdsBuilder_.getMessageList(); + } + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public int getConnectionIdsCount() { + if (connectionIdsBuilder_ == null) { + return connectionIds_.size(); + } else { + return connectionIdsBuilder_.getCount(); + } + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public context.ContextOuterClass.ConnectionId getConnectionIds(int index) { + if (connectionIdsBuilder_ == null) { + return connectionIds_.get(index); + } else { + return connectionIdsBuilder_.getMessage(index); + } + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder setConnectionIds( + int index, context.ContextOuterClass.ConnectionId value) { + if (connectionIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConnectionIdsIsMutable(); + connectionIds_.set(index, value); + onChanged(); + } else { + connectionIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder setConnectionIds( + int index, context.ContextOuterClass.ConnectionId.Builder builderForValue) { + if (connectionIdsBuilder_ == null) { + ensureConnectionIdsIsMutable(); + connectionIds_.set(index, builderForValue.build()); + onChanged(); + } else { + connectionIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder addConnectionIds(context.ContextOuterClass.ConnectionId value) { + if (connectionIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConnectionIdsIsMutable(); + connectionIds_.add(value); + onChanged(); + } else { + connectionIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder addConnectionIds( + int index, context.ContextOuterClass.ConnectionId value) { + if (connectionIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConnectionIdsIsMutable(); + connectionIds_.add(index, value); + onChanged(); + } else { + connectionIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder addConnectionIds( + context.ContextOuterClass.ConnectionId.Builder builderForValue) { + if (connectionIdsBuilder_ == null) { + ensureConnectionIdsIsMutable(); + connectionIds_.add(builderForValue.build()); + onChanged(); + } else { + connectionIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder addConnectionIds( + int index, context.ContextOuterClass.ConnectionId.Builder builderForValue) { + if (connectionIdsBuilder_ == null) { + ensureConnectionIdsIsMutable(); + connectionIds_.add(index, builderForValue.build()); + onChanged(); + } else { + connectionIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder addAllConnectionIds( + java.lang.Iterable values) { + if (connectionIdsBuilder_ == null) { + ensureConnectionIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, connectionIds_); + onChanged(); + } else { + connectionIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder clearConnectionIds() { + if (connectionIdsBuilder_ == null) { + connectionIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + connectionIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public Builder removeConnectionIds(int index) { + if (connectionIdsBuilder_ == null) { + ensureConnectionIdsIsMutable(); + connectionIds_.remove(index); + onChanged(); + } else { + connectionIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public context.ContextOuterClass.ConnectionId.Builder getConnectionIdsBuilder( + int index) { + return getConnectionIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdsOrBuilder( + int index) { + if (connectionIdsBuilder_ == null) { + return connectionIds_.get(index); } else { + return connectionIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public java.util.List + getConnectionIdsOrBuilderList() { + if (connectionIdsBuilder_ != null) { + return connectionIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(connectionIds_); + } + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public context.ContextOuterClass.ConnectionId.Builder addConnectionIdsBuilder() { + return getConnectionIdsFieldBuilder().addBuilder( + context.ContextOuterClass.ConnectionId.getDefaultInstance()); + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public context.ContextOuterClass.ConnectionId.Builder addConnectionIdsBuilder( + int index) { + return getConnectionIdsFieldBuilder().addBuilder( + index, context.ContextOuterClass.ConnectionId.getDefaultInstance()); + } + /** + * repeated .context.ConnectionId connection_ids = 1; + */ + public java.util.List + getConnectionIdsBuilderList() { + return getConnectionIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> + getConnectionIdsFieldBuilder() { + if (connectionIdsBuilder_ == null) { + connectionIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( + connectionIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + connectionIds_ = null; + } + return connectionIdsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionIdList) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionIdList) + private static final context.ContextOuterClass.ConnectionIdList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionIdList(); + } + + public static context.ContextOuterClass.ConnectionIdList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionIdList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionIdList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionIdList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionListOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.Connection connections = 1; + */ + java.util.List + getConnectionsList(); + /** + * repeated .context.Connection connections = 1; + */ + context.ContextOuterClass.Connection getConnections(int index); + /** + * repeated .context.Connection connections = 1; + */ + int getConnectionsCount(); + /** + * repeated .context.Connection connections = 1; + */ + java.util.List + getConnectionsOrBuilderList(); + /** + * repeated .context.Connection connections = 1; + */ + context.ContextOuterClass.ConnectionOrBuilder getConnectionsOrBuilder( + int index); + } + /** + * Protobuf type {@code context.ConnectionList} + */ + public static final class ConnectionList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionList) + ConnectionListOrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionList.newBuilder() to construct. + private ConnectionList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionList() { + connections_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + connections_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + connections_.add( + input.readMessage(context.ContextOuterClass.Connection.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + connections_ = java.util.Collections.unmodifiableList(connections_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionList.class, context.ContextOuterClass.ConnectionList.Builder.class); + } + + public static final int CONNECTIONS_FIELD_NUMBER = 1; + private java.util.List connections_; + /** + * repeated .context.Connection connections = 1; + */ + @java.lang.Override + public java.util.List getConnectionsList() { + return connections_; + } + /** + * repeated .context.Connection connections = 1; + */ + @java.lang.Override + public java.util.List + getConnectionsOrBuilderList() { + return connections_; + } + /** + * repeated .context.Connection connections = 1; + */ + @java.lang.Override + public int getConnectionsCount() { + return connections_.size(); + } + /** + * repeated .context.Connection connections = 1; + */ + @java.lang.Override + public context.ContextOuterClass.Connection getConnections(int index) { + return connections_.get(index); + } + /** + * repeated .context.Connection connections = 1; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionOrBuilder getConnectionsOrBuilder( + int index) { + return connections_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < connections_.size(); i++) { + output.writeMessage(1, connections_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < connections_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, connections_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionList)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionList other = (context.ContextOuterClass.ConnectionList) obj; + + if (!getConnectionsList() + .equals(other.getConnectionsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getConnectionsCount() > 0) { + hash = (37 * hash) + CONNECTIONS_FIELD_NUMBER; + hash = (53 * hash) + getConnectionsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionList) + context.ContextOuterClass.ConnectionListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionList.class, context.ContextOuterClass.ConnectionList.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getConnectionsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (connectionsBuilder_ == null) { + connections_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + connectionsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionList getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionList build() { + context.ContextOuterClass.ConnectionList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionList buildPartial() { + context.ContextOuterClass.ConnectionList result = new context.ContextOuterClass.ConnectionList(this); + int from_bitField0_ = bitField0_; + if (connectionsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + connections_ = java.util.Collections.unmodifiableList(connections_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.connections_ = connections_; + } else { + result.connections_ = connectionsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionList) { + return mergeFrom((context.ContextOuterClass.ConnectionList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionList other) { + if (other == context.ContextOuterClass.ConnectionList.getDefaultInstance()) return this; + if (connectionsBuilder_ == null) { + if (!other.connections_.isEmpty()) { + if (connections_.isEmpty()) { + connections_ = other.connections_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureConnectionsIsMutable(); + connections_.addAll(other.connections_); + } + onChanged(); + } + } else { + if (!other.connections_.isEmpty()) { + if (connectionsBuilder_.isEmpty()) { + connectionsBuilder_.dispose(); + connectionsBuilder_ = null; + connections_ = other.connections_; + bitField0_ = (bitField0_ & ~0x00000001); + connectionsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getConnectionsFieldBuilder() : null; + } else { + connectionsBuilder_.addAllMessages(other.connections_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List connections_ = + java.util.Collections.emptyList(); + private void ensureConnectionsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + connections_ = new java.util.ArrayList(connections_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Connection, context.ContextOuterClass.Connection.Builder, context.ContextOuterClass.ConnectionOrBuilder> connectionsBuilder_; + + /** + * repeated .context.Connection connections = 1; + */ + public java.util.List getConnectionsList() { + if (connectionsBuilder_ == null) { + return java.util.Collections.unmodifiableList(connections_); + } else { + return connectionsBuilder_.getMessageList(); + } + } + /** + * repeated .context.Connection connections = 1; + */ + public int getConnectionsCount() { + if (connectionsBuilder_ == null) { + return connections_.size(); + } else { + return connectionsBuilder_.getCount(); + } + } + /** + * repeated .context.Connection connections = 1; + */ + public context.ContextOuterClass.Connection getConnections(int index) { + if (connectionsBuilder_ == null) { + return connections_.get(index); + } else { + return connectionsBuilder_.getMessage(index); + } + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder setConnections( + int index, context.ContextOuterClass.Connection value) { + if (connectionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConnectionsIsMutable(); + connections_.set(index, value); + onChanged(); + } else { + connectionsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder setConnections( + int index, context.ContextOuterClass.Connection.Builder builderForValue) { + if (connectionsBuilder_ == null) { + ensureConnectionsIsMutable(); + connections_.set(index, builderForValue.build()); + onChanged(); + } else { + connectionsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder addConnections(context.ContextOuterClass.Connection value) { + if (connectionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConnectionsIsMutable(); + connections_.add(value); + onChanged(); + } else { + connectionsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder addConnections( + int index, context.ContextOuterClass.Connection value) { + if (connectionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConnectionsIsMutable(); + connections_.add(index, value); + onChanged(); + } else { + connectionsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder addConnections( + context.ContextOuterClass.Connection.Builder builderForValue) { + if (connectionsBuilder_ == null) { + ensureConnectionsIsMutable(); + connections_.add(builderForValue.build()); + onChanged(); + } else { + connectionsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder addConnections( + int index, context.ContextOuterClass.Connection.Builder builderForValue) { + if (connectionsBuilder_ == null) { + ensureConnectionsIsMutable(); + connections_.add(index, builderForValue.build()); + onChanged(); + } else { + connectionsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder addAllConnections( + java.lang.Iterable values) { + if (connectionsBuilder_ == null) { + ensureConnectionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, connections_); + onChanged(); + } else { + connectionsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder clearConnections() { + if (connectionsBuilder_ == null) { + connections_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + connectionsBuilder_.clear(); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public Builder removeConnections(int index) { + if (connectionsBuilder_ == null) { + ensureConnectionsIsMutable(); + connections_.remove(index); + onChanged(); + } else { + connectionsBuilder_.remove(index); + } + return this; + } + /** + * repeated .context.Connection connections = 1; + */ + public context.ContextOuterClass.Connection.Builder getConnectionsBuilder( + int index) { + return getConnectionsFieldBuilder().getBuilder(index); + } + /** + * repeated .context.Connection connections = 1; + */ + public context.ContextOuterClass.ConnectionOrBuilder getConnectionsOrBuilder( + int index) { + if (connectionsBuilder_ == null) { + return connections_.get(index); } else { + return connectionsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .context.Connection connections = 1; + */ + public java.util.List + getConnectionsOrBuilderList() { + if (connectionsBuilder_ != null) { + return connectionsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(connections_); + } + } + /** + * repeated .context.Connection connections = 1; + */ + public context.ContextOuterClass.Connection.Builder addConnectionsBuilder() { + return getConnectionsFieldBuilder().addBuilder( + context.ContextOuterClass.Connection.getDefaultInstance()); + } + /** + * repeated .context.Connection connections = 1; + */ + public context.ContextOuterClass.Connection.Builder addConnectionsBuilder( + int index) { + return getConnectionsFieldBuilder().addBuilder( + index, context.ContextOuterClass.Connection.getDefaultInstance()); + } + /** + * repeated .context.Connection connections = 1; + */ + public java.util.List + getConnectionsBuilderList() { + return getConnectionsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Connection, context.ContextOuterClass.Connection.Builder, context.ContextOuterClass.ConnectionOrBuilder> + getConnectionsFieldBuilder() { + if (connectionsBuilder_ == null) { + connectionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + context.ContextOuterClass.Connection, context.ContextOuterClass.Connection.Builder, context.ContextOuterClass.ConnectionOrBuilder>( + connections_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + connections_ = null; + } + return connectionsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionList) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionList) + private static final context.ContextOuterClass.ConnectionList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionList(); + } + + public static context.ContextOuterClass.ConnectionList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ConnectionEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConnectionEvent) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + boolean hasEvent(); + /** + * .context.Event event = 1; + * @return The event. + */ + context.ContextOuterClass.Event getEvent(); + /** + * .context.Event event = 1; + */ + context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); + + /** + * .context.ConnectionId connection_id = 2; + * @return Whether the connectionId field is set. + */ + boolean hasConnectionId(); + /** + * .context.ConnectionId connection_id = 2; + * @return The connectionId. + */ + context.ContextOuterClass.ConnectionId getConnectionId(); + /** + * .context.ConnectionId connection_id = 2; + */ + context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder(); + } + /** + * Protobuf type {@code context.ConnectionEvent} + */ + public static final class ConnectionEvent extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.ConnectionEvent) + ConnectionEventOrBuilder { + private static final long serialVersionUID = 0L; + // Use ConnectionEvent.newBuilder() to construct. + private ConnectionEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ConnectionEvent() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ConnectionEvent(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ConnectionEvent( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); + } + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.ConnectionId.Builder subBuilder = null; + if (connectionId_ != null) { + subBuilder = connectionId_.toBuilder(); + } + connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(connectionId_); + connectionId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionEvent.class, context.ContextOuterClass.ConnectionEvent.Builder.class); + } + + public static final int EVENT_FIELD_NUMBER = 1; + private context.ContextOuterClass.Event event_; + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + @java.lang.Override + public boolean hasEvent() { + return event_ != null; + } + /** + * .context.Event event = 1; + * @return The event. + */ + @java.lang.Override + public context.ContextOuterClass.Event getEvent() { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + /** + * .context.Event event = 1; + */ + @java.lang.Override + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + return getEvent(); + } + + public static final int CONNECTION_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.ConnectionId connectionId_; + /** + * .context.ConnectionId connection_id = 2; + * @return Whether the connectionId field is set. + */ + @java.lang.Override + public boolean hasConnectionId() { + return connectionId_ != null; + } + /** + * .context.ConnectionId connection_id = 2; + * @return The connectionId. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionId getConnectionId() { + return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } + /** + * .context.ConnectionId connection_id = 2; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { + return getConnectionId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (event_ != null) { + output.writeMessage(1, getEvent()); + } + if (connectionId_ != null) { + output.writeMessage(2, getConnectionId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (event_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getEvent()); + } + if (connectionId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getConnectionId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.ConnectionEvent)) { + return super.equals(obj); + } + context.ContextOuterClass.ConnectionEvent other = (context.ContextOuterClass.ConnectionEvent) obj; + + if (hasEvent() != other.hasEvent()) return false; + if (hasEvent()) { + if (!getEvent() + .equals(other.getEvent())) return false; + } + if (hasConnectionId() != other.hasConnectionId()) return false; + if (hasConnectionId()) { + if (!getConnectionId() + .equals(other.getConnectionId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEvent()) { + hash = (37 * hash) + EVENT_FIELD_NUMBER; + hash = (53 * hash) + getEvent().hashCode(); + } + if (hasConnectionId()) { + hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER; + hash = (53 * hash) + getConnectionId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.ConnectionEvent parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionEvent parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionEvent parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.ConnectionEvent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.ConnectionEvent prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.ConnectionEvent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.ConnectionEvent) + context.ContextOuterClass.ConnectionEventOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_ConnectionEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.ConnectionEvent.class, context.ContextOuterClass.ConnectionEvent.Builder.class); + } + + // Construct using context.ContextOuterClass.ConnectionEvent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (eventBuilder_ == null) { + event_ = null; + } else { + event_ = null; + eventBuilder_ = null; + } + if (connectionIdBuilder_ == null) { + connectionId_ = null; + } else { + connectionId_ = null; + connectionIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionEvent getDefaultInstanceForType() { + return context.ContextOuterClass.ConnectionEvent.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionEvent build() { + context.ContextOuterClass.ConnectionEvent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionEvent buildPartial() { + context.ContextOuterClass.ConnectionEvent result = new context.ContextOuterClass.ConnectionEvent(this); + if (eventBuilder_ == null) { + result.event_ = event_; + } else { + result.event_ = eventBuilder_.build(); + } + if (connectionIdBuilder_ == null) { + result.connectionId_ = connectionId_; + } else { + result.connectionId_ = connectionIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.ConnectionEvent) { + return mergeFrom((context.ContextOuterClass.ConnectionEvent)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.ConnectionEvent other) { + if (other == context.ContextOuterClass.ConnectionEvent.getDefaultInstance()) return this; + if (other.hasEvent()) { + mergeEvent(other.getEvent()); + } + if (other.hasConnectionId()) { + mergeConnectionId(other.getConnectionId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.ConnectionEvent parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ConnectionEvent) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Event event_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; + /** + * .context.Event event = 1; + * @return Whether the event field is set. + */ + public boolean hasEvent() { + return eventBuilder_ != null || event_ != null; + } + /** + * .context.Event event = 1; + * @return The event. + */ + public context.ContextOuterClass.Event getEvent() { + if (eventBuilder_ == null) { + return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + } else { + return eventBuilder_.getMessage(); + } + } + /** + * .context.Event event = 1; + */ + public Builder setEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + event_ = value; + onChanged(); + } else { + eventBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder setEvent( + context.ContextOuterClass.Event.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); + onChanged(); + } else { + eventBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder mergeEvent(context.ContextOuterClass.Event value) { + if (eventBuilder_ == null) { + if (event_ != null) { + event_ = + context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); + } else { + event_ = value; + } + onChanged(); + } else { + eventBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Event event = 1; + */ + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = null; + onChanged(); + } else { + event_ = null; + eventBuilder_ = null; + } + + return this; + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.Event.Builder getEventBuilder() { + + onChanged(); + return getEventFieldBuilder().getBuilder(); + } + /** + * .context.Event event = 1; + */ + public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); + } else { + return event_ == null ? + context.ContextOuterClass.Event.getDefaultInstance() : event_; + } + } + /** + * .context.Event event = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( + getEvent(), + getParentForChildren(), + isClean()); + event_ = null; + } + return eventBuilder_; + } + + private context.ContextOuterClass.ConnectionId connectionId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdBuilder_; + /** + * .context.ConnectionId connection_id = 2; + * @return Whether the connectionId field is set. + */ + public boolean hasConnectionId() { + return connectionIdBuilder_ != null || connectionId_ != null; + } + /** + * .context.ConnectionId connection_id = 2; + * @return The connectionId. + */ + public context.ContextOuterClass.ConnectionId getConnectionId() { + if (connectionIdBuilder_ == null) { + return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } else { + return connectionIdBuilder_.getMessage(); + } + } + /** + * .context.ConnectionId connection_id = 2; + */ + public Builder setConnectionId(context.ContextOuterClass.ConnectionId value) { + if (connectionIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + connectionId_ = value; + onChanged(); + } else { + connectionIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 2; + */ + public Builder setConnectionId( + context.ContextOuterClass.ConnectionId.Builder builderForValue) { + if (connectionIdBuilder_ == null) { + connectionId_ = builderForValue.build(); + onChanged(); + } else { + connectionIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 2; + */ + public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { + if (connectionIdBuilder_ == null) { + if (connectionId_ != null) { + connectionId_ = + context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); + } else { + connectionId_ = value; + } + onChanged(); + } else { + connectionIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 2; + */ + public Builder clearConnectionId() { + if (connectionIdBuilder_ == null) { + connectionId_ = null; + onChanged(); + } else { + connectionId_ = null; + connectionIdBuilder_ = null; + } + + return this; + } + /** + * .context.ConnectionId connection_id = 2; + */ + public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { + + onChanged(); + return getConnectionIdFieldBuilder().getBuilder(); + } + /** + * .context.ConnectionId connection_id = 2; + */ + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { + if (connectionIdBuilder_ != null) { + return connectionIdBuilder_.getMessageOrBuilder(); + } else { + return connectionId_ == null ? + context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } + } + /** + * .context.ConnectionId connection_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> + getConnectionIdFieldBuilder() { + if (connectionIdBuilder_ == null) { + connectionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( + getConnectionId(), + getParentForChildren(), + isClean()); + connectionId_ = null; + } + return connectionIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.ConnectionEvent) + } + + // @@protoc_insertion_point(class_scope:context.ConnectionEvent) + private static final context.ContextOuterClass.ConnectionEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionEvent(); + } + + public static context.ContextOuterClass.ConnectionEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ConnectionEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ConnectionEvent(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.ConnectionEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EndPointIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.EndPointId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.TopologyId topology_id = 1; + * @return Whether the topologyId field is set. + */ + boolean hasTopologyId(); + /** + * .context.TopologyId topology_id = 1; + * @return The topologyId. + */ + context.ContextOuterClass.TopologyId getTopologyId(); + /** + * .context.TopologyId topology_id = 1; + */ + context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder(); + + /** + * .context.DeviceId device_id = 2; + * @return Whether the deviceId field is set. + */ + boolean hasDeviceId(); + /** + * .context.DeviceId device_id = 2; + * @return The deviceId. + */ + context.ContextOuterClass.DeviceId getDeviceId(); + /** + * .context.DeviceId device_id = 2; + */ + context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); + + /** + * .context.Uuid endpoint_uuid = 3; + * @return Whether the endpointUuid field is set. + */ + boolean hasEndpointUuid(); + /** + * .context.Uuid endpoint_uuid = 3; + * @return The endpointUuid. + */ + context.ContextOuterClass.Uuid getEndpointUuid(); + /** + * .context.Uuid endpoint_uuid = 3; + */ + context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder(); + } + /** + *
+   * ----- Endpoint ------------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.EndPointId} + */ + public static final class EndPointId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.EndPointId) + EndPointIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use EndPointId.newBuilder() to construct. + private EndPointId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private EndPointId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new EndPointId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EndPointId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.TopologyId.Builder subBuilder = null; + if (topologyId_ != null) { + subBuilder = topologyId_.toBuilder(); + } + topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyId_); + topologyId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (deviceId_ != null) { + subBuilder = deviceId_.toBuilder(); + } + deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceId_); + deviceId_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (endpointUuid_ != null) { + subBuilder = endpointUuid_.toBuilder(); + } + endpointUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointUuid_); + endpointUuid_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_EndPointId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_EndPointId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.EndPointId.class, context.ContextOuterClass.EndPointId.Builder.class); + } + + public static final int TOPOLOGY_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.TopologyId topologyId_; + /** + * .context.TopologyId topology_id = 1; + * @return Whether the topologyId field is set. + */ + @java.lang.Override + public boolean hasTopologyId() { + return topologyId_ != null; + } + /** + * .context.TopologyId topology_id = 1; + * @return The topologyId. + */ + @java.lang.Override + public context.ContextOuterClass.TopologyId getTopologyId() { + return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + } + /** + * .context.TopologyId topology_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { + return getTopologyId(); + } + + public static final int DEVICE_ID_FIELD_NUMBER = 2; + private context.ContextOuterClass.DeviceId deviceId_; + /** + * .context.DeviceId device_id = 2; + * @return Whether the deviceId field is set. + */ + @java.lang.Override + public boolean hasDeviceId() { + return deviceId_ != null; + } + /** + * .context.DeviceId device_id = 2; + * @return The deviceId. + */ + @java.lang.Override + public context.ContextOuterClass.DeviceId getDeviceId() { + return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + } + /** + * .context.DeviceId device_id = 2; + */ + @java.lang.Override + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { + return getDeviceId(); + } + + public static final int ENDPOINT_UUID_FIELD_NUMBER = 3; + private context.ContextOuterClass.Uuid endpointUuid_; + /** + * .context.Uuid endpoint_uuid = 3; + * @return Whether the endpointUuid field is set. + */ + @java.lang.Override + public boolean hasEndpointUuid() { + return endpointUuid_ != null; + } + /** + * .context.Uuid endpoint_uuid = 3; + * @return The endpointUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getEndpointUuid() { + return endpointUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_; + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder() { + return getEndpointUuid(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (topologyId_ != null) { + output.writeMessage(1, getTopologyId()); + } + if (deviceId_ != null) { + output.writeMessage(2, getDeviceId()); + } + if (endpointUuid_ != null) { + output.writeMessage(3, getEndpointUuid()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (topologyId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getTopologyId()); + } + if (deviceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getDeviceId()); + } + if (endpointUuid_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getEndpointUuid()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.EndPointId)) { + return super.equals(obj); + } + context.ContextOuterClass.EndPointId other = (context.ContextOuterClass.EndPointId) obj; + + if (hasTopologyId() != other.hasTopologyId()) return false; + if (hasTopologyId()) { + if (!getTopologyId() + .equals(other.getTopologyId())) return false; + } + if (hasDeviceId() != other.hasDeviceId()) return false; + if (hasDeviceId()) { + if (!getDeviceId() + .equals(other.getDeviceId())) return false; + } + if (hasEndpointUuid() != other.hasEndpointUuid()) return false; + if (hasEndpointUuid()) { + if (!getEndpointUuid() + .equals(other.getEndpointUuid())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasTopologyId()) { + hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; + hash = (53 * hash) + getTopologyId().hashCode(); + } + if (hasDeviceId()) { + hash = (37 * hash) + DEVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getDeviceId().hashCode(); + } + if (hasEndpointUuid()) { + hash = (37 * hash) + ENDPOINT_UUID_FIELD_NUMBER; + hash = (53 * hash) + getEndpointUuid().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.EndPointId parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.EndPointId parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.EndPointId parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.EndPointId parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.EndPointId parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.EndPointId parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.EndPointId parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.EndPointId parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.EndPointId parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.EndPointId parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.EndPointId parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.EndPointId parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.EndPointId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * ----- Endpoint ------------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.EndPointId} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.EndPointId) + context.ContextOuterClass.EndPointIdOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_EndPointId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_EndPointId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.EndPointId.class, context.ContextOuterClass.EndPointId.Builder.class); + } + + // Construct using context.ContextOuterClass.EndPointId.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + } else { + topologyId_ = null; + topologyIdBuilder_ = null; + } + if (deviceIdBuilder_ == null) { + deviceId_ = null; + } else { + deviceId_ = null; + deviceIdBuilder_ = null; + } + if (endpointUuidBuilder_ == null) { + endpointUuid_ = null; + } else { + endpointUuid_ = null; + endpointUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_EndPointId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.EndPointId getDefaultInstanceForType() { + return context.ContextOuterClass.EndPointId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.EndPointId build() { + context.ContextOuterClass.EndPointId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.EndPointId buildPartial() { + context.ContextOuterClass.EndPointId result = new context.ContextOuterClass.EndPointId(this); + if (topologyIdBuilder_ == null) { + result.topologyId_ = topologyId_; + } else { + result.topologyId_ = topologyIdBuilder_.build(); + } + if (deviceIdBuilder_ == null) { + result.deviceId_ = deviceId_; + } else { + result.deviceId_ = deviceIdBuilder_.build(); + } + if (endpointUuidBuilder_ == null) { + result.endpointUuid_ = endpointUuid_; + } else { + result.endpointUuid_ = endpointUuidBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.EndPointId) { + return mergeFrom((context.ContextOuterClass.EndPointId)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.EndPointId other) { + if (other == context.ContextOuterClass.EndPointId.getDefaultInstance()) return this; + if (other.hasTopologyId()) { + mergeTopologyId(other.getTopologyId()); + } + if (other.hasDeviceId()) { + mergeDeviceId(other.getDeviceId()); + } + if (other.hasEndpointUuid()) { + mergeEndpointUuid(other.getEndpointUuid()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.EndPointId parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.EndPointId) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.TopologyId topologyId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdBuilder_; + /** + * .context.TopologyId topology_id = 1; + * @return Whether the topologyId field is set. + */ + public boolean hasTopologyId() { + return topologyIdBuilder_ != null || topologyId_ != null; + } + /** + * .context.TopologyId topology_id = 1; + * @return The topologyId. + */ + public context.ContextOuterClass.TopologyId getTopologyId() { + if (topologyIdBuilder_ == null) { + return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + } else { + return topologyIdBuilder_.getMessage(); + } + } + /** + * .context.TopologyId topology_id = 1; + */ + public Builder setTopologyId(context.ContextOuterClass.TopologyId value) { + if (topologyIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + topologyId_ = value; + onChanged(); + } else { + topologyIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.TopologyId topology_id = 1; + */ + public Builder setTopologyId( + context.ContextOuterClass.TopologyId.Builder builderForValue) { + if (topologyIdBuilder_ == null) { + topologyId_ = builderForValue.build(); + onChanged(); + } else { + topologyIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.TopologyId topology_id = 1; + */ + public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { + if (topologyIdBuilder_ == null) { + if (topologyId_ != null) { + topologyId_ = + context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); + } else { + topologyId_ = value; + } + onChanged(); + } else { + topologyIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.TopologyId topology_id = 1; + */ + public Builder clearTopologyId() { + if (topologyIdBuilder_ == null) { + topologyId_ = null; + onChanged(); + } else { + topologyId_ = null; + topologyIdBuilder_ = null; + } + + return this; + } + /** + * .context.TopologyId topology_id = 1; + */ + public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { + + onChanged(); + return getTopologyIdFieldBuilder().getBuilder(); + } + /** + * .context.TopologyId topology_id = 1; + */ + public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { + if (topologyIdBuilder_ != null) { + return topologyIdBuilder_.getMessageOrBuilder(); + } else { + return topologyId_ == null ? + context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + } + } + /** + * .context.TopologyId topology_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> + getTopologyIdFieldBuilder() { + if (topologyIdBuilder_ == null) { + topologyIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( + getTopologyId(), + getParentForChildren(), + isClean()); + topologyId_ = null; + } + return topologyIdBuilder_; + } + + private context.ContextOuterClass.DeviceId deviceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; + /** + * .context.DeviceId device_id = 2; + * @return Whether the deviceId field is set. + */ + public boolean hasDeviceId() { + return deviceIdBuilder_ != null || deviceId_ != null; + } + /** + * .context.DeviceId device_id = 2; + * @return The deviceId. + */ + public context.ContextOuterClass.DeviceId getDeviceId() { + if (deviceIdBuilder_ == null) { + return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + } else { + return deviceIdBuilder_.getMessage(); + } + } + /** + * .context.DeviceId device_id = 2; + */ + public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { + if (deviceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deviceId_ = value; + onChanged(); + } else { + deviceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.DeviceId device_id = 2; + */ + public Builder setDeviceId( + context.ContextOuterClass.DeviceId.Builder builderForValue) { + if (deviceIdBuilder_ == null) { + deviceId_ = builderForValue.build(); + onChanged(); + } else { + deviceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.DeviceId device_id = 2; + */ + public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { + if (deviceIdBuilder_ == null) { + if (deviceId_ != null) { + deviceId_ = + context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); + } else { + deviceId_ = value; + } + onChanged(); + } else { + deviceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.DeviceId device_id = 2; + */ + public Builder clearDeviceId() { + if (deviceIdBuilder_ == null) { + deviceId_ = null; + onChanged(); + } else { + deviceId_ = null; + deviceIdBuilder_ = null; + } + + return this; + } + /** + * .context.DeviceId device_id = 2; + */ + public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { + + onChanged(); + return getDeviceIdFieldBuilder().getBuilder(); + } + /** + * .context.DeviceId device_id = 2; + */ + public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { + if (deviceIdBuilder_ != null) { + return deviceIdBuilder_.getMessageOrBuilder(); + } else { + return deviceId_ == null ? + context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + } + } + /** + * .context.DeviceId device_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> + getDeviceIdFieldBuilder() { + if (deviceIdBuilder_ == null) { + deviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( + getDeviceId(), + getParentForChildren(), + isClean()); + deviceId_ = null; + } + return deviceIdBuilder_; + } + + private context.ContextOuterClass.Uuid endpointUuid_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> endpointUuidBuilder_; + /** + * .context.Uuid endpoint_uuid = 3; + * @return Whether the endpointUuid field is set. + */ + public boolean hasEndpointUuid() { + return endpointUuidBuilder_ != null || endpointUuid_ != null; + } + /** + * .context.Uuid endpoint_uuid = 3; + * @return The endpointUuid. + */ + public context.ContextOuterClass.Uuid getEndpointUuid() { + if (endpointUuidBuilder_ == null) { + return endpointUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_; + } else { + return endpointUuidBuilder_.getMessage(); + } + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + public Builder setEndpointUuid(context.ContextOuterClass.Uuid value) { + if (endpointUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endpointUuid_ = value; + onChanged(); + } else { + endpointUuidBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + public Builder setEndpointUuid( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (endpointUuidBuilder_ == null) { + endpointUuid_ = builderForValue.build(); + onChanged(); + } else { + endpointUuidBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + public Builder mergeEndpointUuid(context.ContextOuterClass.Uuid value) { + if (endpointUuidBuilder_ == null) { + if (endpointUuid_ != null) { + endpointUuid_ = + context.ContextOuterClass.Uuid.newBuilder(endpointUuid_).mergeFrom(value).buildPartial(); + } else { + endpointUuid_ = value; + } + onChanged(); + } else { + endpointUuidBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + public Builder clearEndpointUuid() { + if (endpointUuidBuilder_ == null) { + endpointUuid_ = null; + onChanged(); + } else { + endpointUuid_ = null; + endpointUuidBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + public context.ContextOuterClass.Uuid.Builder getEndpointUuidBuilder() { + + onChanged(); + return getEndpointUuidFieldBuilder().getBuilder(); + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + public context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder() { + if (endpointUuidBuilder_ != null) { + return endpointUuidBuilder_.getMessageOrBuilder(); + } else { + return endpointUuid_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_; + } + } + /** + * .context.Uuid endpoint_uuid = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getEndpointUuidFieldBuilder() { + if (endpointUuidBuilder_ == null) { + endpointUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getEndpointUuid(), + getParentForChildren(), + isClean()); + endpointUuid_ = null; + } + return endpointUuidBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:context.EndPointId) + } + + // @@protoc_insertion_point(class_scope:context.EndPointId) + private static final context.ContextOuterClass.EndPointId DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.EndPointId(); + } + + public static context.ContextOuterClass.EndPointId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public EndPointId parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EndPointId(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.EndPointId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EndPointOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.EndPoint) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. + */ + boolean hasEndpointId(); + /** + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. + */ + context.ContextOuterClass.EndPointId getEndpointId(); + /** + * .context.EndPointId endpoint_id = 1; + */ + context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder(); + + /** + * string endpoint_type = 2; + * @return The endpointType. + */ + java.lang.String getEndpointType(); + /** + * string endpoint_type = 2; + * @return The bytes for endpointType. + */ + com.google.protobuf.ByteString + getEndpointTypeBytes(); + + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return A list containing the kpiSampleTypes. + */ + java.util.List getKpiSampleTypesList(); + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return The count of kpiSampleTypes. + */ + int getKpiSampleTypesCount(); + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the element to return. + * @return The kpiSampleTypes at the given index. + */ + kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleTypes(int index); + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return A list containing the enum numeric values on the wire for kpiSampleTypes. + */ + java.util.List + getKpiSampleTypesValueList(); + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of kpiSampleTypes at the given index. + */ + int getKpiSampleTypesValue(int index); + + /** + * .context.Location endpoint_location = 4; + * @return Whether the endpointLocation field is set. + */ + boolean hasEndpointLocation(); + /** + * .context.Location endpoint_location = 4; + * @return The endpointLocation. + */ + context.ContextOuterClass.Location getEndpointLocation(); + /** + * .context.Location endpoint_location = 4; + */ + context.ContextOuterClass.LocationOrBuilder getEndpointLocationOrBuilder(); + } + /** + * Protobuf type {@code context.EndPoint} + */ + public static final class EndPoint extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:context.EndPoint) + EndPointOrBuilder { + private static final long serialVersionUID = 0L; + // Use EndPoint.newBuilder() to construct. + private EndPoint(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private EndPoint() { + endpointType_ = ""; + kpiSampleTypes_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new EndPoint(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EndPoint( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.EndPointId.Builder subBuilder = null; + if (endpointId_ != null) { + subBuilder = endpointId_.toBuilder(); + } + endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointId_); + endpointId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + endpointType_ = s; + break; + } + case 24: { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiSampleTypes_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpiSampleTypes_.add(rawValue); + break; + } + case 26: { + int length = input.readRawVarint32(); + int oldLimit = input.pushLimit(length); + while(input.getBytesUntilLimit() > 0) { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiSampleTypes_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpiSampleTypes_.add(rawValue); + } + input.popLimit(oldLimit); + break; + } + case 34: { + context.ContextOuterClass.Location.Builder subBuilder = null; + if (endpointLocation_ != null) { + subBuilder = endpointLocation_.toBuilder(); + } + endpointLocation_ = input.readMessage(context.ContextOuterClass.Location.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointLocation_); + endpointLocation_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_EndPoint_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_EndPoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.EndPoint.class, context.ContextOuterClass.EndPoint.Builder.class); + } + + public static final int ENDPOINT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.EndPointId endpointId_; + /** + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. + */ + @java.lang.Override + public boolean hasEndpointId() { + return endpointId_ != null; + } + /** + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. + */ + @java.lang.Override + public context.ContextOuterClass.EndPointId getEndpointId() { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; + } + /** + * .context.EndPointId endpoint_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + return getEndpointId(); + } + + public static final int ENDPOINT_TYPE_FIELD_NUMBER = 2; + private volatile java.lang.Object endpointType_; + /** + * string endpoint_type = 2; + * @return The endpointType. + */ + @java.lang.Override + public java.lang.String getEndpointType() { + java.lang.Object ref = endpointType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + endpointType_ = s; + return s; + } + } + /** + * string endpoint_type = 2; + * @return The bytes for endpointType. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getEndpointTypeBytes() { + java.lang.Object ref = endpointType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + endpointType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int KPI_SAMPLE_TYPES_FIELD_NUMBER = 3; + private java.util.List kpiSampleTypes_; + private static final com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType> kpiSampleTypes_converter_ = + new com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType>() { + public kpi_sample_types.KpiSampleTypes.KpiSampleType convert(java.lang.Integer from) { + @SuppressWarnings("deprecation") + kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(from); + return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; + } + }; + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return A list containing the kpiSampleTypes. + */ + @java.lang.Override + public java.util.List getKpiSampleTypesList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType>(kpiSampleTypes_, kpiSampleTypes_converter_); + } + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return The count of kpiSampleTypes. + */ + @java.lang.Override + public int getKpiSampleTypesCount() { + return kpiSampleTypes_.size(); + } + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the element to return. + * @return The kpiSampleTypes at the given index. + */ + @java.lang.Override + public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleTypes(int index) { + return kpiSampleTypes_converter_.convert(kpiSampleTypes_.get(index)); + } + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return A list containing the enum numeric values on the wire for kpiSampleTypes. + */ + @java.lang.Override + public java.util.List + getKpiSampleTypesValueList() { + return kpiSampleTypes_; + } + /** + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of kpiSampleTypes at the given index. + */ + @java.lang.Override + public int getKpiSampleTypesValue(int index) { + return kpiSampleTypes_.get(index); + } + private int kpiSampleTypesMemoizedSerializedSize; + + public static final int ENDPOINT_LOCATION_FIELD_NUMBER = 4; + private context.ContextOuterClass.Location endpointLocation_; + /** + * .context.Location endpoint_location = 4; + * @return Whether the endpointLocation field is set. + */ + @java.lang.Override + public boolean hasEndpointLocation() { + return endpointLocation_ != null; + } + /** + * .context.Location endpoint_location = 4; + * @return The endpointLocation. + */ + @java.lang.Override + public context.ContextOuterClass.Location getEndpointLocation() { + return endpointLocation_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : endpointLocation_; + } + /** + * .context.Location endpoint_location = 4; + */ + @java.lang.Override + public context.ContextOuterClass.LocationOrBuilder getEndpointLocationOrBuilder() { + return getEndpointLocation(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } - return this; + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (endpointId_ != null) { + output.writeMessage(1, getEndpointId()); } - /** - * .context.ServiceId service_id = 1; - */ - public Builder setServiceId( - context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdBuilder_ == null) { - serviceId_ = builderForValue.build(); - onChanged(); - } else { - serviceIdBuilder_.setMessage(builderForValue.build()); - } - - return this; + if (!getEndpointTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, endpointType_); } - /** - * .context.ServiceId service_id = 1; - */ - public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { - if (serviceIdBuilder_ == null) { - if (serviceId_ != null) { - serviceId_ = - context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); - } else { - serviceId_ = value; - } - onChanged(); - } else { - serviceIdBuilder_.mergeFrom(value); - } - - return this; + if (getKpiSampleTypesList().size() > 0) { + output.writeUInt32NoTag(26); + output.writeUInt32NoTag(kpiSampleTypesMemoizedSerializedSize); } - /** - * .context.ServiceId service_id = 1; - */ - public Builder clearServiceId() { - if (serviceIdBuilder_ == null) { - serviceId_ = null; - onChanged(); - } else { - serviceId_ = null; - serviceIdBuilder_ = null; - } + for (int i = 0; i < kpiSampleTypes_.size(); i++) { + output.writeEnumNoTag(kpiSampleTypes_.get(i)); + } + if (endpointLocation_ != null) { + output.writeMessage(4, getEndpointLocation()); + } + unknownFields.writeTo(output); + } - return this; + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (endpointId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getEndpointId()); } - /** - * .context.ServiceId service_id = 1; - */ - public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { - - onChanged(); - return getServiceIdFieldBuilder().getBuilder(); + if (!getEndpointTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, endpointType_); } - /** - * .context.ServiceId service_id = 1; - */ - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - if (serviceIdBuilder_ != null) { - return serviceIdBuilder_.getMessageOrBuilder(); - } else { - return serviceId_ == null ? - context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + { + int dataSize = 0; + for (int i = 0; i < kpiSampleTypes_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(kpiSampleTypes_.get(i)); } + size += dataSize; + if (!getKpiSampleTypesList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }kpiSampleTypesMemoizedSerializedSize = dataSize; } - /** - * .context.ServiceId service_id = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> - getServiceIdFieldBuilder() { - if (serviceIdBuilder_ == null) { - serviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( - getServiceId(), - getParentForChildren(), - isClean()); - serviceId_ = null; - } - return serviceIdBuilder_; + if (endpointLocation_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getEndpointLocation()); } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } - private int serviceType_ = 0; - /** - * .context.ServiceTypeEnum service_type = 2; - * @return The enum numeric value on the wire for serviceType. - */ - @java.lang.Override public int getServiceTypeValue() { - return serviceType_; - } - /** - * .context.ServiceTypeEnum service_type = 2; - * @param value The enum numeric value on the wire for serviceType to set. - * @return This builder for chaining. - */ - public Builder setServiceTypeValue(int value) { - - serviceType_ = value; - onChanged(); - return this; + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; } - /** - * .context.ServiceTypeEnum service_type = 2; - * @return The serviceType. - */ - @java.lang.Override - public context.ContextOuterClass.ServiceTypeEnum getServiceType() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_); - return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result; + if (!(obj instanceof context.ContextOuterClass.EndPoint)) { + return super.equals(obj); } - /** - * .context.ServiceTypeEnum service_type = 2; - * @param value The serviceType to set. - * @return This builder for chaining. - */ - public Builder setServiceType(context.ContextOuterClass.ServiceTypeEnum value) { - if (value == null) { - throw new NullPointerException(); - } - - serviceType_ = value.getNumber(); - onChanged(); - return this; + context.ContextOuterClass.EndPoint other = (context.ContextOuterClass.EndPoint) obj; + + if (hasEndpointId() != other.hasEndpointId()) return false; + if (hasEndpointId()) { + if (!getEndpointId() + .equals(other.getEndpointId())) return false; } - /** - * .context.ServiceTypeEnum service_type = 2; - * @return This builder for chaining. - */ - public Builder clearServiceType() { - - serviceType_ = 0; - onChanged(); - return this; + if (!getEndpointType() + .equals(other.getEndpointType())) return false; + if (!kpiSampleTypes_.equals(other.kpiSampleTypes_)) return false; + if (hasEndpointLocation() != other.hasEndpointLocation()) return false; + if (hasEndpointLocation()) { + if (!getEndpointLocation() + .equals(other.getEndpointLocation())) return false; } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } - private java.util.List serviceEndpointIds_ = - java.util.Collections.emptyList(); - private void ensureServiceEndpointIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - serviceEndpointIds_ = new java.util.ArrayList(serviceEndpointIds_); - bitField0_ |= 0x00000001; - } + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEndpointId()) { + hash = (37 * hash) + ENDPOINT_ID_FIELD_NUMBER; + hash = (53 * hash) + getEndpointId().hashCode(); + } + hash = (37 * hash) + ENDPOINT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getEndpointType().hashCode(); + if (getKpiSampleTypesCount() > 0) { + hash = (37 * hash) + KPI_SAMPLE_TYPES_FIELD_NUMBER; + hash = (53 * hash) + kpiSampleTypes_.hashCode(); } + if (hasEndpointLocation()) { + hash = (37 * hash) + ENDPOINT_LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getEndpointLocation().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> serviceEndpointIdsBuilder_; + public static context.ContextOuterClass.EndPoint parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.EndPoint parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.EndPoint parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.EndPoint parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.EndPoint parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static context.ContextOuterClass.EndPoint parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static context.ContextOuterClass.EndPoint parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.EndPoint parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.EndPoint parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static context.ContextOuterClass.EndPoint parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static context.ContextOuterClass.EndPoint parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static context.ContextOuterClass.EndPoint parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public java.util.List getServiceEndpointIdsList() { - if (serviceEndpointIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(serviceEndpointIds_); - } else { - return serviceEndpointIdsBuilder_.getMessageList(); - } + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(context.ContextOuterClass.EndPoint prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code context.EndPoint} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:context.EndPoint) + context.ContextOuterClass.EndPointOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return context.ContextOuterClass.internal_static_context_EndPoint_descriptor; } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public int getServiceEndpointIdsCount() { - if (serviceEndpointIdsBuilder_ == null) { - return serviceEndpointIds_.size(); - } else { - return serviceEndpointIdsBuilder_.getCount(); - } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_EndPoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.EndPoint.class, context.ContextOuterClass.EndPoint.Builder.class); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId getServiceEndpointIds(int index) { - if (serviceEndpointIdsBuilder_ == null) { - return serviceEndpointIds_.get(index); - } else { - return serviceEndpointIdsBuilder_.getMessage(index); - } + + // Construct using context.ContextOuterClass.EndPoint.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder setServiceEndpointIds( - int index, context.ContextOuterClass.EndPointId value) { - if (serviceEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.set(index, value); - onChanged(); - } else { - serviceEndpointIdsBuilder_.setMessage(index, value); - } - return this; + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder setServiceEndpointIds( - int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (serviceEndpointIdsBuilder_ == null) { - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.set(index, builderForValue.build()); - onChanged(); - } else { - serviceEndpointIdsBuilder_.setMessage(index, builderForValue.build()); + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { } - return this; } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder addServiceEndpointIds(context.ContextOuterClass.EndPointId value) { - if (serviceEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.add(value); - onChanged(); + @java.lang.Override + public Builder clear() { + super.clear(); + if (endpointIdBuilder_ == null) { + endpointId_ = null; } else { - serviceEndpointIdsBuilder_.addMessage(value); + endpointId_ = null; + endpointIdBuilder_ = null; } - return this; - } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder addServiceEndpointIds( - int index, context.ContextOuterClass.EndPointId value) { - if (serviceEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.add(index, value); - onChanged(); + endpointType_ = ""; + + kpiSampleTypes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + if (endpointLocationBuilder_ == null) { + endpointLocation_ = null; } else { - serviceEndpointIdsBuilder_.addMessage(index, value); + endpointLocation_ = null; + endpointLocationBuilder_ = null; } return this; } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder addServiceEndpointIds( - context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (serviceEndpointIdsBuilder_ == null) { - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.add(builderForValue.build()); - onChanged(); - } else { - serviceEndpointIdsBuilder_.addMessage(builderForValue.build()); - } - return this; + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_EndPoint_descriptor; } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder addServiceEndpointIds( - int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (serviceEndpointIdsBuilder_ == null) { - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.add(index, builderForValue.build()); - onChanged(); - } else { - serviceEndpointIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; + + @java.lang.Override + public context.ContextOuterClass.EndPoint getDefaultInstanceForType() { + return context.ContextOuterClass.EndPoint.getDefaultInstance(); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder addAllServiceEndpointIds( - java.lang.Iterable values) { - if (serviceEndpointIdsBuilder_ == null) { - ensureServiceEndpointIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, serviceEndpointIds_); - onChanged(); - } else { - serviceEndpointIdsBuilder_.addAllMessages(values); + + @java.lang.Override + public context.ContextOuterClass.EndPoint build() { + context.ContextOuterClass.EndPoint result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); } - return this; + return result; } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder clearServiceEndpointIds() { - if (serviceEndpointIdsBuilder_ == null) { - serviceEndpointIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + + @java.lang.Override + public context.ContextOuterClass.EndPoint buildPartial() { + context.ContextOuterClass.EndPoint result = new context.ContextOuterClass.EndPoint(this); + int from_bitField0_ = bitField0_; + if (endpointIdBuilder_ == null) { + result.endpointId_ = endpointId_; } else { - serviceEndpointIdsBuilder_.clear(); + result.endpointId_ = endpointIdBuilder_.build(); } - return this; - } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public Builder removeServiceEndpointIds(int index) { - if (serviceEndpointIdsBuilder_ == null) { - ensureServiceEndpointIdsIsMutable(); - serviceEndpointIds_.remove(index); - onChanged(); + result.endpointType_ = endpointType_; + if (((bitField0_ & 0x00000001) != 0)) { + kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.kpiSampleTypes_ = kpiSampleTypes_; + if (endpointLocationBuilder_ == null) { + result.endpointLocation_ = endpointLocation_; } else { - serviceEndpointIdsBuilder_.remove(index); + result.endpointLocation_ = endpointLocationBuilder_.build(); } - return this; + onBuilt(); + return result; } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId.Builder getServiceEndpointIdsBuilder( - int index) { - return getServiceEndpointIdsFieldBuilder().getBuilder(index); + + @java.lang.Override + public Builder clone() { + return super.clone(); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointIdOrBuilder getServiceEndpointIdsOrBuilder( - int index) { - if (serviceEndpointIdsBuilder_ == null) { - return serviceEndpointIds_.get(index); } else { - return serviceEndpointIdsBuilder_.getMessageOrBuilder(index); - } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public java.util.List - getServiceEndpointIdsOrBuilderList() { - if (serviceEndpointIdsBuilder_ != null) { - return serviceEndpointIdsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(serviceEndpointIds_); - } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId.Builder addServiceEndpointIdsBuilder() { - return getServiceEndpointIdsFieldBuilder().addBuilder( - context.ContextOuterClass.EndPointId.getDefaultInstance()); + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId.Builder addServiceEndpointIdsBuilder( - int index) { - return getServiceEndpointIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.EndPointId.getDefaultInstance()); + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); } - /** - * repeated .context.EndPointId service_endpoint_ids = 3; - */ - public java.util.List - getServiceEndpointIdsBuilderList() { - return getServiceEndpointIdsFieldBuilder().getBuilderList(); + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> - getServiceEndpointIdsFieldBuilder() { - if (serviceEndpointIdsBuilder_ == null) { - serviceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( - serviceEndpointIds_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - serviceEndpointIds_ = null; + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.EndPoint) { + return mergeFrom((context.ContextOuterClass.EndPoint)other); + } else { + super.mergeFrom(other); + return this; } - return serviceEndpointIdsBuilder_; } - private java.util.List serviceConstraints_ = - java.util.Collections.emptyList(); - private void ensureServiceConstraintsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - serviceConstraints_ = new java.util.ArrayList(serviceConstraints_); - bitField0_ |= 0x00000002; - } + public Builder mergeFrom(context.ContextOuterClass.EndPoint other) { + if (other == context.ContextOuterClass.EndPoint.getDefaultInstance()) return this; + if (other.hasEndpointId()) { + mergeEndpointId(other.getEndpointId()); + } + if (!other.getEndpointType().isEmpty()) { + endpointType_ = other.endpointType_; + onChanged(); + } + if (!other.kpiSampleTypes_.isEmpty()) { + if (kpiSampleTypes_.isEmpty()) { + kpiSampleTypes_ = other.kpiSampleTypes_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKpiSampleTypesIsMutable(); + kpiSampleTypes_.addAll(other.kpiSampleTypes_); + } + onChanged(); + } + if (other.hasEndpointLocation()) { + mergeEndpointLocation(other.getEndpointLocation()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder> serviceConstraintsBuilder_; + @java.lang.Override + public final boolean isInitialized() { + return true; + } - /** - * repeated .context.Constraint service_constraints = 4; - */ - public java.util.List getServiceConstraintsList() { - if (serviceConstraintsBuilder_ == null) { - return java.util.Collections.unmodifiableList(serviceConstraints_); - } else { - return serviceConstraintsBuilder_.getMessageList(); + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.EndPoint parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.EndPoint) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } + return this; } + private int bitField0_; + + private context.ContextOuterClass.EndPointId endpointId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> endpointIdBuilder_; /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - public int getServiceConstraintsCount() { - if (serviceConstraintsBuilder_ == null) { - return serviceConstraints_.size(); - } else { - return serviceConstraintsBuilder_.getCount(); - } + public boolean hasEndpointId() { + return endpointIdBuilder_ != null || endpointId_ != null; } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - public context.ContextOuterClass.Constraint getServiceConstraints(int index) { - if (serviceConstraintsBuilder_ == null) { - return serviceConstraints_.get(index); + public context.ContextOuterClass.EndPointId getEndpointId() { + if (endpointIdBuilder_ == null) { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } else { - return serviceConstraintsBuilder_.getMessage(index); + return endpointIdBuilder_.getMessage(); } } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder setServiceConstraints( - int index, context.ContextOuterClass.Constraint value) { - if (serviceConstraintsBuilder_ == null) { + public Builder setEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureServiceConstraintsIsMutable(); - serviceConstraints_.set(index, value); + endpointId_ = value; onChanged(); } else { - serviceConstraintsBuilder_.setMessage(index, value); + endpointIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder setServiceConstraints( - int index, context.ContextOuterClass.Constraint.Builder builderForValue) { - if (serviceConstraintsBuilder_ == null) { - ensureServiceConstraintsIsMutable(); - serviceConstraints_.set(index, builderForValue.build()); + public Builder setEndpointId( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (endpointIdBuilder_ == null) { + endpointId_ = builderForValue.build(); onChanged(); } else { - serviceConstraintsBuilder_.setMessage(index, builderForValue.build()); + endpointIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder addServiceConstraints(context.ContextOuterClass.Constraint value) { - if (serviceConstraintsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { + if (endpointId_ != null) { + endpointId_ = + context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); + } else { + endpointId_ = value; } - ensureServiceConstraintsIsMutable(); - serviceConstraints_.add(value); onChanged(); } else { - serviceConstraintsBuilder_.addMessage(value); + endpointIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder addServiceConstraints( - int index, context.ContextOuterClass.Constraint value) { - if (serviceConstraintsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServiceConstraintsIsMutable(); - serviceConstraints_.add(index, value); + public Builder clearEndpointId() { + if (endpointIdBuilder_ == null) { + endpointId_ = null; onChanged(); } else { - serviceConstraintsBuilder_.addMessage(index, value); + endpointId_ = null; + endpointIdBuilder_ = null; } + return this; } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder addServiceConstraints( - context.ContextOuterClass.Constraint.Builder builderForValue) { - if (serviceConstraintsBuilder_ == null) { - ensureServiceConstraintsIsMutable(); - serviceConstraints_.add(builderForValue.build()); - onChanged(); - } else { - serviceConstraintsBuilder_.addMessage(builderForValue.build()); - } - return this; + public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { + + onChanged(); + return getEndpointIdFieldBuilder().getBuilder(); } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder addServiceConstraints( - int index, context.ContextOuterClass.Constraint.Builder builderForValue) { - if (serviceConstraintsBuilder_ == null) { - ensureServiceConstraintsIsMutable(); - serviceConstraints_.add(index, builderForValue.build()); - onChanged(); + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + if (endpointIdBuilder_ != null) { + return endpointIdBuilder_.getMessageOrBuilder(); } else { - serviceConstraintsBuilder_.addMessage(index, builderForValue.build()); + return endpointId_ == null ? + context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } - return this; } /** - * repeated .context.Constraint service_constraints = 4; + * .context.EndPointId endpoint_id = 1; */ - public Builder addAllServiceConstraints( - java.lang.Iterable values) { - if (serviceConstraintsBuilder_ == null) { - ensureServiceConstraintsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, serviceConstraints_); - onChanged(); - } else { - serviceConstraintsBuilder_.addAllMessages(values); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getEndpointIdFieldBuilder() { + if (endpointIdBuilder_ == null) { + endpointIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + getEndpointId(), + getParentForChildren(), + isClean()); + endpointId_ = null; } - return this; + return endpointIdBuilder_; } + + private java.lang.Object endpointType_ = ""; /** - * repeated .context.Constraint service_constraints = 4; + * string endpoint_type = 2; + * @return The endpointType. */ - public Builder clearServiceConstraints() { - if (serviceConstraintsBuilder_ == null) { - serviceConstraints_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); + public java.lang.String getEndpointType() { + java.lang.Object ref = endpointType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + endpointType_ = s; + return s; } else { - serviceConstraintsBuilder_.clear(); + return (java.lang.String) ref; } - return this; } /** - * repeated .context.Constraint service_constraints = 4; + * string endpoint_type = 2; + * @return The bytes for endpointType. */ - public Builder removeServiceConstraints(int index) { - if (serviceConstraintsBuilder_ == null) { - ensureServiceConstraintsIsMutable(); - serviceConstraints_.remove(index); - onChanged(); + public com.google.protobuf.ByteString + getEndpointTypeBytes() { + java.lang.Object ref = endpointType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + endpointType_ = b; + return b; } else { - serviceConstraintsBuilder_.remove(index); + return (com.google.protobuf.ByteString) ref; } - return this; } /** - * repeated .context.Constraint service_constraints = 4; + * string endpoint_type = 2; + * @param value The endpointType to set. + * @return This builder for chaining. */ - public context.ContextOuterClass.Constraint.Builder getServiceConstraintsBuilder( - int index) { - return getServiceConstraintsFieldBuilder().getBuilder(index); + public Builder setEndpointType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + endpointType_ = value; + onChanged(); + return this; } /** - * repeated .context.Constraint service_constraints = 4; + * string endpoint_type = 2; + * @return This builder for chaining. */ - public context.ContextOuterClass.ConstraintOrBuilder getServiceConstraintsOrBuilder( - int index) { - if (serviceConstraintsBuilder_ == null) { - return serviceConstraints_.get(index); } else { - return serviceConstraintsBuilder_.getMessageOrBuilder(index); - } + public Builder clearEndpointType() { + + endpointType_ = getDefaultInstance().getEndpointType(); + onChanged(); + return this; } /** - * repeated .context.Constraint service_constraints = 4; + * string endpoint_type = 2; + * @param value The bytes for endpointType to set. + * @return This builder for chaining. */ - public java.util.List - getServiceConstraintsOrBuilderList() { - if (serviceConstraintsBuilder_ != null) { - return serviceConstraintsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(serviceConstraints_); + public Builder setEndpointTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + endpointType_ = value; + onChanged(); + return this; + } + + private java.util.List kpiSampleTypes_ = + java.util.Collections.emptyList(); + private void ensureKpiSampleTypesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + kpiSampleTypes_ = new java.util.ArrayList(kpiSampleTypes_); + bitField0_ |= 0x00000001; } } /** - * repeated .context.Constraint service_constraints = 4; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return A list containing the kpiSampleTypes. */ - public context.ContextOuterClass.Constraint.Builder addServiceConstraintsBuilder() { - return getServiceConstraintsFieldBuilder().addBuilder( - context.ContextOuterClass.Constraint.getDefaultInstance()); + public java.util.List getKpiSampleTypesList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType>(kpiSampleTypes_, kpiSampleTypes_converter_); } /** - * repeated .context.Constraint service_constraints = 4; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return The count of kpiSampleTypes. */ - public context.ContextOuterClass.Constraint.Builder addServiceConstraintsBuilder( - int index) { - return getServiceConstraintsFieldBuilder().addBuilder( - index, context.ContextOuterClass.Constraint.getDefaultInstance()); + public int getKpiSampleTypesCount() { + return kpiSampleTypes_.size(); } /** - * repeated .context.Constraint service_constraints = 4; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the element to return. + * @return The kpiSampleTypes at the given index. */ - public java.util.List - getServiceConstraintsBuilderList() { - return getServiceConstraintsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder> - getServiceConstraintsFieldBuilder() { - if (serviceConstraintsBuilder_ == null) { - serviceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Constraint, context.ContextOuterClass.Constraint.Builder, context.ContextOuterClass.ConstraintOrBuilder>( - serviceConstraints_, - ((bitField0_ & 0x00000002) != 0), - getParentForChildren(), - isClean()); - serviceConstraints_ = null; - } - return serviceConstraintsBuilder_; + public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleTypes(int index) { + return kpiSampleTypes_converter_.convert(kpiSampleTypes_.get(index)); } - - private context.ContextOuterClass.ServiceStatus serviceStatus_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceStatus, context.ContextOuterClass.ServiceStatus.Builder, context.ContextOuterClass.ServiceStatusOrBuilder> serviceStatusBuilder_; /** - * .context.ServiceStatus service_status = 5; - * @return Whether the serviceStatus field is set. + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index to set the value at. + * @param value The kpiSampleTypes to set. + * @return This builder for chaining. */ - public boolean hasServiceStatus() { - return serviceStatusBuilder_ != null || serviceStatus_ != null; + public Builder setKpiSampleTypes( + int index, kpi_sample_types.KpiSampleTypes.KpiSampleType value) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiSampleTypesIsMutable(); + kpiSampleTypes_.set(index, value.getNumber()); + onChanged(); + return this; } /** - * .context.ServiceStatus service_status = 5; - * @return The serviceStatus. + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param value The kpiSampleTypes to add. + * @return This builder for chaining. */ - public context.ContextOuterClass.ServiceStatus getServiceStatus() { - if (serviceStatusBuilder_ == null) { - return serviceStatus_ == null ? context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_; - } else { - return serviceStatusBuilder_.getMessage(); + public Builder addKpiSampleTypes(kpi_sample_types.KpiSampleTypes.KpiSampleType value) { + if (value == null) { + throw new NullPointerException(); } + ensureKpiSampleTypesIsMutable(); + kpiSampleTypes_.add(value.getNumber()); + onChanged(); + return this; } /** - * .context.ServiceStatus service_status = 5; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param values The kpiSampleTypes to add. + * @return This builder for chaining. */ - public Builder setServiceStatus(context.ContextOuterClass.ServiceStatus value) { - if (serviceStatusBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - serviceStatus_ = value; - onChanged(); - } else { - serviceStatusBuilder_.setMessage(value); + public Builder addAllKpiSampleTypes( + java.lang.Iterable values) { + ensureKpiSampleTypesIsMutable(); + for (kpi_sample_types.KpiSampleTypes.KpiSampleType value : values) { + kpiSampleTypes_.add(value.getNumber()); } - + onChanged(); return this; } /** - * .context.ServiceStatus service_status = 5; - */ - public Builder setServiceStatus( - context.ContextOuterClass.ServiceStatus.Builder builderForValue) { - if (serviceStatusBuilder_ == null) { - serviceStatus_ = builderForValue.build(); - onChanged(); - } else { - serviceStatusBuilder_.setMessage(builderForValue.build()); - } - + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return This builder for chaining. + */ + public Builder clearKpiSampleTypes() { + kpiSampleTypes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); return this; } /** - * .context.ServiceStatus service_status = 5; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @return A list containing the enum numeric values on the wire for kpiSampleTypes. */ - public Builder mergeServiceStatus(context.ContextOuterClass.ServiceStatus value) { - if (serviceStatusBuilder_ == null) { - if (serviceStatus_ != null) { - serviceStatus_ = - context.ContextOuterClass.ServiceStatus.newBuilder(serviceStatus_).mergeFrom(value).buildPartial(); - } else { - serviceStatus_ = value; - } - onChanged(); - } else { - serviceStatusBuilder_.mergeFrom(value); - } - - return this; + public java.util.List + getKpiSampleTypesValueList() { + return java.util.Collections.unmodifiableList(kpiSampleTypes_); } /** - * .context.ServiceStatus service_status = 5; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of kpiSampleTypes at the given index. */ - public Builder clearServiceStatus() { - if (serviceStatusBuilder_ == null) { - serviceStatus_ = null; - onChanged(); - } else { - serviceStatus_ = null; - serviceStatusBuilder_ = null; - } - - return this; + public int getKpiSampleTypesValue(int index) { + return kpiSampleTypes_.get(index); } /** - * .context.ServiceStatus service_status = 5; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of kpiSampleTypes at the given index. + * @return This builder for chaining. */ - public context.ContextOuterClass.ServiceStatus.Builder getServiceStatusBuilder() { - + public Builder setKpiSampleTypesValue( + int index, int value) { + ensureKpiSampleTypesIsMutable(); + kpiSampleTypes_.set(index, value); onChanged(); - return getServiceStatusFieldBuilder().getBuilder(); + return this; } /** - * .context.ServiceStatus service_status = 5; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param value The enum numeric value on the wire for kpiSampleTypes to add. + * @return This builder for chaining. */ - public context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder() { - if (serviceStatusBuilder_ != null) { - return serviceStatusBuilder_.getMessageOrBuilder(); - } else { - return serviceStatus_ == null ? - context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_; - } + public Builder addKpiSampleTypesValue(int value) { + ensureKpiSampleTypesIsMutable(); + kpiSampleTypes_.add(value); + onChanged(); + return this; } /** - * .context.ServiceStatus service_status = 5; + * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; + * @param values The enum numeric values on the wire for kpiSampleTypes to add. + * @return This builder for chaining. */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceStatus, context.ContextOuterClass.ServiceStatus.Builder, context.ContextOuterClass.ServiceStatusOrBuilder> - getServiceStatusFieldBuilder() { - if (serviceStatusBuilder_ == null) { - serviceStatusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceStatus, context.ContextOuterClass.ServiceStatus.Builder, context.ContextOuterClass.ServiceStatusOrBuilder>( - getServiceStatus(), - getParentForChildren(), - isClean()); - serviceStatus_ = null; + public Builder addAllKpiSampleTypesValue( + java.lang.Iterable values) { + ensureKpiSampleTypesIsMutable(); + for (int value : values) { + kpiSampleTypes_.add(value); } - return serviceStatusBuilder_; + onChanged(); + return this; } - private context.ContextOuterClass.ServiceConfig serviceConfig_; + private context.ContextOuterClass.Location endpointLocation_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceConfig, context.ContextOuterClass.ServiceConfig.Builder, context.ContextOuterClass.ServiceConfigOrBuilder> serviceConfigBuilder_; + context.ContextOuterClass.Location, context.ContextOuterClass.Location.Builder, context.ContextOuterClass.LocationOrBuilder> endpointLocationBuilder_; /** - * .context.ServiceConfig service_config = 6; - * @return Whether the serviceConfig field is set. + * .context.Location endpoint_location = 4; + * @return Whether the endpointLocation field is set. */ - public boolean hasServiceConfig() { - return serviceConfigBuilder_ != null || serviceConfig_ != null; + public boolean hasEndpointLocation() { + return endpointLocationBuilder_ != null || endpointLocation_ != null; } /** - * .context.ServiceConfig service_config = 6; - * @return The serviceConfig. + * .context.Location endpoint_location = 4; + * @return The endpointLocation. */ - public context.ContextOuterClass.ServiceConfig getServiceConfig() { - if (serviceConfigBuilder_ == null) { - return serviceConfig_ == null ? context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_; + public context.ContextOuterClass.Location getEndpointLocation() { + if (endpointLocationBuilder_ == null) { + return endpointLocation_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : endpointLocation_; } else { - return serviceConfigBuilder_.getMessage(); + return endpointLocationBuilder_.getMessage(); } } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ - public Builder setServiceConfig(context.ContextOuterClass.ServiceConfig value) { - if (serviceConfigBuilder_ == null) { + public Builder setEndpointLocation(context.ContextOuterClass.Location value) { + if (endpointLocationBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - serviceConfig_ = value; + endpointLocation_ = value; onChanged(); } else { - serviceConfigBuilder_.setMessage(value); + endpointLocationBuilder_.setMessage(value); } return this; } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ - public Builder setServiceConfig( - context.ContextOuterClass.ServiceConfig.Builder builderForValue) { - if (serviceConfigBuilder_ == null) { - serviceConfig_ = builderForValue.build(); + public Builder setEndpointLocation( + context.ContextOuterClass.Location.Builder builderForValue) { + if (endpointLocationBuilder_ == null) { + endpointLocation_ = builderForValue.build(); onChanged(); } else { - serviceConfigBuilder_.setMessage(builderForValue.build()); + endpointLocationBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ - public Builder mergeServiceConfig(context.ContextOuterClass.ServiceConfig value) { - if (serviceConfigBuilder_ == null) { - if (serviceConfig_ != null) { - serviceConfig_ = - context.ContextOuterClass.ServiceConfig.newBuilder(serviceConfig_).mergeFrom(value).buildPartial(); + public Builder mergeEndpointLocation(context.ContextOuterClass.Location value) { + if (endpointLocationBuilder_ == null) { + if (endpointLocation_ != null) { + endpointLocation_ = + context.ContextOuterClass.Location.newBuilder(endpointLocation_).mergeFrom(value).buildPartial(); } else { - serviceConfig_ = value; + endpointLocation_ = value; } onChanged(); } else { - serviceConfigBuilder_.mergeFrom(value); + endpointLocationBuilder_.mergeFrom(value); } return this; } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ - public Builder clearServiceConfig() { - if (serviceConfigBuilder_ == null) { - serviceConfig_ = null; + public Builder clearEndpointLocation() { + if (endpointLocationBuilder_ == null) { + endpointLocation_ = null; onChanged(); } else { - serviceConfig_ = null; - serviceConfigBuilder_ = null; + endpointLocation_ = null; + endpointLocationBuilder_ = null; } return this; } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ - public context.ContextOuterClass.ServiceConfig.Builder getServiceConfigBuilder() { + public context.ContextOuterClass.Location.Builder getEndpointLocationBuilder() { onChanged(); - return getServiceConfigFieldBuilder().getBuilder(); + return getEndpointLocationFieldBuilder().getBuilder(); } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ - public context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder() { - if (serviceConfigBuilder_ != null) { - return serviceConfigBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.LocationOrBuilder getEndpointLocationOrBuilder() { + if (endpointLocationBuilder_ != null) { + return endpointLocationBuilder_.getMessageOrBuilder(); } else { - return serviceConfig_ == null ? - context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_; + return endpointLocation_ == null ? + context.ContextOuterClass.Location.getDefaultInstance() : endpointLocation_; } } /** - * .context.ServiceConfig service_config = 6; + * .context.Location endpoint_location = 4; */ private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceConfig, context.ContextOuterClass.ServiceConfig.Builder, context.ContextOuterClass.ServiceConfigOrBuilder> - getServiceConfigFieldBuilder() { - if (serviceConfigBuilder_ == null) { - serviceConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceConfig, context.ContextOuterClass.ServiceConfig.Builder, context.ContextOuterClass.ServiceConfigOrBuilder>( - getServiceConfig(), + context.ContextOuterClass.Location, context.ContextOuterClass.Location.Builder, context.ContextOuterClass.LocationOrBuilder> + getEndpointLocationFieldBuilder() { + if (endpointLocationBuilder_ == null) { + endpointLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Location, context.ContextOuterClass.Location.Builder, context.ContextOuterClass.LocationOrBuilder>( + getEndpointLocation(), getParentForChildren(), isClean()); - serviceConfig_ = null; + endpointLocation_ = null; } - return serviceConfigBuilder_; + return endpointLocationBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -23885,82 +48771,96 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.Service) + // @@protoc_insertion_point(builder_scope:context.EndPoint) } - // @@protoc_insertion_point(class_scope:context.Service) - private static final context.ContextOuterClass.Service DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.EndPoint) + private static final context.ContextOuterClass.EndPoint DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.Service(); + DEFAULT_INSTANCE = new context.ContextOuterClass.EndPoint(); } - public static context.ContextOuterClass.Service getDefaultInstance() { + public static context.ContextOuterClass.EndPoint getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Service parsePartialFrom( + public EndPoint parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Service(input, extensionRegistry); + return new EndPoint(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.Service getDefaultInstanceForType() { + public context.ContextOuterClass.EndPoint getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceStatusOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ServiceStatus) + public interface ConfigRule_CustomOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConfigRule_Custom) com.google.protobuf.MessageOrBuilder { /** - * .context.ServiceStatusEnum service_status = 1; - * @return The enum numeric value on the wire for serviceStatus. + * string resource_key = 1; + * @return The resourceKey. */ - int getServiceStatusValue(); + java.lang.String getResourceKey(); /** - * .context.ServiceStatusEnum service_status = 1; - * @return The serviceStatus. + * string resource_key = 1; + * @return The bytes for resourceKey. */ - context.ContextOuterClass.ServiceStatusEnum getServiceStatus(); + com.google.protobuf.ByteString + getResourceKeyBytes(); + + /** + * string resource_value = 2; + * @return The resourceValue. + */ + java.lang.String getResourceValue(); + /** + * string resource_value = 2; + * @return The bytes for resourceValue. + */ + com.google.protobuf.ByteString + getResourceValueBytes(); } /** - * Protobuf type {@code context.ServiceStatus} + * Protobuf type {@code context.ConfigRule_Custom} */ - public static final class ServiceStatus extends + public static final class ConfigRule_Custom extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ServiceStatus) - ServiceStatusOrBuilder { + // @@protoc_insertion_point(message_implements:context.ConfigRule_Custom) + ConfigRule_CustomOrBuilder { private static final long serialVersionUID = 0L; - // Use ServiceStatus.newBuilder() to construct. - private ServiceStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ConfigRule_Custom.newBuilder() to construct. + private ConfigRule_Custom(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ServiceStatus() { - serviceStatus_ = 0; + private ConfigRule_Custom() { + resourceKey_ = ""; + resourceValue_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ServiceStatus(); + return new ConfigRule_Custom(); } @java.lang.Override @@ -23968,7 +48868,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ServiceStatus( + private ConfigRule_Custom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -23986,10 +48886,16 @@ public final class ContextOuterClass { case 0: done = true; break; - case 8: { - int rawValue = input.readEnum(); + case 10: { + java.lang.String s = input.readStringRequireUtf8(); - serviceStatus_ = rawValue; + resourceKey_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + resourceValue_ = s; break; } default: { @@ -24013,34 +48919,91 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceStatus_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceStatus.class, context.ContextOuterClass.ServiceStatus.Builder.class); + context.ContextOuterClass.ConfigRule_Custom.class, context.ContextOuterClass.ConfigRule_Custom.Builder.class); } - public static final int SERVICE_STATUS_FIELD_NUMBER = 1; - private int serviceStatus_; + public static final int RESOURCE_KEY_FIELD_NUMBER = 1; + private volatile java.lang.Object resourceKey_; /** - * .context.ServiceStatusEnum service_status = 1; - * @return The enum numeric value on the wire for serviceStatus. + * string resource_key = 1; + * @return The resourceKey. */ - @java.lang.Override public int getServiceStatusValue() { - return serviceStatus_; + @java.lang.Override + public java.lang.String getResourceKey() { + java.lang.Object ref = resourceKey_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceKey_ = s; + return s; + } } /** - * .context.ServiceStatusEnum service_status = 1; - * @return The serviceStatus. + * string resource_key = 1; + * @return The bytes for resourceKey. */ - @java.lang.Override public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_); - return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result; + @java.lang.Override + public com.google.protobuf.ByteString + getResourceKeyBytes() { + java.lang.Object ref = resourceKey_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RESOURCE_VALUE_FIELD_NUMBER = 2; + private volatile java.lang.Object resourceValue_; + /** + * string resource_value = 2; + * @return The resourceValue. + */ + @java.lang.Override + public java.lang.String getResourceValue() { + java.lang.Object ref = resourceValue_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceValue_ = s; + return s; + } + } + /** + * string resource_value = 2; + * @return The bytes for resourceValue. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getResourceValueBytes() { + java.lang.Object ref = resourceValue_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceValue_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } private byte memoizedIsInitialized = -1; @@ -24057,8 +49020,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) { - output.writeEnum(1, serviceStatus_); + if (!getResourceKeyBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, resourceKey_); + } + if (!getResourceValueBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceValue_); } unknownFields.writeTo(output); } @@ -24069,9 +49035,11 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, serviceStatus_); + if (!getResourceKeyBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, resourceKey_); + } + if (!getResourceValueBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceValue_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -24083,12 +49051,15 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ServiceStatus)) { + if (!(obj instanceof context.ContextOuterClass.ConfigRule_Custom)) { return super.equals(obj); } - context.ContextOuterClass.ServiceStatus other = (context.ContextOuterClass.ServiceStatus) obj; + context.ContextOuterClass.ConfigRule_Custom other = (context.ContextOuterClass.ConfigRule_Custom) obj; - if (serviceStatus_ != other.serviceStatus_) return false; + if (!getResourceKey() + .equals(other.getResourceKey())) return false; + if (!getResourceValue() + .equals(other.getResourceValue())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -24100,76 +49071,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + SERVICE_STATUS_FIELD_NUMBER; - hash = (53 * hash) + serviceStatus_; + hash = (37 * hash) + RESOURCE_KEY_FIELD_NUMBER; + hash = (53 * hash) + getResourceKey().hashCode(); + hash = (37 * hash) + RESOURCE_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getResourceValue().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceStatus parseFrom(byte[] data) + public static context.ContextOuterClass.ConfigRule_Custom parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceStatus parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ConfigRule_Custom parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceStatus parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ConfigRule_Custom parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceStatus parseDelimitedFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceStatus parseFrom( + public static context.ContextOuterClass.ConfigRule_Custom parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -24182,7 +49155,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ServiceStatus prototype) { + public static Builder newBuilder(context.ContextOuterClass.ConfigRule_Custom prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -24198,26 +49171,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ServiceStatus} + * Protobuf type {@code context.ConfigRule_Custom} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ServiceStatus) - context.ContextOuterClass.ServiceStatusOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ConfigRule_Custom) + context.ContextOuterClass.ConfigRule_CustomOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceStatus_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceStatus.class, context.ContextOuterClass.ServiceStatus.Builder.class); + context.ContextOuterClass.ConfigRule_Custom.class, context.ContextOuterClass.ConfigRule_Custom.Builder.class); } - // Construct using context.ContextOuterClass.ServiceStatus.newBuilder() + // Construct using context.ContextOuterClass.ConfigRule_Custom.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -24235,7 +49208,9 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - serviceStatus_ = 0; + resourceKey_ = ""; + + resourceValue_ = ""; return this; } @@ -24243,17 +49218,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_descriptor; } @java.lang.Override - public context.ContextOuterClass.ServiceStatus getDefaultInstanceForType() { - return context.ContextOuterClass.ServiceStatus.getDefaultInstance(); + public context.ContextOuterClass.ConfigRule_Custom getDefaultInstanceForType() { + return context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ServiceStatus build() { - context.ContextOuterClass.ServiceStatus result = buildPartial(); + public context.ContextOuterClass.ConfigRule_Custom build() { + context.ContextOuterClass.ConfigRule_Custom result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -24261,9 +49236,10 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ServiceStatus buildPartial() { - context.ContextOuterClass.ServiceStatus result = new context.ContextOuterClass.ServiceStatus(this); - result.serviceStatus_ = serviceStatus_; + public context.ContextOuterClass.ConfigRule_Custom buildPartial() { + context.ContextOuterClass.ConfigRule_Custom result = new context.ContextOuterClass.ConfigRule_Custom(this); + result.resourceKey_ = resourceKey_; + result.resourceValue_ = resourceValue_; onBuilt(); return result; } @@ -24302,18 +49278,23 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ServiceStatus) { - return mergeFrom((context.ContextOuterClass.ServiceStatus)other); + if (other instanceof context.ContextOuterClass.ConfigRule_Custom) { + return mergeFrom((context.ContextOuterClass.ConfigRule_Custom)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ServiceStatus other) { - if (other == context.ContextOuterClass.ServiceStatus.getDefaultInstance()) return this; - if (other.serviceStatus_ != 0) { - setServiceStatusValue(other.getServiceStatusValue()); + public Builder mergeFrom(context.ContextOuterClass.ConfigRule_Custom other) { + if (other == context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance()) return this; + if (!other.getResourceKey().isEmpty()) { + resourceKey_ = other.resourceKey_; + onChanged(); + } + if (!other.getResourceValue().isEmpty()) { + resourceValue_ = other.resourceValue_; + onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -24330,11 +49311,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ServiceStatus parsedMessage = null; + context.ContextOuterClass.ConfigRule_Custom parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ServiceStatus) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ConfigRule_Custom) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -24344,56 +49325,154 @@ public final class ContextOuterClass { return this; } - private int serviceStatus_ = 0; + private java.lang.Object resourceKey_ = ""; /** - * .context.ServiceStatusEnum service_status = 1; - * @return The enum numeric value on the wire for serviceStatus. + * string resource_key = 1; + * @return The resourceKey. */ - @java.lang.Override public int getServiceStatusValue() { - return serviceStatus_; + public java.lang.String getResourceKey() { + java.lang.Object ref = resourceKey_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceKey_ = s; + return s; + } else { + return (java.lang.String) ref; + } } /** - * .context.ServiceStatusEnum service_status = 1; - * @param value The enum numeric value on the wire for serviceStatus to set. + * string resource_key = 1; + * @return The bytes for resourceKey. + */ + public com.google.protobuf.ByteString + getResourceKeyBytes() { + java.lang.Object ref = resourceKey_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceKey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string resource_key = 1; + * @param value The resourceKey to set. * @return This builder for chaining. */ - public Builder setServiceStatusValue(int value) { - - serviceStatus_ = value; + public Builder setResourceKey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceKey_ = value; onChanged(); return this; } /** - * .context.ServiceStatusEnum service_status = 1; - * @return The serviceStatus. + * string resource_key = 1; + * @return This builder for chaining. */ - @java.lang.Override - public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_); - return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result; + public Builder clearResourceKey() { + + resourceKey_ = getDefaultInstance().getResourceKey(); + onChanged(); + return this; } /** - * .context.ServiceStatusEnum service_status = 1; - * @param value The serviceStatus to set. + * string resource_key = 1; + * @param value The bytes for resourceKey to set. * @return This builder for chaining. */ - public Builder setServiceStatus(context.ContextOuterClass.ServiceStatusEnum value) { + public Builder setResourceKeyBytes( + com.google.protobuf.ByteString value) { if (value == null) { - throw new NullPointerException(); + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + resourceKey_ = value; + onChanged(); + return this; + } + + private java.lang.Object resourceValue_ = ""; + /** + * string resource_value = 2; + * @return The resourceValue. + */ + public java.lang.String getResourceValue() { + java.lang.Object ref = resourceValue_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resourceValue_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string resource_value = 2; + * @return The bytes for resourceValue. + */ + public com.google.protobuf.ByteString + getResourceValueBytes() { + java.lang.Object ref = resourceValue_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + resourceValue_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; } + } + /** + * string resource_value = 2; + * @param value The resourceValue to set. + * @return This builder for chaining. + */ + public Builder setResourceValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceValue_ = value; + onChanged(); + return this; + } + /** + * string resource_value = 2; + * @return This builder for chaining. + */ + public Builder clearResourceValue() { - serviceStatus_ = value.getNumber(); + resourceValue_ = getDefaultInstance().getResourceValue(); onChanged(); return this; } /** - * .context.ServiceStatusEnum service_status = 1; + * string resource_value = 2; + * @param value The bytes for resourceValue to set. * @return This builder for chaining. */ - public Builder clearServiceStatus() { + public Builder setResourceValueBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); - serviceStatus_ = 0; + resourceValue_ = value; onChanged(); return this; } @@ -24410,95 +49489,100 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ServiceStatus) + // @@protoc_insertion_point(builder_scope:context.ConfigRule_Custom) } - // @@protoc_insertion_point(class_scope:context.ServiceStatus) - private static final context.ContextOuterClass.ServiceStatus DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.ConfigRule_Custom) + private static final context.ContextOuterClass.ConfigRule_Custom DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceStatus(); + DEFAULT_INSTANCE = new context.ContextOuterClass.ConfigRule_Custom(); } - public static context.ContextOuterClass.ServiceStatus getDefaultInstance() { + public static context.ContextOuterClass.ConfigRule_Custom getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ServiceStatus parsePartialFrom( + public ConfigRule_Custom parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ServiceStatus(input, extensionRegistry); + return new ConfigRule_Custom(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ServiceStatus getDefaultInstanceForType() { + public context.ContextOuterClass.ConfigRule_Custom getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceConfigOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ServiceConfig) + public interface ConfigRule_ACLOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConfigRule_ACL) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - java.util.List - getConfigRulesList(); + boolean hasEndpointId(); /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - context.ContextOuterClass.ConfigRule getConfigRules(int index); + context.ContextOuterClass.EndPointId getEndpointId(); /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - int getConfigRulesCount(); + context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder(); + /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; + * @return Whether the ruleSet field is set. */ - java.util.List - getConfigRulesOrBuilderList(); + boolean hasRuleSet(); /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; + * @return The ruleSet. */ - context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( - int index); + acl.Acl.AclRuleSet getRuleSet(); + /** + * .acl.AclRuleSet rule_set = 2; + */ + acl.Acl.AclRuleSetOrBuilder getRuleSetOrBuilder(); } /** - * Protobuf type {@code context.ServiceConfig} + * Protobuf type {@code context.ConfigRule_ACL} */ - public static final class ServiceConfig extends + public static final class ConfigRule_ACL extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ServiceConfig) - ServiceConfigOrBuilder { + // @@protoc_insertion_point(message_implements:context.ConfigRule_ACL) + ConfigRule_ACLOrBuilder { private static final long serialVersionUID = 0L; - // Use ServiceConfig.newBuilder() to construct. - private ServiceConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ConfigRule_ACL.newBuilder() to construct. + private ConfigRule_ACL(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ServiceConfig() { - configRules_ = java.util.Collections.emptyList(); + private ConfigRule_ACL() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ServiceConfig(); + return new ConfigRule_ACL(); } @java.lang.Override @@ -24506,7 +49590,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ServiceConfig( + private ConfigRule_ACL( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -24514,7 +49598,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -24526,12 +49609,29 @@ public final class ContextOuterClass { done = true; break; case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - configRules_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + context.ContextOuterClass.EndPointId.Builder subBuilder = null; + if (endpointId_ != null) { + subBuilder = endpointId_.toBuilder(); } - configRules_.add( - input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry)); + endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointId_); + endpointId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + acl.Acl.AclRuleSet.Builder subBuilder = null; + if (ruleSet_ != null) { + subBuilder = ruleSet_.toBuilder(); + } + ruleSet_ = input.readMessage(acl.Acl.AclRuleSet.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(ruleSet_); + ruleSet_ = subBuilder.buildPartial(); + } + break; } default: { @@ -24549,64 +49649,73 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - configRules_ = java.util.Collections.unmodifiableList(configRules_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceConfig_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceConfig.class, context.ContextOuterClass.ServiceConfig.Builder.class); + context.ContextOuterClass.ConfigRule_ACL.class, context.ContextOuterClass.ConfigRule_ACL.Builder.class); } - public static final int CONFIG_RULES_FIELD_NUMBER = 1; - private java.util.List configRules_; + public static final int ENDPOINT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.EndPointId endpointId_; /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ @java.lang.Override - public java.util.List getConfigRulesList() { - return configRules_; + public boolean hasEndpointId() { + return endpointId_ != null; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ @java.lang.Override - public java.util.List - getConfigRulesOrBuilderList() { - return configRules_; + public context.ContextOuterClass.EndPointId getEndpointId() { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ @java.lang.Override - public int getConfigRulesCount() { - return configRules_.size(); + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + return getEndpointId(); } + + public static final int RULE_SET_FIELD_NUMBER = 2; + private acl.Acl.AclRuleSet ruleSet_; /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; + * @return Whether the ruleSet field is set. */ @java.lang.Override - public context.ContextOuterClass.ConfigRule getConfigRules(int index) { - return configRules_.get(index); + public boolean hasRuleSet() { + return ruleSet_ != null; } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; + * @return The ruleSet. */ @java.lang.Override - public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( - int index) { - return configRules_.get(index); + public acl.Acl.AclRuleSet getRuleSet() { + return ruleSet_ == null ? acl.Acl.AclRuleSet.getDefaultInstance() : ruleSet_; + } + /** + * .acl.AclRuleSet rule_set = 2; + */ + @java.lang.Override + public acl.Acl.AclRuleSetOrBuilder getRuleSetOrBuilder() { + return getRuleSet(); } private byte memoizedIsInitialized = -1; @@ -24623,8 +49732,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < configRules_.size(); i++) { - output.writeMessage(1, configRules_.get(i)); + if (endpointId_ != null) { + output.writeMessage(1, getEndpointId()); + } + if (ruleSet_ != null) { + output.writeMessage(2, getRuleSet()); } unknownFields.writeTo(output); } @@ -24635,9 +49747,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < configRules_.size(); i++) { + if (endpointId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, configRules_.get(i)); + .computeMessageSize(1, getEndpointId()); + } + if (ruleSet_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getRuleSet()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -24649,13 +49765,21 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ServiceConfig)) { + if (!(obj instanceof context.ContextOuterClass.ConfigRule_ACL)) { return super.equals(obj); } - context.ContextOuterClass.ServiceConfig other = (context.ContextOuterClass.ServiceConfig) obj; + context.ContextOuterClass.ConfigRule_ACL other = (context.ContextOuterClass.ConfigRule_ACL) obj; - if (!getConfigRulesList() - .equals(other.getConfigRulesList())) return false; + if (hasEndpointId() != other.hasEndpointId()) return false; + if (hasEndpointId()) { + if (!getEndpointId() + .equals(other.getEndpointId())) return false; + } + if (hasRuleSet() != other.hasRuleSet()) return false; + if (hasRuleSet()) { + if (!getRuleSet() + .equals(other.getRuleSet())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -24667,78 +49791,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getConfigRulesCount() > 0) { - hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER; - hash = (53 * hash) + getConfigRulesList().hashCode(); + if (hasEndpointId()) { + hash = (37 * hash) + ENDPOINT_ID_FIELD_NUMBER; + hash = (53 * hash) + getEndpointId().hashCode(); + } + if (hasRuleSet()) { + hash = (37 * hash) + RULE_SET_FIELD_NUMBER; + hash = (53 * hash) + getRuleSet().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceConfig parseFrom(byte[] data) + public static context.ContextOuterClass.ConfigRule_ACL parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceConfig parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ConfigRule_ACL parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceConfig parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ConfigRule_ACL parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceConfig parseDelimitedFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceConfig parseFrom( + public static context.ContextOuterClass.ConfigRule_ACL parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -24751,7 +49879,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ServiceConfig prototype) { + public static Builder newBuilder(context.ContextOuterClass.ConfigRule_ACL prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -24767,26 +49895,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ServiceConfig} + * Protobuf type {@code context.ConfigRule_ACL} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ServiceConfig) - context.ContextOuterClass.ServiceConfigOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ConfigRule_ACL) + context.ContextOuterClass.ConfigRule_ACLOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceConfig_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceConfig.class, context.ContextOuterClass.ServiceConfig.Builder.class); + context.ContextOuterClass.ConfigRule_ACL.class, context.ContextOuterClass.ConfigRule_ACL.Builder.class); } - // Construct using context.ContextOuterClass.ServiceConfig.newBuilder() + // Construct using context.ContextOuterClass.ConfigRule_ACL.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -24799,17 +49927,22 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getConfigRulesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (configRulesBuilder_ == null) { - configRules_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (endpointIdBuilder_ == null) { + endpointId_ = null; } else { - configRulesBuilder_.clear(); + endpointId_ = null; + endpointIdBuilder_ = null; + } + if (ruleSetBuilder_ == null) { + ruleSet_ = null; + } else { + ruleSet_ = null; + ruleSetBuilder_ = null; } return this; } @@ -24817,17 +49950,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_descriptor; } @java.lang.Override - public context.ContextOuterClass.ServiceConfig getDefaultInstanceForType() { - return context.ContextOuterClass.ServiceConfig.getDefaultInstance(); + public context.ContextOuterClass.ConfigRule_ACL getDefaultInstanceForType() { + return context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ServiceConfig build() { - context.ContextOuterClass.ServiceConfig result = buildPartial(); + public context.ContextOuterClass.ConfigRule_ACL build() { + context.ContextOuterClass.ConfigRule_ACL result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -24835,17 +49968,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ServiceConfig buildPartial() { - context.ContextOuterClass.ServiceConfig result = new context.ContextOuterClass.ServiceConfig(this); - int from_bitField0_ = bitField0_; - if (configRulesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - configRules_ = java.util.Collections.unmodifiableList(configRules_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.configRules_ = configRules_; + public context.ContextOuterClass.ConfigRule_ACL buildPartial() { + context.ContextOuterClass.ConfigRule_ACL result = new context.ContextOuterClass.ConfigRule_ACL(this); + if (endpointIdBuilder_ == null) { + result.endpointId_ = endpointId_; } else { - result.configRules_ = configRulesBuilder_.build(); + result.endpointId_ = endpointIdBuilder_.build(); + } + if (ruleSetBuilder_ == null) { + result.ruleSet_ = ruleSet_; + } else { + result.ruleSet_ = ruleSetBuilder_.build(); } onBuilt(); return result; @@ -24885,41 +50018,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ServiceConfig) { - return mergeFrom((context.ContextOuterClass.ServiceConfig)other); + if (other instanceof context.ContextOuterClass.ConfigRule_ACL) { + return mergeFrom((context.ContextOuterClass.ConfigRule_ACL)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ServiceConfig other) { - if (other == context.ContextOuterClass.ServiceConfig.getDefaultInstance()) return this; - if (configRulesBuilder_ == null) { - if (!other.configRules_.isEmpty()) { - if (configRules_.isEmpty()) { - configRules_ = other.configRules_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureConfigRulesIsMutable(); - configRules_.addAll(other.configRules_); - } - onChanged(); - } - } else { - if (!other.configRules_.isEmpty()) { - if (configRulesBuilder_.isEmpty()) { - configRulesBuilder_.dispose(); - configRulesBuilder_ = null; - configRules_ = other.configRules_; - bitField0_ = (bitField0_ & ~0x00000001); - configRulesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getConfigRulesFieldBuilder() : null; - } else { - configRulesBuilder_.addAllMessages(other.configRules_); - } - } + public Builder mergeFrom(context.ContextOuterClass.ConfigRule_ACL other) { + if (other == context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance()) return this; + if (other.hasEndpointId()) { + mergeEndpointId(other.getEndpointId()); + } + if (other.hasRuleSet()) { + mergeRuleSet(other.getRuleSet()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -24936,11 +50049,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ServiceConfig parsedMessage = null; + context.ContextOuterClass.ConfigRule_ACL parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ServiceConfig) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ConfigRule_ACL) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -24949,246 +50062,243 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private java.util.List configRules_ = - java.util.Collections.emptyList(); - private void ensureConfigRulesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - configRules_ = new java.util.ArrayList(configRules_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> configRulesBuilder_; + private context.ContextOuterClass.EndPointId endpointId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> endpointIdBuilder_; /** - * repeated .context.ConfigRule config_rules = 1; - */ - public java.util.List getConfigRulesList() { - if (configRulesBuilder_ == null) { - return java.util.Collections.unmodifiableList(configRules_); - } else { - return configRulesBuilder_.getMessageList(); - } - } - /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - public int getConfigRulesCount() { - if (configRulesBuilder_ == null) { - return configRules_.size(); - } else { - return configRulesBuilder_.getCount(); - } + public boolean hasEndpointId() { + return endpointIdBuilder_ != null || endpointId_ != null; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - public context.ContextOuterClass.ConfigRule getConfigRules(int index) { - if (configRulesBuilder_ == null) { - return configRules_.get(index); + public context.ContextOuterClass.EndPointId getEndpointId() { + if (endpointIdBuilder_ == null) { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } else { - return configRulesBuilder_.getMessage(index); + return endpointIdBuilder_.getMessage(); } } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder setConfigRules( - int index, context.ContextOuterClass.ConfigRule value) { - if (configRulesBuilder_ == null) { + public Builder setEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureConfigRulesIsMutable(); - configRules_.set(index, value); + endpointId_ = value; onChanged(); } else { - configRulesBuilder_.setMessage(index, value); + endpointIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder setConfigRules( - int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.set(index, builderForValue.build()); + public Builder setEndpointId( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (endpointIdBuilder_ == null) { + endpointId_ = builderForValue.build(); onChanged(); } else { - configRulesBuilder_.setMessage(index, builderForValue.build()); + endpointIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConfigRules(context.ContextOuterClass.ConfigRule value) { - if (configRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { + if (endpointId_ != null) { + endpointId_ = + context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); + } else { + endpointId_ = value; } - ensureConfigRulesIsMutable(); - configRules_.add(value); onChanged(); } else { - configRulesBuilder_.addMessage(value); + endpointIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConfigRules( - int index, context.ContextOuterClass.ConfigRule value) { - if (configRulesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureConfigRulesIsMutable(); - configRules_.add(index, value); + public Builder clearEndpointId() { + if (endpointIdBuilder_ == null) { + endpointId_ = null; onChanged(); } else { - configRulesBuilder_.addMessage(index, value); + endpointId_ = null; + endpointIdBuilder_ = null; } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConfigRules( - context.ContextOuterClass.ConfigRule.Builder builderForValue) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.add(builderForValue.build()); - onChanged(); + public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { + + onChanged(); + return getEndpointIdFieldBuilder().getBuilder(); + } + /** + * .context.EndPointId endpoint_id = 1; + */ + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + if (endpointIdBuilder_ != null) { + return endpointIdBuilder_.getMessageOrBuilder(); } else { - configRulesBuilder_.addMessage(builderForValue.build()); + return endpointId_ == null ? + context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } - return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConfigRules( - int index, context.ContextOuterClass.ConfigRule.Builder builderForValue) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.add(index, builderForValue.build()); - onChanged(); - } else { - configRulesBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getEndpointIdFieldBuilder() { + if (endpointIdBuilder_ == null) { + endpointIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + getEndpointId(), + getParentForChildren(), + isClean()); + endpointId_ = null; } - return this; + return endpointIdBuilder_; } + + private acl.Acl.AclRuleSet ruleSet_; + private com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclRuleSet, acl.Acl.AclRuleSet.Builder, acl.Acl.AclRuleSetOrBuilder> ruleSetBuilder_; /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; + * @return Whether the ruleSet field is set. */ - public Builder addAllConfigRules( - java.lang.Iterable values) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, configRules_); - onChanged(); + public boolean hasRuleSet() { + return ruleSetBuilder_ != null || ruleSet_ != null; + } + /** + * .acl.AclRuleSet rule_set = 2; + * @return The ruleSet. + */ + public acl.Acl.AclRuleSet getRuleSet() { + if (ruleSetBuilder_ == null) { + return ruleSet_ == null ? acl.Acl.AclRuleSet.getDefaultInstance() : ruleSet_; } else { - configRulesBuilder_.addAllMessages(values); + return ruleSetBuilder_.getMessage(); } - return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public Builder clearConfigRules() { - if (configRulesBuilder_ == null) { - configRules_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setRuleSet(acl.Acl.AclRuleSet value) { + if (ruleSetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ruleSet_ = value; onChanged(); } else { - configRulesBuilder_.clear(); + ruleSetBuilder_.setMessage(value); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public Builder removeConfigRules(int index) { - if (configRulesBuilder_ == null) { - ensureConfigRulesIsMutable(); - configRules_.remove(index); + public Builder setRuleSet( + acl.Acl.AclRuleSet.Builder builderForValue) { + if (ruleSetBuilder_ == null) { + ruleSet_ = builderForValue.build(); onChanged(); } else { - configRulesBuilder_.remove(index); + ruleSetBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.ConfigRule config_rules = 1; - */ - public context.ContextOuterClass.ConfigRule.Builder getConfigRulesBuilder( - int index) { - return getConfigRulesFieldBuilder().getBuilder(index); - } - /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public context.ContextOuterClass.ConfigRuleOrBuilder getConfigRulesOrBuilder( - int index) { - if (configRulesBuilder_ == null) { - return configRules_.get(index); } else { - return configRulesBuilder_.getMessageOrBuilder(index); + public Builder mergeRuleSet(acl.Acl.AclRuleSet value) { + if (ruleSetBuilder_ == null) { + if (ruleSet_ != null) { + ruleSet_ = + acl.Acl.AclRuleSet.newBuilder(ruleSet_).mergeFrom(value).buildPartial(); + } else { + ruleSet_ = value; + } + onChanged(); + } else { + ruleSetBuilder_.mergeFrom(value); } + + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public java.util.List - getConfigRulesOrBuilderList() { - if (configRulesBuilder_ != null) { - return configRulesBuilder_.getMessageOrBuilderList(); + public Builder clearRuleSet() { + if (ruleSetBuilder_ == null) { + ruleSet_ = null; + onChanged(); } else { - return java.util.Collections.unmodifiableList(configRules_); + ruleSet_ = null; + ruleSetBuilder_ = null; } + + return this; } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder() { - return getConfigRulesFieldBuilder().addBuilder( - context.ContextOuterClass.ConfigRule.getDefaultInstance()); + public acl.Acl.AclRuleSet.Builder getRuleSetBuilder() { + + onChanged(); + return getRuleSetFieldBuilder().getBuilder(); } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public context.ContextOuterClass.ConfigRule.Builder addConfigRulesBuilder( - int index) { - return getConfigRulesFieldBuilder().addBuilder( - index, context.ContextOuterClass.ConfigRule.getDefaultInstance()); + public acl.Acl.AclRuleSetOrBuilder getRuleSetOrBuilder() { + if (ruleSetBuilder_ != null) { + return ruleSetBuilder_.getMessageOrBuilder(); + } else { + return ruleSet_ == null ? + acl.Acl.AclRuleSet.getDefaultInstance() : ruleSet_; + } } /** - * repeated .context.ConfigRule config_rules = 1; + * .acl.AclRuleSet rule_set = 2; */ - public java.util.List - getConfigRulesBuilderList() { - return getConfigRulesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder> - getConfigRulesFieldBuilder() { - if (configRulesBuilder_ == null) { - configRulesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConfigRule, context.ContextOuterClass.ConfigRule.Builder, context.ContextOuterClass.ConfigRuleOrBuilder>( - configRules_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclRuleSet, acl.Acl.AclRuleSet.Builder, acl.Acl.AclRuleSetOrBuilder> + getRuleSetFieldBuilder() { + if (ruleSetBuilder_ == null) { + ruleSetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + acl.Acl.AclRuleSet, acl.Acl.AclRuleSet.Builder, acl.Acl.AclRuleSetOrBuilder>( + getRuleSet(), getParentForChildren(), isClean()); - configRules_ = null; + ruleSet_ = null; } - return configRulesBuilder_; + return ruleSetBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -25203,95 +50313,114 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ServiceConfig) + // @@protoc_insertion_point(builder_scope:context.ConfigRule_ACL) } - // @@protoc_insertion_point(class_scope:context.ServiceConfig) - private static final context.ContextOuterClass.ServiceConfig DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.ConfigRule_ACL) + private static final context.ContextOuterClass.ConfigRule_ACL DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceConfig(); + DEFAULT_INSTANCE = new context.ContextOuterClass.ConfigRule_ACL(); } - public static context.ContextOuterClass.ServiceConfig getDefaultInstance() { + public static context.ContextOuterClass.ConfigRule_ACL getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ServiceConfig parsePartialFrom( + public ConfigRule_ACL parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ServiceConfig(input, extensionRegistry); + return new ConfigRule_ACL(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ServiceConfig getDefaultInstanceForType() { + public context.ContextOuterClass.ConfigRule_ACL getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceIdListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ServiceIdList) + public interface ConfigRuleOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.ConfigRule) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigActionEnum action = 1; + * @return The enum numeric value on the wire for action. */ - java.util.List - getServiceIdsList(); + int getActionValue(); /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigActionEnum action = 1; + * @return The action. */ - context.ContextOuterClass.ServiceId getServiceIds(int index); + context.ContextOuterClass.ConfigActionEnum getAction(); + /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; + * @return Whether the custom field is set. */ - int getServiceIdsCount(); + boolean hasCustom(); /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; + * @return The custom. */ - java.util.List - getServiceIdsOrBuilderList(); + context.ContextOuterClass.ConfigRule_Custom getCustom(); /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( - int index); + context.ContextOuterClass.ConfigRule_CustomOrBuilder getCustomOrBuilder(); + + /** + * .context.ConfigRule_ACL acl = 3; + * @return Whether the acl field is set. + */ + boolean hasAcl(); + /** + * .context.ConfigRule_ACL acl = 3; + * @return The acl. + */ + context.ContextOuterClass.ConfigRule_ACL getAcl(); + /** + * .context.ConfigRule_ACL acl = 3; + */ + context.ContextOuterClass.ConfigRule_ACLOrBuilder getAclOrBuilder(); + + public context.ContextOuterClass.ConfigRule.ConfigRuleCase getConfigRuleCase(); } /** - * Protobuf type {@code context.ServiceIdList} + * Protobuf type {@code context.ConfigRule} */ - public static final class ServiceIdList extends + public static final class ConfigRule extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ServiceIdList) - ServiceIdListOrBuilder { + // @@protoc_insertion_point(message_implements:context.ConfigRule) + ConfigRuleOrBuilder { private static final long serialVersionUID = 0L; - // Use ServiceIdList.newBuilder() to construct. - private ServiceIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use ConfigRule.newBuilder() to construct. + private ConfigRule(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ServiceIdList() { - serviceIds_ = java.util.Collections.emptyList(); + private ConfigRule() { + action_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ServiceIdList(); + return new ConfigRule(); } @java.lang.Override @@ -25299,7 +50428,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ServiceIdList( + private ConfigRule( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -25307,7 +50436,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -25318,13 +50446,38 @@ public final class ContextOuterClass { case 0: done = true; break; - case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - serviceIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + case 8: { + int rawValue = input.readEnum(); + + action_ = rawValue; + break; + } + case 18: { + context.ContextOuterClass.ConfigRule_Custom.Builder subBuilder = null; + if (configRuleCase_ == 2) { + subBuilder = ((context.ContextOuterClass.ConfigRule_Custom) configRule_).toBuilder(); } - serviceIds_.add( - input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + configRule_ = + input.readMessage(context.ContextOuterClass.ConfigRule_Custom.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.ConfigRule_Custom) configRule_); + configRule_ = subBuilder.buildPartial(); + } + configRuleCase_ = 2; + break; + } + case 26: { + context.ContextOuterClass.ConfigRule_ACL.Builder subBuilder = null; + if (configRuleCase_ == 3) { + subBuilder = ((context.ContextOuterClass.ConfigRule_ACL) configRule_).toBuilder(); + } + configRule_ = + input.readMessage(context.ContextOuterClass.ConfigRule_ACL.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.ConfigRule_ACL) configRule_); + configRule_ = subBuilder.buildPartial(); + } + configRuleCase_ = 3; break; } default: { @@ -25342,64 +50495,143 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ConfigRule_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceIdList.class, context.ContextOuterClass.ServiceIdList.Builder.class); + context.ContextOuterClass.ConfigRule.class, context.ContextOuterClass.ConfigRule.Builder.class); } - public static final int SERVICE_IDS_FIELD_NUMBER = 1; - private java.util.List serviceIds_; + private int configRuleCase_ = 0; + private java.lang.Object configRule_; + public enum ConfigRuleCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + CUSTOM(2), + ACL(3), + CONFIGRULE_NOT_SET(0); + private final int value; + private ConfigRuleCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ConfigRuleCase valueOf(int value) { + return forNumber(value); + } + + public static ConfigRuleCase forNumber(int value) { + switch (value) { + case 2: return CUSTOM; + case 3: return ACL; + case 0: return CONFIGRULE_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ConfigRuleCase + getConfigRuleCase() { + return ConfigRuleCase.forNumber( + configRuleCase_); + } + + public static final int ACTION_FIELD_NUMBER = 1; + private int action_; /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigActionEnum action = 1; + * @return The enum numeric value on the wire for action. + */ + @java.lang.Override public int getActionValue() { + return action_; + } + /** + * .context.ConfigActionEnum action = 1; + * @return The action. + */ + @java.lang.Override public context.ContextOuterClass.ConfigActionEnum getAction() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_); + return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result; + } + + public static final int CUSTOM_FIELD_NUMBER = 2; + /** + * .context.ConfigRule_Custom custom = 2; + * @return Whether the custom field is set. */ @java.lang.Override - public java.util.List getServiceIdsList() { - return serviceIds_; + public boolean hasCustom() { + return configRuleCase_ == 2; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; + * @return The custom. */ @java.lang.Override - public java.util.List - getServiceIdsOrBuilderList() { - return serviceIds_; + public context.ContextOuterClass.ConfigRule_Custom getCustom() { + if (configRuleCase_ == 2) { + return (context.ContextOuterClass.ConfigRule_Custom) configRule_; + } + return context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ @java.lang.Override - public int getServiceIdsCount() { - return serviceIds_.size(); + public context.ContextOuterClass.ConfigRule_CustomOrBuilder getCustomOrBuilder() { + if (configRuleCase_ == 2) { + return (context.ContextOuterClass.ConfigRule_Custom) configRule_; + } + return context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); } + + public static final int ACL_FIELD_NUMBER = 3; /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; + * @return Whether the acl field is set. */ @java.lang.Override - public context.ContextOuterClass.ServiceId getServiceIds(int index) { - return serviceIds_.get(index); + public boolean hasAcl() { + return configRuleCase_ == 3; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; + * @return The acl. */ @java.lang.Override - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( - int index) { - return serviceIds_.get(index); + public context.ContextOuterClass.ConfigRule_ACL getAcl() { + if (configRuleCase_ == 3) { + return (context.ContextOuterClass.ConfigRule_ACL) configRule_; + } + return context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); + } + /** + * .context.ConfigRule_ACL acl = 3; + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRule_ACLOrBuilder getAclOrBuilder() { + if (configRuleCase_ == 3) { + return (context.ContextOuterClass.ConfigRule_ACL) configRule_; + } + return context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -25416,8 +50648,14 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < serviceIds_.size(); i++) { - output.writeMessage(1, serviceIds_.get(i)); + if (action_ != context.ContextOuterClass.ConfigActionEnum.CONFIGACTION_UNDEFINED.getNumber()) { + output.writeEnum(1, action_); + } + if (configRuleCase_ == 2) { + output.writeMessage(2, (context.ContextOuterClass.ConfigRule_Custom) configRule_); + } + if (configRuleCase_ == 3) { + output.writeMessage(3, (context.ContextOuterClass.ConfigRule_ACL) configRule_); } unknownFields.writeTo(output); } @@ -25428,9 +50666,17 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < serviceIds_.size(); i++) { + if (action_ != context.ContextOuterClass.ConfigActionEnum.CONFIGACTION_UNDEFINED.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, serviceIds_.get(i)); + .computeEnumSize(1, action_); + } + if (configRuleCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (context.ContextOuterClass.ConfigRule_Custom) configRule_); + } + if (configRuleCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (context.ContextOuterClass.ConfigRule_ACL) configRule_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -25442,13 +50688,25 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ServiceIdList)) { + if (!(obj instanceof context.ContextOuterClass.ConfigRule)) { return super.equals(obj); } - context.ContextOuterClass.ServiceIdList other = (context.ContextOuterClass.ServiceIdList) obj; + context.ContextOuterClass.ConfigRule other = (context.ContextOuterClass.ConfigRule) obj; - if (!getServiceIdsList() - .equals(other.getServiceIdsList())) return false; + if (action_ != other.action_) return false; + if (!getConfigRuleCase().equals(other.getConfigRuleCase())) return false; + switch (configRuleCase_) { + case 2: + if (!getCustom() + .equals(other.getCustom())) return false; + break; + case 3: + if (!getAcl() + .equals(other.getAcl())) return false; + break; + case 0: + default: + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -25460,78 +50718,88 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getServiceIdsCount() > 0) { - hash = (37 * hash) + SERVICE_IDS_FIELD_NUMBER; - hash = (53 * hash) + getServiceIdsList().hashCode(); + hash = (37 * hash) + ACTION_FIELD_NUMBER; + hash = (53 * hash) + action_; + switch (configRuleCase_) { + case 2: + hash = (37 * hash) + CUSTOM_FIELD_NUMBER; + hash = (53 * hash) + getCustom().hashCode(); + break; + case 3: + hash = (37 * hash) + ACL_FIELD_NUMBER; + hash = (53 * hash) + getAcl().hashCode(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceIdList parseFrom(byte[] data) + public static context.ContextOuterClass.ConfigRule parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceIdList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.ConfigRule parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceIdList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.ConfigRule parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceIdList parseDelimitedFrom( + public static context.ContextOuterClass.ConfigRule parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceIdList parseFrom( + public static context.ContextOuterClass.ConfigRule parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -25544,7 +50812,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ServiceIdList prototype) { + public static Builder newBuilder(context.ContextOuterClass.ConfigRule prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -25560,26 +50828,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ServiceIdList} + * Protobuf type {@code context.ConfigRule} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ServiceIdList) - context.ContextOuterClass.ServiceIdListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.ConfigRule) + context.ContextOuterClass.ConfigRuleOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_ConfigRule_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceIdList.class, context.ContextOuterClass.ServiceIdList.Builder.class); + context.ContextOuterClass.ConfigRule.class, context.ContextOuterClass.ConfigRule.Builder.class); } - // Construct using context.ContextOuterClass.ServiceIdList.newBuilder() + // Construct using context.ContextOuterClass.ConfigRule.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -25592,35 +50860,32 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getServiceIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (serviceIdsBuilder_ == null) { - serviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - serviceIdsBuilder_.clear(); - } + action_ = 0; + + configRuleCase_ = 0; + configRule_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor; + return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor; } @java.lang.Override - public context.ContextOuterClass.ServiceIdList getDefaultInstanceForType() { - return context.ContextOuterClass.ServiceIdList.getDefaultInstance(); + public context.ContextOuterClass.ConfigRule getDefaultInstanceForType() { + return context.ContextOuterClass.ConfigRule.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ServiceIdList build() { - context.ContextOuterClass.ServiceIdList result = buildPartial(); + public context.ContextOuterClass.ConfigRule build() { + context.ContextOuterClass.ConfigRule result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -25628,18 +50893,24 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ServiceIdList buildPartial() { - context.ContextOuterClass.ServiceIdList result = new context.ContextOuterClass.ServiceIdList(this); - int from_bitField0_ = bitField0_; - if (serviceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); - bitField0_ = (bitField0_ & ~0x00000001); + public context.ContextOuterClass.ConfigRule buildPartial() { + context.ContextOuterClass.ConfigRule result = new context.ContextOuterClass.ConfigRule(this); + result.action_ = action_; + if (configRuleCase_ == 2) { + if (customBuilder_ == null) { + result.configRule_ = configRule_; + } else { + result.configRule_ = customBuilder_.build(); + } + } + if (configRuleCase_ == 3) { + if (aclBuilder_ == null) { + result.configRule_ = configRule_; + } else { + result.configRule_ = aclBuilder_.build(); } - result.serviceIds_ = serviceIds_; - } else { - result.serviceIds_ = serviceIdsBuilder_.build(); } + result.configRuleCase_ = configRuleCase_; onBuilt(); return result; } @@ -25678,40 +50949,30 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ServiceIdList) { - return mergeFrom((context.ContextOuterClass.ServiceIdList)other); + if (other instanceof context.ContextOuterClass.ConfigRule) { + return mergeFrom((context.ContextOuterClass.ConfigRule)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ServiceIdList other) { - if (other == context.ContextOuterClass.ServiceIdList.getDefaultInstance()) return this; - if (serviceIdsBuilder_ == null) { - if (!other.serviceIds_.isEmpty()) { - if (serviceIds_.isEmpty()) { - serviceIds_ = other.serviceIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureServiceIdsIsMutable(); - serviceIds_.addAll(other.serviceIds_); - } - onChanged(); + public Builder mergeFrom(context.ContextOuterClass.ConfigRule other) { + if (other == context.ContextOuterClass.ConfigRule.getDefaultInstance()) return this; + if (other.action_ != 0) { + setActionValue(other.getActionValue()); + } + switch (other.getConfigRuleCase()) { + case CUSTOM: { + mergeCustom(other.getCustom()); + break; } - } else { - if (!other.serviceIds_.isEmpty()) { - if (serviceIdsBuilder_.isEmpty()) { - serviceIdsBuilder_.dispose(); - serviceIdsBuilder_ = null; - serviceIds_ = other.serviceIds_; - bitField0_ = (bitField0_ & ~0x00000001); - serviceIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getServiceIdsFieldBuilder() : null; - } else { - serviceIdsBuilder_.addAllMessages(other.serviceIds_); - } + case ACL: { + mergeAcl(other.getAcl()); + break; + } + case CONFIGRULE_NOT_SET: { + break; } } this.mergeUnknownFields(other.unknownFields); @@ -25729,11 +50990,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ServiceIdList parsedMessage = null; + context.ContextOuterClass.ConfigRule parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ServiceIdList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.ConfigRule) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -25742,246 +51003,356 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; + private int configRuleCase_ = 0; + private java.lang.Object configRule_; + public ConfigRuleCase + getConfigRuleCase() { + return ConfigRuleCase.forNumber( + configRuleCase_); + } - private java.util.List serviceIds_ = - java.util.Collections.emptyList(); - private void ensureServiceIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - serviceIds_ = new java.util.ArrayList(serviceIds_); - bitField0_ |= 0x00000001; - } + public Builder clearConfigRule() { + configRuleCase_ = 0; + configRule_ = null; + onChanged(); + return this; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdsBuilder_; + private int action_ = 0; /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigActionEnum action = 1; + * @return The enum numeric value on the wire for action. */ - public java.util.List getServiceIdsList() { - if (serviceIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(serviceIds_); - } else { - return serviceIdsBuilder_.getMessageList(); - } + @java.lang.Override public int getActionValue() { + return action_; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigActionEnum action = 1; + * @param value The enum numeric value on the wire for action to set. + * @return This builder for chaining. */ - public int getServiceIdsCount() { - if (serviceIdsBuilder_ == null) { - return serviceIds_.size(); - } else { - return serviceIdsBuilder_.getCount(); + public Builder setActionValue(int value) { + + action_ = value; + onChanged(); + return this; + } + /** + * .context.ConfigActionEnum action = 1; + * @return The action. + */ + @java.lang.Override + public context.ContextOuterClass.ConfigActionEnum getAction() { + @SuppressWarnings("deprecation") + context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_); + return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result; + } + /** + * .context.ConfigActionEnum action = 1; + * @param value The action to set. + * @return This builder for chaining. + */ + public Builder setAction(context.ContextOuterClass.ConfigActionEnum value) { + if (value == null) { + throw new NullPointerException(); } + + action_ = value.getNumber(); + onChanged(); + return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigActionEnum action = 1; + * @return This builder for chaining. */ - public context.ContextOuterClass.ServiceId getServiceIds(int index) { - if (serviceIdsBuilder_ == null) { - return serviceIds_.get(index); + public Builder clearAction() { + + action_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConfigRule_Custom, context.ContextOuterClass.ConfigRule_Custom.Builder, context.ContextOuterClass.ConfigRule_CustomOrBuilder> customBuilder_; + /** + * .context.ConfigRule_Custom custom = 2; + * @return Whether the custom field is set. + */ + @java.lang.Override + public boolean hasCustom() { + return configRuleCase_ == 2; + } + /** + * .context.ConfigRule_Custom custom = 2; + * @return The custom. + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRule_Custom getCustom() { + if (customBuilder_ == null) { + if (configRuleCase_ == 2) { + return (context.ContextOuterClass.ConfigRule_Custom) configRule_; + } + return context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); } else { - return serviceIdsBuilder_.getMessage(index); + if (configRuleCase_ == 2) { + return customBuilder_.getMessage(); + } + return context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); } } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - public Builder setServiceIds( - int index, context.ContextOuterClass.ServiceId value) { - if (serviceIdsBuilder_ == null) { + public Builder setCustom(context.ContextOuterClass.ConfigRule_Custom value) { + if (customBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureServiceIdsIsMutable(); - serviceIds_.set(index, value); + configRule_ = value; onChanged(); } else { - serviceIdsBuilder_.setMessage(index, value); + customBuilder_.setMessage(value); } + configRuleCase_ = 2; return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - public Builder setServiceIds( - int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.set(index, builderForValue.build()); + public Builder setCustom( + context.ContextOuterClass.ConfigRule_Custom.Builder builderForValue) { + if (customBuilder_ == null) { + configRule_ = builderForValue.build(); onChanged(); } else { - serviceIdsBuilder_.setMessage(index, builderForValue.build()); + customBuilder_.setMessage(builderForValue.build()); } + configRuleCase_ = 2; return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - public Builder addServiceIds(context.ContextOuterClass.ServiceId value) { - if (serviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeCustom(context.ContextOuterClass.ConfigRule_Custom value) { + if (customBuilder_ == null) { + if (configRuleCase_ == 2 && + configRule_ != context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance()) { + configRule_ = context.ContextOuterClass.ConfigRule_Custom.newBuilder((context.ContextOuterClass.ConfigRule_Custom) configRule_) + .mergeFrom(value).buildPartial(); + } else { + configRule_ = value; } - ensureServiceIdsIsMutable(); - serviceIds_.add(value); onChanged(); } else { - serviceIdsBuilder_.addMessage(value); + if (configRuleCase_ == 2) { + customBuilder_.mergeFrom(value); + } + customBuilder_.setMessage(value); } + configRuleCase_ = 2; return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - public Builder addServiceIds( - int index, context.ContextOuterClass.ServiceId value) { - if (serviceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder clearCustom() { + if (customBuilder_ == null) { + if (configRuleCase_ == 2) { + configRuleCase_ = 0; + configRule_ = null; + onChanged(); } - ensureServiceIdsIsMutable(); - serviceIds_.add(index, value); - onChanged(); } else { - serviceIdsBuilder_.addMessage(index, value); + if (configRuleCase_ == 2) { + configRuleCase_ = 0; + configRule_ = null; + } + customBuilder_.clear(); } return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - public Builder addServiceIds( - context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.add(builderForValue.build()); - onChanged(); + public context.ContextOuterClass.ConfigRule_Custom.Builder getCustomBuilder() { + return getCustomFieldBuilder().getBuilder(); + } + /** + * .context.ConfigRule_Custom custom = 2; + */ + @java.lang.Override + public context.ContextOuterClass.ConfigRule_CustomOrBuilder getCustomOrBuilder() { + if ((configRuleCase_ == 2) && (customBuilder_ != null)) { + return customBuilder_.getMessageOrBuilder(); } else { - serviceIdsBuilder_.addMessage(builderForValue.build()); + if (configRuleCase_ == 2) { + return (context.ContextOuterClass.ConfigRule_Custom) configRule_; + } + return context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); } - return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_Custom custom = 2; */ - public Builder addServiceIds( - int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.add(index, builderForValue.build()); - onChanged(); - } else { - serviceIdsBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConfigRule_Custom, context.ContextOuterClass.ConfigRule_Custom.Builder, context.ContextOuterClass.ConfigRule_CustomOrBuilder> + getCustomFieldBuilder() { + if (customBuilder_ == null) { + if (!(configRuleCase_ == 2)) { + configRule_ = context.ContextOuterClass.ConfigRule_Custom.getDefaultInstance(); + } + customBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConfigRule_Custom, context.ContextOuterClass.ConfigRule_Custom.Builder, context.ContextOuterClass.ConfigRule_CustomOrBuilder>( + (context.ContextOuterClass.ConfigRule_Custom) configRule_, + getParentForChildren(), + isClean()); + configRule_ = null; } - return this; + configRuleCase_ = 2; + onChanged();; + return customBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConfigRule_ACL, context.ContextOuterClass.ConfigRule_ACL.Builder, context.ContextOuterClass.ConfigRule_ACLOrBuilder> aclBuilder_; + /** + * .context.ConfigRule_ACL acl = 3; + * @return Whether the acl field is set. + */ + @java.lang.Override + public boolean hasAcl() { + return configRuleCase_ == 3; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; + * @return The acl. */ - public Builder addAllServiceIds( - java.lang.Iterable values) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, serviceIds_); - onChanged(); + @java.lang.Override + public context.ContextOuterClass.ConfigRule_ACL getAcl() { + if (aclBuilder_ == null) { + if (configRuleCase_ == 3) { + return (context.ContextOuterClass.ConfigRule_ACL) configRule_; + } + return context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); } else { - serviceIdsBuilder_.addAllMessages(values); + if (configRuleCase_ == 3) { + return aclBuilder_.getMessage(); + } + return context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); } - return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public Builder clearServiceIds() { - if (serviceIdsBuilder_ == null) { - serviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setAcl(context.ContextOuterClass.ConfigRule_ACL value) { + if (aclBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + configRule_ = value; onChanged(); } else { - serviceIdsBuilder_.clear(); + aclBuilder_.setMessage(value); } + configRuleCase_ = 3; return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public Builder removeServiceIds(int index) { - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.remove(index); + public Builder setAcl( + context.ContextOuterClass.ConfigRule_ACL.Builder builderForValue) { + if (aclBuilder_ == null) { + configRule_ = builderForValue.build(); onChanged(); } else { - serviceIdsBuilder_.remove(index); + aclBuilder_.setMessage(builderForValue.build()); } + configRuleCase_ = 3; return this; } /** - * repeated .context.ServiceId service_ids = 1; - */ - public context.ContextOuterClass.ServiceId.Builder getServiceIdsBuilder( - int index) { - return getServiceIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdsOrBuilder( - int index) { - if (serviceIdsBuilder_ == null) { - return serviceIds_.get(index); } else { - return serviceIdsBuilder_.getMessageOrBuilder(index); + public Builder mergeAcl(context.ContextOuterClass.ConfigRule_ACL value) { + if (aclBuilder_ == null) { + if (configRuleCase_ == 3 && + configRule_ != context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance()) { + configRule_ = context.ContextOuterClass.ConfigRule_ACL.newBuilder((context.ContextOuterClass.ConfigRule_ACL) configRule_) + .mergeFrom(value).buildPartial(); + } else { + configRule_ = value; + } + onChanged(); + } else { + if (configRuleCase_ == 3) { + aclBuilder_.mergeFrom(value); + } + aclBuilder_.setMessage(value); } + configRuleCase_ = 3; + return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public java.util.List - getServiceIdsOrBuilderList() { - if (serviceIdsBuilder_ != null) { - return serviceIdsBuilder_.getMessageOrBuilderList(); + public Builder clearAcl() { + if (aclBuilder_ == null) { + if (configRuleCase_ == 3) { + configRuleCase_ = 0; + configRule_ = null; + onChanged(); + } } else { - return java.util.Collections.unmodifiableList(serviceIds_); + if (configRuleCase_ == 3) { + configRuleCase_ = 0; + configRule_ = null; + } + aclBuilder_.clear(); } + return this; } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder() { - return getServiceIdsFieldBuilder().addBuilder( - context.ContextOuterClass.ServiceId.getDefaultInstance()); + public context.ContextOuterClass.ConfigRule_ACL.Builder getAclBuilder() { + return getAclFieldBuilder().getBuilder(); } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public context.ContextOuterClass.ServiceId.Builder addServiceIdsBuilder( - int index) { - return getServiceIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.ServiceId.getDefaultInstance()); + @java.lang.Override + public context.ContextOuterClass.ConfigRule_ACLOrBuilder getAclOrBuilder() { + if ((configRuleCase_ == 3) && (aclBuilder_ != null)) { + return aclBuilder_.getMessageOrBuilder(); + } else { + if (configRuleCase_ == 3) { + return (context.ContextOuterClass.ConfigRule_ACL) configRule_; + } + return context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); + } } /** - * repeated .context.ServiceId service_ids = 1; + * .context.ConfigRule_ACL acl = 3; */ - public java.util.List - getServiceIdsBuilderList() { - return getServiceIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> - getServiceIdsFieldBuilder() { - if (serviceIdsBuilder_ == null) { - serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( - serviceIds_, - ((bitField0_ & 0x00000001) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConfigRule_ACL, context.ContextOuterClass.ConfigRule_ACL.Builder, context.ContextOuterClass.ConfigRule_ACLOrBuilder> + getAclFieldBuilder() { + if (aclBuilder_ == null) { + if (!(configRuleCase_ == 3)) { + configRule_ = context.ContextOuterClass.ConfigRule_ACL.getDefaultInstance(); + } + aclBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConfigRule_ACL, context.ContextOuterClass.ConfigRule_ACL.Builder, context.ContextOuterClass.ConfigRule_ACLOrBuilder>( + (context.ContextOuterClass.ConfigRule_ACL) configRule_, getParentForChildren(), isClean()); - serviceIds_ = null; + configRule_ = null; } - return serviceIdsBuilder_; + configRuleCase_ = 3; + onChanged();; + return aclBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -25996,95 +51367,100 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ServiceIdList) + // @@protoc_insertion_point(builder_scope:context.ConfigRule) } - // @@protoc_insertion_point(class_scope:context.ServiceIdList) - private static final context.ContextOuterClass.ServiceIdList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.ConfigRule) + private static final context.ContextOuterClass.ConfigRule DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceIdList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.ConfigRule(); } - public static context.ContextOuterClass.ServiceIdList getDefaultInstance() { + public static context.ContextOuterClass.ConfigRule getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ServiceIdList parsePartialFrom( + public ConfigRule parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ServiceIdList(input, extensionRegistry); + return new ConfigRule(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ServiceIdList getDefaultInstanceForType() { + public context.ContextOuterClass.ConfigRule getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ServiceList) + public interface Constraint_CustomOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_Custom) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.Service services = 1; - */ - java.util.List - getServicesList(); - /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return The constraintType. */ - context.ContextOuterClass.Service getServices(int index); + java.lang.String getConstraintType(); /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return The bytes for constraintType. */ - int getServicesCount(); + com.google.protobuf.ByteString + getConstraintTypeBytes(); + /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return The constraintValue. */ - java.util.List - getServicesOrBuilderList(); + java.lang.String getConstraintValue(); /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return The bytes for constraintValue. */ - context.ContextOuterClass.ServiceOrBuilder getServicesOrBuilder( - int index); + com.google.protobuf.ByteString + getConstraintValueBytes(); } /** - * Protobuf type {@code context.ServiceList} + *
+   * ----- Constraint ----------------------------------------------------------------------------------------------------
+   * 
+ * + * Protobuf type {@code context.Constraint_Custom} */ - public static final class ServiceList extends + public static final class Constraint_Custom extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ServiceList) - ServiceListOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_Custom) + Constraint_CustomOrBuilder { private static final long serialVersionUID = 0L; - // Use ServiceList.newBuilder() to construct. - private ServiceList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_Custom.newBuilder() to construct. + private Constraint_Custom(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ServiceList() { - services_ = java.util.Collections.emptyList(); + private Constraint_Custom() { + constraintType_ = ""; + constraintValue_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ServiceList(); + return new Constraint_Custom(); } @java.lang.Override @@ -26092,7 +51468,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ServiceList( + private Constraint_Custom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -26100,7 +51476,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -26112,12 +51487,15 @@ public final class ContextOuterClass { done = true; break; case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - services_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - services_.add( - input.readMessage(context.ContextOuterClass.Service.parser(), extensionRegistry)); + java.lang.String s = input.readStringRequireUtf8(); + + constraintType_ = s; + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + constraintValue_ = s; break; } default: { @@ -26135,64 +51513,97 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - services_ = java.util.Collections.unmodifiableList(services_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_Custom_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_Custom_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceList.class, context.ContextOuterClass.ServiceList.Builder.class); + context.ContextOuterClass.Constraint_Custom.class, context.ContextOuterClass.Constraint_Custom.Builder.class); } - public static final int SERVICES_FIELD_NUMBER = 1; - private java.util.List services_; - /** - * repeated .context.Service services = 1; - */ - @java.lang.Override - public java.util.List getServicesList() { - return services_; - } + public static final int CONSTRAINT_TYPE_FIELD_NUMBER = 1; + private volatile java.lang.Object constraintType_; /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return The constraintType. */ @java.lang.Override - public java.util.List - getServicesOrBuilderList() { - return services_; + public java.lang.String getConstraintType() { + java.lang.Object ref = constraintType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + constraintType_ = s; + return s; + } } /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return The bytes for constraintType. */ @java.lang.Override - public int getServicesCount() { - return services_.size(); + public com.google.protobuf.ByteString + getConstraintTypeBytes() { + java.lang.Object ref = constraintType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + constraintType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } + + public static final int CONSTRAINT_VALUE_FIELD_NUMBER = 2; + private volatile java.lang.Object constraintValue_; /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return The constraintValue. */ @java.lang.Override - public context.ContextOuterClass.Service getServices(int index) { - return services_.get(index); + public java.lang.String getConstraintValue() { + java.lang.Object ref = constraintValue_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + constraintValue_ = s; + return s; + } } /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return The bytes for constraintValue. */ @java.lang.Override - public context.ContextOuterClass.ServiceOrBuilder getServicesOrBuilder( - int index) { - return services_.get(index); + public com.google.protobuf.ByteString + getConstraintValueBytes() { + java.lang.Object ref = constraintValue_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + constraintValue_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } private byte memoizedIsInitialized = -1; @@ -26209,8 +51620,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < services_.size(); i++) { - output.writeMessage(1, services_.get(i)); + if (!getConstraintTypeBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, constraintType_); + } + if (!getConstraintValueBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, constraintValue_); } unknownFields.writeTo(output); } @@ -26221,9 +51635,11 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < services_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, services_.get(i)); + if (!getConstraintTypeBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, constraintType_); + } + if (!getConstraintValueBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, constraintValue_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -26235,13 +51651,15 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ServiceList)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_Custom)) { return super.equals(obj); } - context.ContextOuterClass.ServiceList other = (context.ContextOuterClass.ServiceList) obj; + context.ContextOuterClass.Constraint_Custom other = (context.ContextOuterClass.Constraint_Custom) obj; - if (!getServicesList() - .equals(other.getServicesList())) return false; + if (!getConstraintType() + .equals(other.getConstraintType())) return false; + if (!getConstraintValue() + .equals(other.getConstraintValue())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -26253,78 +51671,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getServicesCount() > 0) { - hash = (37 * hash) + SERVICES_FIELD_NUMBER; - hash = (53 * hash) + getServicesList().hashCode(); - } + hash = (37 * hash) + CONSTRAINT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getConstraintType().hashCode(); + hash = (37 * hash) + CONSTRAINT_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getConstraintValue().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceList parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_Custom parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_Custom parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_Custom parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceList parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_Custom parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceList parseFrom( + public static context.ContextOuterClass.Constraint_Custom parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -26337,7 +51755,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ServiceList prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_Custom prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -26353,26 +51771,30 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ServiceList} + *
+     * ----- Constraint ----------------------------------------------------------------------------------------------------
+     * 
+ * + * Protobuf type {@code context.Constraint_Custom} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ServiceList) - context.ContextOuterClass.ServiceListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_Custom) + context.ContextOuterClass.Constraint_CustomOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_Custom_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_Custom_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceList.class, context.ContextOuterClass.ServiceList.Builder.class); + context.ContextOuterClass.Constraint_Custom.class, context.ContextOuterClass.Constraint_Custom.Builder.class); } - // Construct using context.ContextOuterClass.ServiceList.newBuilder() + // Construct using context.ContextOuterClass.Constraint_Custom.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -26385,35 +51807,32 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getServicesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (servicesBuilder_ == null) { - services_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - servicesBuilder_.clear(); - } + constraintType_ = ""; + + constraintValue_ = ""; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ServiceList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_Custom_descriptor; } @java.lang.Override - public context.ContextOuterClass.ServiceList getDefaultInstanceForType() { - return context.ContextOuterClass.ServiceList.getDefaultInstance(); + public context.ContextOuterClass.Constraint_Custom getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ServiceList build() { - context.ContextOuterClass.ServiceList result = buildPartial(); + public context.ContextOuterClass.Constraint_Custom build() { + context.ContextOuterClass.Constraint_Custom result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -26421,18 +51840,10 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ServiceList buildPartial() { - context.ContextOuterClass.ServiceList result = new context.ContextOuterClass.ServiceList(this); - int from_bitField0_ = bitField0_; - if (servicesBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - services_ = java.util.Collections.unmodifiableList(services_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.services_ = services_; - } else { - result.services_ = servicesBuilder_.build(); - } + public context.ContextOuterClass.Constraint_Custom buildPartial() { + context.ContextOuterClass.Constraint_Custom result = new context.ContextOuterClass.Constraint_Custom(this); + result.constraintType_ = constraintType_; + result.constraintValue_ = constraintValue_; onBuilt(); return result; } @@ -26471,41 +51882,23 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ServiceList) { - return mergeFrom((context.ContextOuterClass.ServiceList)other); + if (other instanceof context.ContextOuterClass.Constraint_Custom) { + return mergeFrom((context.ContextOuterClass.Constraint_Custom)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ServiceList other) { - if (other == context.ContextOuterClass.ServiceList.getDefaultInstance()) return this; - if (servicesBuilder_ == null) { - if (!other.services_.isEmpty()) { - if (services_.isEmpty()) { - services_ = other.services_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureServicesIsMutable(); - services_.addAll(other.services_); - } - onChanged(); - } - } else { - if (!other.services_.isEmpty()) { - if (servicesBuilder_.isEmpty()) { - servicesBuilder_.dispose(); - servicesBuilder_ = null; - services_ = other.services_; - bitField0_ = (bitField0_ & ~0x00000001); - servicesBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getServicesFieldBuilder() : null; - } else { - servicesBuilder_.addAllMessages(other.services_); - } - } + public Builder mergeFrom(context.ContextOuterClass.Constraint_Custom other) { + if (other == context.ContextOuterClass.Constraint_Custom.getDefaultInstance()) return this; + if (!other.getConstraintType().isEmpty()) { + constraintType_ = other.constraintType_; + onChanged(); + } + if (!other.getConstraintValue().isEmpty()) { + constraintValue_ = other.constraintValue_; + onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -26522,11 +51915,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ServiceList parsedMessage = null; + context.ContextOuterClass.Constraint_Custom parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ServiceList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_Custom) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -26535,246 +51928,157 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private java.util.List services_ = - java.util.Collections.emptyList(); - private void ensureServicesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - services_ = new java.util.ArrayList(services_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Service, context.ContextOuterClass.Service.Builder, context.ContextOuterClass.ServiceOrBuilder> servicesBuilder_; + private java.lang.Object constraintType_ = ""; /** - * repeated .context.Service services = 1; - */ - public java.util.List getServicesList() { - if (servicesBuilder_ == null) { - return java.util.Collections.unmodifiableList(services_); - } else { - return servicesBuilder_.getMessageList(); - } - } - /** - * repeated .context.Service services = 1; - */ - public int getServicesCount() { - if (servicesBuilder_ == null) { - return services_.size(); - } else { - return servicesBuilder_.getCount(); - } - } - /** - * repeated .context.Service services = 1; - */ - public context.ContextOuterClass.Service getServices(int index) { - if (servicesBuilder_ == null) { - return services_.get(index); - } else { - return servicesBuilder_.getMessage(index); - } - } - /** - * repeated .context.Service services = 1; - */ - public Builder setServices( - int index, context.ContextOuterClass.Service value) { - if (servicesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServicesIsMutable(); - services_.set(index, value); - onChanged(); - } else { - servicesBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .context.Service services = 1; - */ - public Builder setServices( - int index, context.ContextOuterClass.Service.Builder builderForValue) { - if (servicesBuilder_ == null) { - ensureServicesIsMutable(); - services_.set(index, builderForValue.build()); - onChanged(); - } else { - servicesBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .context.Service services = 1; - */ - public Builder addServices(context.ContextOuterClass.Service value) { - if (servicesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServicesIsMutable(); - services_.add(value); - onChanged(); - } else { - servicesBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return The constraintType. */ - public Builder addServices( - int index, context.ContextOuterClass.Service value) { - if (servicesBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureServicesIsMutable(); - services_.add(index, value); - onChanged(); + public java.lang.String getConstraintType() { + java.lang.Object ref = constraintType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + constraintType_ = s; + return s; } else { - servicesBuilder_.addMessage(index, value); + return (java.lang.String) ref; } - return this; } /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return The bytes for constraintType. */ - public Builder addServices( - context.ContextOuterClass.Service.Builder builderForValue) { - if (servicesBuilder_ == null) { - ensureServicesIsMutable(); - services_.add(builderForValue.build()); - onChanged(); + public com.google.protobuf.ByteString + getConstraintTypeBytes() { + java.lang.Object ref = constraintType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + constraintType_ = b; + return b; } else { - servicesBuilder_.addMessage(builderForValue.build()); + return (com.google.protobuf.ByteString) ref; } - return this; } /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @param value The constraintType to set. + * @return This builder for chaining. */ - public Builder addServices( - int index, context.ContextOuterClass.Service.Builder builderForValue) { - if (servicesBuilder_ == null) { - ensureServicesIsMutable(); - services_.add(index, builderForValue.build()); - onChanged(); - } else { - servicesBuilder_.addMessage(index, builderForValue.build()); - } + public Builder setConstraintType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + constraintType_ = value; + onChanged(); return this; } /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @return This builder for chaining. */ - public Builder addAllServices( - java.lang.Iterable values) { - if (servicesBuilder_ == null) { - ensureServicesIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, services_); - onChanged(); - } else { - servicesBuilder_.addAllMessages(values); - } + public Builder clearConstraintType() { + + constraintType_ = getDefaultInstance().getConstraintType(); + onChanged(); return this; } /** - * repeated .context.Service services = 1; + * string constraint_type = 1; + * @param value The bytes for constraintType to set. + * @return This builder for chaining. */ - public Builder clearServices() { - if (servicesBuilder_ == null) { - services_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - servicesBuilder_.clear(); - } + public Builder setConstraintTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + constraintType_ = value; + onChanged(); return this; } + + private java.lang.Object constraintValue_ = ""; /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return The constraintValue. */ - public Builder removeServices(int index) { - if (servicesBuilder_ == null) { - ensureServicesIsMutable(); - services_.remove(index); - onChanged(); + public java.lang.String getConstraintValue() { + java.lang.Object ref = constraintValue_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + constraintValue_ = s; + return s; } else { - servicesBuilder_.remove(index); - } - return this; - } - /** - * repeated .context.Service services = 1; - */ - public context.ContextOuterClass.Service.Builder getServicesBuilder( - int index) { - return getServicesFieldBuilder().getBuilder(index); - } - /** - * repeated .context.Service services = 1; - */ - public context.ContextOuterClass.ServiceOrBuilder getServicesOrBuilder( - int index) { - if (servicesBuilder_ == null) { - return services_.get(index); } else { - return servicesBuilder_.getMessageOrBuilder(index); + return (java.lang.String) ref; } } /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return The bytes for constraintValue. */ - public java.util.List - getServicesOrBuilderList() { - if (servicesBuilder_ != null) { - return servicesBuilder_.getMessageOrBuilderList(); + public com.google.protobuf.ByteString + getConstraintValueBytes() { + java.lang.Object ref = constraintValue_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + constraintValue_ = b; + return b; } else { - return java.util.Collections.unmodifiableList(services_); + return (com.google.protobuf.ByteString) ref; } } /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @param value The constraintValue to set. + * @return This builder for chaining. */ - public context.ContextOuterClass.Service.Builder addServicesBuilder() { - return getServicesFieldBuilder().addBuilder( - context.ContextOuterClass.Service.getDefaultInstance()); + public Builder setConstraintValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + constraintValue_ = value; + onChanged(); + return this; } /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @return This builder for chaining. */ - public context.ContextOuterClass.Service.Builder addServicesBuilder( - int index) { - return getServicesFieldBuilder().addBuilder( - index, context.ContextOuterClass.Service.getDefaultInstance()); + public Builder clearConstraintValue() { + + constraintValue_ = getDefaultInstance().getConstraintValue(); + onChanged(); + return this; } /** - * repeated .context.Service services = 1; + * string constraint_value = 2; + * @param value The bytes for constraintValue to set. + * @return This builder for chaining. */ - public java.util.List - getServicesBuilderList() { - return getServicesFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Service, context.ContextOuterClass.Service.Builder, context.ContextOuterClass.ServiceOrBuilder> - getServicesFieldBuilder() { - if (servicesBuilder_ == null) { - servicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Service, context.ContextOuterClass.Service.Builder, context.ContextOuterClass.ServiceOrBuilder>( - services_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - services_ = null; - } - return servicesBuilder_; + public Builder setConstraintValueBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + constraintValue_ = value; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -26789,100 +52093,82 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ServiceList) + // @@protoc_insertion_point(builder_scope:context.Constraint_Custom) } - // @@protoc_insertion_point(class_scope:context.ServiceList) - private static final context.ContextOuterClass.ServiceList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_Custom) + private static final context.ContextOuterClass.Constraint_Custom DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_Custom(); } - public static context.ContextOuterClass.ServiceList getDefaultInstance() { + public static context.ContextOuterClass.Constraint_Custom getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ServiceList parsePartialFrom( + public Constraint_Custom parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ServiceList(input, extensionRegistry); + return new Constraint_Custom(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ServiceList getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_Custom getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ServiceEventOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ServiceEvent) + public interface Constraint_ScheduleOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_Schedule) com.google.protobuf.MessageOrBuilder { /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - boolean hasEvent(); - /** - * .context.Event event = 1; - * @return The event. - */ - context.ContextOuterClass.Event getEvent(); - /** - * .context.Event event = 1; + * float start_timestamp = 1; + * @return The startTimestamp. */ - context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); + float getStartTimestamp(); /** - * .context.ServiceId service_id = 2; - * @return Whether the serviceId field is set. - */ - boolean hasServiceId(); - /** - * .context.ServiceId service_id = 2; - * @return The serviceId. - */ - context.ContextOuterClass.ServiceId getServiceId(); - /** - * .context.ServiceId service_id = 2; + * float duration_days = 2; + * @return The durationDays. */ - context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + float getDurationDays(); } /** - * Protobuf type {@code context.ServiceEvent} + * Protobuf type {@code context.Constraint_Schedule} */ - public static final class ServiceEvent extends + public static final class Constraint_Schedule extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ServiceEvent) - ServiceEventOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_Schedule) + Constraint_ScheduleOrBuilder { private static final long serialVersionUID = 0L; - // Use ServiceEvent.newBuilder() to construct. - private ServiceEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_Schedule.newBuilder() to construct. + private Constraint_Schedule(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ServiceEvent() { + private Constraint_Schedule() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ServiceEvent(); + return new Constraint_Schedule(); } @java.lang.Override @@ -26890,7 +52176,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ServiceEvent( + private Constraint_Schedule( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -26908,30 +52194,14 @@ public final class ContextOuterClass { case 0: done = true; break; - case 10: { - context.ContextOuterClass.Event.Builder subBuilder = null; - if (event_ != null) { - subBuilder = event_.toBuilder(); - } - event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(event_); - event_ = subBuilder.buildPartial(); - } + case 13: { + startTimestamp_ = input.readFloat(); break; } - case 18: { - context.ContextOuterClass.ServiceId.Builder subBuilder = null; - if (serviceId_ != null) { - subBuilder = serviceId_.toBuilder(); - } - serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(serviceId_); - serviceId_ = subBuilder.buildPartial(); - } + case 21: { + durationDays_ = input.readFloat(); break; } default: { @@ -26955,67 +52225,37 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_Schedule_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_Schedule_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceEvent.class, context.ContextOuterClass.ServiceEvent.Builder.class); + context.ContextOuterClass.Constraint_Schedule.class, context.ContextOuterClass.Constraint_Schedule.Builder.class); } - public static final int EVENT_FIELD_NUMBER = 1; - private context.ContextOuterClass.Event event_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - @java.lang.Override - public boolean hasEvent() { - return event_ != null; - } - /** - * .context.Event event = 1; - * @return The event. - */ - @java.lang.Override - public context.ContextOuterClass.Event getEvent() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; - } + public static final int START_TIMESTAMP_FIELD_NUMBER = 1; + private float startTimestamp_; /** - * .context.Event event = 1; + * float start_timestamp = 1; + * @return The startTimestamp. */ @java.lang.Override - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return getEvent(); + public float getStartTimestamp() { + return startTimestamp_; } - public static final int SERVICE_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.ServiceId serviceId_; - /** - * .context.ServiceId service_id = 2; - * @return Whether the serviceId field is set. - */ - @java.lang.Override - public boolean hasServiceId() { - return serviceId_ != null; - } - /** - * .context.ServiceId service_id = 2; - * @return The serviceId. - */ - @java.lang.Override - public context.ContextOuterClass.ServiceId getServiceId() { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; - } + public static final int DURATION_DAYS_FIELD_NUMBER = 2; + private float durationDays_; /** - * .context.ServiceId service_id = 2; + * float duration_days = 2; + * @return The durationDays. */ @java.lang.Override - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - return getServiceId(); + public float getDurationDays() { + return durationDays_; } private byte memoizedIsInitialized = -1; @@ -27032,11 +52272,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (event_ != null) { - output.writeMessage(1, getEvent()); + if (startTimestamp_ != 0F) { + output.writeFloat(1, startTimestamp_); } - if (serviceId_ != null) { - output.writeMessage(2, getServiceId()); + if (durationDays_ != 0F) { + output.writeFloat(2, durationDays_); } unknownFields.writeTo(output); } @@ -27047,13 +52287,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (event_ != null) { + if (startTimestamp_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEvent()); + .computeFloatSize(1, startTimestamp_); } - if (serviceId_ != null) { + if (durationDays_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getServiceId()); + .computeFloatSize(2, durationDays_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -27065,21 +52305,17 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ServiceEvent)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_Schedule)) { return super.equals(obj); } - context.ContextOuterClass.ServiceEvent other = (context.ContextOuterClass.ServiceEvent) obj; + context.ContextOuterClass.Constraint_Schedule other = (context.ContextOuterClass.Constraint_Schedule) obj; - if (hasEvent() != other.hasEvent()) return false; - if (hasEvent()) { - if (!getEvent() - .equals(other.getEvent())) return false; - } - if (hasServiceId() != other.hasServiceId()) return false; - if (hasServiceId()) { - if (!getServiceId() - .equals(other.getServiceId())) return false; - } + if (java.lang.Float.floatToIntBits(getStartTimestamp()) + != java.lang.Float.floatToIntBits( + other.getStartTimestamp())) return false; + if (java.lang.Float.floatToIntBits(getDurationDays()) + != java.lang.Float.floatToIntBits( + other.getDurationDays())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -27091,82 +52327,80 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEvent()) { - hash = (37 * hash) + EVENT_FIELD_NUMBER; - hash = (53 * hash) + getEvent().hashCode(); - } - if (hasServiceId()) { - hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; - hash = (53 * hash) + getServiceId().hashCode(); - } + hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getStartTimestamp()); + hash = (37 * hash) + DURATION_DAYS_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDurationDays()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceEvent parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_Schedule parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ServiceEvent parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_Schedule parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceEvent parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_Schedule parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceEvent parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_Schedule parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ServiceEvent parseFrom( + public static context.ContextOuterClass.Constraint_Schedule parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -27179,7 +52413,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ServiceEvent prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_Schedule prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -27195,26 +52429,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ServiceEvent} + * Protobuf type {@code context.Constraint_Schedule} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ServiceEvent) - context.ContextOuterClass.ServiceEventOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_Schedule) + context.ContextOuterClass.Constraint_ScheduleOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_Schedule_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ServiceEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_Schedule_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ServiceEvent.class, context.ContextOuterClass.ServiceEvent.Builder.class); + context.ContextOuterClass.Constraint_Schedule.class, context.ContextOuterClass.Constraint_Schedule.Builder.class); } - // Construct using context.ContextOuterClass.ServiceEvent.newBuilder() + // Construct using context.ContextOuterClass.Constraint_Schedule.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -27232,35 +52466,27 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - if (eventBuilder_ == null) { - event_ = null; - } else { - event_ = null; - eventBuilder_ = null; - } - if (serviceIdBuilder_ == null) { - serviceId_ = null; - } else { - serviceId_ = null; - serviceIdBuilder_ = null; - } + startTimestamp_ = 0F; + + durationDays_ = 0F; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_Schedule_descriptor; } @java.lang.Override - public context.ContextOuterClass.ServiceEvent getDefaultInstanceForType() { - return context.ContextOuterClass.ServiceEvent.getDefaultInstance(); + public context.ContextOuterClass.Constraint_Schedule getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ServiceEvent build() { - context.ContextOuterClass.ServiceEvent result = buildPartial(); + public context.ContextOuterClass.Constraint_Schedule build() { + context.ContextOuterClass.Constraint_Schedule result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -27268,18 +52494,10 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ServiceEvent buildPartial() { - context.ContextOuterClass.ServiceEvent result = new context.ContextOuterClass.ServiceEvent(this); - if (eventBuilder_ == null) { - result.event_ = event_; - } else { - result.event_ = eventBuilder_.build(); - } - if (serviceIdBuilder_ == null) { - result.serviceId_ = serviceId_; - } else { - result.serviceId_ = serviceIdBuilder_.build(); - } + public context.ContextOuterClass.Constraint_Schedule buildPartial() { + context.ContextOuterClass.Constraint_Schedule result = new context.ContextOuterClass.Constraint_Schedule(this); + result.startTimestamp_ = startTimestamp_; + result.durationDays_ = durationDays_; onBuilt(); return result; } @@ -27318,21 +52536,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ServiceEvent) { - return mergeFrom((context.ContextOuterClass.ServiceEvent)other); + if (other instanceof context.ContextOuterClass.Constraint_Schedule) { + return mergeFrom((context.ContextOuterClass.Constraint_Schedule)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ServiceEvent other) { - if (other == context.ContextOuterClass.ServiceEvent.getDefaultInstance()) return this; - if (other.hasEvent()) { - mergeEvent(other.getEvent()); + public Builder mergeFrom(context.ContextOuterClass.Constraint_Schedule other) { + if (other == context.ContextOuterClass.Constraint_Schedule.getDefaultInstance()) return this; + if (other.getStartTimestamp() != 0F) { + setStartTimestamp(other.getStartTimestamp()); } - if (other.hasServiceId()) { - mergeServiceId(other.getServiceId()); + if (other.getDurationDays() != 0F) { + setDurationDays(other.getDurationDays()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -27349,11 +52567,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ServiceEvent parsedMessage = null; + context.ContextOuterClass.Constraint_Schedule parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ServiceEvent) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_Schedule) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -27363,242 +52581,66 @@ public final class ContextOuterClass { return this; } - private context.ContextOuterClass.Event event_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - public boolean hasEvent() { - return eventBuilder_ != null || event_ != null; - } - /** - * .context.Event event = 1; - * @return The event. - */ - public context.ContextOuterClass.Event getEvent() { - if (eventBuilder_ == null) { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; - } else { - return eventBuilder_.getMessage(); - } - } - /** - * .context.Event event = 1; - */ - public Builder setEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - event_ = value; - onChanged(); - } else { - eventBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.Event event = 1; - */ - public Builder setEvent( - context.ContextOuterClass.Event.Builder builderForValue) { - if (eventBuilder_ == null) { - event_ = builderForValue.build(); - onChanged(); - } else { - eventBuilder_.setMessage(builderForValue.build()); - } - - return this; - } + private float startTimestamp_ ; /** - * .context.Event event = 1; + * float start_timestamp = 1; + * @return The startTimestamp. */ - public Builder mergeEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (event_ != null) { - event_ = - context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); - } else { - event_ = value; - } - onChanged(); - } else { - eventBuilder_.mergeFrom(value); - } - - return this; + @java.lang.Override + public float getStartTimestamp() { + return startTimestamp_; } /** - * .context.Event event = 1; + * float start_timestamp = 1; + * @param value The startTimestamp to set. + * @return This builder for chaining. */ - public Builder clearEvent() { - if (eventBuilder_ == null) { - event_ = null; - onChanged(); - } else { - event_ = null; - eventBuilder_ = null; - } - + public Builder setStartTimestamp(float value) { + + startTimestamp_ = value; + onChanged(); return this; } /** - * .context.Event event = 1; + * float start_timestamp = 1; + * @return This builder for chaining. */ - public context.ContextOuterClass.Event.Builder getEventBuilder() { + public Builder clearStartTimestamp() { + startTimestamp_ = 0F; onChanged(); - return getEventFieldBuilder().getBuilder(); - } - /** - * .context.Event event = 1; - */ - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - if (eventBuilder_ != null) { - return eventBuilder_.getMessageOrBuilder(); - } else { - return event_ == null ? - context.ContextOuterClass.Event.getDefaultInstance() : event_; - } - } - /** - * .context.Event event = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> - getEventFieldBuilder() { - if (eventBuilder_ == null) { - eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( - getEvent(), - getParentForChildren(), - isClean()); - event_ = null; - } - return eventBuilder_; - } - - private context.ContextOuterClass.ServiceId serviceId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; - /** - * .context.ServiceId service_id = 2; - * @return Whether the serviceId field is set. - */ - public boolean hasServiceId() { - return serviceIdBuilder_ != null || serviceId_ != null; - } - /** - * .context.ServiceId service_id = 2; - * @return The serviceId. - */ - public context.ContextOuterClass.ServiceId getServiceId() { - if (serviceIdBuilder_ == null) { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; - } else { - return serviceIdBuilder_.getMessage(); - } - } - /** - * .context.ServiceId service_id = 2; - */ - public Builder setServiceId(context.ContextOuterClass.ServiceId value) { - if (serviceIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - serviceId_ = value; - onChanged(); - } else { - serviceIdBuilder_.setMessage(value); - } - return this; } - /** - * .context.ServiceId service_id = 2; - */ - public Builder setServiceId( - context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdBuilder_ == null) { - serviceId_ = builderForValue.build(); - onChanged(); - } else { - serviceIdBuilder_.setMessage(builderForValue.build()); - } - return this; - } + private float durationDays_ ; /** - * .context.ServiceId service_id = 2; + * float duration_days = 2; + * @return The durationDays. */ - public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { - if (serviceIdBuilder_ == null) { - if (serviceId_ != null) { - serviceId_ = - context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); - } else { - serviceId_ = value; - } - onChanged(); - } else { - serviceIdBuilder_.mergeFrom(value); - } - - return this; + @java.lang.Override + public float getDurationDays() { + return durationDays_; } /** - * .context.ServiceId service_id = 2; + * float duration_days = 2; + * @param value The durationDays to set. + * @return This builder for chaining. */ - public Builder clearServiceId() { - if (serviceIdBuilder_ == null) { - serviceId_ = null; - onChanged(); - } else { - serviceId_ = null; - serviceIdBuilder_ = null; - } - + public Builder setDurationDays(float value) { + + durationDays_ = value; + onChanged(); return this; } /** - * .context.ServiceId service_id = 2; + * float duration_days = 2; + * @return This builder for chaining. */ - public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { + public Builder clearDurationDays() { + durationDays_ = 0F; onChanged(); - return getServiceIdFieldBuilder().getBuilder(); - } - /** - * .context.ServiceId service_id = 2; - */ - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - if (serviceIdBuilder_ != null) { - return serviceIdBuilder_.getMessageOrBuilder(); - } else { - return serviceId_ == null ? - context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; - } - } - /** - * .context.ServiceId service_id = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> - getServiceIdFieldBuilder() { - if (serviceIdBuilder_ == null) { - serviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( - getServiceId(), - getParentForChildren(), - isClean()); - serviceId_ = null; - } - return serviceIdBuilder_; + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -27613,89 +52655,82 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ServiceEvent) + // @@protoc_insertion_point(builder_scope:context.Constraint_Schedule) } - // @@protoc_insertion_point(class_scope:context.ServiceEvent) - private static final context.ContextOuterClass.ServiceEvent DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_Schedule) + private static final context.ContextOuterClass.Constraint_Schedule DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ServiceEvent(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_Schedule(); } - public static context.ContextOuterClass.ServiceEvent getDefaultInstance() { + public static context.ContextOuterClass.Constraint_Schedule getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ServiceEvent parsePartialFrom( + public Constraint_Schedule parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ServiceEvent(input, extensionRegistry); + return new Constraint_Schedule(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ServiceEvent getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_Schedule getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - - public interface ConnectionIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ConnectionId) + + public interface GPS_PositionOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.GPS_Position) com.google.protobuf.MessageOrBuilder { /** - * .context.Uuid connection_uuid = 1; - * @return Whether the connectionUuid field is set. - */ - boolean hasConnectionUuid(); - /** - * .context.Uuid connection_uuid = 1; - * @return The connectionUuid. + * float latitude = 1; + * @return The latitude. */ - context.ContextOuterClass.Uuid getConnectionUuid(); + float getLatitude(); + /** - * .context.Uuid connection_uuid = 1; + * float longitude = 2; + * @return The longitude. */ - context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder(); + float getLongitude(); } /** - *
-   * ----- Connection ----------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.ConnectionId} + * Protobuf type {@code context.GPS_Position} */ - public static final class ConnectionId extends + public static final class GPS_Position extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ConnectionId) - ConnectionIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.GPS_Position) + GPS_PositionOrBuilder { private static final long serialVersionUID = 0L; - // Use ConnectionId.newBuilder() to construct. - private ConnectionId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use GPS_Position.newBuilder() to construct. + private GPS_Position(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ConnectionId() { + private GPS_Position() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ConnectionId(); + return new GPS_Position(); } @java.lang.Override @@ -27703,7 +52738,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ConnectionId( + private GPS_Position( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -27721,17 +52756,14 @@ public final class ContextOuterClass { case 0: done = true; break; - case 10: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (connectionUuid_ != null) { - subBuilder = connectionUuid_.toBuilder(); - } - connectionUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(connectionUuid_); - connectionUuid_ = subBuilder.buildPartial(); - } + case 13: { + + latitude_ = input.readFloat(); + break; + } + case 21: { + longitude_ = input.readFloat(); break; } default: { @@ -27755,41 +52787,37 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor; + return context.ContextOuterClass.internal_static_context_GPS_Position_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_GPS_Position_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionId.class, context.ContextOuterClass.ConnectionId.Builder.class); + context.ContextOuterClass.GPS_Position.class, context.ContextOuterClass.GPS_Position.Builder.class); } - public static final int CONNECTION_UUID_FIELD_NUMBER = 1; - private context.ContextOuterClass.Uuid connectionUuid_; - /** - * .context.Uuid connection_uuid = 1; - * @return Whether the connectionUuid field is set. - */ - @java.lang.Override - public boolean hasConnectionUuid() { - return connectionUuid_ != null; - } + public static final int LATITUDE_FIELD_NUMBER = 1; + private float latitude_; /** - * .context.Uuid connection_uuid = 1; - * @return The connectionUuid. + * float latitude = 1; + * @return The latitude. */ @java.lang.Override - public context.ContextOuterClass.Uuid getConnectionUuid() { - return connectionUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_; + public float getLatitude() { + return latitude_; } + + public static final int LONGITUDE_FIELD_NUMBER = 2; + private float longitude_; /** - * .context.Uuid connection_uuid = 1; + * float longitude = 2; + * @return The longitude. */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder() { - return getConnectionUuid(); + public float getLongitude() { + return longitude_; } private byte memoizedIsInitialized = -1; @@ -27806,8 +52834,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (connectionUuid_ != null) { - output.writeMessage(1, getConnectionUuid()); + if (latitude_ != 0F) { + output.writeFloat(1, latitude_); + } + if (longitude_ != 0F) { + output.writeFloat(2, longitude_); } unknownFields.writeTo(output); } @@ -27818,9 +52849,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (connectionUuid_ != null) { + if (latitude_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getConnectionUuid()); + .computeFloatSize(1, latitude_); + } + if (longitude_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, longitude_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -27832,16 +52867,17 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ConnectionId)) { + if (!(obj instanceof context.ContextOuterClass.GPS_Position)) { return super.equals(obj); } - context.ContextOuterClass.ConnectionId other = (context.ContextOuterClass.ConnectionId) obj; + context.ContextOuterClass.GPS_Position other = (context.ContextOuterClass.GPS_Position) obj; - if (hasConnectionUuid() != other.hasConnectionUuid()) return false; - if (hasConnectionUuid()) { - if (!getConnectionUuid() - .equals(other.getConnectionUuid())) return false; - } + if (java.lang.Float.floatToIntBits(getLatitude()) + != java.lang.Float.floatToIntBits( + other.getLatitude())) return false; + if (java.lang.Float.floatToIntBits(getLongitude()) + != java.lang.Float.floatToIntBits( + other.getLongitude())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -27853,78 +52889,80 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasConnectionUuid()) { - hash = (37 * hash) + CONNECTION_UUID_FIELD_NUMBER; - hash = (53 * hash) + getConnectionUuid().hashCode(); - } + hash = (37 * hash) + LATITUDE_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getLatitude()); + hash = (37 * hash) + LONGITUDE_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getLongitude()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionId parseFrom(byte[] data) + public static context.ContextOuterClass.GPS_Position parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.GPS_Position parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.GPS_Position parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionId parseDelimitedFrom( + public static context.ContextOuterClass.GPS_Position parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionId parseFrom( + public static context.ContextOuterClass.GPS_Position parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -27937,7 +52975,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ConnectionId prototype) { + public static Builder newBuilder(context.ContextOuterClass.GPS_Position prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -27953,30 +52991,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Connection ----------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.ConnectionId} + * Protobuf type {@code context.GPS_Position} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ConnectionId) - context.ContextOuterClass.ConnectionIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.GPS_Position) + context.ContextOuterClass.GPS_PositionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor; + return context.ContextOuterClass.internal_static_context_GPS_Position_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_GPS_Position_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionId.class, context.ContextOuterClass.ConnectionId.Builder.class); + context.ContextOuterClass.GPS_Position.class, context.ContextOuterClass.GPS_Position.Builder.class); } - // Construct using context.ContextOuterClass.ConnectionId.newBuilder() + // Construct using context.ContextOuterClass.GPS_Position.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -27994,29 +53028,27 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - if (connectionUuidBuilder_ == null) { - connectionUuid_ = null; - } else { - connectionUuid_ = null; - connectionUuidBuilder_ = null; - } + latitude_ = 0F; + + longitude_ = 0F; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor; + return context.ContextOuterClass.internal_static_context_GPS_Position_descriptor; } @java.lang.Override - public context.ContextOuterClass.ConnectionId getDefaultInstanceForType() { - return context.ContextOuterClass.ConnectionId.getDefaultInstance(); + public context.ContextOuterClass.GPS_Position getDefaultInstanceForType() { + return context.ContextOuterClass.GPS_Position.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ConnectionId build() { - context.ContextOuterClass.ConnectionId result = buildPartial(); + public context.ContextOuterClass.GPS_Position build() { + context.ContextOuterClass.GPS_Position result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -28024,13 +53056,10 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ConnectionId buildPartial() { - context.ContextOuterClass.ConnectionId result = new context.ContextOuterClass.ConnectionId(this); - if (connectionUuidBuilder_ == null) { - result.connectionUuid_ = connectionUuid_; - } else { - result.connectionUuid_ = connectionUuidBuilder_.build(); - } + public context.ContextOuterClass.GPS_Position buildPartial() { + context.ContextOuterClass.GPS_Position result = new context.ContextOuterClass.GPS_Position(this); + result.latitude_ = latitude_; + result.longitude_ = longitude_; onBuilt(); return result; } @@ -28069,18 +53098,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ConnectionId) { - return mergeFrom((context.ContextOuterClass.ConnectionId)other); + if (other instanceof context.ContextOuterClass.GPS_Position) { + return mergeFrom((context.ContextOuterClass.GPS_Position)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ConnectionId other) { - if (other == context.ContextOuterClass.ConnectionId.getDefaultInstance()) return this; - if (other.hasConnectionUuid()) { - mergeConnectionUuid(other.getConnectionUuid()); + public Builder mergeFrom(context.ContextOuterClass.GPS_Position other) { + if (other == context.ContextOuterClass.GPS_Position.getDefaultInstance()) return this; + if (other.getLatitude() != 0F) { + setLatitude(other.getLatitude()); + } + if (other.getLongitude() != 0F) { + setLongitude(other.getLongitude()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -28097,11 +53129,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ConnectionId parsedMessage = null; + context.ContextOuterClass.GPS_Position parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ConnectionId) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.GPS_Position) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -28111,123 +53143,66 @@ public final class ContextOuterClass { return this; } - private context.ContextOuterClass.Uuid connectionUuid_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> connectionUuidBuilder_; - /** - * .context.Uuid connection_uuid = 1; - * @return Whether the connectionUuid field is set. - */ - public boolean hasConnectionUuid() { - return connectionUuidBuilder_ != null || connectionUuid_ != null; - } + private float latitude_ ; /** - * .context.Uuid connection_uuid = 1; - * @return The connectionUuid. + * float latitude = 1; + * @return The latitude. */ - public context.ContextOuterClass.Uuid getConnectionUuid() { - if (connectionUuidBuilder_ == null) { - return connectionUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_; - } else { - return connectionUuidBuilder_.getMessage(); - } + @java.lang.Override + public float getLatitude() { + return latitude_; } /** - * .context.Uuid connection_uuid = 1; + * float latitude = 1; + * @param value The latitude to set. + * @return This builder for chaining. */ - public Builder setConnectionUuid(context.ContextOuterClass.Uuid value) { - if (connectionUuidBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - connectionUuid_ = value; - onChanged(); - } else { - connectionUuidBuilder_.setMessage(value); - } - + public Builder setLatitude(float value) { + + latitude_ = value; + onChanged(); return this; } /** - * .context.Uuid connection_uuid = 1; + * float latitude = 1; + * @return This builder for chaining. */ - public Builder setConnectionUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (connectionUuidBuilder_ == null) { - connectionUuid_ = builderForValue.build(); - onChanged(); - } else { - connectionUuidBuilder_.setMessage(builderForValue.build()); - } - + public Builder clearLatitude() { + + latitude_ = 0F; + onChanged(); return this; } - /** - * .context.Uuid connection_uuid = 1; - */ - public Builder mergeConnectionUuid(context.ContextOuterClass.Uuid value) { - if (connectionUuidBuilder_ == null) { - if (connectionUuid_ != null) { - connectionUuid_ = - context.ContextOuterClass.Uuid.newBuilder(connectionUuid_).mergeFrom(value).buildPartial(); - } else { - connectionUuid_ = value; - } - onChanged(); - } else { - connectionUuidBuilder_.mergeFrom(value); - } - return this; - } + private float longitude_ ; /** - * .context.Uuid connection_uuid = 1; + * float longitude = 2; + * @return The longitude. */ - public Builder clearConnectionUuid() { - if (connectionUuidBuilder_ == null) { - connectionUuid_ = null; - onChanged(); - } else { - connectionUuid_ = null; - connectionUuidBuilder_ = null; - } - - return this; + @java.lang.Override + public float getLongitude() { + return longitude_; } /** - * .context.Uuid connection_uuid = 1; + * float longitude = 2; + * @param value The longitude to set. + * @return This builder for chaining. */ - public context.ContextOuterClass.Uuid.Builder getConnectionUuidBuilder() { + public Builder setLongitude(float value) { + longitude_ = value; onChanged(); - return getConnectionUuidFieldBuilder().getBuilder(); - } - /** - * .context.Uuid connection_uuid = 1; - */ - public context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder() { - if (connectionUuidBuilder_ != null) { - return connectionUuidBuilder_.getMessageOrBuilder(); - } else { - return connectionUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_; - } + return this; } /** - * .context.Uuid connection_uuid = 1; + * float longitude = 2; + * @return This builder for chaining. */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getConnectionUuidFieldBuilder() { - if (connectionUuidBuilder_ == null) { - connectionUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getConnectionUuid(), - getParentForChildren(), - isClean()); - connectionUuid_ = null; - } - return connectionUuidBuilder_; + public Builder clearLongitude() { + + longitude_ = 0F; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -28242,150 +53217,104 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ConnectionId) + // @@protoc_insertion_point(builder_scope:context.GPS_Position) } - // @@protoc_insertion_point(class_scope:context.ConnectionId) - private static final context.ContextOuterClass.ConnectionId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.GPS_Position) + private static final context.ContextOuterClass.GPS_Position DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.GPS_Position(); } - public static context.ContextOuterClass.ConnectionId getDefaultInstance() { + public static context.ContextOuterClass.GPS_Position getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ConnectionId parsePartialFrom( + public GPS_Position parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ConnectionId(input, extensionRegistry); + return new GPS_Position(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ConnectionId getDefaultInstanceForType() { + public context.ContextOuterClass.GPS_Position getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ConnectionOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.Connection) + public interface LocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Location) com.google.protobuf.MessageOrBuilder { /** - * .context.ConnectionId connection_id = 1; - * @return Whether the connectionId field is set. - */ - boolean hasConnectionId(); - /** - * .context.ConnectionId connection_id = 1; - * @return The connectionId. - */ - context.ContextOuterClass.ConnectionId getConnectionId(); - /** - * .context.ConnectionId connection_id = 1; - */ - context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder(); - - /** - * .context.ServiceId service_id = 2; - * @return Whether the serviceId field is set. + * string region = 1; + * @return Whether the region field is set. */ - boolean hasServiceId(); + boolean hasRegion(); /** - * .context.ServiceId service_id = 2; - * @return The serviceId. + * string region = 1; + * @return The region. */ - context.ContextOuterClass.ServiceId getServiceId(); + java.lang.String getRegion(); /** - * .context.ServiceId service_id = 2; + * string region = 1; + * @return The bytes for region. */ - context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + com.google.protobuf.ByteString + getRegionBytes(); /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - java.util.List - getPathHopsEndpointIdsList(); - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - context.ContextOuterClass.EndPointId getPathHopsEndpointIds(int index); - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; + * .context.GPS_Position gps_position = 2; + * @return Whether the gpsPosition field is set. */ - int getPathHopsEndpointIdsCount(); + boolean hasGpsPosition(); /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; + * .context.GPS_Position gps_position = 2; + * @return The gpsPosition. */ - java.util.List - getPathHopsEndpointIdsOrBuilderList(); + context.ContextOuterClass.GPS_Position getGpsPosition(); /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; + * .context.GPS_Position gps_position = 2; */ - context.ContextOuterClass.EndPointIdOrBuilder getPathHopsEndpointIdsOrBuilder( - int index); + context.ContextOuterClass.GPS_PositionOrBuilder getGpsPositionOrBuilder(); - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - java.util.List - getSubServiceIdsList(); - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - context.ContextOuterClass.ServiceId getSubServiceIds(int index); - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - int getSubServiceIdsCount(); - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - java.util.List - getSubServiceIdsOrBuilderList(); - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - context.ContextOuterClass.ServiceIdOrBuilder getSubServiceIdsOrBuilder( - int index); + public context.ContextOuterClass.Location.LocationCase getLocationCase(); } /** - * Protobuf type {@code context.Connection} + * Protobuf type {@code context.Location} */ - public static final class Connection extends + public static final class Location extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.Connection) - ConnectionOrBuilder { + // @@protoc_insertion_point(message_implements:context.Location) + LocationOrBuilder { private static final long serialVersionUID = 0L; - // Use Connection.newBuilder() to construct. - private Connection(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Location.newBuilder() to construct. + private Location(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Connection() { - pathHopsEndpointIds_ = java.util.Collections.emptyList(); - subServiceIds_ = java.util.Collections.emptyList(); + private Location() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Connection(); + return new Location(); } @java.lang.Override @@ -28393,7 +53322,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private Connection( + private Location( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -28401,7 +53330,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -28413,47 +53341,23 @@ public final class ContextOuterClass { done = true; break; case 10: { - context.ContextOuterClass.ConnectionId.Builder subBuilder = null; - if (connectionId_ != null) { - subBuilder = connectionId_.toBuilder(); - } - connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(connectionId_); - connectionId_ = subBuilder.buildPartial(); - } - + java.lang.String s = input.readStringRequireUtf8(); + locationCase_ = 1; + location_ = s; break; } case 18: { - context.ContextOuterClass.ServiceId.Builder subBuilder = null; - if (serviceId_ != null) { - subBuilder = serviceId_.toBuilder(); + context.ContextOuterClass.GPS_Position.Builder subBuilder = null; + if (locationCase_ == 2) { + subBuilder = ((context.ContextOuterClass.GPS_Position) location_).toBuilder(); } - serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); + location_ = + input.readMessage(context.ContextOuterClass.GPS_Position.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(serviceId_); - serviceId_ = subBuilder.buildPartial(); - } - - break; - } - case 26: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - pathHopsEndpointIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - pathHopsEndpointIds_.add( - input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry)); - break; - } - case 34: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - subServiceIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; + subBuilder.mergeFrom((context.ContextOuterClass.GPS_Position) location_); + location_ = subBuilder.buildPartial(); } - subServiceIds_.add( - input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + locationCase_ = 2; break; } default: { @@ -28471,159 +53375,145 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_); - } - if (((mutable_bitField0_ & 0x00000002) != 0)) { - subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Connection_descriptor; + return context.ContextOuterClass.internal_static_context_Location_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Connection_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Location_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Connection.class, context.ContextOuterClass.Connection.Builder.class); + context.ContextOuterClass.Location.class, context.ContextOuterClass.Location.Builder.class); } - public static final int CONNECTION_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.ConnectionId connectionId_; - /** - * .context.ConnectionId connection_id = 1; - * @return Whether the connectionId field is set. - */ - @java.lang.Override - public boolean hasConnectionId() { - return connectionId_ != null; - } - /** - * .context.ConnectionId connection_id = 1; - * @return The connectionId. - */ - @java.lang.Override - public context.ContextOuterClass.ConnectionId getConnectionId() { - return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; - } - /** - * .context.ConnectionId connection_id = 1; - */ - @java.lang.Override - public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { - return getConnectionId(); - } + private int locationCase_ = 0; + private java.lang.Object location_; + public enum LocationCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + REGION(1), + GPS_POSITION(2), + LOCATION_NOT_SET(0); + private final int value; + private LocationCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static LocationCase valueOf(int value) { + return forNumber(value); + } - public static final int SERVICE_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.ServiceId serviceId_; - /** - * .context.ServiceId service_id = 2; - * @return Whether the serviceId field is set. - */ - @java.lang.Override - public boolean hasServiceId() { - return serviceId_ != null; - } - /** - * .context.ServiceId service_id = 2; - * @return The serviceId. - */ - @java.lang.Override - public context.ContextOuterClass.ServiceId getServiceId() { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; - } - /** - * .context.ServiceId service_id = 2; - */ - @java.lang.Override - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - return getServiceId(); - } + public static LocationCase forNumber(int value) { + switch (value) { + case 1: return REGION; + case 2: return GPS_POSITION; + case 0: return LOCATION_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; - public static final int PATH_HOPS_ENDPOINT_IDS_FIELD_NUMBER = 3; - private java.util.List pathHopsEndpointIds_; - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - @java.lang.Override - public java.util.List getPathHopsEndpointIdsList() { - return pathHopsEndpointIds_; - } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - @java.lang.Override - public java.util.List - getPathHopsEndpointIdsOrBuilderList() { - return pathHopsEndpointIds_; + public LocationCase + getLocationCase() { + return LocationCase.forNumber( + locationCase_); } + + public static final int REGION_FIELD_NUMBER = 1; /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; + * string region = 1; + * @return Whether the region field is set. */ - @java.lang.Override - public int getPathHopsEndpointIdsCount() { - return pathHopsEndpointIds_.size(); + public boolean hasRegion() { + return locationCase_ == 1; } /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; + * string region = 1; + * @return The region. */ - @java.lang.Override - public context.ContextOuterClass.EndPointId getPathHopsEndpointIds(int index) { - return pathHopsEndpointIds_.get(index); + public java.lang.String getRegion() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (locationCase_ == 1) { + location_ = s; + } + return s; + } } /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; + * string region = 1; + * @return The bytes for region. */ - @java.lang.Override - public context.ContextOuterClass.EndPointIdOrBuilder getPathHopsEndpointIdsOrBuilder( - int index) { - return pathHopsEndpointIds_.get(index); + public com.google.protobuf.ByteString + getRegionBytes() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (locationCase_ == 1) { + location_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - public static final int SUB_SERVICE_IDS_FIELD_NUMBER = 4; - private java.util.List subServiceIds_; - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - @java.lang.Override - public java.util.List getSubServiceIdsList() { - return subServiceIds_; - } - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - @java.lang.Override - public java.util.List - getSubServiceIdsOrBuilderList() { - return subServiceIds_; - } + public static final int GPS_POSITION_FIELD_NUMBER = 2; /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; + * @return Whether the gpsPosition field is set. */ @java.lang.Override - public int getSubServiceIdsCount() { - return subServiceIds_.size(); + public boolean hasGpsPosition() { + return locationCase_ == 2; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; + * @return The gpsPosition. */ @java.lang.Override - public context.ContextOuterClass.ServiceId getSubServiceIds(int index) { - return subServiceIds_.get(index); + public context.ContextOuterClass.GPS_Position getGpsPosition() { + if (locationCase_ == 2) { + return (context.ContextOuterClass.GPS_Position) location_; + } + return context.ContextOuterClass.GPS_Position.getDefaultInstance(); } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - @java.lang.Override - public context.ContextOuterClass.ServiceIdOrBuilder getSubServiceIdsOrBuilder( - int index) { - return subServiceIds_.get(index); + @java.lang.Override + public context.ContextOuterClass.GPS_PositionOrBuilder getGpsPositionOrBuilder() { + if (locationCase_ == 2) { + return (context.ContextOuterClass.GPS_Position) location_; + } + return context.ContextOuterClass.GPS_Position.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -28640,17 +53530,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (connectionId_ != null) { - output.writeMessage(1, getConnectionId()); - } - if (serviceId_ != null) { - output.writeMessage(2, getServiceId()); - } - for (int i = 0; i < pathHopsEndpointIds_.size(); i++) { - output.writeMessage(3, pathHopsEndpointIds_.get(i)); + if (locationCase_ == 1) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, location_); } - for (int i = 0; i < subServiceIds_.size(); i++) { - output.writeMessage(4, subServiceIds_.get(i)); + if (locationCase_ == 2) { + output.writeMessage(2, (context.ContextOuterClass.GPS_Position) location_); } unknownFields.writeTo(output); } @@ -28661,21 +53545,12 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (connectionId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getConnectionId()); - } - if (serviceId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getServiceId()); - } - for (int i = 0; i < pathHopsEndpointIds_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, pathHopsEndpointIds_.get(i)); + if (locationCase_ == 1) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, location_); } - for (int i = 0; i < subServiceIds_.size(); i++) { + if (locationCase_ == 2) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, subServiceIds_.get(i)); + .computeMessageSize(2, (context.ContextOuterClass.GPS_Position) location_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -28687,25 +53562,24 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.Connection)) { + if (!(obj instanceof context.ContextOuterClass.Location)) { return super.equals(obj); } - context.ContextOuterClass.Connection other = (context.ContextOuterClass.Connection) obj; - - if (hasConnectionId() != other.hasConnectionId()) return false; - if (hasConnectionId()) { - if (!getConnectionId() - .equals(other.getConnectionId())) return false; - } - if (hasServiceId() != other.hasServiceId()) return false; - if (hasServiceId()) { - if (!getServiceId() - .equals(other.getServiceId())) return false; + context.ContextOuterClass.Location other = (context.ContextOuterClass.Location) obj; + + if (!getLocationCase().equals(other.getLocationCase())) return false; + switch (locationCase_) { + case 1: + if (!getRegion() + .equals(other.getRegion())) return false; + break; + case 2: + if (!getGpsPosition() + .equals(other.getGpsPosition())) return false; + break; + case 0: + default: } - if (!getPathHopsEndpointIdsList() - .equals(other.getPathHopsEndpointIdsList())) return false; - if (!getSubServiceIdsList() - .equals(other.getSubServiceIdsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -28717,90 +53591,86 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasConnectionId()) { - hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER; - hash = (53 * hash) + getConnectionId().hashCode(); - } - if (hasServiceId()) { - hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; - hash = (53 * hash) + getServiceId().hashCode(); - } - if (getPathHopsEndpointIdsCount() > 0) { - hash = (37 * hash) + PATH_HOPS_ENDPOINT_IDS_FIELD_NUMBER; - hash = (53 * hash) + getPathHopsEndpointIdsList().hashCode(); - } - if (getSubServiceIdsCount() > 0) { - hash = (37 * hash) + SUB_SERVICE_IDS_FIELD_NUMBER; - hash = (53 * hash) + getSubServiceIdsList().hashCode(); + switch (locationCase_) { + case 1: + hash = (37 * hash) + REGION_FIELD_NUMBER; + hash = (53 * hash) + getRegion().hashCode(); + break; + case 2: + hash = (37 * hash) + GPS_POSITION_FIELD_NUMBER; + hash = (53 * hash) + getGpsPosition().hashCode(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Connection parseFrom(byte[] data) + public static context.ContextOuterClass.Location parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.Connection parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Location parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Connection parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Location parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.Connection parseDelimitedFrom( + public static context.ContextOuterClass.Location parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.Connection parseFrom( + public static context.ContextOuterClass.Location parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -28813,7 +53683,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.Connection prototype) { + public static Builder newBuilder(context.ContextOuterClass.Location prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -28829,976 +53699,425 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.Connection} + * Protobuf type {@code context.Location} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.Connection) - context.ContextOuterClass.ConnectionOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Location) + context.ContextOuterClass.LocationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_Connection_descriptor; + return context.ContextOuterClass.internal_static_context_Location_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_Connection_fieldAccessorTable - .ensureFieldAccessorsInitialized( - context.ContextOuterClass.Connection.class, context.ContextOuterClass.Connection.Builder.class); - } - - // Construct using context.ContextOuterClass.Connection.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3 - .alwaysUseFieldBuilders) { - getPathHopsEndpointIdsFieldBuilder(); - getSubServiceIdsFieldBuilder(); - } - } - @java.lang.Override - public Builder clear() { - super.clear(); - if (connectionIdBuilder_ == null) { - connectionId_ = null; - } else { - connectionId_ = null; - connectionIdBuilder_ = null; - } - if (serviceIdBuilder_ == null) { - serviceId_ = null; - } else { - serviceId_ = null; - serviceIdBuilder_ = null; - } - if (pathHopsEndpointIdsBuilder_ == null) { - pathHopsEndpointIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - pathHopsEndpointIdsBuilder_.clear(); - } - if (subServiceIdsBuilder_ == null) { - subServiceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - } else { - subServiceIdsBuilder_.clear(); - } - return this; - } - - @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Connection_descriptor; - } - - @java.lang.Override - public context.ContextOuterClass.Connection getDefaultInstanceForType() { - return context.ContextOuterClass.Connection.getDefaultInstance(); - } - - @java.lang.Override - public context.ContextOuterClass.Connection build() { - context.ContextOuterClass.Connection result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public context.ContextOuterClass.Connection buildPartial() { - context.ContextOuterClass.Connection result = new context.ContextOuterClass.Connection(this); - int from_bitField0_ = bitField0_; - if (connectionIdBuilder_ == null) { - result.connectionId_ = connectionId_; - } else { - result.connectionId_ = connectionIdBuilder_.build(); - } - if (serviceIdBuilder_ == null) { - result.serviceId_ = serviceId_; - } else { - result.serviceId_ = serviceIdBuilder_.build(); - } - if (pathHopsEndpointIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.pathHopsEndpointIds_ = pathHopsEndpointIds_; - } else { - result.pathHopsEndpointIds_ = pathHopsEndpointIdsBuilder_.build(); - } - if (subServiceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0)) { - subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.subServiceIds_ = subServiceIds_; - } else { - result.subServiceIds_ = subServiceIdsBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Connection) { - return mergeFrom((context.ContextOuterClass.Connection)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(context.ContextOuterClass.Connection other) { - if (other == context.ContextOuterClass.Connection.getDefaultInstance()) return this; - if (other.hasConnectionId()) { - mergeConnectionId(other.getConnectionId()); - } - if (other.hasServiceId()) { - mergeServiceId(other.getServiceId()); - } - if (pathHopsEndpointIdsBuilder_ == null) { - if (!other.pathHopsEndpointIds_.isEmpty()) { - if (pathHopsEndpointIds_.isEmpty()) { - pathHopsEndpointIds_ = other.pathHopsEndpointIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.addAll(other.pathHopsEndpointIds_); - } - onChanged(); - } - } else { - if (!other.pathHopsEndpointIds_.isEmpty()) { - if (pathHopsEndpointIdsBuilder_.isEmpty()) { - pathHopsEndpointIdsBuilder_.dispose(); - pathHopsEndpointIdsBuilder_ = null; - pathHopsEndpointIds_ = other.pathHopsEndpointIds_; - bitField0_ = (bitField0_ & ~0x00000001); - pathHopsEndpointIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getPathHopsEndpointIdsFieldBuilder() : null; - } else { - pathHopsEndpointIdsBuilder_.addAllMessages(other.pathHopsEndpointIds_); - } - } - } - if (subServiceIdsBuilder_ == null) { - if (!other.subServiceIds_.isEmpty()) { - if (subServiceIds_.isEmpty()) { - subServiceIds_ = other.subServiceIds_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureSubServiceIdsIsMutable(); - subServiceIds_.addAll(other.subServiceIds_); - } - onChanged(); - } - } else { - if (!other.subServiceIds_.isEmpty()) { - if (subServiceIdsBuilder_.isEmpty()) { - subServiceIdsBuilder_.dispose(); - subServiceIdsBuilder_ = null; - subServiceIds_ = other.subServiceIds_; - bitField0_ = (bitField0_ & ~0x00000002); - subServiceIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getSubServiceIdsFieldBuilder() : null; - } else { - subServiceIdsBuilder_.addAllMessages(other.subServiceIds_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - context.ContextOuterClass.Connection parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Connection) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private context.ContextOuterClass.ConnectionId connectionId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdBuilder_; - /** - * .context.ConnectionId connection_id = 1; - * @return Whether the connectionId field is set. - */ - public boolean hasConnectionId() { - return connectionIdBuilder_ != null || connectionId_ != null; - } - /** - * .context.ConnectionId connection_id = 1; - * @return The connectionId. - */ - public context.ContextOuterClass.ConnectionId getConnectionId() { - if (connectionIdBuilder_ == null) { - return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; - } else { - return connectionIdBuilder_.getMessage(); - } - } - /** - * .context.ConnectionId connection_id = 1; - */ - public Builder setConnectionId(context.ContextOuterClass.ConnectionId value) { - if (connectionIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - connectionId_ = value; - onChanged(); - } else { - connectionIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.ConnectionId connection_id = 1; - */ - public Builder setConnectionId( - context.ContextOuterClass.ConnectionId.Builder builderForValue) { - if (connectionIdBuilder_ == null) { - connectionId_ = builderForValue.build(); - onChanged(); - } else { - connectionIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.ConnectionId connection_id = 1; - */ - public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { - if (connectionIdBuilder_ == null) { - if (connectionId_ != null) { - connectionId_ = - context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); - } else { - connectionId_ = value; - } - onChanged(); - } else { - connectionIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.ConnectionId connection_id = 1; - */ - public Builder clearConnectionId() { - if (connectionIdBuilder_ == null) { - connectionId_ = null; - onChanged(); - } else { - connectionId_ = null; - connectionIdBuilder_ = null; - } - - return this; - } - /** - * .context.ConnectionId connection_id = 1; - */ - public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { - - onChanged(); - return getConnectionIdFieldBuilder().getBuilder(); - } - /** - * .context.ConnectionId connection_id = 1; - */ - public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { - if (connectionIdBuilder_ != null) { - return connectionIdBuilder_.getMessageOrBuilder(); - } else { - return connectionId_ == null ? - context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; - } - } - /** - * .context.ConnectionId connection_id = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> - getConnectionIdFieldBuilder() { - if (connectionIdBuilder_ == null) { - connectionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( - getConnectionId(), - getParentForChildren(), - isClean()); - connectionId_ = null; - } - return connectionIdBuilder_; - } - - private context.ContextOuterClass.ServiceId serviceId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; - /** - * .context.ServiceId service_id = 2; - * @return Whether the serviceId field is set. - */ - public boolean hasServiceId() { - return serviceIdBuilder_ != null || serviceId_ != null; - } - /** - * .context.ServiceId service_id = 2; - * @return The serviceId. - */ - public context.ContextOuterClass.ServiceId getServiceId() { - if (serviceIdBuilder_ == null) { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; - } else { - return serviceIdBuilder_.getMessage(); - } - } - /** - * .context.ServiceId service_id = 2; - */ - public Builder setServiceId(context.ContextOuterClass.ServiceId value) { - if (serviceIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - serviceId_ = value; - onChanged(); - } else { - serviceIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.ServiceId service_id = 2; - */ - public Builder setServiceId( - context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (serviceIdBuilder_ == null) { - serviceId_ = builderForValue.build(); - onChanged(); - } else { - serviceIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.ServiceId service_id = 2; - */ - public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { - if (serviceIdBuilder_ == null) { - if (serviceId_ != null) { - serviceId_ = - context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); - } else { - serviceId_ = value; - } - onChanged(); - } else { - serviceIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.ServiceId service_id = 2; - */ - public Builder clearServiceId() { - if (serviceIdBuilder_ == null) { - serviceId_ = null; - onChanged(); - } else { - serviceId_ = null; - serviceIdBuilder_ = null; - } + return context.ContextOuterClass.internal_static_context_Location_fieldAccessorTable + .ensureFieldAccessorsInitialized( + context.ContextOuterClass.Location.class, context.ContextOuterClass.Location.Builder.class); + } - return this; + // Construct using context.ContextOuterClass.Location.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - /** - * .context.ServiceId service_id = 2; - */ - public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { - - onChanged(); - return getServiceIdFieldBuilder().getBuilder(); + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); } - /** - * .context.ServiceId service_id = 2; - */ - public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - if (serviceIdBuilder_ != null) { - return serviceIdBuilder_.getMessageOrBuilder(); - } else { - return serviceId_ == null ? - context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { } } - /** - * .context.ServiceId service_id = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> - getServiceIdFieldBuilder() { - if (serviceIdBuilder_ == null) { - serviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( - getServiceId(), - getParentForChildren(), - isClean()); - serviceId_ = null; - } - return serviceIdBuilder_; + @java.lang.Override + public Builder clear() { + super.clear(); + locationCase_ = 0; + location_ = null; + return this; } - private java.util.List pathHopsEndpointIds_ = - java.util.Collections.emptyList(); - private void ensurePathHopsEndpointIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - pathHopsEndpointIds_ = new java.util.ArrayList(pathHopsEndpointIds_); - bitField0_ |= 0x00000001; - } + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Location_descriptor; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> pathHopsEndpointIdsBuilder_; - - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public java.util.List getPathHopsEndpointIdsList() { - if (pathHopsEndpointIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(pathHopsEndpointIds_); - } else { - return pathHopsEndpointIdsBuilder_.getMessageList(); - } + @java.lang.Override + public context.ContextOuterClass.Location getDefaultInstanceForType() { + return context.ContextOuterClass.Location.getDefaultInstance(); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public int getPathHopsEndpointIdsCount() { - if (pathHopsEndpointIdsBuilder_ == null) { - return pathHopsEndpointIds_.size(); - } else { - return pathHopsEndpointIdsBuilder_.getCount(); + + @java.lang.Override + public context.ContextOuterClass.Location build() { + context.ContextOuterClass.Location result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); } + return result; } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId getPathHopsEndpointIds(int index) { - if (pathHopsEndpointIdsBuilder_ == null) { - return pathHopsEndpointIds_.get(index); - } else { - return pathHopsEndpointIdsBuilder_.getMessage(index); + + @java.lang.Override + public context.ContextOuterClass.Location buildPartial() { + context.ContextOuterClass.Location result = new context.ContextOuterClass.Location(this); + if (locationCase_ == 1) { + result.location_ = location_; } - } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder setPathHopsEndpointIds( - int index, context.ContextOuterClass.EndPointId value) { - if (pathHopsEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + if (locationCase_ == 2) { + if (gpsPositionBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = gpsPositionBuilder_.build(); } - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.set(index, value); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.setMessage(index, value); } - return this; + result.locationCase_ = locationCase_; + onBuilt(); + return result; } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder setPathHopsEndpointIds( - int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (pathHopsEndpointIdsBuilder_ == null) { - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.set(index, builderForValue.build()); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.setMessage(index, builderForValue.build()); - } - return this; + + @java.lang.Override + public Builder clone() { + return super.clone(); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder addPathHopsEndpointIds(context.ContextOuterClass.EndPointId value) { - if (pathHopsEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.add(value); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.addMessage(value); - } - return this; + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder addPathHopsEndpointIds( - int index, context.ContextOuterClass.EndPointId value) { - if (pathHopsEndpointIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.add(index, value); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.addMessage(index, value); - } - return this; + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder addPathHopsEndpointIds( - context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (pathHopsEndpointIdsBuilder_ == null) { - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.add(builderForValue.build()); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.addMessage(builderForValue.build()); - } - return this; + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder addPathHopsEndpointIds( - int index, context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (pathHopsEndpointIdsBuilder_ == null) { - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.add(index, builderForValue.build()); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder addAllPathHopsEndpointIds( - java.lang.Iterable values) { - if (pathHopsEndpointIdsBuilder_ == null) { - ensurePathHopsEndpointIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, pathHopsEndpointIds_); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.addAllMessages(values); - } - return this; + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder clearPathHopsEndpointIds() { - if (pathHopsEndpointIdsBuilder_ == null) { - pathHopsEndpointIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Location) { + return mergeFrom((context.ContextOuterClass.Location)other); } else { - pathHopsEndpointIdsBuilder_.clear(); + super.mergeFrom(other); + return this; } - return this; } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public Builder removePathHopsEndpointIds(int index) { - if (pathHopsEndpointIdsBuilder_ == null) { - ensurePathHopsEndpointIdsIsMutable(); - pathHopsEndpointIds_.remove(index); - onChanged(); - } else { - pathHopsEndpointIdsBuilder_.remove(index); + + public Builder mergeFrom(context.ContextOuterClass.Location other) { + if (other == context.ContextOuterClass.Location.getDefaultInstance()) return this; + switch (other.getLocationCase()) { + case REGION: { + locationCase_ = 1; + location_ = other.location_; + onChanged(); + break; + } + case GPS_POSITION: { + mergeGpsPosition(other.getGpsPosition()); + break; + } + case LOCATION_NOT_SET: { + break; + } } + this.mergeUnknownFields(other.unknownFields); + onChanged(); return this; } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId.Builder getPathHopsEndpointIdsBuilder( - int index) { - return getPathHopsEndpointIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointIdOrBuilder getPathHopsEndpointIdsOrBuilder( - int index) { - if (pathHopsEndpointIdsBuilder_ == null) { - return pathHopsEndpointIds_.get(index); } else { - return pathHopsEndpointIdsBuilder_.getMessageOrBuilder(index); - } + + @java.lang.Override + public final boolean isInitialized() { + return true; } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public java.util.List - getPathHopsEndpointIdsOrBuilderList() { - if (pathHopsEndpointIdsBuilder_ != null) { - return pathHopsEndpointIdsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(pathHopsEndpointIds_); + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.Location parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Location) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } + return this; } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId.Builder addPathHopsEndpointIdsBuilder() { - return getPathHopsEndpointIdsFieldBuilder().addBuilder( - context.ContextOuterClass.EndPointId.getDefaultInstance()); - } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public context.ContextOuterClass.EndPointId.Builder addPathHopsEndpointIdsBuilder( - int index) { - return getPathHopsEndpointIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.EndPointId.getDefaultInstance()); - } - /** - * repeated .context.EndPointId path_hops_endpoint_ids = 3; - */ - public java.util.List - getPathHopsEndpointIdsBuilderList() { - return getPathHopsEndpointIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> - getPathHopsEndpointIdsFieldBuilder() { - if (pathHopsEndpointIdsBuilder_ == null) { - pathHopsEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( - pathHopsEndpointIds_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - pathHopsEndpointIds_ = null; - } - return pathHopsEndpointIdsBuilder_; + private int locationCase_ = 0; + private java.lang.Object location_; + public LocationCase + getLocationCase() { + return LocationCase.forNumber( + locationCase_); } - private java.util.List subServiceIds_ = - java.util.Collections.emptyList(); - private void ensureSubServiceIdsIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - subServiceIds_ = new java.util.ArrayList(subServiceIds_); - bitField0_ |= 0x00000002; - } + public Builder clearLocation() { + locationCase_ = 0; + location_ = null; + onChanged(); + return this; } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> subServiceIdsBuilder_; /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - public java.util.List getSubServiceIdsList() { - if (subServiceIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(subServiceIds_); - } else { - return subServiceIdsBuilder_.getMessageList(); - } - } - /** - * repeated .context.ServiceId sub_service_ids = 4; + * string region = 1; + * @return Whether the region field is set. */ - public int getSubServiceIdsCount() { - if (subServiceIdsBuilder_ == null) { - return subServiceIds_.size(); - } else { - return subServiceIdsBuilder_.getCount(); - } + @java.lang.Override + public boolean hasRegion() { + return locationCase_ == 1; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * string region = 1; + * @return The region. */ - public context.ContextOuterClass.ServiceId getSubServiceIds(int index) { - if (subServiceIdsBuilder_ == null) { - return subServiceIds_.get(index); - } else { - return subServiceIdsBuilder_.getMessage(index); + @java.lang.Override + public java.lang.String getRegion() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; } - } - /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - public Builder setSubServiceIds( - int index, context.ContextOuterClass.ServiceId value) { - if (subServiceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (locationCase_ == 1) { + location_ = s; } - ensureSubServiceIdsIsMutable(); - subServiceIds_.set(index, value); - onChanged(); + return s; } else { - subServiceIdsBuilder_.setMessage(index, value); + return (java.lang.String) ref; } - return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * string region = 1; + * @return The bytes for region. */ - public Builder setSubServiceIds( - int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (subServiceIdsBuilder_ == null) { - ensureSubServiceIdsIsMutable(); - subServiceIds_.set(index, builderForValue.build()); - onChanged(); + @java.lang.Override + public com.google.protobuf.ByteString + getRegionBytes() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (locationCase_ == 1) { + location_ = b; + } + return b; } else { - subServiceIdsBuilder_.setMessage(index, builderForValue.build()); + return (com.google.protobuf.ByteString) ref; } - return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * string region = 1; + * @param value The region to set. + * @return This builder for chaining. */ - public Builder addSubServiceIds(context.ContextOuterClass.ServiceId value) { - if (subServiceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSubServiceIdsIsMutable(); - subServiceIds_.add(value); - onChanged(); - } else { - subServiceIdsBuilder_.addMessage(value); - } + public Builder setRegion( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + locationCase_ = 1; + location_ = value; + onChanged(); return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * string region = 1; + * @return This builder for chaining. */ - public Builder addSubServiceIds( - int index, context.ContextOuterClass.ServiceId value) { - if (subServiceIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureSubServiceIdsIsMutable(); - subServiceIds_.add(index, value); + public Builder clearRegion() { + if (locationCase_ == 1) { + locationCase_ = 0; + location_ = null; onChanged(); - } else { - subServiceIdsBuilder_.addMessage(index, value); } return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * string region = 1; + * @param value The bytes for region to set. + * @return This builder for chaining. */ - public Builder addSubServiceIds( - context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (subServiceIdsBuilder_ == null) { - ensureSubServiceIdsIsMutable(); - subServiceIds_.add(builderForValue.build()); - onChanged(); - } else { - subServiceIdsBuilder_.addMessage(builderForValue.build()); - } + public Builder setRegionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + locationCase_ = 1; + location_ = value; + onChanged(); return this; } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.GPS_Position, context.ContextOuterClass.GPS_Position.Builder, context.ContextOuterClass.GPS_PositionOrBuilder> gpsPositionBuilder_; /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; + * @return Whether the gpsPosition field is set. */ - public Builder addSubServiceIds( - int index, context.ContextOuterClass.ServiceId.Builder builderForValue) { - if (subServiceIdsBuilder_ == null) { - ensureSubServiceIdsIsMutable(); - subServiceIds_.add(index, builderForValue.build()); - onChanged(); - } else { - subServiceIdsBuilder_.addMessage(index, builderForValue.build()); - } - return this; + @java.lang.Override + public boolean hasGpsPosition() { + return locationCase_ == 2; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; + * @return The gpsPosition. */ - public Builder addAllSubServiceIds( - java.lang.Iterable values) { - if (subServiceIdsBuilder_ == null) { - ensureSubServiceIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, subServiceIds_); - onChanged(); + @java.lang.Override + public context.ContextOuterClass.GPS_Position getGpsPosition() { + if (gpsPositionBuilder_ == null) { + if (locationCase_ == 2) { + return (context.ContextOuterClass.GPS_Position) location_; + } + return context.ContextOuterClass.GPS_Position.getDefaultInstance(); } else { - subServiceIdsBuilder_.addAllMessages(values); + if (locationCase_ == 2) { + return gpsPositionBuilder_.getMessage(); + } + return context.ContextOuterClass.GPS_Position.getDefaultInstance(); } - return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public Builder clearSubServiceIds() { - if (subServiceIdsBuilder_ == null) { - subServiceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); + public Builder setGpsPosition(context.ContextOuterClass.GPS_Position value) { + if (gpsPositionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; onChanged(); } else { - subServiceIdsBuilder_.clear(); + gpsPositionBuilder_.setMessage(value); } + locationCase_ = 2; return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public Builder removeSubServiceIds(int index) { - if (subServiceIdsBuilder_ == null) { - ensureSubServiceIdsIsMutable(); - subServiceIds_.remove(index); + public Builder setGpsPosition( + context.ContextOuterClass.GPS_Position.Builder builderForValue) { + if (gpsPositionBuilder_ == null) { + location_ = builderForValue.build(); onChanged(); } else { - subServiceIdsBuilder_.remove(index); + gpsPositionBuilder_.setMessage(builderForValue.build()); } + locationCase_ = 2; return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; - */ - public context.ContextOuterClass.ServiceId.Builder getSubServiceIdsBuilder( - int index) { - return getSubServiceIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public context.ContextOuterClass.ServiceIdOrBuilder getSubServiceIdsOrBuilder( - int index) { - if (subServiceIdsBuilder_ == null) { - return subServiceIds_.get(index); } else { - return subServiceIdsBuilder_.getMessageOrBuilder(index); + public Builder mergeGpsPosition(context.ContextOuterClass.GPS_Position value) { + if (gpsPositionBuilder_ == null) { + if (locationCase_ == 2 && + location_ != context.ContextOuterClass.GPS_Position.getDefaultInstance()) { + location_ = context.ContextOuterClass.GPS_Position.newBuilder((context.ContextOuterClass.GPS_Position) location_) + .mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + if (locationCase_ == 2) { + gpsPositionBuilder_.mergeFrom(value); + } + gpsPositionBuilder_.setMessage(value); } + locationCase_ = 2; + return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public java.util.List - getSubServiceIdsOrBuilderList() { - if (subServiceIdsBuilder_ != null) { - return subServiceIdsBuilder_.getMessageOrBuilderList(); + public Builder clearGpsPosition() { + if (gpsPositionBuilder_ == null) { + if (locationCase_ == 2) { + locationCase_ = 0; + location_ = null; + onChanged(); + } } else { - return java.util.Collections.unmodifiableList(subServiceIds_); + if (locationCase_ == 2) { + locationCase_ = 0; + location_ = null; + } + gpsPositionBuilder_.clear(); } + return this; } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public context.ContextOuterClass.ServiceId.Builder addSubServiceIdsBuilder() { - return getSubServiceIdsFieldBuilder().addBuilder( - context.ContextOuterClass.ServiceId.getDefaultInstance()); + public context.ContextOuterClass.GPS_Position.Builder getGpsPositionBuilder() { + return getGpsPositionFieldBuilder().getBuilder(); } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public context.ContextOuterClass.ServiceId.Builder addSubServiceIdsBuilder( - int index) { - return getSubServiceIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.ServiceId.getDefaultInstance()); + @java.lang.Override + public context.ContextOuterClass.GPS_PositionOrBuilder getGpsPositionOrBuilder() { + if ((locationCase_ == 2) && (gpsPositionBuilder_ != null)) { + return gpsPositionBuilder_.getMessageOrBuilder(); + } else { + if (locationCase_ == 2) { + return (context.ContextOuterClass.GPS_Position) location_; + } + return context.ContextOuterClass.GPS_Position.getDefaultInstance(); + } } /** - * repeated .context.ServiceId sub_service_ids = 4; + * .context.GPS_Position gps_position = 2; */ - public java.util.List - getSubServiceIdsBuilderList() { - return getSubServiceIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> - getSubServiceIdsFieldBuilder() { - if (subServiceIdsBuilder_ == null) { - subServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder>( - subServiceIds_, - ((bitField0_ & 0x00000002) != 0), + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.GPS_Position, context.ContextOuterClass.GPS_Position.Builder, context.ContextOuterClass.GPS_PositionOrBuilder> + getGpsPositionFieldBuilder() { + if (gpsPositionBuilder_ == null) { + if (!(locationCase_ == 2)) { + location_ = context.ContextOuterClass.GPS_Position.getDefaultInstance(); + } + gpsPositionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.GPS_Position, context.ContextOuterClass.GPS_Position.Builder, context.ContextOuterClass.GPS_PositionOrBuilder>( + (context.ContextOuterClass.GPS_Position) location_, getParentForChildren(), isClean()); - subServiceIds_ = null; + location_ = null; } - return subServiceIdsBuilder_; + locationCase_ = 2; + onChanged();; + return gpsPositionBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -29813,95 +54132,100 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.Connection) + // @@protoc_insertion_point(builder_scope:context.Location) } - // @@protoc_insertion_point(class_scope:context.Connection) - private static final context.ContextOuterClass.Connection DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Location) + private static final context.ContextOuterClass.Location DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.Connection(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Location(); } - public static context.ContextOuterClass.Connection getDefaultInstance() { + public static context.ContextOuterClass.Location getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Connection parsePartialFrom( + public Location parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Connection(input, extensionRegistry); + return new Location(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.Connection getDefaultInstanceForType() { + public context.ContextOuterClass.Location getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ConnectionIdListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ConnectionIdList) + public interface Constraint_EndPointLocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_EndPointLocation) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - java.util.List - getConnectionIdsList(); + boolean hasEndpointId(); /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - context.ContextOuterClass.ConnectionId getConnectionIds(int index); + context.ContextOuterClass.EndPointId getEndpointId(); /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - int getConnectionIdsCount(); + context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder(); + /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; + * @return Whether the location field is set. */ - java.util.List - getConnectionIdsOrBuilderList(); + boolean hasLocation(); /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; + * @return The location. */ - context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdsOrBuilder( - int index); + context.ContextOuterClass.Location getLocation(); + /** + * .context.Location location = 2; + */ + context.ContextOuterClass.LocationOrBuilder getLocationOrBuilder(); } /** - * Protobuf type {@code context.ConnectionIdList} + * Protobuf type {@code context.Constraint_EndPointLocation} */ - public static final class ConnectionIdList extends + public static final class Constraint_EndPointLocation extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ConnectionIdList) - ConnectionIdListOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_EndPointLocation) + Constraint_EndPointLocationOrBuilder { private static final long serialVersionUID = 0L; - // Use ConnectionIdList.newBuilder() to construct. - private ConnectionIdList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_EndPointLocation.newBuilder() to construct. + private Constraint_EndPointLocation(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ConnectionIdList() { - connectionIds_ = java.util.Collections.emptyList(); + private Constraint_EndPointLocation() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ConnectionIdList(); + return new Constraint_EndPointLocation(); } @java.lang.Override @@ -29909,7 +54233,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ConnectionIdList( + private Constraint_EndPointLocation( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -29917,7 +54241,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -29929,12 +54252,29 @@ public final class ContextOuterClass { done = true; break; case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - connectionIds_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + context.ContextOuterClass.EndPointId.Builder subBuilder = null; + if (endpointId_ != null) { + subBuilder = endpointId_.toBuilder(); } - connectionIds_.add( - input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry)); + endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointId_); + endpointId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.Location.Builder subBuilder = null; + if (location_ != null) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(context.ContextOuterClass.Location.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + break; } default: { @@ -29952,64 +54292,73 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionIdList.class, context.ContextOuterClass.ConnectionIdList.Builder.class); + context.ContextOuterClass.Constraint_EndPointLocation.class, context.ContextOuterClass.Constraint_EndPointLocation.Builder.class); } - public static final int CONNECTION_IDS_FIELD_NUMBER = 1; - private java.util.List connectionIds_; + public static final int ENDPOINT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.EndPointId endpointId_; /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ @java.lang.Override - public java.util.List getConnectionIdsList() { - return connectionIds_; + public boolean hasEndpointId() { + return endpointId_ != null; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ @java.lang.Override - public java.util.List - getConnectionIdsOrBuilderList() { - return connectionIds_; + public context.ContextOuterClass.EndPointId getEndpointId() { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ @java.lang.Override - public int getConnectionIdsCount() { - return connectionIds_.size(); + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + return getEndpointId(); } + + public static final int LOCATION_FIELD_NUMBER = 2; + private context.ContextOuterClass.Location location_; /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; + * @return Whether the location field is set. */ @java.lang.Override - public context.ContextOuterClass.ConnectionId getConnectionIds(int index) { - return connectionIds_.get(index); + public boolean hasLocation() { + return location_ != null; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; + * @return The location. */ @java.lang.Override - public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdsOrBuilder( - int index) { - return connectionIds_.get(index); + public context.ContextOuterClass.Location getLocation() { + return location_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : location_; + } + /** + * .context.Location location = 2; + */ + @java.lang.Override + public context.ContextOuterClass.LocationOrBuilder getLocationOrBuilder() { + return getLocation(); } private byte memoizedIsInitialized = -1; @@ -30026,8 +54375,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < connectionIds_.size(); i++) { - output.writeMessage(1, connectionIds_.get(i)); + if (endpointId_ != null) { + output.writeMessage(1, getEndpointId()); + } + if (location_ != null) { + output.writeMessage(2, getLocation()); } unknownFields.writeTo(output); } @@ -30038,9 +54390,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < connectionIds_.size(); i++) { + if (endpointId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, connectionIds_.get(i)); + .computeMessageSize(1, getEndpointId()); + } + if (location_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getLocation()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -30052,13 +54408,21 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ConnectionIdList)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_EndPointLocation)) { return super.equals(obj); } - context.ContextOuterClass.ConnectionIdList other = (context.ContextOuterClass.ConnectionIdList) obj; + context.ContextOuterClass.Constraint_EndPointLocation other = (context.ContextOuterClass.Constraint_EndPointLocation) obj; - if (!getConnectionIdsList() - .equals(other.getConnectionIdsList())) return false; + if (hasEndpointId() != other.hasEndpointId()) return false; + if (hasEndpointId()) { + if (!getEndpointId() + .equals(other.getEndpointId())) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -30070,78 +54434,82 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getConnectionIdsCount() > 0) { - hash = (37 * hash) + CONNECTION_IDS_FIELD_NUMBER; - hash = (53 * hash) + getConnectionIdsList().hashCode(); + if (hasEndpointId()) { + hash = (37 * hash) + ENDPOINT_ID_FIELD_NUMBER; + hash = (53 * hash) + getEndpointId().hashCode(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionIdList parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionIdList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionIdList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_EndPointLocation parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionIdList parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionIdList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointLocation parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -30154,7 +54522,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ConnectionIdList prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_EndPointLocation prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -30170,26 +54538,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ConnectionIdList} + * Protobuf type {@code context.Constraint_EndPointLocation} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ConnectionIdList) - context.ContextOuterClass.ConnectionIdListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_EndPointLocation) + context.ContextOuterClass.Constraint_EndPointLocationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionIdList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionIdList.class, context.ContextOuterClass.ConnectionIdList.Builder.class); + context.ContextOuterClass.Constraint_EndPointLocation.class, context.ContextOuterClass.Constraint_EndPointLocation.Builder.class); } - // Construct using context.ContextOuterClass.ConnectionIdList.newBuilder() + // Construct using context.ContextOuterClass.Constraint_EndPointLocation.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -30202,17 +54570,22 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getConnectionIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (connectionIdsBuilder_ == null) { - connectionIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (endpointIdBuilder_ == null) { + endpointId_ = null; } else { - connectionIdsBuilder_.clear(); + endpointId_ = null; + endpointIdBuilder_ = null; + } + if (locationBuilder_ == null) { + location_ = null; + } else { + location_ = null; + locationBuilder_ = null; } return this; } @@ -30220,17 +54593,17 @@ public final class ContextOuterClass { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_descriptor; } @java.lang.Override - public context.ContextOuterClass.ConnectionIdList getDefaultInstanceForType() { - return context.ContextOuterClass.ConnectionIdList.getDefaultInstance(); + public context.ContextOuterClass.Constraint_EndPointLocation getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ConnectionIdList build() { - context.ContextOuterClass.ConnectionIdList result = buildPartial(); + public context.ContextOuterClass.Constraint_EndPointLocation build() { + context.ContextOuterClass.Constraint_EndPointLocation result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -30238,17 +54611,17 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ConnectionIdList buildPartial() { - context.ContextOuterClass.ConnectionIdList result = new context.ContextOuterClass.ConnectionIdList(this); - int from_bitField0_ = bitField0_; - if (connectionIdsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.connectionIds_ = connectionIds_; + public context.ContextOuterClass.Constraint_EndPointLocation buildPartial() { + context.ContextOuterClass.Constraint_EndPointLocation result = new context.ContextOuterClass.Constraint_EndPointLocation(this); + if (endpointIdBuilder_ == null) { + result.endpointId_ = endpointId_; } else { - result.connectionIds_ = connectionIdsBuilder_.build(); + result.endpointId_ = endpointIdBuilder_.build(); + } + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); } onBuilt(); return result; @@ -30288,41 +54661,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ConnectionIdList) { - return mergeFrom((context.ContextOuterClass.ConnectionIdList)other); + if (other instanceof context.ContextOuterClass.Constraint_EndPointLocation) { + return mergeFrom((context.ContextOuterClass.Constraint_EndPointLocation)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ConnectionIdList other) { - if (other == context.ContextOuterClass.ConnectionIdList.getDefaultInstance()) return this; - if (connectionIdsBuilder_ == null) { - if (!other.connectionIds_.isEmpty()) { - if (connectionIds_.isEmpty()) { - connectionIds_ = other.connectionIds_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureConnectionIdsIsMutable(); - connectionIds_.addAll(other.connectionIds_); - } - onChanged(); - } - } else { - if (!other.connectionIds_.isEmpty()) { - if (connectionIdsBuilder_.isEmpty()) { - connectionIdsBuilder_.dispose(); - connectionIdsBuilder_ = null; - connectionIds_ = other.connectionIds_; - bitField0_ = (bitField0_ & ~0x00000001); - connectionIdsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getConnectionIdsFieldBuilder() : null; - } else { - connectionIdsBuilder_.addAllMessages(other.connectionIds_); - } - } + public Builder mergeFrom(context.ContextOuterClass.Constraint_EndPointLocation other) { + if (other == context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance()) return this; + if (other.hasEndpointId()) { + mergeEndpointId(other.getEndpointId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -30339,11 +54692,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ConnectionIdList parsedMessage = null; + context.ContextOuterClass.Constraint_EndPointLocation parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ConnectionIdList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_EndPointLocation) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -30352,246 +54705,243 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private java.util.List connectionIds_ = - java.util.Collections.emptyList(); - private void ensureConnectionIdsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - connectionIds_ = new java.util.ArrayList(connectionIds_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdsBuilder_; + private context.ContextOuterClass.EndPointId endpointId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> endpointIdBuilder_; /** - * repeated .context.ConnectionId connection_ids = 1; - */ - public java.util.List getConnectionIdsList() { - if (connectionIdsBuilder_ == null) { - return java.util.Collections.unmodifiableList(connectionIds_); - } else { - return connectionIdsBuilder_.getMessageList(); - } - } - /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - public int getConnectionIdsCount() { - if (connectionIdsBuilder_ == null) { - return connectionIds_.size(); - } else { - return connectionIdsBuilder_.getCount(); - } + public boolean hasEndpointId() { + return endpointIdBuilder_ != null || endpointId_ != null; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - public context.ContextOuterClass.ConnectionId getConnectionIds(int index) { - if (connectionIdsBuilder_ == null) { - return connectionIds_.get(index); + public context.ContextOuterClass.EndPointId getEndpointId() { + if (endpointIdBuilder_ == null) { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } else { - return connectionIdsBuilder_.getMessage(index); + return endpointIdBuilder_.getMessage(); } } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder setConnectionIds( - int index, context.ContextOuterClass.ConnectionId value) { - if (connectionIdsBuilder_ == null) { + public Builder setEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureConnectionIdsIsMutable(); - connectionIds_.set(index, value); + endpointId_ = value; onChanged(); } else { - connectionIdsBuilder_.setMessage(index, value); + endpointIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder setConnectionIds( - int index, context.ContextOuterClass.ConnectionId.Builder builderForValue) { - if (connectionIdsBuilder_ == null) { - ensureConnectionIdsIsMutable(); - connectionIds_.set(index, builderForValue.build()); + public Builder setEndpointId( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (endpointIdBuilder_ == null) { + endpointId_ = builderForValue.build(); onChanged(); } else { - connectionIdsBuilder_.setMessage(index, builderForValue.build()); + endpointIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnectionIds(context.ContextOuterClass.ConnectionId value) { - if (connectionIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { + if (endpointId_ != null) { + endpointId_ = + context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); + } else { + endpointId_ = value; } - ensureConnectionIdsIsMutable(); - connectionIds_.add(value); onChanged(); } else { - connectionIdsBuilder_.addMessage(value); + endpointIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnectionIds( - int index, context.ContextOuterClass.ConnectionId value) { - if (connectionIdsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureConnectionIdsIsMutable(); - connectionIds_.add(index, value); + public Builder clearEndpointId() { + if (endpointIdBuilder_ == null) { + endpointId_ = null; onChanged(); } else { - connectionIdsBuilder_.addMessage(index, value); + endpointId_ = null; + endpointIdBuilder_ = null; } + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnectionIds( - context.ContextOuterClass.ConnectionId.Builder builderForValue) { - if (connectionIdsBuilder_ == null) { - ensureConnectionIdsIsMutable(); - connectionIds_.add(builderForValue.build()); - onChanged(); + public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { + + onChanged(); + return getEndpointIdFieldBuilder().getBuilder(); + } + /** + * .context.EndPointId endpoint_id = 1; + */ + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + if (endpointIdBuilder_ != null) { + return endpointIdBuilder_.getMessageOrBuilder(); } else { - connectionIdsBuilder_.addMessage(builderForValue.build()); + return endpointId_ == null ? + context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } - return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnectionIds( - int index, context.ContextOuterClass.ConnectionId.Builder builderForValue) { - if (connectionIdsBuilder_ == null) { - ensureConnectionIdsIsMutable(); - connectionIds_.add(index, builderForValue.build()); - onChanged(); - } else { - connectionIdsBuilder_.addMessage(index, builderForValue.build()); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getEndpointIdFieldBuilder() { + if (endpointIdBuilder_ == null) { + endpointIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + getEndpointId(), + getParentForChildren(), + isClean()); + endpointId_ = null; } - return this; + return endpointIdBuilder_; } + + private context.ContextOuterClass.Location location_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Location, context.ContextOuterClass.Location.Builder, context.ContextOuterClass.LocationOrBuilder> locationBuilder_; /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; + * @return Whether the location field is set. */ - public Builder addAllConnectionIds( - java.lang.Iterable values) { - if (connectionIdsBuilder_ == null) { - ensureConnectionIdsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, connectionIds_); - onChanged(); + public boolean hasLocation() { + return locationBuilder_ != null || location_ != null; + } + /** + * .context.Location location = 2; + * @return The location. + */ + public context.ContextOuterClass.Location getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : location_; } else { - connectionIdsBuilder_.addAllMessages(values); + return locationBuilder_.getMessage(); } - return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; */ - public Builder clearConnectionIds() { - if (connectionIdsBuilder_ == null) { - connectionIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + public Builder setLocation(context.ContextOuterClass.Location value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; onChanged(); } else { - connectionIdsBuilder_.clear(); + locationBuilder_.setMessage(value); } + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; */ - public Builder removeConnectionIds(int index) { - if (connectionIdsBuilder_ == null) { - ensureConnectionIdsIsMutable(); - connectionIds_.remove(index); + public Builder setLocation( + context.ContextOuterClass.Location.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); onChanged(); } else { - connectionIdsBuilder_.remove(index); + locationBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; - */ - public context.ContextOuterClass.ConnectionId.Builder getConnectionIdsBuilder( - int index) { - return getConnectionIdsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; */ - public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdsOrBuilder( - int index) { - if (connectionIdsBuilder_ == null) { - return connectionIds_.get(index); } else { - return connectionIdsBuilder_.getMessageOrBuilder(index); + public Builder mergeLocation(context.ContextOuterClass.Location value) { + if (locationBuilder_ == null) { + if (location_ != null) { + location_ = + context.ContextOuterClass.Location.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); } + + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; */ - public java.util.List - getConnectionIdsOrBuilderList() { - if (connectionIdsBuilder_ != null) { - return connectionIdsBuilder_.getMessageOrBuilderList(); + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); } else { - return java.util.Collections.unmodifiableList(connectionIds_); + location_ = null; + locationBuilder_ = null; } + + return this; } /** - * repeated .context.ConnectionId connection_ids = 1; - */ - public context.ContextOuterClass.ConnectionId.Builder addConnectionIdsBuilder() { - return getConnectionIdsFieldBuilder().addBuilder( - context.ContextOuterClass.ConnectionId.getDefaultInstance()); - } - /** - * repeated .context.ConnectionId connection_ids = 1; + * .context.Location location = 2; */ - public context.ContextOuterClass.ConnectionId.Builder addConnectionIdsBuilder( - int index) { - return getConnectionIdsFieldBuilder().addBuilder( - index, context.ContextOuterClass.ConnectionId.getDefaultInstance()); + public context.ContextOuterClass.Location.Builder getLocationBuilder() { + + onChanged(); + return getLocationFieldBuilder().getBuilder(); } /** - * repeated .context.ConnectionId connection_ids = 1; - */ - public java.util.List - getConnectionIdsBuilderList() { - return getConnectionIdsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> - getConnectionIdsFieldBuilder() { - if (connectionIdsBuilder_ == null) { - connectionIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( - connectionIds_, - ((bitField0_ & 0x00000001) != 0), + * .context.Location location = 2; + */ + public context.ContextOuterClass.LocationOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + context.ContextOuterClass.Location.getDefaultInstance() : location_; + } + } + /** + * .context.Location location = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Location, context.ContextOuterClass.Location.Builder, context.ContextOuterClass.LocationOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Location, context.ContextOuterClass.Location.Builder, context.ContextOuterClass.LocationOrBuilder>( + getLocation(), getParentForChildren(), isClean()); - connectionIds_ = null; + location_ = null; } - return connectionIdsBuilder_; + return locationBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -30606,95 +54956,91 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ConnectionIdList) + // @@protoc_insertion_point(builder_scope:context.Constraint_EndPointLocation) } - // @@protoc_insertion_point(class_scope:context.ConnectionIdList) - private static final context.ContextOuterClass.ConnectionIdList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_EndPointLocation) + private static final context.ContextOuterClass.Constraint_EndPointLocation DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionIdList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_EndPointLocation(); } - public static context.ContextOuterClass.ConnectionIdList getDefaultInstance() { + public static context.ContextOuterClass.Constraint_EndPointLocation getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ConnectionIdList parsePartialFrom( + public Constraint_EndPointLocation parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ConnectionIdList(input, extensionRegistry); + return new Constraint_EndPointLocation(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ConnectionIdList getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_EndPointLocation getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ConnectionListOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ConnectionList) + public interface Constraint_EndPointPriorityOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_EndPointPriority) com.google.protobuf.MessageOrBuilder { /** - * repeated .context.Connection connections = 1; - */ - java.util.List - getConnectionsList(); - /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - context.ContextOuterClass.Connection getConnections(int index); + boolean hasEndpointId(); /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - int getConnectionsCount(); + context.ContextOuterClass.EndPointId getEndpointId(); /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - java.util.List - getConnectionsOrBuilderList(); + context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder(); + /** - * repeated .context.Connection connections = 1; + * uint32 priority = 2; + * @return The priority. */ - context.ContextOuterClass.ConnectionOrBuilder getConnectionsOrBuilder( - int index); + int getPriority(); } /** - * Protobuf type {@code context.ConnectionList} + * Protobuf type {@code context.Constraint_EndPointPriority} */ - public static final class ConnectionList extends + public static final class Constraint_EndPointPriority extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ConnectionList) - ConnectionListOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_EndPointPriority) + Constraint_EndPointPriorityOrBuilder { private static final long serialVersionUID = 0L; - // Use ConnectionList.newBuilder() to construct. - private ConnectionList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_EndPointPriority.newBuilder() to construct. + private Constraint_EndPointPriority(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ConnectionList() { - connections_ = java.util.Collections.emptyList(); + private Constraint_EndPointPriority() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ConnectionList(); + return new Constraint_EndPointPriority(); } @java.lang.Override @@ -30702,7 +55048,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ConnectionList( + private Constraint_EndPointPriority( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -30710,7 +55056,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -30722,12 +55067,21 @@ public final class ContextOuterClass { done = true; break; case 10: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - connections_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; + context.ContextOuterClass.EndPointId.Builder subBuilder = null; + if (endpointId_ != null) { + subBuilder = endpointId_.toBuilder(); } - connections_.add( - input.readMessage(context.ContextOuterClass.Connection.parser(), extensionRegistry)); + endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointId_); + endpointId_ = subBuilder.buildPartial(); + } + + break; + } + case 16: { + + priority_ = input.readUInt32(); break; } default: { @@ -30745,64 +55099,58 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - connections_ = java.util.Collections.unmodifiableList(connections_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionList.class, context.ContextOuterClass.ConnectionList.Builder.class); + context.ContextOuterClass.Constraint_EndPointPriority.class, context.ContextOuterClass.Constraint_EndPointPriority.Builder.class); } - public static final int CONNECTIONS_FIELD_NUMBER = 1; - private java.util.List connections_; - /** - * repeated .context.Connection connections = 1; - */ - @java.lang.Override - public java.util.List getConnectionsList() { - return connections_; - } + public static final int ENDPOINT_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.EndPointId endpointId_; /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ @java.lang.Override - public java.util.List - getConnectionsOrBuilderList() { - return connections_; + public boolean hasEndpointId() { + return endpointId_ != null; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ @java.lang.Override - public int getConnectionsCount() { - return connections_.size(); + public context.ContextOuterClass.EndPointId getEndpointId() { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ @java.lang.Override - public context.ContextOuterClass.Connection getConnections(int index) { - return connections_.get(index); + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + return getEndpointId(); } + + public static final int PRIORITY_FIELD_NUMBER = 2; + private int priority_; /** - * repeated .context.Connection connections = 1; + * uint32 priority = 2; + * @return The priority. */ @java.lang.Override - public context.ContextOuterClass.ConnectionOrBuilder getConnectionsOrBuilder( - int index) { - return connections_.get(index); + public int getPriority() { + return priority_; } private byte memoizedIsInitialized = -1; @@ -30819,8 +55167,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < connections_.size(); i++) { - output.writeMessage(1, connections_.get(i)); + if (endpointId_ != null) { + output.writeMessage(1, getEndpointId()); + } + if (priority_ != 0) { + output.writeUInt32(2, priority_); } unknownFields.writeTo(output); } @@ -30831,9 +55182,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - for (int i = 0; i < connections_.size(); i++) { + if (endpointId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, connections_.get(i)); + .computeMessageSize(1, getEndpointId()); + } + if (priority_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, priority_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -30845,13 +55200,18 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ConnectionList)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_EndPointPriority)) { return super.equals(obj); } - context.ContextOuterClass.ConnectionList other = (context.ContextOuterClass.ConnectionList) obj; + context.ContextOuterClass.Constraint_EndPointPriority other = (context.ContextOuterClass.Constraint_EndPointPriority) obj; - if (!getConnectionsList() - .equals(other.getConnectionsList())) return false; + if (hasEndpointId() != other.hasEndpointId()) return false; + if (hasEndpointId()) { + if (!getEndpointId() + .equals(other.getEndpointId())) return false; + } + if (getPriority() + != other.getPriority()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -30863,78 +55223,80 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getConnectionsCount() > 0) { - hash = (37 * hash) + CONNECTIONS_FIELD_NUMBER; - hash = (53 * hash) + getConnectionsList().hashCode(); + if (hasEndpointId()) { + hash = (37 * hash) + ENDPOINT_ID_FIELD_NUMBER; + hash = (53 * hash) + getEndpointId().hashCode(); } + hash = (37 * hash) + PRIORITY_FIELD_NUMBER; + hash = (53 * hash) + getPriority(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionList parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionList parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionList parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_EndPointPriority parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionList parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionList parseFrom( + public static context.ContextOuterClass.Constraint_EndPointPriority parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -30947,7 +55309,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ConnectionList prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_EndPointPriority prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -30963,26 +55325,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ConnectionList} + * Protobuf type {@code context.Constraint_EndPointPriority} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ConnectionList) - context.ContextOuterClass.ConnectionListOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_EndPointPriority) + context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionList_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionList.class, context.ContextOuterClass.ConnectionList.Builder.class); + context.ContextOuterClass.Constraint_EndPointPriority.class, context.ContextOuterClass.Constraint_EndPointPriority.Builder.class); } - // Construct using context.ContextOuterClass.ConnectionList.newBuilder() + // Construct using context.ContextOuterClass.Constraint_EndPointPriority.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -30995,35 +55357,36 @@ public final class ContextOuterClass { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getConnectionsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (connectionsBuilder_ == null) { - connections_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); + if (endpointIdBuilder_ == null) { + endpointId_ = null; } else { - connectionsBuilder_.clear(); + endpointId_ = null; + endpointIdBuilder_ = null; } + priority_ = 0; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_descriptor; } @java.lang.Override - public context.ContextOuterClass.ConnectionList getDefaultInstanceForType() { - return context.ContextOuterClass.ConnectionList.getDefaultInstance(); + public context.ContextOuterClass.Constraint_EndPointPriority getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ConnectionList build() { - context.ContextOuterClass.ConnectionList result = buildPartial(); + public context.ContextOuterClass.Constraint_EndPointPriority build() { + context.ContextOuterClass.Constraint_EndPointPriority result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -31031,18 +55394,14 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ConnectionList buildPartial() { - context.ContextOuterClass.ConnectionList result = new context.ContextOuterClass.ConnectionList(this); - int from_bitField0_ = bitField0_; - if (connectionsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - connections_ = java.util.Collections.unmodifiableList(connections_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.connections_ = connections_; + public context.ContextOuterClass.Constraint_EndPointPriority buildPartial() { + context.ContextOuterClass.Constraint_EndPointPriority result = new context.ContextOuterClass.Constraint_EndPointPriority(this); + if (endpointIdBuilder_ == null) { + result.endpointId_ = endpointId_; } else { - result.connections_ = connectionsBuilder_.build(); + result.endpointId_ = endpointIdBuilder_.build(); } + result.priority_ = priority_; onBuilt(); return result; } @@ -31081,41 +55440,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ConnectionList) { - return mergeFrom((context.ContextOuterClass.ConnectionList)other); + if (other instanceof context.ContextOuterClass.Constraint_EndPointPriority) { + return mergeFrom((context.ContextOuterClass.Constraint_EndPointPriority)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ConnectionList other) { - if (other == context.ContextOuterClass.ConnectionList.getDefaultInstance()) return this; - if (connectionsBuilder_ == null) { - if (!other.connections_.isEmpty()) { - if (connections_.isEmpty()) { - connections_ = other.connections_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureConnectionsIsMutable(); - connections_.addAll(other.connections_); - } - onChanged(); - } - } else { - if (!other.connections_.isEmpty()) { - if (connectionsBuilder_.isEmpty()) { - connectionsBuilder_.dispose(); - connectionsBuilder_ = null; - connections_ = other.connections_; - bitField0_ = (bitField0_ & ~0x00000001); - connectionsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getConnectionsFieldBuilder() : null; - } else { - connectionsBuilder_.addAllMessages(other.connections_); - } - } + public Builder mergeFrom(context.ContextOuterClass.Constraint_EndPointPriority other) { + if (other == context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance()) return this; + if (other.hasEndpointId()) { + mergeEndpointId(other.getEndpointId()); + } + if (other.getPriority() != 0) { + setPriority(other.getPriority()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -31132,11 +55471,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ConnectionList parsedMessage = null; + context.ContextOuterClass.Constraint_EndPointPriority parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ConnectionList) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_EndPointPriority) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -31145,246 +55484,155 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private java.util.List connections_ = - java.util.Collections.emptyList(); - private void ensureConnectionsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - connections_ = new java.util.ArrayList(connections_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Connection, context.ContextOuterClass.Connection.Builder, context.ContextOuterClass.ConnectionOrBuilder> connectionsBuilder_; + private context.ContextOuterClass.EndPointId endpointId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> endpointIdBuilder_; /** - * repeated .context.Connection connections = 1; - */ - public java.util.List getConnectionsList() { - if (connectionsBuilder_ == null) { - return java.util.Collections.unmodifiableList(connections_); - } else { - return connectionsBuilder_.getMessageList(); - } - } - /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; + * @return Whether the endpointId field is set. */ - public int getConnectionsCount() { - if (connectionsBuilder_ == null) { - return connections_.size(); - } else { - return connectionsBuilder_.getCount(); - } + public boolean hasEndpointId() { + return endpointIdBuilder_ != null || endpointId_ != null; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; + * @return The endpointId. */ - public context.ContextOuterClass.Connection getConnections(int index) { - if (connectionsBuilder_ == null) { - return connections_.get(index); + public context.ContextOuterClass.EndPointId getEndpointId() { + if (endpointIdBuilder_ == null) { + return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } else { - return connectionsBuilder_.getMessage(index); + return endpointIdBuilder_.getMessage(); } } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder setConnections( - int index, context.ContextOuterClass.Connection value) { - if (connectionsBuilder_ == null) { + public Builder setEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureConnectionsIsMutable(); - connections_.set(index, value); + endpointId_ = value; onChanged(); } else { - connectionsBuilder_.setMessage(index, value); + endpointIdBuilder_.setMessage(value); } + return this; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder setConnections( - int index, context.ContextOuterClass.Connection.Builder builderForValue) { - if (connectionsBuilder_ == null) { - ensureConnectionsIsMutable(); - connections_.set(index, builderForValue.build()); + public Builder setEndpointId( + context.ContextOuterClass.EndPointId.Builder builderForValue) { + if (endpointIdBuilder_ == null) { + endpointId_ = builderForValue.build(); onChanged(); } else { - connectionsBuilder_.setMessage(index, builderForValue.build()); + endpointIdBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnections(context.ContextOuterClass.Connection value) { - if (connectionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); + public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { + if (endpointIdBuilder_ == null) { + if (endpointId_ != null) { + endpointId_ = + context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); + } else { + endpointId_ = value; } - ensureConnectionsIsMutable(); - connections_.add(value); onChanged(); } else { - connectionsBuilder_.addMessage(value); + endpointIdBuilder_.mergeFrom(value); } + return this; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnections( - int index, context.ContextOuterClass.Connection value) { - if (connectionsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureConnectionsIsMutable(); - connections_.add(index, value); + public Builder clearEndpointId() { + if (endpointIdBuilder_ == null) { + endpointId_ = null; onChanged(); } else { - connectionsBuilder_.addMessage(index, value); + endpointId_ = null; + endpointIdBuilder_ = null; } + return this; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnections( - context.ContextOuterClass.Connection.Builder builderForValue) { - if (connectionsBuilder_ == null) { - ensureConnectionsIsMutable(); - connections_.add(builderForValue.build()); - onChanged(); - } else { - connectionsBuilder_.addMessage(builderForValue.build()); - } - return this; + public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { + + onChanged(); + return getEndpointIdFieldBuilder().getBuilder(); } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addConnections( - int index, context.ContextOuterClass.Connection.Builder builderForValue) { - if (connectionsBuilder_ == null) { - ensureConnectionsIsMutable(); - connections_.add(index, builderForValue.build()); - onChanged(); + public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { + if (endpointIdBuilder_ != null) { + return endpointIdBuilder_.getMessageOrBuilder(); } else { - connectionsBuilder_.addMessage(index, builderForValue.build()); + return endpointId_ == null ? + context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } - return this; } /** - * repeated .context.Connection connections = 1; + * .context.EndPointId endpoint_id = 1; */ - public Builder addAllConnections( - java.lang.Iterable values) { - if (connectionsBuilder_ == null) { - ensureConnectionsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, connections_); - onChanged(); - } else { - connectionsBuilder_.addAllMessages(values); + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> + getEndpointIdFieldBuilder() { + if (endpointIdBuilder_ == null) { + endpointIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( + getEndpointId(), + getParentForChildren(), + isClean()); + endpointId_ = null; } - return this; + return endpointIdBuilder_; } + + private int priority_ ; /** - * repeated .context.Connection connections = 1; + * uint32 priority = 2; + * @return The priority. */ - public Builder clearConnections() { - if (connectionsBuilder_ == null) { - connections_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - connectionsBuilder_.clear(); - } - return this; + @java.lang.Override + public int getPriority() { + return priority_; } /** - * repeated .context.Connection connections = 1; + * uint32 priority = 2; + * @param value The priority to set. + * @return This builder for chaining. */ - public Builder removeConnections(int index) { - if (connectionsBuilder_ == null) { - ensureConnectionsIsMutable(); - connections_.remove(index); - onChanged(); - } else { - connectionsBuilder_.remove(index); - } + public Builder setPriority(int value) { + + priority_ = value; + onChanged(); return this; } /** - * repeated .context.Connection connections = 1; - */ - public context.ContextOuterClass.Connection.Builder getConnectionsBuilder( - int index) { - return getConnectionsFieldBuilder().getBuilder(index); - } - /** - * repeated .context.Connection connections = 1; - */ - public context.ContextOuterClass.ConnectionOrBuilder getConnectionsOrBuilder( - int index) { - if (connectionsBuilder_ == null) { - return connections_.get(index); } else { - return connectionsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .context.Connection connections = 1; - */ - public java.util.List - getConnectionsOrBuilderList() { - if (connectionsBuilder_ != null) { - return connectionsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(connections_); - } - } - /** - * repeated .context.Connection connections = 1; - */ - public context.ContextOuterClass.Connection.Builder addConnectionsBuilder() { - return getConnectionsFieldBuilder().addBuilder( - context.ContextOuterClass.Connection.getDefaultInstance()); - } - /** - * repeated .context.Connection connections = 1; - */ - public context.ContextOuterClass.Connection.Builder addConnectionsBuilder( - int index) { - return getConnectionsFieldBuilder().addBuilder( - index, context.ContextOuterClass.Connection.getDefaultInstance()); - } - /** - * repeated .context.Connection connections = 1; + * uint32 priority = 2; + * @return This builder for chaining. */ - public java.util.List - getConnectionsBuilderList() { - return getConnectionsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Connection, context.ContextOuterClass.Connection.Builder, context.ContextOuterClass.ConnectionOrBuilder> - getConnectionsFieldBuilder() { - if (connectionsBuilder_ == null) { - connectionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - context.ContextOuterClass.Connection, context.ContextOuterClass.Connection.Builder, context.ContextOuterClass.ConnectionOrBuilder>( - connections_, - ((bitField0_ & 0x00000001) != 0), - getParentForChildren(), - isClean()); - connections_ = null; - } - return connectionsBuilder_; + public Builder clearPriority() { + + priority_ = 0; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -31399,100 +55647,76 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ConnectionList) + // @@protoc_insertion_point(builder_scope:context.Constraint_EndPointPriority) } - // @@protoc_insertion_point(class_scope:context.ConnectionList) - private static final context.ContextOuterClass.ConnectionList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_EndPointPriority) + private static final context.ContextOuterClass.Constraint_EndPointPriority DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionList(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_EndPointPriority(); } - public static context.ContextOuterClass.ConnectionList getDefaultInstance() { + public static context.ContextOuterClass.Constraint_EndPointPriority getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ConnectionList parsePartialFrom( + public Constraint_EndPointPriority parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ConnectionList(input, extensionRegistry); + return new Constraint_EndPointPriority(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ConnectionList getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_EndPointPriority getDefaultInstanceForType() { return DEFAULT_INSTANCE; } - } - - public interface ConnectionEventOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ConnectionEvent) - com.google.protobuf.MessageOrBuilder { - - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - boolean hasEvent(); - /** - * .context.Event event = 1; - * @return The event. - */ - context.ContextOuterClass.Event getEvent(); - /** - * .context.Event event = 1; - */ - context.ContextOuterClass.EventOrBuilder getEventOrBuilder(); + } + + public interface Constraint_SLA_LatencyOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_SLA_Latency) + com.google.protobuf.MessageOrBuilder { /** - * .context.ConnectionId connection_id = 2; - * @return Whether the connectionId field is set. - */ - boolean hasConnectionId(); - /** - * .context.ConnectionId connection_id = 2; - * @return The connectionId. - */ - context.ContextOuterClass.ConnectionId getConnectionId(); - /** - * .context.ConnectionId connection_id = 2; + * float e2e_latency_ms = 1; + * @return The e2eLatencyMs. */ - context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder(); + float getE2ELatencyMs(); } /** - * Protobuf type {@code context.ConnectionEvent} + * Protobuf type {@code context.Constraint_SLA_Latency} */ - public static final class ConnectionEvent extends + public static final class Constraint_SLA_Latency extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ConnectionEvent) - ConnectionEventOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_SLA_Latency) + Constraint_SLA_LatencyOrBuilder { private static final long serialVersionUID = 0L; - // Use ConnectionEvent.newBuilder() to construct. - private ConnectionEvent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_SLA_Latency.newBuilder() to construct. + private Constraint_SLA_Latency(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ConnectionEvent() { + private Constraint_SLA_Latency() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ConnectionEvent(); + return new Constraint_SLA_Latency(); } @java.lang.Override @@ -31500,7 +55724,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ConnectionEvent( + private Constraint_SLA_Latency( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -31518,30 +55742,9 @@ public final class ContextOuterClass { case 0: done = true; break; - case 10: { - context.ContextOuterClass.Event.Builder subBuilder = null; - if (event_ != null) { - subBuilder = event_.toBuilder(); - } - event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(event_); - event_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.ConnectionId.Builder subBuilder = null; - if (connectionId_ != null) { - subBuilder = connectionId_.toBuilder(); - } - connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(connectionId_); - connectionId_ = subBuilder.buildPartial(); - } + case 13: { + e2ELatencyMs_ = input.readFloat(); break; } default: { @@ -31565,67 +55768,26 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionEvent.class, context.ContextOuterClass.ConnectionEvent.Builder.class); - } - - public static final int EVENT_FIELD_NUMBER = 1; - private context.ContextOuterClass.Event event_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - @java.lang.Override - public boolean hasEvent() { - return event_ != null; - } - /** - * .context.Event event = 1; - * @return The event. - */ - @java.lang.Override - public context.ContextOuterClass.Event getEvent() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; - } - /** - * .context.Event event = 1; - */ - @java.lang.Override - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return getEvent(); + context.ContextOuterClass.Constraint_SLA_Latency.class, context.ContextOuterClass.Constraint_SLA_Latency.Builder.class); } - public static final int CONNECTION_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.ConnectionId connectionId_; - /** - * .context.ConnectionId connection_id = 2; - * @return Whether the connectionId field is set. - */ - @java.lang.Override - public boolean hasConnectionId() { - return connectionId_ != null; - } - /** - * .context.ConnectionId connection_id = 2; - * @return The connectionId. - */ - @java.lang.Override - public context.ContextOuterClass.ConnectionId getConnectionId() { - return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; - } + public static final int E2E_LATENCY_MS_FIELD_NUMBER = 1; + private float e2ELatencyMs_; /** - * .context.ConnectionId connection_id = 2; + * float e2e_latency_ms = 1; + * @return The e2eLatencyMs. */ @java.lang.Override - public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { - return getConnectionId(); + public float getE2ELatencyMs() { + return e2ELatencyMs_; } private byte memoizedIsInitialized = -1; @@ -31642,11 +55804,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (event_ != null) { - output.writeMessage(1, getEvent()); - } - if (connectionId_ != null) { - output.writeMessage(2, getConnectionId()); + if (e2ELatencyMs_ != 0F) { + output.writeFloat(1, e2ELatencyMs_); } unknownFields.writeTo(output); } @@ -31657,13 +55816,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (event_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEvent()); - } - if (connectionId_ != null) { + if (e2ELatencyMs_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getConnectionId()); + .computeFloatSize(1, e2ELatencyMs_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -31675,21 +55830,14 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ConnectionEvent)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_SLA_Latency)) { return super.equals(obj); } - context.ContextOuterClass.ConnectionEvent other = (context.ContextOuterClass.ConnectionEvent) obj; + context.ContextOuterClass.Constraint_SLA_Latency other = (context.ContextOuterClass.Constraint_SLA_Latency) obj; - if (hasEvent() != other.hasEvent()) return false; - if (hasEvent()) { - if (!getEvent() - .equals(other.getEvent())) return false; - } - if (hasConnectionId() != other.hasConnectionId()) return false; - if (hasConnectionId()) { - if (!getConnectionId() - .equals(other.getConnectionId())) return false; - } + if (java.lang.Float.floatToIntBits(getE2ELatencyMs()) + != java.lang.Float.floatToIntBits( + other.getE2ELatencyMs())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -31701,82 +55849,77 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEvent()) { - hash = (37 * hash) + EVENT_FIELD_NUMBER; - hash = (53 * hash) + getEvent().hashCode(); - } - if (hasConnectionId()) { - hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER; - hash = (53 * hash) + getConnectionId().hashCode(); - } + hash = (37 * hash) + E2E_LATENCY_MS_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getE2ELatencyMs()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionEvent parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConnectionEvent parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionEvent parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Latency parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionEvent parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConnectionEvent parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Latency parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -31789,7 +55932,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ConnectionEvent prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_SLA_Latency prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -31805,26 +55948,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ConnectionEvent} + * Protobuf type {@code context.Constraint_SLA_Latency} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ConnectionEvent) - context.ContextOuterClass.ConnectionEventOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_SLA_Latency) + context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConnectionEvent_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConnectionEvent.class, context.ContextOuterClass.ConnectionEvent.Builder.class); + context.ContextOuterClass.Constraint_SLA_Latency.class, context.ContextOuterClass.Constraint_SLA_Latency.Builder.class); } - // Construct using context.ContextOuterClass.ConnectionEvent.newBuilder() + // Construct using context.ContextOuterClass.Constraint_SLA_Latency.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -31842,35 +55985,25 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - if (eventBuilder_ == null) { - event_ = null; - } else { - event_ = null; - eventBuilder_ = null; - } - if (connectionIdBuilder_ == null) { - connectionId_ = null; - } else { - connectionId_ = null; - connectionIdBuilder_ = null; - } + e2ELatencyMs_ = 0F; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_descriptor; } @java.lang.Override - public context.ContextOuterClass.ConnectionEvent getDefaultInstanceForType() { - return context.ContextOuterClass.ConnectionEvent.getDefaultInstance(); + public context.ContextOuterClass.Constraint_SLA_Latency getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ConnectionEvent build() { - context.ContextOuterClass.ConnectionEvent result = buildPartial(); + public context.ContextOuterClass.Constraint_SLA_Latency build() { + context.ContextOuterClass.Constraint_SLA_Latency result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -31878,18 +56011,9 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ConnectionEvent buildPartial() { - context.ContextOuterClass.ConnectionEvent result = new context.ContextOuterClass.ConnectionEvent(this); - if (eventBuilder_ == null) { - result.event_ = event_; - } else { - result.event_ = eventBuilder_.build(); - } - if (connectionIdBuilder_ == null) { - result.connectionId_ = connectionId_; - } else { - result.connectionId_ = connectionIdBuilder_.build(); - } + public context.ContextOuterClass.Constraint_SLA_Latency buildPartial() { + context.ContextOuterClass.Constraint_SLA_Latency result = new context.ContextOuterClass.Constraint_SLA_Latency(this); + result.e2ELatencyMs_ = e2ELatencyMs_; onBuilt(); return result; } @@ -31928,21 +56052,18 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ConnectionEvent) { - return mergeFrom((context.ContextOuterClass.ConnectionEvent)other); + if (other instanceof context.ContextOuterClass.Constraint_SLA_Latency) { + return mergeFrom((context.ContextOuterClass.Constraint_SLA_Latency)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ConnectionEvent other) { - if (other == context.ContextOuterClass.ConnectionEvent.getDefaultInstance()) return this; - if (other.hasEvent()) { - mergeEvent(other.getEvent()); - } - if (other.hasConnectionId()) { - mergeConnectionId(other.getConnectionId()); + public Builder mergeFrom(context.ContextOuterClass.Constraint_SLA_Latency other) { + if (other == context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance()) return this; + if (other.getE2ELatencyMs() != 0F) { + setE2ELatencyMs(other.getE2ELatencyMs()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -31959,11 +56080,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ConnectionEvent parsedMessage = null; + context.ContextOuterClass.Constraint_SLA_Latency parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ConnectionEvent) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_SLA_Latency) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -31973,242 +56094,35 @@ public final class ContextOuterClass { return this; } - private context.ContextOuterClass.Event event_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> eventBuilder_; - /** - * .context.Event event = 1; - * @return Whether the event field is set. - */ - public boolean hasEvent() { - return eventBuilder_ != null || event_ != null; - } - /** - * .context.Event event = 1; - * @return The event. - */ - public context.ContextOuterClass.Event getEvent() { - if (eventBuilder_ == null) { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; - } else { - return eventBuilder_.getMessage(); - } - } - /** - * .context.Event event = 1; - */ - public Builder setEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - event_ = value; - onChanged(); - } else { - eventBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.Event event = 1; - */ - public Builder setEvent( - context.ContextOuterClass.Event.Builder builderForValue) { - if (eventBuilder_ == null) { - event_ = builderForValue.build(); - onChanged(); - } else { - eventBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.Event event = 1; - */ - public Builder mergeEvent(context.ContextOuterClass.Event value) { - if (eventBuilder_ == null) { - if (event_ != null) { - event_ = - context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); - } else { - event_ = value; - } - onChanged(); - } else { - eventBuilder_.mergeFrom(value); - } - - return this; - } + private float e2ELatencyMs_ ; /** - * .context.Event event = 1; + * float e2e_latency_ms = 1; + * @return The e2eLatencyMs. */ - public Builder clearEvent() { - if (eventBuilder_ == null) { - event_ = null; - onChanged(); - } else { - event_ = null; - eventBuilder_ = null; - } - - return this; + @java.lang.Override + public float getE2ELatencyMs() { + return e2ELatencyMs_; } /** - * .context.Event event = 1; + * float e2e_latency_ms = 1; + * @param value The e2eLatencyMs to set. + * @return This builder for chaining. */ - public context.ContextOuterClass.Event.Builder getEventBuilder() { + public Builder setE2ELatencyMs(float value) { + e2ELatencyMs_ = value; onChanged(); - return getEventFieldBuilder().getBuilder(); - } - /** - * .context.Event event = 1; - */ - public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - if (eventBuilder_ != null) { - return eventBuilder_.getMessageOrBuilder(); - } else { - return event_ == null ? - context.ContextOuterClass.Event.getDefaultInstance() : event_; - } - } - /** - * .context.Event event = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder> - getEventFieldBuilder() { - if (eventBuilder_ == null) { - eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Event, context.ContextOuterClass.Event.Builder, context.ContextOuterClass.EventOrBuilder>( - getEvent(), - getParentForChildren(), - isClean()); - event_ = null; - } - return eventBuilder_; - } - - private context.ContextOuterClass.ConnectionId connectionId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdBuilder_; - /** - * .context.ConnectionId connection_id = 2; - * @return Whether the connectionId field is set. - */ - public boolean hasConnectionId() { - return connectionIdBuilder_ != null || connectionId_ != null; - } - /** - * .context.ConnectionId connection_id = 2; - * @return The connectionId. - */ - public context.ContextOuterClass.ConnectionId getConnectionId() { - if (connectionIdBuilder_ == null) { - return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; - } else { - return connectionIdBuilder_.getMessage(); - } - } - /** - * .context.ConnectionId connection_id = 2; - */ - public Builder setConnectionId(context.ContextOuterClass.ConnectionId value) { - if (connectionIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - connectionId_ = value; - onChanged(); - } else { - connectionIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.ConnectionId connection_id = 2; - */ - public Builder setConnectionId( - context.ContextOuterClass.ConnectionId.Builder builderForValue) { - if (connectionIdBuilder_ == null) { - connectionId_ = builderForValue.build(); - onChanged(); - } else { - connectionIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.ConnectionId connection_id = 2; - */ - public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { - if (connectionIdBuilder_ == null) { - if (connectionId_ != null) { - connectionId_ = - context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); - } else { - connectionId_ = value; - } - onChanged(); - } else { - connectionIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.ConnectionId connection_id = 2; - */ - public Builder clearConnectionId() { - if (connectionIdBuilder_ == null) { - connectionId_ = null; - onChanged(); - } else { - connectionId_ = null; - connectionIdBuilder_ = null; - } - return this; } /** - * .context.ConnectionId connection_id = 2; + * float e2e_latency_ms = 1; + * @return This builder for chaining. */ - public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { + public Builder clearE2ELatencyMs() { + e2ELatencyMs_ = 0F; onChanged(); - return getConnectionIdFieldBuilder().getBuilder(); - } - /** - * .context.ConnectionId connection_id = 2; - */ - public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { - if (connectionIdBuilder_ != null) { - return connectionIdBuilder_.getMessageOrBuilder(); - } else { - return connectionId_ == null ? - context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; - } - } - /** - * .context.ConnectionId connection_id = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> - getConnectionIdFieldBuilder() { - if (connectionIdBuilder_ == null) { - connectionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( - getConnectionId(), - getParentForChildren(), - isClean()); - connectionId_ = null; - } - return connectionIdBuilder_; + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -32223,119 +56137,76 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ConnectionEvent) + // @@protoc_insertion_point(builder_scope:context.Constraint_SLA_Latency) } - // @@protoc_insertion_point(class_scope:context.ConnectionEvent) - private static final context.ContextOuterClass.ConnectionEvent DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_SLA_Latency) + private static final context.ContextOuterClass.Constraint_SLA_Latency DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ConnectionEvent(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_SLA_Latency(); } - public static context.ContextOuterClass.ConnectionEvent getDefaultInstance() { + public static context.ContextOuterClass.Constraint_SLA_Latency getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ConnectionEvent parsePartialFrom( + public Constraint_SLA_Latency parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ConnectionEvent(input, extensionRegistry); + return new Constraint_SLA_Latency(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ConnectionEvent getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_SLA_Latency getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface EndPointIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.EndPointId) + public interface Constraint_SLA_CapacityOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_SLA_Capacity) com.google.protobuf.MessageOrBuilder { /** - * .context.TopologyId topology_id = 1; - * @return Whether the topologyId field is set. - */ - boolean hasTopologyId(); - /** - * .context.TopologyId topology_id = 1; - * @return The topologyId. - */ - context.ContextOuterClass.TopologyId getTopologyId(); - /** - * .context.TopologyId topology_id = 1; - */ - context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder(); - - /** - * .context.DeviceId device_id = 2; - * @return Whether the deviceId field is set. - */ - boolean hasDeviceId(); - /** - * .context.DeviceId device_id = 2; - * @return The deviceId. - */ - context.ContextOuterClass.DeviceId getDeviceId(); - /** - * .context.DeviceId device_id = 2; - */ - context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); - - /** - * .context.Uuid endpoint_uuid = 3; - * @return Whether the endpointUuid field is set. - */ - boolean hasEndpointUuid(); - /** - * .context.Uuid endpoint_uuid = 3; - * @return The endpointUuid. - */ - context.ContextOuterClass.Uuid getEndpointUuid(); - /** - * .context.Uuid endpoint_uuid = 3; + * float capacity_gbps = 1; + * @return The capacityGbps. */ - context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder(); + float getCapacityGbps(); } /** - *
-   * ----- Endpoint ------------------------------------------------------------------------------------------------------
-   * 
- * - * Protobuf type {@code context.EndPointId} + * Protobuf type {@code context.Constraint_SLA_Capacity} */ - public static final class EndPointId extends + public static final class Constraint_SLA_Capacity extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.EndPointId) - EndPointIdOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_SLA_Capacity) + Constraint_SLA_CapacityOrBuilder { private static final long serialVersionUID = 0L; - // Use EndPointId.newBuilder() to construct. - private EndPointId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_SLA_Capacity.newBuilder() to construct. + private Constraint_SLA_Capacity(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private EndPointId() { + private Constraint_SLA_Capacity() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new EndPointId(); + return new Constraint_SLA_Capacity(); } @java.lang.Override @@ -32343,7 +56214,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private EndPointId( + private Constraint_SLA_Capacity( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -32358,46 +56229,12 @@ public final class ContextOuterClass { while (!done) { int tag = input.readTag(); switch (tag) { - case 0: - done = true; - break; - case 10: { - context.ContextOuterClass.TopologyId.Builder subBuilder = null; - if (topologyId_ != null) { - subBuilder = topologyId_.toBuilder(); - } - topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(topologyId_); - topologyId_ = subBuilder.buildPartial(); - } - - break; - } - case 18: { - context.ContextOuterClass.DeviceId.Builder subBuilder = null; - if (deviceId_ != null) { - subBuilder = deviceId_.toBuilder(); - } - deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(deviceId_); - deviceId_ = subBuilder.buildPartial(); - } - + case 0: + done = true; break; - } - case 26: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (endpointUuid_ != null) { - subBuilder = endpointUuid_.toBuilder(); - } - endpointUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(endpointUuid_); - endpointUuid_ = subBuilder.buildPartial(); - } + case 13: { + capacityGbps_ = input.readFloat(); break; } default: { @@ -32421,93 +56258,26 @@ public final class ContextOuterClass { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_EndPointId_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_EndPointId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.EndPointId.class, context.ContextOuterClass.EndPointId.Builder.class); - } - - public static final int TOPOLOGY_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.TopologyId topologyId_; - /** - * .context.TopologyId topology_id = 1; - * @return Whether the topologyId field is set. - */ - @java.lang.Override - public boolean hasTopologyId() { - return topologyId_ != null; - } - /** - * .context.TopologyId topology_id = 1; - * @return The topologyId. - */ - @java.lang.Override - public context.ContextOuterClass.TopologyId getTopologyId() { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; - } - /** - * .context.TopologyId topology_id = 1; - */ - @java.lang.Override - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - return getTopologyId(); - } - - public static final int DEVICE_ID_FIELD_NUMBER = 2; - private context.ContextOuterClass.DeviceId deviceId_; - /** - * .context.DeviceId device_id = 2; - * @return Whether the deviceId field is set. - */ - @java.lang.Override - public boolean hasDeviceId() { - return deviceId_ != null; - } - /** - * .context.DeviceId device_id = 2; - * @return The deviceId. - */ - @java.lang.Override - public context.ContextOuterClass.DeviceId getDeviceId() { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; - } - /** - * .context.DeviceId device_id = 2; - */ - @java.lang.Override - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - return getDeviceId(); + context.ContextOuterClass.Constraint_SLA_Capacity.class, context.ContextOuterClass.Constraint_SLA_Capacity.Builder.class); } - public static final int ENDPOINT_UUID_FIELD_NUMBER = 3; - private context.ContextOuterClass.Uuid endpointUuid_; - /** - * .context.Uuid endpoint_uuid = 3; - * @return Whether the endpointUuid field is set. - */ - @java.lang.Override - public boolean hasEndpointUuid() { - return endpointUuid_ != null; - } - /** - * .context.Uuid endpoint_uuid = 3; - * @return The endpointUuid. - */ - @java.lang.Override - public context.ContextOuterClass.Uuid getEndpointUuid() { - return endpointUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_; - } + public static final int CAPACITY_GBPS_FIELD_NUMBER = 1; + private float capacityGbps_; /** - * .context.Uuid endpoint_uuid = 3; + * float capacity_gbps = 1; + * @return The capacityGbps. */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder() { - return getEndpointUuid(); + public float getCapacityGbps() { + return capacityGbps_; } private byte memoizedIsInitialized = -1; @@ -32524,14 +56294,8 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (topologyId_ != null) { - output.writeMessage(1, getTopologyId()); - } - if (deviceId_ != null) { - output.writeMessage(2, getDeviceId()); - } - if (endpointUuid_ != null) { - output.writeMessage(3, getEndpointUuid()); + if (capacityGbps_ != 0F) { + output.writeFloat(1, capacityGbps_); } unknownFields.writeTo(output); } @@ -32542,17 +56306,9 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (topologyId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getTopologyId()); - } - if (deviceId_ != null) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, getDeviceId()); - } - if (endpointUuid_ != null) { + if (capacityGbps_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getEndpointUuid()); + .computeFloatSize(1, capacityGbps_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -32564,26 +56320,14 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.EndPointId)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_SLA_Capacity)) { return super.equals(obj); } - context.ContextOuterClass.EndPointId other = (context.ContextOuterClass.EndPointId) obj; + context.ContextOuterClass.Constraint_SLA_Capacity other = (context.ContextOuterClass.Constraint_SLA_Capacity) obj; - if (hasTopologyId() != other.hasTopologyId()) return false; - if (hasTopologyId()) { - if (!getTopologyId() - .equals(other.getTopologyId())) return false; - } - if (hasDeviceId() != other.hasDeviceId()) return false; - if (hasDeviceId()) { - if (!getDeviceId() - .equals(other.getDeviceId())) return false; - } - if (hasEndpointUuid() != other.hasEndpointUuid()) return false; - if (hasEndpointUuid()) { - if (!getEndpointUuid() - .equals(other.getEndpointUuid())) return false; - } + if (java.lang.Float.floatToIntBits(getCapacityGbps()) + != java.lang.Float.floatToIntBits( + other.getCapacityGbps())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -32595,86 +56339,77 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTopologyId()) { - hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; - hash = (53 * hash) + getTopologyId().hashCode(); - } - if (hasDeviceId()) { - hash = (37 * hash) + DEVICE_ID_FIELD_NUMBER; - hash = (53 * hash) + getDeviceId().hashCode(); - } - if (hasEndpointUuid()) { - hash = (37 * hash) + ENDPOINT_UUID_FIELD_NUMBER; - hash = (53 * hash) + getEndpointUuid().hashCode(); - } + hash = (37 * hash) + CAPACITY_GBPS_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getCapacityGbps()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.EndPointId parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.EndPointId parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.EndPointId parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Capacity parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.EndPointId parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.EndPointId parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Capacity parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -32687,7 +56422,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.EndPointId prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_SLA_Capacity prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -32703,30 +56438,26 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Endpoint ------------------------------------------------------------------------------------------------------
-     * 
- * - * Protobuf type {@code context.EndPointId} + * Protobuf type {@code context.Constraint_SLA_Capacity} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.EndPointId) - context.ContextOuterClass.EndPointIdOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_SLA_Capacity) + context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_EndPointId_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_EndPointId_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.EndPointId.class, context.ContextOuterClass.EndPointId.Builder.class); + context.ContextOuterClass.Constraint_SLA_Capacity.class, context.ContextOuterClass.Constraint_SLA_Capacity.Builder.class); } - // Construct using context.ContextOuterClass.EndPointId.newBuilder() + // Construct using context.ContextOuterClass.Constraint_SLA_Capacity.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -32744,506 +56475,144 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - if (topologyIdBuilder_ == null) { - topologyId_ = null; - } else { - topologyId_ = null; - topologyIdBuilder_ = null; - } - if (deviceIdBuilder_ == null) { - deviceId_ = null; - } else { - deviceId_ = null; - deviceIdBuilder_ = null; - } - if (endpointUuidBuilder_ == null) { - endpointUuid_ = null; - } else { - endpointUuid_ = null; - endpointUuidBuilder_ = null; - } + capacityGbps_ = 0F; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_EndPointId_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_descriptor; } @java.lang.Override - public context.ContextOuterClass.EndPointId getDefaultInstanceForType() { - return context.ContextOuterClass.EndPointId.getDefaultInstance(); + public context.ContextOuterClass.Constraint_SLA_Capacity getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.EndPointId build() { - context.ContextOuterClass.EndPointId result = buildPartial(); + public context.ContextOuterClass.Constraint_SLA_Capacity build() { + context.ContextOuterClass.Constraint_SLA_Capacity result = buildPartial(); if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public context.ContextOuterClass.EndPointId buildPartial() { - context.ContextOuterClass.EndPointId result = new context.ContextOuterClass.EndPointId(this); - if (topologyIdBuilder_ == null) { - result.topologyId_ = topologyId_; - } else { - result.topologyId_ = topologyIdBuilder_.build(); - } - if (deviceIdBuilder_ == null) { - result.deviceId_ = deviceId_; - } else { - result.deviceId_ = deviceIdBuilder_.build(); - } - if (endpointUuidBuilder_ == null) { - result.endpointUuid_ = endpointUuid_; - } else { - result.endpointUuid_ = endpointUuidBuilder_.build(); - } - onBuilt(); - return result; - } - - @java.lang.Override - public Builder clone() { - return super.clone(); - } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); - } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); - } - @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); - } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); - } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); - } - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.EndPointId) { - return mergeFrom((context.ContextOuterClass.EndPointId)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(context.ContextOuterClass.EndPointId other) { - if (other == context.ContextOuterClass.EndPointId.getDefaultInstance()) return this; - if (other.hasTopologyId()) { - mergeTopologyId(other.getTopologyId()); - } - if (other.hasDeviceId()) { - mergeDeviceId(other.getDeviceId()); - } - if (other.hasEndpointUuid()) { - mergeEndpointUuid(other.getEndpointUuid()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - context.ContextOuterClass.EndPointId parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.EndPointId) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private context.ContextOuterClass.TopologyId topologyId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> topologyIdBuilder_; - /** - * .context.TopologyId topology_id = 1; - * @return Whether the topologyId field is set. - */ - public boolean hasTopologyId() { - return topologyIdBuilder_ != null || topologyId_ != null; - } - /** - * .context.TopologyId topology_id = 1; - * @return The topologyId. - */ - public context.ContextOuterClass.TopologyId getTopologyId() { - if (topologyIdBuilder_ == null) { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; - } else { - return topologyIdBuilder_.getMessage(); - } - } - /** - * .context.TopologyId topology_id = 1; - */ - public Builder setTopologyId(context.ContextOuterClass.TopologyId value) { - if (topologyIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - topologyId_ = value; - onChanged(); - } else { - topologyIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.TopologyId topology_id = 1; - */ - public Builder setTopologyId( - context.ContextOuterClass.TopologyId.Builder builderForValue) { - if (topologyIdBuilder_ == null) { - topologyId_ = builderForValue.build(); - onChanged(); - } else { - topologyIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.TopologyId topology_id = 1; - */ - public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { - if (topologyIdBuilder_ == null) { - if (topologyId_ != null) { - topologyId_ = - context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); - } else { - topologyId_ = value; - } - onChanged(); - } else { - topologyIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.TopologyId topology_id = 1; - */ - public Builder clearTopologyId() { - if (topologyIdBuilder_ == null) { - topologyId_ = null; - onChanged(); - } else { - topologyId_ = null; - topologyIdBuilder_ = null; - } - - return this; - } - /** - * .context.TopologyId topology_id = 1; - */ - public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { - - onChanged(); - return getTopologyIdFieldBuilder().getBuilder(); - } - /** - * .context.TopologyId topology_id = 1; - */ - public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - if (topologyIdBuilder_ != null) { - return topologyIdBuilder_.getMessageOrBuilder(); - } else { - return topologyId_ == null ? - context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; - } - } - /** - * .context.TopologyId topology_id = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder> - getTopologyIdFieldBuilder() { - if (topologyIdBuilder_ == null) { - topologyIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.TopologyId, context.ContextOuterClass.TopologyId.Builder, context.ContextOuterClass.TopologyIdOrBuilder>( - getTopologyId(), - getParentForChildren(), - isClean()); - topologyId_ = null; - } - return topologyIdBuilder_; - } - - private context.ContextOuterClass.DeviceId deviceId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; - /** - * .context.DeviceId device_id = 2; - * @return Whether the deviceId field is set. - */ - public boolean hasDeviceId() { - return deviceIdBuilder_ != null || deviceId_ != null; - } - /** - * .context.DeviceId device_id = 2; - * @return The deviceId. - */ - public context.ContextOuterClass.DeviceId getDeviceId() { - if (deviceIdBuilder_ == null) { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; - } else { - return deviceIdBuilder_.getMessage(); - } - } - /** - * .context.DeviceId device_id = 2; - */ - public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { - if (deviceIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - deviceId_ = value; - onChanged(); - } else { - deviceIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.DeviceId device_id = 2; - */ - public Builder setDeviceId( - context.ContextOuterClass.DeviceId.Builder builderForValue) { - if (deviceIdBuilder_ == null) { - deviceId_ = builderForValue.build(); - onChanged(); - } else { - deviceIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.DeviceId device_id = 2; - */ - public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { - if (deviceIdBuilder_ == null) { - if (deviceId_ != null) { - deviceId_ = - context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); - } else { - deviceId_ = value; - } - onChanged(); - } else { - deviceIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.DeviceId device_id = 2; - */ - public Builder clearDeviceId() { - if (deviceIdBuilder_ == null) { - deviceId_ = null; - onChanged(); - } else { - deviceId_ = null; - deviceIdBuilder_ = null; - } - - return this; - } - /** - * .context.DeviceId device_id = 2; - */ - public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { - - onChanged(); - return getDeviceIdFieldBuilder().getBuilder(); - } - /** - * .context.DeviceId device_id = 2; - */ - public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - if (deviceIdBuilder_ != null) { - return deviceIdBuilder_.getMessageOrBuilder(); - } else { - return deviceId_ == null ? - context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + throw newUninitializedMessageException(result); } + return result; } - /** - * .context.DeviceId device_id = 2; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> - getDeviceIdFieldBuilder() { - if (deviceIdBuilder_ == null) { - deviceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder>( - getDeviceId(), - getParentForChildren(), - isClean()); - deviceId_ = null; - } - return deviceIdBuilder_; + + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Capacity buildPartial() { + context.ContextOuterClass.Constraint_SLA_Capacity result = new context.ContextOuterClass.Constraint_SLA_Capacity(this); + result.capacityGbps_ = capacityGbps_; + onBuilt(); + return result; } - private context.ContextOuterClass.Uuid endpointUuid_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> endpointUuidBuilder_; - /** - * .context.Uuid endpoint_uuid = 3; - * @return Whether the endpointUuid field is set. - */ - public boolean hasEndpointUuid() { - return endpointUuidBuilder_ != null || endpointUuid_ != null; + @java.lang.Override + public Builder clone() { + return super.clone(); } - /** - * .context.Uuid endpoint_uuid = 3; - * @return The endpointUuid. - */ - public context.ContextOuterClass.Uuid getEndpointUuid() { - if (endpointUuidBuilder_ == null) { - return endpointUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_; - } else { - return endpointUuidBuilder_.getMessage(); - } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); } - /** - * .context.Uuid endpoint_uuid = 3; - */ - public Builder setEndpointUuid(context.ContextOuterClass.Uuid value) { - if (endpointUuidBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - endpointUuid_ = value; - onChanged(); + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Constraint_SLA_Capacity) { + return mergeFrom((context.ContextOuterClass.Constraint_SLA_Capacity)other); } else { - endpointUuidBuilder_.setMessage(value); + super.mergeFrom(other); + return this; } + } + public Builder mergeFrom(context.ContextOuterClass.Constraint_SLA_Capacity other) { + if (other == context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance()) return this; + if (other.getCapacityGbps() != 0F) { + setCapacityGbps(other.getCapacityGbps()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); return this; } - /** - * .context.Uuid endpoint_uuid = 3; - */ - public Builder setEndpointUuid( - context.ContextOuterClass.Uuid.Builder builderForValue) { - if (endpointUuidBuilder_ == null) { - endpointUuid_ = builderForValue.build(); - onChanged(); - } else { - endpointUuidBuilder_.setMessage(builderForValue.build()); - } - return this; + @java.lang.Override + public final boolean isInitialized() { + return true; } - /** - * .context.Uuid endpoint_uuid = 3; - */ - public Builder mergeEndpointUuid(context.ContextOuterClass.Uuid value) { - if (endpointUuidBuilder_ == null) { - if (endpointUuid_ != null) { - endpointUuid_ = - context.ContextOuterClass.Uuid.newBuilder(endpointUuid_).mergeFrom(value).buildPartial(); - } else { - endpointUuid_ = value; + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.Constraint_SLA_Capacity parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Constraint_SLA_Capacity) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); } - onChanged(); - } else { - endpointUuidBuilder_.mergeFrom(value); } - return this; } + + private float capacityGbps_ ; /** - * .context.Uuid endpoint_uuid = 3; + * float capacity_gbps = 1; + * @return The capacityGbps. */ - public Builder clearEndpointUuid() { - if (endpointUuidBuilder_ == null) { - endpointUuid_ = null; - onChanged(); - } else { - endpointUuid_ = null; - endpointUuidBuilder_ = null; - } - - return this; + @java.lang.Override + public float getCapacityGbps() { + return capacityGbps_; } /** - * .context.Uuid endpoint_uuid = 3; + * float capacity_gbps = 1; + * @param value The capacityGbps to set. + * @return This builder for chaining. */ - public context.ContextOuterClass.Uuid.Builder getEndpointUuidBuilder() { + public Builder setCapacityGbps(float value) { + capacityGbps_ = value; onChanged(); - return getEndpointUuidFieldBuilder().getBuilder(); - } - /** - * .context.Uuid endpoint_uuid = 3; - */ - public context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder() { - if (endpointUuidBuilder_ != null) { - return endpointUuidBuilder_.getMessageOrBuilder(); - } else { - return endpointUuid_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_; - } + return this; } /** - * .context.Uuid endpoint_uuid = 3; + * float capacity_gbps = 1; + * @return This builder for chaining. */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getEndpointUuidFieldBuilder() { - if (endpointUuidBuilder_ == null) { - endpointUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getEndpointUuid(), - getParentForChildren(), - isClean()); - endpointUuid_ = null; - } - return endpointUuidBuilder_; + public Builder clearCapacityGbps() { + + capacityGbps_ = 0F; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -33258,128 +56627,82 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.EndPointId) + // @@protoc_insertion_point(builder_scope:context.Constraint_SLA_Capacity) } - // @@protoc_insertion_point(class_scope:context.EndPointId) - private static final context.ContextOuterClass.EndPointId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_SLA_Capacity) + private static final context.ContextOuterClass.Constraint_SLA_Capacity DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.EndPointId(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_SLA_Capacity(); } - public static context.ContextOuterClass.EndPointId getDefaultInstance() { + public static context.ContextOuterClass.Constraint_SLA_Capacity getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public EndPointId parsePartialFrom( + public Constraint_SLA_Capacity parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new EndPointId(input, extensionRegistry); + return new Constraint_SLA_Capacity(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.EndPointId getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_SLA_Capacity getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface EndPointOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.EndPoint) + public interface Constraint_SLA_AvailabilityOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_SLA_Availability) com.google.protobuf.MessageOrBuilder { /** - * .context.EndPointId endpoint_id = 1; - * @return Whether the endpointId field is set. - */ - boolean hasEndpointId(); - /** - * .context.EndPointId endpoint_id = 1; - * @return The endpointId. - */ - context.ContextOuterClass.EndPointId getEndpointId(); - /** - * .context.EndPointId endpoint_id = 1; - */ - context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder(); - - /** - * string endpoint_type = 2; - * @return The endpointType. - */ - java.lang.String getEndpointType(); - /** - * string endpoint_type = 2; - * @return The bytes for endpointType. + * uint32 num_disjoint_paths = 1; + * @return The numDisjointPaths. */ - com.google.protobuf.ByteString - getEndpointTypeBytes(); + int getNumDisjointPaths(); /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return A list containing the kpiSampleTypes. - */ - java.util.List getKpiSampleTypesList(); - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return The count of kpiSampleTypes. - */ - int getKpiSampleTypesCount(); - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the element to return. - * @return The kpiSampleTypes at the given index. - */ - kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleTypes(int index); - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return A list containing the enum numeric values on the wire for kpiSampleTypes. - */ - java.util.List - getKpiSampleTypesValueList(); - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of kpiSampleTypes at the given index. + * bool all_active = 2; + * @return The allActive. */ - int getKpiSampleTypesValue(int index); + boolean getAllActive(); } /** - * Protobuf type {@code context.EndPoint} + * Protobuf type {@code context.Constraint_SLA_Availability} */ - public static final class EndPoint extends + public static final class Constraint_SLA_Availability extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.EndPoint) - EndPointOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_SLA_Availability) + Constraint_SLA_AvailabilityOrBuilder { private static final long serialVersionUID = 0L; - // Use EndPoint.newBuilder() to construct. - private EndPoint(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_SLA_Availability.newBuilder() to construct. + private Constraint_SLA_Availability(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private EndPoint() { - endpointType_ = ""; - kpiSampleTypes_ = java.util.Collections.emptyList(); + private Constraint_SLA_Availability() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new EndPoint(); + return new Constraint_SLA_Availability(); } @java.lang.Override @@ -33387,7 +56710,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private EndPoint( + private Constraint_SLA_Availability( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -33395,7 +56718,6 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -33406,46 +56728,14 @@ public final class ContextOuterClass { case 0: done = true; break; - case 10: { - context.ContextOuterClass.EndPointId.Builder subBuilder = null; - if (endpointId_ != null) { - subBuilder = endpointId_.toBuilder(); - } - endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(endpointId_); - endpointId_ = subBuilder.buildPartial(); - } + case 8: { + numDisjointPaths_ = input.readUInt32(); break; } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); + case 16: { - endpointType_ = s; - break; - } - case 24: { - int rawValue = input.readEnum(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - kpiSampleTypes_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - kpiSampleTypes_.add(rawValue); - break; - } - case 26: { - int length = input.readRawVarint32(); - int oldLimit = input.pushLimit(length); - while(input.getBytesUntilLimit() > 0) { - int rawValue = input.readEnum(); - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - kpiSampleTypes_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - kpiSampleTypes_.add(rawValue); - } - input.popLimit(oldLimit); + allActive_ = input.readBool(); break; } default: { @@ -33463,147 +56753,44 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_EndPoint_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_EndPoint_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.EndPoint.class, context.ContextOuterClass.EndPoint.Builder.class); - } - - public static final int ENDPOINT_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.EndPointId endpointId_; - /** - * .context.EndPointId endpoint_id = 1; - * @return Whether the endpointId field is set. - */ - @java.lang.Override - public boolean hasEndpointId() { - return endpointId_ != null; - } - /** - * .context.EndPointId endpoint_id = 1; - * @return The endpointId. - */ - @java.lang.Override - public context.ContextOuterClass.EndPointId getEndpointId() { - return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; - } - /** - * .context.EndPointId endpoint_id = 1; - */ - @java.lang.Override - public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { - return getEndpointId(); + context.ContextOuterClass.Constraint_SLA_Availability.class, context.ContextOuterClass.Constraint_SLA_Availability.Builder.class); } - public static final int ENDPOINT_TYPE_FIELD_NUMBER = 2; - private volatile java.lang.Object endpointType_; - /** - * string endpoint_type = 2; - * @return The endpointType. - */ - @java.lang.Override - public java.lang.String getEndpointType() { - java.lang.Object ref = endpointType_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - endpointType_ = s; - return s; - } - } + public static final int NUM_DISJOINT_PATHS_FIELD_NUMBER = 1; + private int numDisjointPaths_; /** - * string endpoint_type = 2; - * @return The bytes for endpointType. + * uint32 num_disjoint_paths = 1; + * @return The numDisjointPaths. */ @java.lang.Override - public com.google.protobuf.ByteString - getEndpointTypeBytes() { - java.lang.Object ref = endpointType_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - endpointType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public int getNumDisjointPaths() { + return numDisjointPaths_; } - public static final int KPI_SAMPLE_TYPES_FIELD_NUMBER = 3; - private java.util.List kpiSampleTypes_; - private static final com.google.protobuf.Internal.ListAdapter.Converter< - java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType> kpiSampleTypes_converter_ = - new com.google.protobuf.Internal.ListAdapter.Converter< - java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType>() { - public kpi_sample_types.KpiSampleTypes.KpiSampleType convert(java.lang.Integer from) { - @SuppressWarnings("deprecation") - kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(from); - return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; - } - }; - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return A list containing the kpiSampleTypes. - */ - @java.lang.Override - public java.util.List getKpiSampleTypesList() { - return new com.google.protobuf.Internal.ListAdapter< - java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType>(kpiSampleTypes_, kpiSampleTypes_converter_); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return The count of kpiSampleTypes. - */ - @java.lang.Override - public int getKpiSampleTypesCount() { - return kpiSampleTypes_.size(); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the element to return. - * @return The kpiSampleTypes at the given index. - */ - @java.lang.Override - public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleTypes(int index) { - return kpiSampleTypes_converter_.convert(kpiSampleTypes_.get(index)); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return A list containing the enum numeric values on the wire for kpiSampleTypes. - */ - @java.lang.Override - public java.util.List - getKpiSampleTypesValueList() { - return kpiSampleTypes_; - } + public static final int ALL_ACTIVE_FIELD_NUMBER = 2; + private boolean allActive_; /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of kpiSampleTypes at the given index. + * bool all_active = 2; + * @return The allActive. */ @java.lang.Override - public int getKpiSampleTypesValue(int index) { - return kpiSampleTypes_.get(index); + public boolean getAllActive() { + return allActive_; } - private int kpiSampleTypesMemoizedSerializedSize; private byte memoizedIsInitialized = -1; @java.lang.Override @@ -33619,19 +56806,11 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - getSerializedSize(); - if (endpointId_ != null) { - output.writeMessage(1, getEndpointId()); - } - if (!getEndpointTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, endpointType_); - } - if (getKpiSampleTypesList().size() > 0) { - output.writeUInt32NoTag(26); - output.writeUInt32NoTag(kpiSampleTypesMemoizedSerializedSize); + if (numDisjointPaths_ != 0) { + output.writeUInt32(1, numDisjointPaths_); } - for (int i = 0; i < kpiSampleTypes_.size(); i++) { - output.writeEnumNoTag(kpiSampleTypes_.get(i)); + if (allActive_ != false) { + output.writeBool(2, allActive_); } unknownFields.writeTo(output); } @@ -33642,24 +56821,13 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (endpointId_ != null) { + if (numDisjointPaths_ != 0) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getEndpointId()); - } - if (!getEndpointTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, endpointType_); + .computeUInt32Size(1, numDisjointPaths_); } - { - int dataSize = 0; - for (int i = 0; i < kpiSampleTypes_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeEnumSizeNoTag(kpiSampleTypes_.get(i)); - } - size += dataSize; - if (!getKpiSampleTypesList().isEmpty()) { size += 1; - size += com.google.protobuf.CodedOutputStream - .computeUInt32SizeNoTag(dataSize); - }kpiSampleTypesMemoizedSerializedSize = dataSize; + if (allActive_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, allActive_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -33671,19 +56839,15 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.EndPoint)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_SLA_Availability)) { return super.equals(obj); } - context.ContextOuterClass.EndPoint other = (context.ContextOuterClass.EndPoint) obj; + context.ContextOuterClass.Constraint_SLA_Availability other = (context.ContextOuterClass.Constraint_SLA_Availability) obj; - if (hasEndpointId() != other.hasEndpointId()) return false; - if (hasEndpointId()) { - if (!getEndpointId() - .equals(other.getEndpointId())) return false; - } - if (!getEndpointType() - .equals(other.getEndpointType())) return false; - if (!kpiSampleTypes_.equals(other.kpiSampleTypes_)) return false; + if (getNumDisjointPaths() + != other.getNumDisjointPaths()) return false; + if (getAllActive() + != other.getAllActive()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -33695,84 +56859,79 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasEndpointId()) { - hash = (37 * hash) + ENDPOINT_ID_FIELD_NUMBER; - hash = (53 * hash) + getEndpointId().hashCode(); - } - hash = (37 * hash) + ENDPOINT_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getEndpointType().hashCode(); - if (getKpiSampleTypesCount() > 0) { - hash = (37 * hash) + KPI_SAMPLE_TYPES_FIELD_NUMBER; - hash = (53 * hash) + kpiSampleTypes_.hashCode(); - } + hash = (37 * hash) + NUM_DISJOINT_PATHS_FIELD_NUMBER; + hash = (53 * hash) + getNumDisjointPaths(); + hash = (37 * hash) + ALL_ACTIVE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getAllActive()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.EndPoint parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.EndPoint parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.EndPoint parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Availability parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.EndPoint parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.EndPoint parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Availability parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -33785,7 +56944,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.EndPoint prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_SLA_Availability prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -33801,26 +56960,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.EndPoint} + * Protobuf type {@code context.Constraint_SLA_Availability} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.EndPoint) - context.ContextOuterClass.EndPointOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_SLA_Availability) + context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_EndPoint_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_EndPoint_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.EndPoint.class, context.ContextOuterClass.EndPoint.Builder.class); + context.ContextOuterClass.Constraint_SLA_Availability.class, context.ContextOuterClass.Constraint_SLA_Availability.Builder.class); } - // Construct using context.ContextOuterClass.EndPoint.newBuilder() + // Construct using context.ContextOuterClass.Constraint_SLA_Availability.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -33838,54 +56997,38 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - if (endpointIdBuilder_ == null) { - endpointId_ = null; - } else { - endpointId_ = null; - endpointIdBuilder_ = null; - } - endpointType_ = ""; + numDisjointPaths_ = 0; + + allActive_ = false; - kpiSampleTypes_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_EndPoint_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_descriptor; } @java.lang.Override - public context.ContextOuterClass.EndPoint getDefaultInstanceForType() { - return context.ContextOuterClass.EndPoint.getDefaultInstance(); + public context.ContextOuterClass.Constraint_SLA_Availability getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.EndPoint build() { - context.ContextOuterClass.EndPoint result = buildPartial(); + public context.ContextOuterClass.Constraint_SLA_Availability build() { + context.ContextOuterClass.Constraint_SLA_Availability result = buildPartial(); if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - @java.lang.Override - public context.ContextOuterClass.EndPoint buildPartial() { - context.ContextOuterClass.EndPoint result = new context.ContextOuterClass.EndPoint(this); - int from_bitField0_ = bitField0_; - if (endpointIdBuilder_ == null) { - result.endpointId_ = endpointId_; - } else { - result.endpointId_ = endpointIdBuilder_.build(); - } - result.endpointType_ = endpointType_; - if (((bitField0_ & 0x00000001) != 0)) { - kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_); - bitField0_ = (bitField0_ & ~0x00000001); + throw newUninitializedMessageException(result); } - result.kpiSampleTypes_ = kpiSampleTypes_; + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Availability buildPartial() { + context.ContextOuterClass.Constraint_SLA_Availability result = new context.ContextOuterClass.Constraint_SLA_Availability(this); + result.numDisjointPaths_ = numDisjointPaths_; + result.allActive_ = allActive_; onBuilt(); return result; } @@ -33924,32 +57067,21 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.EndPoint) { - return mergeFrom((context.ContextOuterClass.EndPoint)other); + if (other instanceof context.ContextOuterClass.Constraint_SLA_Availability) { + return mergeFrom((context.ContextOuterClass.Constraint_SLA_Availability)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.EndPoint other) { - if (other == context.ContextOuterClass.EndPoint.getDefaultInstance()) return this; - if (other.hasEndpointId()) { - mergeEndpointId(other.getEndpointId()); - } - if (!other.getEndpointType().isEmpty()) { - endpointType_ = other.endpointType_; - onChanged(); + public Builder mergeFrom(context.ContextOuterClass.Constraint_SLA_Availability other) { + if (other == context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance()) return this; + if (other.getNumDisjointPaths() != 0) { + setNumDisjointPaths(other.getNumDisjointPaths()); } - if (!other.kpiSampleTypes_.isEmpty()) { - if (kpiSampleTypes_.isEmpty()) { - kpiSampleTypes_ = other.kpiSampleTypes_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureKpiSampleTypesIsMutable(); - kpiSampleTypes_.addAll(other.kpiSampleTypes_); - } - onChanged(); + if (other.getAllActive() != false) { + setAllActive(other.getAllActive()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -33966,11 +57098,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.EndPoint parsedMessage = null; + context.ContextOuterClass.Constraint_SLA_Availability parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.EndPoint) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_SLA_Availability) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -33979,339 +57111,65 @@ public final class ContextOuterClass { } return this; } - private int bitField0_; - - private context.ContextOuterClass.EndPointId endpointId_; - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> endpointIdBuilder_; - /** - * .context.EndPointId endpoint_id = 1; - * @return Whether the endpointId field is set. - */ - public boolean hasEndpointId() { - return endpointIdBuilder_ != null || endpointId_ != null; - } - /** - * .context.EndPointId endpoint_id = 1; - * @return The endpointId. - */ - public context.ContextOuterClass.EndPointId getEndpointId() { - if (endpointIdBuilder_ == null) { - return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; - } else { - return endpointIdBuilder_.getMessage(); - } - } - /** - * .context.EndPointId endpoint_id = 1; - */ - public Builder setEndpointId(context.ContextOuterClass.EndPointId value) { - if (endpointIdBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - endpointId_ = value; - onChanged(); - } else { - endpointIdBuilder_.setMessage(value); - } - - return this; - } - /** - * .context.EndPointId endpoint_id = 1; - */ - public Builder setEndpointId( - context.ContextOuterClass.EndPointId.Builder builderForValue) { - if (endpointIdBuilder_ == null) { - endpointId_ = builderForValue.build(); - onChanged(); - } else { - endpointIdBuilder_.setMessage(builderForValue.build()); - } - - return this; - } - /** - * .context.EndPointId endpoint_id = 1; - */ - public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { - if (endpointIdBuilder_ == null) { - if (endpointId_ != null) { - endpointId_ = - context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); - } else { - endpointId_ = value; - } - onChanged(); - } else { - endpointIdBuilder_.mergeFrom(value); - } - - return this; - } - /** - * .context.EndPointId endpoint_id = 1; - */ - public Builder clearEndpointId() { - if (endpointIdBuilder_ == null) { - endpointId_ = null; - onChanged(); - } else { - endpointId_ = null; - endpointIdBuilder_ = null; - } - - return this; - } - /** - * .context.EndPointId endpoint_id = 1; - */ - public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { - - onChanged(); - return getEndpointIdFieldBuilder().getBuilder(); - } - /** - * .context.EndPointId endpoint_id = 1; - */ - public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { - if (endpointIdBuilder_ != null) { - return endpointIdBuilder_.getMessageOrBuilder(); - } else { - return endpointId_ == null ? - context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; - } - } - /** - * .context.EndPointId endpoint_id = 1; - */ - private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> - getEndpointIdFieldBuilder() { - if (endpointIdBuilder_ == null) { - endpointIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder>( - getEndpointId(), - getParentForChildren(), - isClean()); - endpointId_ = null; - } - return endpointIdBuilder_; - } - private java.lang.Object endpointType_ = ""; - /** - * string endpoint_type = 2; - * @return The endpointType. - */ - public java.lang.String getEndpointType() { - java.lang.Object ref = endpointType_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - endpointType_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string endpoint_type = 2; - * @return The bytes for endpointType. - */ - public com.google.protobuf.ByteString - getEndpointTypeBytes() { - java.lang.Object ref = endpointType_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - endpointType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } + private int numDisjointPaths_ ; /** - * string endpoint_type = 2; - * @param value The endpointType to set. - * @return This builder for chaining. + * uint32 num_disjoint_paths = 1; + * @return The numDisjointPaths. */ - public Builder setEndpointType( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - endpointType_ = value; - onChanged(); - return this; + @java.lang.Override + public int getNumDisjointPaths() { + return numDisjointPaths_; } /** - * string endpoint_type = 2; + * uint32 num_disjoint_paths = 1; + * @param value The numDisjointPaths to set. * @return This builder for chaining. */ - public Builder clearEndpointType() { + public Builder setNumDisjointPaths(int value) { - endpointType_ = getDefaultInstance().getEndpointType(); + numDisjointPaths_ = value; onChanged(); return this; } /** - * string endpoint_type = 2; - * @param value The bytes for endpointType to set. + * uint32 num_disjoint_paths = 1; * @return This builder for chaining. */ - public Builder setEndpointTypeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); + public Builder clearNumDisjointPaths() { - endpointType_ = value; + numDisjointPaths_ = 0; onChanged(); return this; } - private java.util.List kpiSampleTypes_ = - java.util.Collections.emptyList(); - private void ensureKpiSampleTypesIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - kpiSampleTypes_ = new java.util.ArrayList(kpiSampleTypes_); - bitField0_ |= 0x00000001; - } - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return A list containing the kpiSampleTypes. - */ - public java.util.List getKpiSampleTypesList() { - return new com.google.protobuf.Internal.ListAdapter< - java.lang.Integer, kpi_sample_types.KpiSampleTypes.KpiSampleType>(kpiSampleTypes_, kpiSampleTypes_converter_); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return The count of kpiSampleTypes. - */ - public int getKpiSampleTypesCount() { - return kpiSampleTypes_.size(); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the element to return. - * @return The kpiSampleTypes at the given index. - */ - public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleTypes(int index) { - return kpiSampleTypes_converter_.convert(kpiSampleTypes_.get(index)); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index to set the value at. - * @param value The kpiSampleTypes to set. - * @return This builder for chaining. - */ - public Builder setKpiSampleTypes( - int index, kpi_sample_types.KpiSampleTypes.KpiSampleType value) { - if (value == null) { - throw new NullPointerException(); - } - ensureKpiSampleTypesIsMutable(); - kpiSampleTypes_.set(index, value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param value The kpiSampleTypes to add. - * @return This builder for chaining. - */ - public Builder addKpiSampleTypes(kpi_sample_types.KpiSampleTypes.KpiSampleType value) { - if (value == null) { - throw new NullPointerException(); - } - ensureKpiSampleTypesIsMutable(); - kpiSampleTypes_.add(value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param values The kpiSampleTypes to add. - * @return This builder for chaining. - */ - public Builder addAllKpiSampleTypes( - java.lang.Iterable values) { - ensureKpiSampleTypesIsMutable(); - for (kpi_sample_types.KpiSampleTypes.KpiSampleType value : values) { - kpiSampleTypes_.add(value.getNumber()); - } - onChanged(); - return this; - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return This builder for chaining. - */ - public Builder clearKpiSampleTypes() { - kpiSampleTypes_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - return this; - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @return A list containing the enum numeric values on the wire for kpiSampleTypes. - */ - public java.util.List - getKpiSampleTypesValueList() { - return java.util.Collections.unmodifiableList(kpiSampleTypes_); - } - /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of kpiSampleTypes at the given index. - */ - public int getKpiSampleTypesValue(int index) { - return kpiSampleTypes_.get(index); - } + private boolean allActive_ ; /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param index The index of the value to return. - * @return The enum numeric value on the wire of kpiSampleTypes at the given index. - * @return This builder for chaining. + * bool all_active = 2; + * @return The allActive. */ - public Builder setKpiSampleTypesValue( - int index, int value) { - ensureKpiSampleTypesIsMutable(); - kpiSampleTypes_.set(index, value); - onChanged(); - return this; + @java.lang.Override + public boolean getAllActive() { + return allActive_; } /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param value The enum numeric value on the wire for kpiSampleTypes to add. + * bool all_active = 2; + * @param value The allActive to set. * @return This builder for chaining. */ - public Builder addKpiSampleTypesValue(int value) { - ensureKpiSampleTypesIsMutable(); - kpiSampleTypes_.add(value); + public Builder setAllActive(boolean value) { + + allActive_ = value; onChanged(); return this; } /** - * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 3; - * @param values The enum numeric values on the wire for kpiSampleTypes to add. + * bool all_active = 2; * @return This builder for chaining. */ - public Builder addAllKpiSampleTypesValue( - java.lang.Iterable values) { - ensureKpiSampleTypesIsMutable(); - for (int value : values) { - kpiSampleTypes_.add(value); - } + public Builder clearAllActive() { + + allActive_ = false; onChanged(); return this; } @@ -34328,108 +57186,100 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.EndPoint) + // @@protoc_insertion_point(builder_scope:context.Constraint_SLA_Availability) } - // @@protoc_insertion_point(class_scope:context.EndPoint) - private static final context.ContextOuterClass.EndPoint DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_SLA_Availability) + private static final context.ContextOuterClass.Constraint_SLA_Availability DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.EndPoint(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_SLA_Availability(); } - public static context.ContextOuterClass.EndPoint getDefaultInstance() { + public static context.ContextOuterClass.Constraint_SLA_Availability getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public EndPoint parsePartialFrom( + public Constraint_SLA_Availability parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new EndPoint(input, extensionRegistry); + return new Constraint_SLA_Availability(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.EndPoint getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_SLA_Availability getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ConfigRuleOrBuilder extends - // @@protoc_insertion_point(interface_extends:context.ConfigRule) + public interface Constraint_SLA_Isolation_levelOrBuilder extends + // @@protoc_insertion_point(interface_extends:context.Constraint_SLA_Isolation_level) com.google.protobuf.MessageOrBuilder { /** - * .context.ConfigActionEnum action = 1; - * @return The enum numeric value on the wire for action. - */ - int getActionValue(); - /** - * .context.ConfigActionEnum action = 1; - * @return The action. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return A list containing the isolationLevel. */ - context.ContextOuterClass.ConfigActionEnum getAction(); - + java.util.List getIsolationLevelList(); /** - * string resource_key = 2; - * @return The resourceKey. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return The count of isolationLevel. */ - java.lang.String getResourceKey(); + int getIsolationLevelCount(); /** - * string resource_key = 2; - * @return The bytes for resourceKey. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the element to return. + * @return The isolationLevel at the given index. */ - com.google.protobuf.ByteString - getResourceKeyBytes(); - + context.ContextOuterClass.IsolationLevelEnum getIsolationLevel(int index); /** - * string resource_value = 3; - * @return The resourceValue. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return A list containing the enum numeric values on the wire for isolationLevel. */ - java.lang.String getResourceValue(); + java.util.List + getIsolationLevelValueList(); /** - * string resource_value = 3; - * @return The bytes for resourceValue. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of isolationLevel at the given index. */ - com.google.protobuf.ByteString - getResourceValueBytes(); + int getIsolationLevelValue(int index); } /** - * Protobuf type {@code context.ConfigRule} + * Protobuf type {@code context.Constraint_SLA_Isolation_level} */ - public static final class ConfigRule extends + public static final class Constraint_SLA_Isolation_level extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:context.ConfigRule) - ConfigRuleOrBuilder { + // @@protoc_insertion_point(message_implements:context.Constraint_SLA_Isolation_level) + Constraint_SLA_Isolation_levelOrBuilder { private static final long serialVersionUID = 0L; - // Use ConfigRule.newBuilder() to construct. - private ConfigRule(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Constraint_SLA_Isolation_level.newBuilder() to construct. + private Constraint_SLA_Isolation_level(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private ConfigRule() { - action_ = 0; - resourceKey_ = ""; - resourceValue_ = ""; + private Constraint_SLA_Isolation_level() { + isolationLevel_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new ConfigRule(); + return new Constraint_SLA_Isolation_level(); } @java.lang.Override @@ -34437,7 +57287,7 @@ public final class ContextOuterClass { getUnknownFields() { return this.unknownFields; } - private ConfigRule( + private Constraint_SLA_Isolation_level( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -34445,6 +57295,7 @@ public final class ContextOuterClass { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -34457,20 +57308,25 @@ public final class ContextOuterClass { break; case 8: { int rawValue = input.readEnum(); - - action_ = rawValue; - break; - } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - resourceKey_ = s; + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + isolationLevel_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + isolationLevel_.add(rawValue); break; } - case 26: { - java.lang.String s = input.readStringRequireUtf8(); - - resourceValue_ = s; + case 10: { + int length = input.readRawVarint32(); + int oldLimit = input.pushLimit(length); + while(input.getBytesUntilLimit() > 0) { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + isolationLevel_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + isolationLevel_.add(rawValue); + } + input.popLimit(oldLimit); break; } default: { @@ -34488,117 +57344,83 @@ public final class ContextOuterClass { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + isolationLevel_ = java.util.Collections.unmodifiableList(isolationLevel_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConfigRule_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConfigRule.class, context.ContextOuterClass.ConfigRule.Builder.class); + context.ContextOuterClass.Constraint_SLA_Isolation_level.class, context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder.class); } - public static final int ACTION_FIELD_NUMBER = 1; - private int action_; - /** - * .context.ConfigActionEnum action = 1; - * @return The enum numeric value on the wire for action. - */ - @java.lang.Override public int getActionValue() { - return action_; - } + public static final int ISOLATION_LEVEL_FIELD_NUMBER = 1; + private java.util.List isolationLevel_; + private static final com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, context.ContextOuterClass.IsolationLevelEnum> isolationLevel_converter_ = + new com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, context.ContextOuterClass.IsolationLevelEnum>() { + public context.ContextOuterClass.IsolationLevelEnum convert(java.lang.Integer from) { + @SuppressWarnings("deprecation") + context.ContextOuterClass.IsolationLevelEnum result = context.ContextOuterClass.IsolationLevelEnum.valueOf(from); + return result == null ? context.ContextOuterClass.IsolationLevelEnum.UNRECOGNIZED : result; + } + }; /** - * .context.ConfigActionEnum action = 1; - * @return The action. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return A list containing the isolationLevel. */ - @java.lang.Override public context.ContextOuterClass.ConfigActionEnum getAction() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_); - return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result; + @java.lang.Override + public java.util.List getIsolationLevelList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, context.ContextOuterClass.IsolationLevelEnum>(isolationLevel_, isolationLevel_converter_); } - - public static final int RESOURCE_KEY_FIELD_NUMBER = 2; - private volatile java.lang.Object resourceKey_; /** - * string resource_key = 2; - * @return The resourceKey. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return The count of isolationLevel. */ @java.lang.Override - public java.lang.String getResourceKey() { - java.lang.Object ref = resourceKey_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - resourceKey_ = s; - return s; - } + public int getIsolationLevelCount() { + return isolationLevel_.size(); } /** - * string resource_key = 2; - * @return The bytes for resourceKey. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the element to return. + * @return The isolationLevel at the given index. */ @java.lang.Override - public com.google.protobuf.ByteString - getResourceKeyBytes() { - java.lang.Object ref = resourceKey_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - resourceKey_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public context.ContextOuterClass.IsolationLevelEnum getIsolationLevel(int index) { + return isolationLevel_converter_.convert(isolationLevel_.get(index)); } - - public static final int RESOURCE_VALUE_FIELD_NUMBER = 3; - private volatile java.lang.Object resourceValue_; /** - * string resource_value = 3; - * @return The resourceValue. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return A list containing the enum numeric values on the wire for isolationLevel. */ @java.lang.Override - public java.lang.String getResourceValue() { - java.lang.Object ref = resourceValue_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - resourceValue_ = s; - return s; - } + public java.util.List + getIsolationLevelValueList() { + return isolationLevel_; } /** - * string resource_value = 3; - * @return The bytes for resourceValue. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of isolationLevel at the given index. */ @java.lang.Override - public com.google.protobuf.ByteString - getResourceValueBytes() { - java.lang.Object ref = resourceValue_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - resourceValue_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public int getIsolationLevelValue(int index) { + return isolationLevel_.get(index); } + private int isolationLevelMemoizedSerializedSize; private byte memoizedIsInitialized = -1; @java.lang.Override @@ -34614,14 +57436,13 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (action_ != context.ContextOuterClass.ConfigActionEnum.CONFIGACTION_UNDEFINED.getNumber()) { - output.writeEnum(1, action_); - } - if (!getResourceKeyBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceKey_); + getSerializedSize(); + if (getIsolationLevelList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(isolationLevelMemoizedSerializedSize); } - if (!getResourceValueBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, resourceValue_); + for (int i = 0; i < isolationLevel_.size(); i++) { + output.writeEnumNoTag(isolationLevel_.get(i)); } unknownFields.writeTo(output); } @@ -34632,15 +57453,17 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (action_ != context.ContextOuterClass.ConfigActionEnum.CONFIGACTION_UNDEFINED.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(1, action_); - } - if (!getResourceKeyBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceKey_); - } - if (!getResourceValueBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, resourceValue_); + { + int dataSize = 0; + for (int i = 0; i < isolationLevel_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeEnumSizeNoTag(isolationLevel_.get(i)); + } + size += dataSize; + if (!getIsolationLevelList().isEmpty()) { size += 1; + size += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(dataSize); + }isolationLevelMemoizedSerializedSize = dataSize; } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -34652,16 +57475,12 @@ public final class ContextOuterClass { if (obj == this) { return true; } - if (!(obj instanceof context.ContextOuterClass.ConfigRule)) { + if (!(obj instanceof context.ContextOuterClass.Constraint_SLA_Isolation_level)) { return super.equals(obj); } - context.ContextOuterClass.ConfigRule other = (context.ContextOuterClass.ConfigRule) obj; + context.ContextOuterClass.Constraint_SLA_Isolation_level other = (context.ContextOuterClass.Constraint_SLA_Isolation_level) obj; - if (action_ != other.action_) return false; - if (!getResourceKey() - .equals(other.getResourceKey())) return false; - if (!getResourceValue() - .equals(other.getResourceValue())) return false; + if (!isolationLevel_.equals(other.isolationLevel_)) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -34673,80 +57492,78 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + ACTION_FIELD_NUMBER; - hash = (53 * hash) + action_; - hash = (37 * hash) + RESOURCE_KEY_FIELD_NUMBER; - hash = (53 * hash) + getResourceKey().hashCode(); - hash = (37 * hash) + RESOURCE_VALUE_FIELD_NUMBER; - hash = (53 * hash) + getResourceValue().hashCode(); + if (getIsolationLevelCount() > 0) { + hash = (37 * hash) + ISOLATION_LEVEL_FIELD_NUMBER; + hash = (53 * hash) + isolationLevel_.hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConfigRule parseFrom(byte[] data) + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static context.ContextOuterClass.ConfigRule parseFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConfigRule parseDelimitedFrom(java.io.InputStream input) + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConfigRule parseDelimitedFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static context.ContextOuterClass.ConfigRule parseFrom( + public static context.ContextOuterClass.Constraint_SLA_Isolation_level parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -34759,7 +57576,7 @@ public final class ContextOuterClass { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(context.ContextOuterClass.ConfigRule prototype) { + public static Builder newBuilder(context.ContextOuterClass.Constraint_SLA_Isolation_level prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -34775,26 +57592,26 @@ public final class ContextOuterClass { return builder; } /** - * Protobuf type {@code context.ConfigRule} + * Protobuf type {@code context.Constraint_SLA_Isolation_level} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:context.ConfigRule) - context.ContextOuterClass.ConfigRuleOrBuilder { + // @@protoc_insertion_point(builder_implements:context.Constraint_SLA_Isolation_level) + context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return context.ContextOuterClass.internal_static_context_ConfigRule_fieldAccessorTable + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_fieldAccessorTable .ensureFieldAccessorsInitialized( - context.ContextOuterClass.ConfigRule.class, context.ContextOuterClass.ConfigRule.Builder.class); + context.ContextOuterClass.Constraint_SLA_Isolation_level.class, context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder.class); } - // Construct using context.ContextOuterClass.ConfigRule.newBuilder() + // Construct using context.ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -34812,29 +57629,25 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - action_ = 0; - - resourceKey_ = ""; - - resourceValue_ = ""; - + isolationLevel_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor; + return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_descriptor; } @java.lang.Override - public context.ContextOuterClass.ConfigRule getDefaultInstanceForType() { - return context.ContextOuterClass.ConfigRule.getDefaultInstance(); + public context.ContextOuterClass.Constraint_SLA_Isolation_level getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); } @java.lang.Override - public context.ContextOuterClass.ConfigRule build() { - context.ContextOuterClass.ConfigRule result = buildPartial(); + public context.ContextOuterClass.Constraint_SLA_Isolation_level build() { + context.ContextOuterClass.Constraint_SLA_Isolation_level result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -34842,11 +57655,14 @@ public final class ContextOuterClass { } @java.lang.Override - public context.ContextOuterClass.ConfigRule buildPartial() { - context.ContextOuterClass.ConfigRule result = new context.ContextOuterClass.ConfigRule(this); - result.action_ = action_; - result.resourceKey_ = resourceKey_; - result.resourceValue_ = resourceValue_; + public context.ContextOuterClass.Constraint_SLA_Isolation_level buildPartial() { + context.ContextOuterClass.Constraint_SLA_Isolation_level result = new context.ContextOuterClass.Constraint_SLA_Isolation_level(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + isolationLevel_ = java.util.Collections.unmodifiableList(isolationLevel_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.isolationLevel_ = isolationLevel_; onBuilt(); return result; } @@ -34885,25 +57701,24 @@ public final class ContextOuterClass { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.ConfigRule) { - return mergeFrom((context.ContextOuterClass.ConfigRule)other); + if (other instanceof context.ContextOuterClass.Constraint_SLA_Isolation_level) { + return mergeFrom((context.ContextOuterClass.Constraint_SLA_Isolation_level)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(context.ContextOuterClass.ConfigRule other) { - if (other == context.ContextOuterClass.ConfigRule.getDefaultInstance()) return this; - if (other.action_ != 0) { - setActionValue(other.getActionValue()); - } - if (!other.getResourceKey().isEmpty()) { - resourceKey_ = other.resourceKey_; - onChanged(); - } - if (!other.getResourceValue().isEmpty()) { - resourceValue_ = other.resourceValue_; + public Builder mergeFrom(context.ContextOuterClass.Constraint_SLA_Isolation_level other) { + if (other == context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance()) return this; + if (!other.isolationLevel_.isEmpty()) { + if (isolationLevel_.isEmpty()) { + isolationLevel_ = other.isolationLevel_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureIsolationLevelIsMutable(); + isolationLevel_.addAll(other.isolationLevel_); + } onChanged(); } this.mergeUnknownFields(other.unknownFields); @@ -34921,11 +57736,11 @@ public final class ContextOuterClass { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - context.ContextOuterClass.ConfigRule parsedMessage = null; + context.ContextOuterClass.Constraint_SLA_Isolation_level parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.ConfigRule) e.getUnfinishedMessage(); + parsedMessage = (context.ContextOuterClass.Constraint_SLA_Isolation_level) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -34934,209 +57749,144 @@ public final class ContextOuterClass { } return this; } + private int bitField0_; - private int action_ = 0; + private java.util.List isolationLevel_ = + java.util.Collections.emptyList(); + private void ensureIsolationLevelIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + isolationLevel_ = new java.util.ArrayList(isolationLevel_); + bitField0_ |= 0x00000001; + } + } /** - * .context.ConfigActionEnum action = 1; - * @return The enum numeric value on the wire for action. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return A list containing the isolationLevel. */ - @java.lang.Override public int getActionValue() { - return action_; + public java.util.List getIsolationLevelList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, context.ContextOuterClass.IsolationLevelEnum>(isolationLevel_, isolationLevel_converter_); } /** - * .context.ConfigActionEnum action = 1; - * @param value The enum numeric value on the wire for action to set. - * @return This builder for chaining. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return The count of isolationLevel. */ - public Builder setActionValue(int value) { - - action_ = value; - onChanged(); - return this; + public int getIsolationLevelCount() { + return isolationLevel_.size(); } /** - * .context.ConfigActionEnum action = 1; - * @return The action. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the element to return. + * @return The isolationLevel at the given index. */ - @java.lang.Override - public context.ContextOuterClass.ConfigActionEnum getAction() { - @SuppressWarnings("deprecation") - context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_); - return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result; + public context.ContextOuterClass.IsolationLevelEnum getIsolationLevel(int index) { + return isolationLevel_converter_.convert(isolationLevel_.get(index)); } /** - * .context.ConfigActionEnum action = 1; - * @param value The action to set. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index to set the value at. + * @param value The isolationLevel to set. * @return This builder for chaining. */ - public Builder setAction(context.ContextOuterClass.ConfigActionEnum value) { + public Builder setIsolationLevel( + int index, context.ContextOuterClass.IsolationLevelEnum value) { if (value == null) { throw new NullPointerException(); } - - action_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .context.ConfigActionEnum action = 1; - * @return This builder for chaining. - */ - public Builder clearAction() { - - action_ = 0; + ensureIsolationLevelIsMutable(); + isolationLevel_.set(index, value.getNumber()); onChanged(); return this; } - - private java.lang.Object resourceKey_ = ""; - /** - * string resource_key = 2; - * @return The resourceKey. - */ - public java.lang.String getResourceKey() { - java.lang.Object ref = resourceKey_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - resourceKey_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string resource_key = 2; - * @return The bytes for resourceKey. - */ - public com.google.protobuf.ByteString - getResourceKeyBytes() { - java.lang.Object ref = resourceKey_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - resourceKey_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } /** - * string resource_key = 2; - * @param value The resourceKey to set. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param value The isolationLevel to add. * @return This builder for chaining. */ - public Builder setResourceKey( - java.lang.String value) { + public Builder addIsolationLevel(context.ContextOuterClass.IsolationLevelEnum value) { if (value == null) { - throw new NullPointerException(); - } - - resourceKey_ = value; + throw new NullPointerException(); + } + ensureIsolationLevelIsMutable(); + isolationLevel_.add(value.getNumber()); onChanged(); return this; } /** - * string resource_key = 2; + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param values The isolationLevel to add. * @return This builder for chaining. */ - public Builder clearResourceKey() { - - resourceKey_ = getDefaultInstance().getResourceKey(); + public Builder addAllIsolationLevel( + java.lang.Iterable values) { + ensureIsolationLevelIsMutable(); + for (context.ContextOuterClass.IsolationLevelEnum value : values) { + isolationLevel_.add(value.getNumber()); + } onChanged(); return this; } /** - * string resource_key = 2; - * @param value The bytes for resourceKey to set. + * repeated .context.IsolationLevelEnum isolation_level = 1; * @return This builder for chaining. */ - public Builder setResourceKeyBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - resourceKey_ = value; + public Builder clearIsolationLevel() { + isolationLevel_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } - - private java.lang.Object resourceValue_ = ""; /** - * string resource_value = 3; - * @return The resourceValue. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @return A list containing the enum numeric values on the wire for isolationLevel. */ - public java.lang.String getResourceValue() { - java.lang.Object ref = resourceValue_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - resourceValue_ = s; - return s; - } else { - return (java.lang.String) ref; - } + public java.util.List + getIsolationLevelValueList() { + return java.util.Collections.unmodifiableList(isolationLevel_); } /** - * string resource_value = 3; - * @return The bytes for resourceValue. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of isolationLevel at the given index. */ - public com.google.protobuf.ByteString - getResourceValueBytes() { - java.lang.Object ref = resourceValue_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - resourceValue_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public int getIsolationLevelValue(int index) { + return isolationLevel_.get(index); } /** - * string resource_value = 3; - * @param value The resourceValue to set. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param index The index of the value to return. + * @return The enum numeric value on the wire of isolationLevel at the given index. * @return This builder for chaining. */ - public Builder setResourceValue( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - resourceValue_ = value; + public Builder setIsolationLevelValue( + int index, int value) { + ensureIsolationLevelIsMutable(); + isolationLevel_.set(index, value); onChanged(); return this; } /** - * string resource_value = 3; + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param value The enum numeric value on the wire for isolationLevel to add. * @return This builder for chaining. */ - public Builder clearResourceValue() { - - resourceValue_ = getDefaultInstance().getResourceValue(); + public Builder addIsolationLevelValue(int value) { + ensureIsolationLevelIsMutable(); + isolationLevel_.add(value); onChanged(); return this; } /** - * string resource_value = 3; - * @param value The bytes for resourceValue to set. + * repeated .context.IsolationLevelEnum isolation_level = 1; + * @param values The enum numeric values on the wire for isolationLevel to add. * @return This builder for chaining. */ - public Builder setResourceValueBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - resourceValue_ = value; + public Builder addAllIsolationLevelValue( + java.lang.Iterable values) { + ensureIsolationLevelIsMutable(); + for (int value : values) { + isolationLevel_.add(value); + } onChanged(); return this; } @@ -35153,41 +57903,41 @@ public final class ContextOuterClass { } - // @@protoc_insertion_point(builder_scope:context.ConfigRule) + // @@protoc_insertion_point(builder_scope:context.Constraint_SLA_Isolation_level) } - // @@protoc_insertion_point(class_scope:context.ConfigRule) - private static final context.ContextOuterClass.ConfigRule DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:context.Constraint_SLA_Isolation_level) + private static final context.ContextOuterClass.Constraint_SLA_Isolation_level DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new context.ContextOuterClass.ConfigRule(); + DEFAULT_INSTANCE = new context.ContextOuterClass.Constraint_SLA_Isolation_level(); } - public static context.ContextOuterClass.ConfigRule getDefaultInstance() { + public static context.ContextOuterClass.Constraint_SLA_Isolation_level getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public ConfigRule parsePartialFrom( + public Constraint_SLA_Isolation_level parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new ConfigRule(input, extensionRegistry); + return new Constraint_SLA_Isolation_level(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public context.ContextOuterClass.ConfigRule getDefaultInstanceForType() { + public context.ContextOuterClass.Constraint_SLA_Isolation_level getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -35198,34 +57948,128 @@ public final class ContextOuterClass { com.google.protobuf.MessageOrBuilder { /** - * string constraint_type = 1; - * @return The constraintType. + * .context.Constraint_Custom custom = 1; + * @return Whether the custom field is set. */ - java.lang.String getConstraintType(); + boolean hasCustom(); /** - * string constraint_type = 1; - * @return The bytes for constraintType. + * .context.Constraint_Custom custom = 1; + * @return The custom. */ - com.google.protobuf.ByteString - getConstraintTypeBytes(); + context.ContextOuterClass.Constraint_Custom getCustom(); + /** + * .context.Constraint_Custom custom = 1; + */ + context.ContextOuterClass.Constraint_CustomOrBuilder getCustomOrBuilder(); /** - * string constraint_value = 2; - * @return The constraintValue. + * .context.Constraint_Schedule schedule = 2; + * @return Whether the schedule field is set. */ - java.lang.String getConstraintValue(); + boolean hasSchedule(); /** - * string constraint_value = 2; - * @return The bytes for constraintValue. + * .context.Constraint_Schedule schedule = 2; + * @return The schedule. */ - com.google.protobuf.ByteString - getConstraintValueBytes(); + context.ContextOuterClass.Constraint_Schedule getSchedule(); + /** + * .context.Constraint_Schedule schedule = 2; + */ + context.ContextOuterClass.Constraint_ScheduleOrBuilder getScheduleOrBuilder(); + + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + * @return Whether the endpointLocation field is set. + */ + boolean hasEndpointLocation(); + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + * @return The endpointLocation. + */ + context.ContextOuterClass.Constraint_EndPointLocation getEndpointLocation(); + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + context.ContextOuterClass.Constraint_EndPointLocationOrBuilder getEndpointLocationOrBuilder(); + + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + * @return Whether the endpointPriority field is set. + */ + boolean hasEndpointPriority(); + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + * @return The endpointPriority. + */ + context.ContextOuterClass.Constraint_EndPointPriority getEndpointPriority(); + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder getEndpointPriorityOrBuilder(); + + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + * @return Whether the slaCapacity field is set. + */ + boolean hasSlaCapacity(); + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + * @return The slaCapacity. + */ + context.ContextOuterClass.Constraint_SLA_Capacity getSlaCapacity(); + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder getSlaCapacityOrBuilder(); + + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + * @return Whether the slaLatency field is set. + */ + boolean hasSlaLatency(); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + * @return The slaLatency. + */ + context.ContextOuterClass.Constraint_SLA_Latency getSlaLatency(); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder getSlaLatencyOrBuilder(); + + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + * @return Whether the slaAvailability field is set. + */ + boolean hasSlaAvailability(); + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + * @return The slaAvailability. + */ + context.ContextOuterClass.Constraint_SLA_Availability getSlaAvailability(); + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + */ + context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder getSlaAvailabilityOrBuilder(); + + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + * @return Whether the slaIsolation field is set. + */ + boolean hasSlaIsolation(); + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + * @return The slaIsolation. + */ + context.ContextOuterClass.Constraint_SLA_Isolation_level getSlaIsolation(); + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + */ + context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder getSlaIsolationOrBuilder(); + + public context.ContextOuterClass.Constraint.ConstraintCase getConstraintCase(); } /** - *
-   * ----- Constraint ----------------------------------------------------------------------------------------------------
-   * 
- * * Protobuf type {@code context.Constraint} */ public static final class Constraint extends @@ -35238,8 +58082,6 @@ public final class ContextOuterClass { super(builder); } private Constraint() { - constraintType_ = ""; - constraintValue_ = ""; } @java.lang.Override @@ -35273,15 +58115,115 @@ public final class ContextOuterClass { done = true; break; case 10: { - java.lang.String s = input.readStringRequireUtf8(); - - constraintType_ = s; + context.ContextOuterClass.Constraint_Custom.Builder subBuilder = null; + if (constraintCase_ == 1) { + subBuilder = ((context.ContextOuterClass.Constraint_Custom) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_Custom.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Custom) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 1; break; } case 18: { - java.lang.String s = input.readStringRequireUtf8(); - - constraintValue_ = s; + context.ContextOuterClass.Constraint_Schedule.Builder subBuilder = null; + if (constraintCase_ == 2) { + subBuilder = ((context.ContextOuterClass.Constraint_Schedule) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_Schedule.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Schedule) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 2; + break; + } + case 26: { + context.ContextOuterClass.Constraint_EndPointLocation.Builder subBuilder = null; + if (constraintCase_ == 3) { + subBuilder = ((context.ContextOuterClass.Constraint_EndPointLocation) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_EndPointLocation.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_EndPointLocation) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 3; + break; + } + case 34: { + context.ContextOuterClass.Constraint_EndPointPriority.Builder subBuilder = null; + if (constraintCase_ == 4) { + subBuilder = ((context.ContextOuterClass.Constraint_EndPointPriority) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_EndPointPriority.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_EndPointPriority) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 4; + break; + } + case 42: { + context.ContextOuterClass.Constraint_SLA_Capacity.Builder subBuilder = null; + if (constraintCase_ == 5) { + subBuilder = ((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_SLA_Capacity.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 5; + break; + } + case 50: { + context.ContextOuterClass.Constraint_SLA_Latency.Builder subBuilder = null; + if (constraintCase_ == 6) { + subBuilder = ((context.ContextOuterClass.Constraint_SLA_Latency) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_SLA_Latency.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Latency) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 6; + break; + } + case 58: { + context.ContextOuterClass.Constraint_SLA_Availability.Builder subBuilder = null; + if (constraintCase_ == 7) { + subBuilder = ((context.ContextOuterClass.Constraint_SLA_Availability) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_SLA_Availability.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Availability) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 7; + break; + } + case 66: { + context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder subBuilder = null; + if (constraintCase_ == 8) { + subBuilder = ((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_).toBuilder(); + } + constraint_ = + input.readMessage(context.ContextOuterClass.Constraint_SLA_Isolation_level.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_); + constraint_ = subBuilder.buildPartial(); + } + constraintCase_ = 8; break; } default: { @@ -35316,80 +58258,305 @@ public final class ContextOuterClass { context.ContextOuterClass.Constraint.class, context.ContextOuterClass.Constraint.Builder.class); } - public static final int CONSTRAINT_TYPE_FIELD_NUMBER = 1; - private volatile java.lang.Object constraintType_; + private int constraintCase_ = 0; + private java.lang.Object constraint_; + public enum ConstraintCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + CUSTOM(1), + SCHEDULE(2), + ENDPOINT_LOCATION(3), + ENDPOINT_PRIORITY(4), + SLA_CAPACITY(5), + SLA_LATENCY(6), + SLA_AVAILABILITY(7), + SLA_ISOLATION(8), + CONSTRAINT_NOT_SET(0); + private final int value; + private ConstraintCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ConstraintCase valueOf(int value) { + return forNumber(value); + } + + public static ConstraintCase forNumber(int value) { + switch (value) { + case 1: return CUSTOM; + case 2: return SCHEDULE; + case 3: return ENDPOINT_LOCATION; + case 4: return ENDPOINT_PRIORITY; + case 5: return SLA_CAPACITY; + case 6: return SLA_LATENCY; + case 7: return SLA_AVAILABILITY; + case 8: return SLA_ISOLATION; + case 0: return CONSTRAINT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ConstraintCase + getConstraintCase() { + return ConstraintCase.forNumber( + constraintCase_); + } + + public static final int CUSTOM_FIELD_NUMBER = 1; /** - * string constraint_type = 1; - * @return The constraintType. + * .context.Constraint_Custom custom = 1; + * @return Whether the custom field is set. */ @java.lang.Override - public java.lang.String getConstraintType() { - java.lang.Object ref = constraintType_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - constraintType_ = s; - return s; + public boolean hasCustom() { + return constraintCase_ == 1; + } + /** + * .context.Constraint_Custom custom = 1; + * @return The custom. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_Custom getCustom() { + if (constraintCase_ == 1) { + return (context.ContextOuterClass.Constraint_Custom) constraint_; } + return context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); } /** - * string constraint_type = 1; - * @return The bytes for constraintType. + * .context.Constraint_Custom custom = 1; */ @java.lang.Override - public com.google.protobuf.ByteString - getConstraintTypeBytes() { - java.lang.Object ref = constraintType_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - constraintType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + public context.ContextOuterClass.Constraint_CustomOrBuilder getCustomOrBuilder() { + if (constraintCase_ == 1) { + return (context.ContextOuterClass.Constraint_Custom) constraint_; } + return context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); } - public static final int CONSTRAINT_VALUE_FIELD_NUMBER = 2; - private volatile java.lang.Object constraintValue_; + public static final int SCHEDULE_FIELD_NUMBER = 2; /** - * string constraint_value = 2; - * @return The constraintValue. + * .context.Constraint_Schedule schedule = 2; + * @return Whether the schedule field is set. */ @java.lang.Override - public java.lang.String getConstraintValue() { - java.lang.Object ref = constraintValue_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - constraintValue_ = s; - return s; + public boolean hasSchedule() { + return constraintCase_ == 2; + } + /** + * .context.Constraint_Schedule schedule = 2; + * @return The schedule. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_Schedule getSchedule() { + if (constraintCase_ == 2) { + return (context.ContextOuterClass.Constraint_Schedule) constraint_; } + return context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); } /** - * string constraint_value = 2; - * @return The bytes for constraintValue. + * .context.Constraint_Schedule schedule = 2; */ @java.lang.Override - public com.google.protobuf.ByteString - getConstraintValueBytes() { - java.lang.Object ref = constraintValue_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - constraintValue_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + public context.ContextOuterClass.Constraint_ScheduleOrBuilder getScheduleOrBuilder() { + if (constraintCase_ == 2) { + return (context.ContextOuterClass.Constraint_Schedule) constraint_; + } + return context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); + } + + public static final int ENDPOINT_LOCATION_FIELD_NUMBER = 3; + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + * @return Whether the endpointLocation field is set. + */ + @java.lang.Override + public boolean hasEndpointLocation() { + return constraintCase_ == 3; + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + * @return The endpointLocation. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointLocation getEndpointLocation() { + if (constraintCase_ == 3) { + return (context.ContextOuterClass.Constraint_EndPointLocation) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointLocationOrBuilder getEndpointLocationOrBuilder() { + if (constraintCase_ == 3) { + return (context.ContextOuterClass.Constraint_EndPointLocation) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); + } + + public static final int ENDPOINT_PRIORITY_FIELD_NUMBER = 4; + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + * @return Whether the endpointPriority field is set. + */ + @java.lang.Override + public boolean hasEndpointPriority() { + return constraintCase_ == 4; + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + * @return The endpointPriority. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointPriority getEndpointPriority() { + if (constraintCase_ == 4) { + return (context.ContextOuterClass.Constraint_EndPointPriority) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder getEndpointPriorityOrBuilder() { + if (constraintCase_ == 4) { + return (context.ContextOuterClass.Constraint_EndPointPriority) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); + } + + public static final int SLA_CAPACITY_FIELD_NUMBER = 5; + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + * @return Whether the slaCapacity field is set. + */ + @java.lang.Override + public boolean hasSlaCapacity() { + return constraintCase_ == 5; + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + * @return The slaCapacity. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Capacity getSlaCapacity() { + if (constraintCase_ == 5) { + return (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder getSlaCapacityOrBuilder() { + if (constraintCase_ == 5) { + return (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); + } + + public static final int SLA_LATENCY_FIELD_NUMBER = 6; + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + * @return Whether the slaLatency field is set. + */ + @java.lang.Override + public boolean hasSlaLatency() { + return constraintCase_ == 6; + } + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + * @return The slaLatency. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Latency getSlaLatency() { + if (constraintCase_ == 6) { + return (context.ContextOuterClass.Constraint_SLA_Latency) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); + } + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder getSlaLatencyOrBuilder() { + if (constraintCase_ == 6) { + return (context.ContextOuterClass.Constraint_SLA_Latency) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); + } + + public static final int SLA_AVAILABILITY_FIELD_NUMBER = 7; + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + * @return Whether the slaAvailability field is set. + */ + @java.lang.Override + public boolean hasSlaAvailability() { + return constraintCase_ == 7; + } + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + * @return The slaAvailability. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Availability getSlaAvailability() { + if (constraintCase_ == 7) { + return (context.ContextOuterClass.Constraint_SLA_Availability) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); + } + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder getSlaAvailabilityOrBuilder() { + if (constraintCase_ == 7) { + return (context.ContextOuterClass.Constraint_SLA_Availability) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); + } + + public static final int SLA_ISOLATION_FIELD_NUMBER = 8; + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + * @return Whether the slaIsolation field is set. + */ + @java.lang.Override + public boolean hasSlaIsolation() { + return constraintCase_ == 8; + } + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + * @return The slaIsolation. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Isolation_level getSlaIsolation() { + if (constraintCase_ == 8) { + return (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_; } + return context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); + } + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder getSlaIsolationOrBuilder() { + if (constraintCase_ == 8) { + return (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @@ -35406,11 +58573,29 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getConstraintTypeBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, constraintType_); + if (constraintCase_ == 1) { + output.writeMessage(1, (context.ContextOuterClass.Constraint_Custom) constraint_); + } + if (constraintCase_ == 2) { + output.writeMessage(2, (context.ContextOuterClass.Constraint_Schedule) constraint_); } - if (!getConstraintValueBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, constraintValue_); + if (constraintCase_ == 3) { + output.writeMessage(3, (context.ContextOuterClass.Constraint_EndPointLocation) constraint_); + } + if (constraintCase_ == 4) { + output.writeMessage(4, (context.ContextOuterClass.Constraint_EndPointPriority) constraint_); + } + if (constraintCase_ == 5) { + output.writeMessage(5, (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_); + } + if (constraintCase_ == 6) { + output.writeMessage(6, (context.ContextOuterClass.Constraint_SLA_Latency) constraint_); + } + if (constraintCase_ == 7) { + output.writeMessage(7, (context.ContextOuterClass.Constraint_SLA_Availability) constraint_); + } + if (constraintCase_ == 8) { + output.writeMessage(8, (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_); } unknownFields.writeTo(output); } @@ -35421,11 +58606,37 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (!getConstraintTypeBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, constraintType_); + if (constraintCase_ == 1) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, (context.ContextOuterClass.Constraint_Custom) constraint_); } - if (!getConstraintValueBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, constraintValue_); + if (constraintCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (context.ContextOuterClass.Constraint_Schedule) constraint_); + } + if (constraintCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (context.ContextOuterClass.Constraint_EndPointLocation) constraint_); + } + if (constraintCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (context.ContextOuterClass.Constraint_EndPointPriority) constraint_); + } + if (constraintCase_ == 5) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_); + } + if (constraintCase_ == 6) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, (context.ContextOuterClass.Constraint_SLA_Latency) constraint_); + } + if (constraintCase_ == 7) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, (context.ContextOuterClass.Constraint_SLA_Availability) constraint_); + } + if (constraintCase_ == 8) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -35442,10 +58653,43 @@ public final class ContextOuterClass { } context.ContextOuterClass.Constraint other = (context.ContextOuterClass.Constraint) obj; - if (!getConstraintType() - .equals(other.getConstraintType())) return false; - if (!getConstraintValue() - .equals(other.getConstraintValue())) return false; + if (!getConstraintCase().equals(other.getConstraintCase())) return false; + switch (constraintCase_) { + case 1: + if (!getCustom() + .equals(other.getCustom())) return false; + break; + case 2: + if (!getSchedule() + .equals(other.getSchedule())) return false; + break; + case 3: + if (!getEndpointLocation() + .equals(other.getEndpointLocation())) return false; + break; + case 4: + if (!getEndpointPriority() + .equals(other.getEndpointPriority())) return false; + break; + case 5: + if (!getSlaCapacity() + .equals(other.getSlaCapacity())) return false; + break; + case 6: + if (!getSlaLatency() + .equals(other.getSlaLatency())) return false; + break; + case 7: + if (!getSlaAvailability() + .equals(other.getSlaAvailability())) return false; + break; + case 8: + if (!getSlaIsolation() + .equals(other.getSlaIsolation())) return false; + break; + case 0: + default: + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -35457,10 +58701,42 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + CONSTRAINT_TYPE_FIELD_NUMBER; - hash = (53 * hash) + getConstraintType().hashCode(); - hash = (37 * hash) + CONSTRAINT_VALUE_FIELD_NUMBER; - hash = (53 * hash) + getConstraintValue().hashCode(); + switch (constraintCase_) { + case 1: + hash = (37 * hash) + CUSTOM_FIELD_NUMBER; + hash = (53 * hash) + getCustom().hashCode(); + break; + case 2: + hash = (37 * hash) + SCHEDULE_FIELD_NUMBER; + hash = (53 * hash) + getSchedule().hashCode(); + break; + case 3: + hash = (37 * hash) + ENDPOINT_LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getEndpointLocation().hashCode(); + break; + case 4: + hash = (37 * hash) + ENDPOINT_PRIORITY_FIELD_NUMBER; + hash = (53 * hash) + getEndpointPriority().hashCode(); + break; + case 5: + hash = (37 * hash) + SLA_CAPACITY_FIELD_NUMBER; + hash = (53 * hash) + getSlaCapacity().hashCode(); + break; + case 6: + hash = (37 * hash) + SLA_LATENCY_FIELD_NUMBER; + hash = (53 * hash) + getSlaLatency().hashCode(); + break; + case 7: + hash = (37 * hash) + SLA_AVAILABILITY_FIELD_NUMBER; + hash = (53 * hash) + getSlaAvailability().hashCode(); + break; + case 8: + hash = (37 * hash) + SLA_ISOLATION_FIELD_NUMBER; + hash = (53 * hash) + getSlaIsolation().hashCode(); + break; + case 0: + default: + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -35557,10 +58833,6 @@ public final class ContextOuterClass { return builder; } /** - *
-     * ----- Constraint ----------------------------------------------------------------------------------------------------
-     * 
- * * Protobuf type {@code context.Constraint} */ public static final class Builder extends @@ -35598,273 +58870,1346 @@ public final class ContextOuterClass { @java.lang.Override public Builder clear() { super.clear(); - constraintType_ = ""; + constraintCase_ = 0; + constraint_ = null; + return this; + } - constraintValue_ = ""; + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Constraint_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.Constraint getDefaultInstanceForType() { + return context.ContextOuterClass.Constraint.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.Constraint build() { + context.ContextOuterClass.Constraint result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Constraint buildPartial() { + context.ContextOuterClass.Constraint result = new context.ContextOuterClass.Constraint(this); + if (constraintCase_ == 1) { + if (customBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = customBuilder_.build(); + } + } + if (constraintCase_ == 2) { + if (scheduleBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = scheduleBuilder_.build(); + } + } + if (constraintCase_ == 3) { + if (endpointLocationBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = endpointLocationBuilder_.build(); + } + } + if (constraintCase_ == 4) { + if (endpointPriorityBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = endpointPriorityBuilder_.build(); + } + } + if (constraintCase_ == 5) { + if (slaCapacityBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = slaCapacityBuilder_.build(); + } + } + if (constraintCase_ == 6) { + if (slaLatencyBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = slaLatencyBuilder_.build(); + } + } + if (constraintCase_ == 7) { + if (slaAvailabilityBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = slaAvailabilityBuilder_.build(); + } + } + if (constraintCase_ == 8) { + if (slaIsolationBuilder_ == null) { + result.constraint_ = constraint_; + } else { + result.constraint_ = slaIsolationBuilder_.build(); + } + } + result.constraintCase_ = constraintCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Constraint) { + return mergeFrom((context.ContextOuterClass.Constraint)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.Constraint other) { + if (other == context.ContextOuterClass.Constraint.getDefaultInstance()) return this; + switch (other.getConstraintCase()) { + case CUSTOM: { + mergeCustom(other.getCustom()); + break; + } + case SCHEDULE: { + mergeSchedule(other.getSchedule()); + break; + } + case ENDPOINT_LOCATION: { + mergeEndpointLocation(other.getEndpointLocation()); + break; + } + case ENDPOINT_PRIORITY: { + mergeEndpointPriority(other.getEndpointPriority()); + break; + } + case SLA_CAPACITY: { + mergeSlaCapacity(other.getSlaCapacity()); + break; + } + case SLA_LATENCY: { + mergeSlaLatency(other.getSlaLatency()); + break; + } + case SLA_AVAILABILITY: { + mergeSlaAvailability(other.getSlaAvailability()); + break; + } + case SLA_ISOLATION: { + mergeSlaIsolation(other.getSlaIsolation()); + break; + } + case CONSTRAINT_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + context.ContextOuterClass.Constraint parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Constraint) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int constraintCase_ = 0; + private java.lang.Object constraint_; + public ConstraintCase + getConstraintCase() { + return ConstraintCase.forNumber( + constraintCase_); + } + + public Builder clearConstraint() { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + return this; + } + + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_Custom, context.ContextOuterClass.Constraint_Custom.Builder, context.ContextOuterClass.Constraint_CustomOrBuilder> customBuilder_; + /** + * .context.Constraint_Custom custom = 1; + * @return Whether the custom field is set. + */ + @java.lang.Override + public boolean hasCustom() { + return constraintCase_ == 1; + } + /** + * .context.Constraint_Custom custom = 1; + * @return The custom. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_Custom getCustom() { + if (customBuilder_ == null) { + if (constraintCase_ == 1) { + return (context.ContextOuterClass.Constraint_Custom) constraint_; + } + return context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); + } else { + if (constraintCase_ == 1) { + return customBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); + } + } + /** + * .context.Constraint_Custom custom = 1; + */ + public Builder setCustom(context.ContextOuterClass.Constraint_Custom value) { + if (customBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); + } else { + customBuilder_.setMessage(value); + } + constraintCase_ = 1; + return this; + } + /** + * .context.Constraint_Custom custom = 1; + */ + public Builder setCustom( + context.ContextOuterClass.Constraint_Custom.Builder builderForValue) { + if (customBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); + } else { + customBuilder_.setMessage(builderForValue.build()); + } + constraintCase_ = 1; + return this; + } + /** + * .context.Constraint_Custom custom = 1; + */ + public Builder mergeCustom(context.ContextOuterClass.Constraint_Custom value) { + if (customBuilder_ == null) { + if (constraintCase_ == 1 && + constraint_ != context.ContextOuterClass.Constraint_Custom.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_Custom.newBuilder((context.ContextOuterClass.Constraint_Custom) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 1) { + customBuilder_.mergeFrom(value); + } + customBuilder_.setMessage(value); + } + constraintCase_ = 1; + return this; + } + /** + * .context.Constraint_Custom custom = 1; + */ + public Builder clearCustom() { + if (customBuilder_ == null) { + if (constraintCase_ == 1) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 1) { + constraintCase_ = 0; + constraint_ = null; + } + customBuilder_.clear(); + } + return this; + } + /** + * .context.Constraint_Custom custom = 1; + */ + public context.ContextOuterClass.Constraint_Custom.Builder getCustomBuilder() { + return getCustomFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_Custom custom = 1; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_CustomOrBuilder getCustomOrBuilder() { + if ((constraintCase_ == 1) && (customBuilder_ != null)) { + return customBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 1) { + return (context.ContextOuterClass.Constraint_Custom) constraint_; + } + return context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); + } + } + /** + * .context.Constraint_Custom custom = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_Custom, context.ContextOuterClass.Constraint_Custom.Builder, context.ContextOuterClass.Constraint_CustomOrBuilder> + getCustomFieldBuilder() { + if (customBuilder_ == null) { + if (!(constraintCase_ == 1)) { + constraint_ = context.ContextOuterClass.Constraint_Custom.getDefaultInstance(); + } + customBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_Custom, context.ContextOuterClass.Constraint_Custom.Builder, context.ContextOuterClass.Constraint_CustomOrBuilder>( + (context.ContextOuterClass.Constraint_Custom) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 1; + onChanged();; + return customBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_Schedule, context.ContextOuterClass.Constraint_Schedule.Builder, context.ContextOuterClass.Constraint_ScheduleOrBuilder> scheduleBuilder_; + /** + * .context.Constraint_Schedule schedule = 2; + * @return Whether the schedule field is set. + */ + @java.lang.Override + public boolean hasSchedule() { + return constraintCase_ == 2; + } + /** + * .context.Constraint_Schedule schedule = 2; + * @return The schedule. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_Schedule getSchedule() { + if (scheduleBuilder_ == null) { + if (constraintCase_ == 2) { + return (context.ContextOuterClass.Constraint_Schedule) constraint_; + } + return context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); + } else { + if (constraintCase_ == 2) { + return scheduleBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); + } + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + public Builder setSchedule(context.ContextOuterClass.Constraint_Schedule value) { + if (scheduleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); + } else { + scheduleBuilder_.setMessage(value); + } + constraintCase_ = 2; + return this; + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + public Builder setSchedule( + context.ContextOuterClass.Constraint_Schedule.Builder builderForValue) { + if (scheduleBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); + } else { + scheduleBuilder_.setMessage(builderForValue.build()); + } + constraintCase_ = 2; + return this; + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + public Builder mergeSchedule(context.ContextOuterClass.Constraint_Schedule value) { + if (scheduleBuilder_ == null) { + if (constraintCase_ == 2 && + constraint_ != context.ContextOuterClass.Constraint_Schedule.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_Schedule.newBuilder((context.ContextOuterClass.Constraint_Schedule) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 2) { + scheduleBuilder_.mergeFrom(value); + } + scheduleBuilder_.setMessage(value); + } + constraintCase_ = 2; + return this; + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + public Builder clearSchedule() { + if (scheduleBuilder_ == null) { + if (constraintCase_ == 2) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 2) { + constraintCase_ = 0; + constraint_ = null; + } + scheduleBuilder_.clear(); + } + return this; + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + public context.ContextOuterClass.Constraint_Schedule.Builder getScheduleBuilder() { + return getScheduleFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_ScheduleOrBuilder getScheduleOrBuilder() { + if ((constraintCase_ == 2) && (scheduleBuilder_ != null)) { + return scheduleBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 2) { + return (context.ContextOuterClass.Constraint_Schedule) constraint_; + } + return context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); + } + } + /** + * .context.Constraint_Schedule schedule = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_Schedule, context.ContextOuterClass.Constraint_Schedule.Builder, context.ContextOuterClass.Constraint_ScheduleOrBuilder> + getScheduleFieldBuilder() { + if (scheduleBuilder_ == null) { + if (!(constraintCase_ == 2)) { + constraint_ = context.ContextOuterClass.Constraint_Schedule.getDefaultInstance(); + } + scheduleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_Schedule, context.ContextOuterClass.Constraint_Schedule.Builder, context.ContextOuterClass.Constraint_ScheduleOrBuilder>( + (context.ContextOuterClass.Constraint_Schedule) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 2; + onChanged();; + return scheduleBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_EndPointLocation, context.ContextOuterClass.Constraint_EndPointLocation.Builder, context.ContextOuterClass.Constraint_EndPointLocationOrBuilder> endpointLocationBuilder_; + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + * @return Whether the endpointLocation field is set. + */ + @java.lang.Override + public boolean hasEndpointLocation() { + return constraintCase_ == 3; + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + * @return The endpointLocation. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointLocation getEndpointLocation() { + if (endpointLocationBuilder_ == null) { + if (constraintCase_ == 3) { + return (context.ContextOuterClass.Constraint_EndPointLocation) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); + } else { + if (constraintCase_ == 3) { + return endpointLocationBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); + } + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + public Builder setEndpointLocation(context.ContextOuterClass.Constraint_EndPointLocation value) { + if (endpointLocationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); + } else { + endpointLocationBuilder_.setMessage(value); + } + constraintCase_ = 3; + return this; + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + public Builder setEndpointLocation( + context.ContextOuterClass.Constraint_EndPointLocation.Builder builderForValue) { + if (endpointLocationBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); + } else { + endpointLocationBuilder_.setMessage(builderForValue.build()); + } + constraintCase_ = 3; + return this; + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + public Builder mergeEndpointLocation(context.ContextOuterClass.Constraint_EndPointLocation value) { + if (endpointLocationBuilder_ == null) { + if (constraintCase_ == 3 && + constraint_ != context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_EndPointLocation.newBuilder((context.ContextOuterClass.Constraint_EndPointLocation) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 3) { + endpointLocationBuilder_.mergeFrom(value); + } + endpointLocationBuilder_.setMessage(value); + } + constraintCase_ = 3; + return this; + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + public Builder clearEndpointLocation() { + if (endpointLocationBuilder_ == null) { + if (constraintCase_ == 3) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 3) { + constraintCase_ = 0; + constraint_ = null; + } + endpointLocationBuilder_.clear(); + } + return this; + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + public context.ContextOuterClass.Constraint_EndPointLocation.Builder getEndpointLocationBuilder() { + return getEndpointLocationFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointLocationOrBuilder getEndpointLocationOrBuilder() { + if ((constraintCase_ == 3) && (endpointLocationBuilder_ != null)) { + return endpointLocationBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 3) { + return (context.ContextOuterClass.Constraint_EndPointLocation) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); + } + } + /** + * .context.Constraint_EndPointLocation endpoint_location = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_EndPointLocation, context.ContextOuterClass.Constraint_EndPointLocation.Builder, context.ContextOuterClass.Constraint_EndPointLocationOrBuilder> + getEndpointLocationFieldBuilder() { + if (endpointLocationBuilder_ == null) { + if (!(constraintCase_ == 3)) { + constraint_ = context.ContextOuterClass.Constraint_EndPointLocation.getDefaultInstance(); + } + endpointLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_EndPointLocation, context.ContextOuterClass.Constraint_EndPointLocation.Builder, context.ContextOuterClass.Constraint_EndPointLocationOrBuilder>( + (context.ContextOuterClass.Constraint_EndPointLocation) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 3; + onChanged();; + return endpointLocationBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_EndPointPriority, context.ContextOuterClass.Constraint_EndPointPriority.Builder, context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder> endpointPriorityBuilder_; + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + * @return Whether the endpointPriority field is set. + */ + @java.lang.Override + public boolean hasEndpointPriority() { + return constraintCase_ == 4; + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + * @return The endpointPriority. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointPriority getEndpointPriority() { + if (endpointPriorityBuilder_ == null) { + if (constraintCase_ == 4) { + return (context.ContextOuterClass.Constraint_EndPointPriority) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); + } else { + if (constraintCase_ == 4) { + return endpointPriorityBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); + } + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + public Builder setEndpointPriority(context.ContextOuterClass.Constraint_EndPointPriority value) { + if (endpointPriorityBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); + } else { + endpointPriorityBuilder_.setMessage(value); + } + constraintCase_ = 4; + return this; + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + public Builder setEndpointPriority( + context.ContextOuterClass.Constraint_EndPointPriority.Builder builderForValue) { + if (endpointPriorityBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); + } else { + endpointPriorityBuilder_.setMessage(builderForValue.build()); + } + constraintCase_ = 4; + return this; + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + public Builder mergeEndpointPriority(context.ContextOuterClass.Constraint_EndPointPriority value) { + if (endpointPriorityBuilder_ == null) { + if (constraintCase_ == 4 && + constraint_ != context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_EndPointPriority.newBuilder((context.ContextOuterClass.Constraint_EndPointPriority) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 4) { + endpointPriorityBuilder_.mergeFrom(value); + } + endpointPriorityBuilder_.setMessage(value); + } + constraintCase_ = 4; + return this; + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + public Builder clearEndpointPriority() { + if (endpointPriorityBuilder_ == null) { + if (constraintCase_ == 4) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 4) { + constraintCase_ = 0; + constraint_ = null; + } + endpointPriorityBuilder_.clear(); + } + return this; + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + public context.ContextOuterClass.Constraint_EndPointPriority.Builder getEndpointPriorityBuilder() { + return getEndpointPriorityFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder getEndpointPriorityOrBuilder() { + if ((constraintCase_ == 4) && (endpointPriorityBuilder_ != null)) { + return endpointPriorityBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 4) { + return (context.ContextOuterClass.Constraint_EndPointPriority) constraint_; + } + return context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); + } + } + /** + * .context.Constraint_EndPointPriority endpoint_priority = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_EndPointPriority, context.ContextOuterClass.Constraint_EndPointPriority.Builder, context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder> + getEndpointPriorityFieldBuilder() { + if (endpointPriorityBuilder_ == null) { + if (!(constraintCase_ == 4)) { + constraint_ = context.ContextOuterClass.Constraint_EndPointPriority.getDefaultInstance(); + } + endpointPriorityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_EndPointPriority, context.ContextOuterClass.Constraint_EndPointPriority.Builder, context.ContextOuterClass.Constraint_EndPointPriorityOrBuilder>( + (context.ContextOuterClass.Constraint_EndPointPriority) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 4; + onChanged();; + return endpointPriorityBuilder_; + } + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Capacity, context.ContextOuterClass.Constraint_SLA_Capacity.Builder, context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder> slaCapacityBuilder_; + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + * @return Whether the slaCapacity field is set. + */ + @java.lang.Override + public boolean hasSlaCapacity() { + return constraintCase_ == 5; + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + * @return The slaCapacity. + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Capacity getSlaCapacity() { + if (slaCapacityBuilder_ == null) { + if (constraintCase_ == 5) { + return (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); + } else { + if (constraintCase_ == 5) { + return slaCapacityBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); + } + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + public Builder setSlaCapacity(context.ContextOuterClass.Constraint_SLA_Capacity value) { + if (slaCapacityBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); + } else { + slaCapacityBuilder_.setMessage(value); + } + constraintCase_ = 5; + return this; + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + public Builder setSlaCapacity( + context.ContextOuterClass.Constraint_SLA_Capacity.Builder builderForValue) { + if (slaCapacityBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); + } else { + slaCapacityBuilder_.setMessage(builderForValue.build()); + } + constraintCase_ = 5; + return this; + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + public Builder mergeSlaCapacity(context.ContextOuterClass.Constraint_SLA_Capacity value) { + if (slaCapacityBuilder_ == null) { + if (constraintCase_ == 5 && + constraint_ != context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Capacity.newBuilder((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 5) { + slaCapacityBuilder_.mergeFrom(value); + } + slaCapacityBuilder_.setMessage(value); + } + constraintCase_ = 5; + return this; + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + public Builder clearSlaCapacity() { + if (slaCapacityBuilder_ == null) { + if (constraintCase_ == 5) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 5) { + constraintCase_ = 0; + constraint_ = null; + } + slaCapacityBuilder_.clear(); + } return this; } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + public context.ContextOuterClass.Constraint_SLA_Capacity.Builder getSlaCapacityBuilder() { + return getSlaCapacityFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder getSlaCapacityOrBuilder() { + if ((constraintCase_ == 5) && (slaCapacityBuilder_ != null)) { + return slaCapacityBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 5) { + return (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); + } + } + /** + * .context.Constraint_SLA_Capacity sla_capacity = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Capacity, context.ContextOuterClass.Constraint_SLA_Capacity.Builder, context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder> + getSlaCapacityFieldBuilder() { + if (slaCapacityBuilder_ == null) { + if (!(constraintCase_ == 5)) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Capacity.getDefaultInstance(); + } + slaCapacityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Capacity, context.ContextOuterClass.Constraint_SLA_Capacity.Builder, context.ContextOuterClass.Constraint_SLA_CapacityOrBuilder>( + (context.ContextOuterClass.Constraint_SLA_Capacity) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 5; + onChanged();; + return slaCapacityBuilder_; + } + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Latency, context.ContextOuterClass.Constraint_SLA_Latency.Builder, context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder> slaLatencyBuilder_; + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + * @return Whether the slaLatency field is set. + */ @java.lang.Override - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return context.ContextOuterClass.internal_static_context_Constraint_descriptor; + public boolean hasSlaLatency() { + return constraintCase_ == 6; } - + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + * @return The slaLatency. + */ @java.lang.Override - public context.ContextOuterClass.Constraint getDefaultInstanceForType() { - return context.ContextOuterClass.Constraint.getDefaultInstance(); + public context.ContextOuterClass.Constraint_SLA_Latency getSlaLatency() { + if (slaLatencyBuilder_ == null) { + if (constraintCase_ == 6) { + return (context.ContextOuterClass.Constraint_SLA_Latency) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); + } else { + if (constraintCase_ == 6) { + return slaLatencyBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); + } } - - @java.lang.Override - public context.ContextOuterClass.Constraint build() { - context.ContextOuterClass.Constraint result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + public Builder setSlaLatency(context.ContextOuterClass.Constraint_SLA_Latency value) { + if (slaLatencyBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); + } else { + slaLatencyBuilder_.setMessage(value); } - return result; + constraintCase_ = 6; + return this; } - - @java.lang.Override - public context.ContextOuterClass.Constraint buildPartial() { - context.ContextOuterClass.Constraint result = new context.ContextOuterClass.Constraint(this); - result.constraintType_ = constraintType_; - result.constraintValue_ = constraintValue_; - onBuilt(); - return result; + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + public Builder setSlaLatency( + context.ContextOuterClass.Constraint_SLA_Latency.Builder builderForValue) { + if (slaLatencyBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); + } else { + slaLatencyBuilder_.setMessage(builderForValue.build()); + } + constraintCase_ = 6; + return this; } - - @java.lang.Override - public Builder clone() { - return super.clone(); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + public Builder mergeSlaLatency(context.ContextOuterClass.Constraint_SLA_Latency value) { + if (slaLatencyBuilder_ == null) { + if (constraintCase_ == 6 && + constraint_ != context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Latency.newBuilder((context.ContextOuterClass.Constraint_SLA_Latency) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 6) { + slaLatencyBuilder_.mergeFrom(value); + } + slaLatencyBuilder_.setMessage(value); + } + constraintCase_ = 6; + return this; } - @java.lang.Override - public Builder setField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.setField(field, value); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + public Builder clearSlaLatency() { + if (slaLatencyBuilder_ == null) { + if (constraintCase_ == 6) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 6) { + constraintCase_ = 0; + constraint_ = null; + } + slaLatencyBuilder_.clear(); + } + return this; } - @java.lang.Override - public Builder clearField( - com.google.protobuf.Descriptors.FieldDescriptor field) { - return super.clearField(field); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + public context.ContextOuterClass.Constraint_SLA_Latency.Builder getSlaLatencyBuilder() { + return getSlaLatencyFieldBuilder().getBuilder(); } + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ @java.lang.Override - public Builder clearOneof( - com.google.protobuf.Descriptors.OneofDescriptor oneof) { - return super.clearOneof(oneof); + public context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder getSlaLatencyOrBuilder() { + if ((constraintCase_ == 6) && (slaLatencyBuilder_ != null)) { + return slaLatencyBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 6) { + return (context.ContextOuterClass.Constraint_SLA_Latency) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); + } } - @java.lang.Override - public Builder setRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - int index, java.lang.Object value) { - return super.setRepeatedField(field, index, value); + /** + * .context.Constraint_SLA_Latency sla_latency = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Latency, context.ContextOuterClass.Constraint_SLA_Latency.Builder, context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder> + getSlaLatencyFieldBuilder() { + if (slaLatencyBuilder_ == null) { + if (!(constraintCase_ == 6)) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Latency.getDefaultInstance(); + } + slaLatencyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Latency, context.ContextOuterClass.Constraint_SLA_Latency.Builder, context.ContextOuterClass.Constraint_SLA_LatencyOrBuilder>( + (context.ContextOuterClass.Constraint_SLA_Latency) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 6; + onChanged();; + return slaLatencyBuilder_; } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Availability, context.ContextOuterClass.Constraint_SLA_Availability.Builder, context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder> slaAvailabilityBuilder_; + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + * @return Whether the slaAvailability field is set. + */ @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, - java.lang.Object value) { - return super.addRepeatedField(field, value); + public boolean hasSlaAvailability() { + return constraintCase_ == 7; } + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + * @return The slaAvailability. + */ @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof context.ContextOuterClass.Constraint) { - return mergeFrom((context.ContextOuterClass.Constraint)other); + public context.ContextOuterClass.Constraint_SLA_Availability getSlaAvailability() { + if (slaAvailabilityBuilder_ == null) { + if (constraintCase_ == 7) { + return (context.ContextOuterClass.Constraint_SLA_Availability) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); } else { - super.mergeFrom(other); - return this; + if (constraintCase_ == 7) { + return slaAvailabilityBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); } } - - public Builder mergeFrom(context.ContextOuterClass.Constraint other) { - if (other == context.ContextOuterClass.Constraint.getDefaultInstance()) return this; - if (!other.getConstraintType().isEmpty()) { - constraintType_ = other.constraintType_; + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + */ + public Builder setSlaAvailability(context.ContextOuterClass.Constraint_SLA_Availability value) { + if (slaAvailabilityBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; onChanged(); + } else { + slaAvailabilityBuilder_.setMessage(value); } - if (!other.getConstraintValue().isEmpty()) { - constraintValue_ = other.constraintValue_; + constraintCase_ = 7; + return this; + } + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + */ + public Builder setSlaAvailability( + context.ContextOuterClass.Constraint_SLA_Availability.Builder builderForValue) { + if (slaAvailabilityBuilder_ == null) { + constraint_ = builderForValue.build(); onChanged(); + } else { + slaAvailabilityBuilder_.setMessage(builderForValue.build()); } - this.mergeUnknownFields(other.unknownFields); - onChanged(); + constraintCase_ = 7; return this; } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - context.ContextOuterClass.Constraint parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (context.ContextOuterClass.Constraint) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + */ + public Builder mergeSlaAvailability(context.ContextOuterClass.Constraint_SLA_Availability value) { + if (slaAvailabilityBuilder_ == null) { + if (constraintCase_ == 7 && + constraint_ != context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Availability.newBuilder((context.ContextOuterClass.Constraint_SLA_Availability) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 7) { + slaAvailabilityBuilder_.mergeFrom(value); } + slaAvailabilityBuilder_.setMessage(value); } + constraintCase_ = 7; return this; } - - private java.lang.Object constraintType_ = ""; /** - * string constraint_type = 1; - * @return The constraintType. + * .context.Constraint_SLA_Availability sla_availability = 7; */ - public java.lang.String getConstraintType() { - java.lang.Object ref = constraintType_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - constraintType_ = s; - return s; + public Builder clearSlaAvailability() { + if (slaAvailabilityBuilder_ == null) { + if (constraintCase_ == 7) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } } else { - return (java.lang.String) ref; + if (constraintCase_ == 7) { + constraintCase_ = 0; + constraint_ = null; + } + slaAvailabilityBuilder_.clear(); } + return this; } /** - * string constraint_type = 1; - * @return The bytes for constraintType. + * .context.Constraint_SLA_Availability sla_availability = 7; */ - public com.google.protobuf.ByteString - getConstraintTypeBytes() { - java.lang.Object ref = constraintType_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - constraintType_ = b; - return b; + public context.ContextOuterClass.Constraint_SLA_Availability.Builder getSlaAvailabilityBuilder() { + return getSlaAvailabilityFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_SLA_Availability sla_availability = 7; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder getSlaAvailabilityOrBuilder() { + if ((constraintCase_ == 7) && (slaAvailabilityBuilder_ != null)) { + return slaAvailabilityBuilder_.getMessageOrBuilder(); } else { - return (com.google.protobuf.ByteString) ref; + if (constraintCase_ == 7) { + return (context.ContextOuterClass.Constraint_SLA_Availability) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); } } /** - * string constraint_type = 1; - * @param value The constraintType to set. - * @return This builder for chaining. + * .context.Constraint_SLA_Availability sla_availability = 7; */ - public Builder setConstraintType( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - constraintType_ = value; - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Availability, context.ContextOuterClass.Constraint_SLA_Availability.Builder, context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder> + getSlaAvailabilityFieldBuilder() { + if (slaAvailabilityBuilder_ == null) { + if (!(constraintCase_ == 7)) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Availability.getDefaultInstance(); + } + slaAvailabilityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Availability, context.ContextOuterClass.Constraint_SLA_Availability.Builder, context.ContextOuterClass.Constraint_SLA_AvailabilityOrBuilder>( + (context.ContextOuterClass.Constraint_SLA_Availability) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 7; + onChanged();; + return slaAvailabilityBuilder_; } + + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Isolation_level, context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder, context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder> slaIsolationBuilder_; /** - * string constraint_type = 1; - * @return This builder for chaining. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + * @return Whether the slaIsolation field is set. */ - public Builder clearConstraintType() { - - constraintType_ = getDefaultInstance().getConstraintType(); - onChanged(); - return this; + @java.lang.Override + public boolean hasSlaIsolation() { + return constraintCase_ == 8; } /** - * string constraint_type = 1; - * @param value The bytes for constraintType to set. - * @return This builder for chaining. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + * @return The slaIsolation. */ - public Builder setConstraintTypeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - constraintType_ = value; - onChanged(); - return this; + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Isolation_level getSlaIsolation() { + if (slaIsolationBuilder_ == null) { + if (constraintCase_ == 8) { + return (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); + } else { + if (constraintCase_ == 8) { + return slaIsolationBuilder_.getMessage(); + } + return context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); + } } - - private java.lang.Object constraintValue_ = ""; /** - * string constraint_value = 2; - * @return The constraintValue. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; */ - public java.lang.String getConstraintValue() { - java.lang.Object ref = constraintValue_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - constraintValue_ = s; - return s; + public Builder setSlaIsolation(context.ContextOuterClass.Constraint_SLA_Isolation_level value) { + if (slaIsolationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + constraint_ = value; + onChanged(); } else { - return (java.lang.String) ref; + slaIsolationBuilder_.setMessage(value); } + constraintCase_ = 8; + return this; } /** - * string constraint_value = 2; - * @return The bytes for constraintValue. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; */ - public com.google.protobuf.ByteString - getConstraintValueBytes() { - java.lang.Object ref = constraintValue_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - constraintValue_ = b; - return b; + public Builder setSlaIsolation( + context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder builderForValue) { + if (slaIsolationBuilder_ == null) { + constraint_ = builderForValue.build(); + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + slaIsolationBuilder_.setMessage(builderForValue.build()); } + constraintCase_ = 8; + return this; } /** - * string constraint_value = 2; - * @param value The constraintValue to set. - * @return This builder for chaining. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; */ - public Builder setConstraintValue( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - constraintValue_ = value; - onChanged(); + public Builder mergeSlaIsolation(context.ContextOuterClass.Constraint_SLA_Isolation_level value) { + if (slaIsolationBuilder_ == null) { + if (constraintCase_ == 8 && + constraint_ != context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance()) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_) + .mergeFrom(value).buildPartial(); + } else { + constraint_ = value; + } + onChanged(); + } else { + if (constraintCase_ == 8) { + slaIsolationBuilder_.mergeFrom(value); + } + slaIsolationBuilder_.setMessage(value); + } + constraintCase_ = 8; return this; } /** - * string constraint_value = 2; - * @return This builder for chaining. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; */ - public Builder clearConstraintValue() { - - constraintValue_ = getDefaultInstance().getConstraintValue(); - onChanged(); + public Builder clearSlaIsolation() { + if (slaIsolationBuilder_ == null) { + if (constraintCase_ == 8) { + constraintCase_ = 0; + constraint_ = null; + onChanged(); + } + } else { + if (constraintCase_ == 8) { + constraintCase_ = 0; + constraint_ = null; + } + slaIsolationBuilder_.clear(); + } return this; } /** - * string constraint_value = 2; - * @param value The bytes for constraintValue to set. - * @return This builder for chaining. + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; */ - public Builder setConstraintValueBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - constraintValue_ = value; - onChanged(); - return this; + public context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder getSlaIsolationBuilder() { + return getSlaIsolationFieldBuilder().getBuilder(); + } + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + */ + @java.lang.Override + public context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder getSlaIsolationOrBuilder() { + if ((constraintCase_ == 8) && (slaIsolationBuilder_ != null)) { + return slaIsolationBuilder_.getMessageOrBuilder(); + } else { + if (constraintCase_ == 8) { + return (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_; + } + return context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); + } + } + /** + * .context.Constraint_SLA_Isolation_level sla_isolation = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Isolation_level, context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder, context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder> + getSlaIsolationFieldBuilder() { + if (slaIsolationBuilder_ == null) { + if (!(constraintCase_ == 8)) { + constraint_ = context.ContextOuterClass.Constraint_SLA_Isolation_level.getDefaultInstance(); + } + slaIsolationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Constraint_SLA_Isolation_level, context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder, context.ContextOuterClass.Constraint_SLA_Isolation_levelOrBuilder>( + (context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_, + getParentForChildren(), + isClean()); + constraint_ = null; + } + constraintCase_ = 8; + onChanged();; + return slaIsolationBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -37470,6 +61815,11 @@ public final class ContextOuterClass { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Uuid_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Timestamp_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Timestamp_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Event_descriptor; private static final @@ -37615,11 +61965,76 @@ public final class ContextOuterClass { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceEvent_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceId_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceId_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Slice_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Slice_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceOwner_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceOwner_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceStatus_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceStatus_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceConfig_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceConfig_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceIdList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceIdList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_SliceEvent_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_SliceEvent_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionId_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionId_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConnectionSettings_L0_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConnectionSettings_L0_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConnectionSettings_L2_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConnectionSettings_L2_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConnectionSettings_L3_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConnectionSettings_L3_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConnectionSettings_L4_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConnectionSettings_L4_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConnectionSettings_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConnectionSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Connection_descriptor; private static final @@ -37650,11 +62065,71 @@ public final class ContextOuterClass { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_EndPoint_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConfigRule_Custom_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConfigRule_Custom_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_ConfigRule_ACL_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_ConfigRule_ACL_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConfigRule_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConfigRule_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_Custom_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_Custom_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_Schedule_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_Schedule_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_GPS_Position_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_GPS_Position_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Location_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Location_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_EndPointLocation_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_EndPointLocation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_EndPointPriority_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_EndPointPriority_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_SLA_Latency_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_SLA_Latency_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_SLA_Capacity_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_SLA_Capacity_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_SLA_Availability_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_SLA_Availability_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_context_Constraint_SLA_Isolation_level_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_context_Constraint_SLA_Isolation_level_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Constraint_descriptor; private static final @@ -37679,78 +62154,120 @@ public final class ContextOuterClass { descriptor; static { java.lang.String[] descriptorData = { - "\n\rcontext.proto\022\007context\032\026kpi_sample_typ" + - "es.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004uuid\030\001 \001(\t\"" + - "F\n\005Event\022\021\n\ttimestamp\030\001 \001(\001\022*\n\nevent_typ" + - "e\030\002 \001(\0162\026.context.EventTypeEnum\"0\n\tConte" + - "xtId\022#\n\014context_uuid\030\001 \001(\0132\r.context.Uui" + - "d\"\266\001\n\007Context\022&\n\ncontext_id\030\001 \001(\0132\022.cont" + - "ext.ContextId\022)\n\014topology_ids\030\002 \003(\0132\023.co" + - "ntext.TopologyId\022\'\n\013service_ids\030\003 \003(\0132\022." + - "context.ServiceId\022/\n\ncontroller\030\004 \001(\0132\033." + - "context.TeraFlowController\"8\n\rContextIdL" + - "ist\022\'\n\013context_ids\030\001 \003(\0132\022.context.Conte" + - "xtId\"1\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020." + - "context.Context\"U\n\014ContextEvent\022\035\n\005event" + - "\030\001 \001(\0132\016.context.Event\022&\n\ncontext_id\030\002 \001" + - "(\0132\022.context.ContextId\"Z\n\nTopologyId\022&\n\n" + - "context_id\030\001 \001(\0132\022.context.ContextId\022$\n\r" + - "topology_uuid\030\002 \001(\0132\r.context.Uuid\"~\n\010To" + - "pology\022(\n\013topology_id\030\001 \001(\0132\023.context.To" + - "pologyId\022%\n\ndevice_ids\030\002 \003(\0132\021.context.D" + - "eviceId\022!\n\010link_ids\030\003 \003(\0132\017.context.Link" + - "Id\";\n\016TopologyIdList\022)\n\014topology_ids\030\001 \003" + - "(\0132\023.context.TopologyId\"5\n\014TopologyList\022" + - "%\n\ntopologies\030\001 \003(\0132\021.context.Topology\"X" + - "\n\rTopologyEvent\022\035\n\005event\030\001 \001(\0132\016.context" + - ".Event\022(\n\013topology_id\030\002 \001(\0132\023.context.To" + - "pologyId\".\n\010DeviceId\022\"\n\013device_uuid\030\001 \001(" + - "\0132\r.context.Uuid\"\232\002\n\006Device\022$\n\tdevice_id" + - "\030\001 \001(\0132\021.context.DeviceId\022\023\n\013device_type" + - "\030\002 \001(\t\022,\n\rdevice_config\030\003 \001(\0132\025.context." + - "DeviceConfig\022G\n\031device_operational_statu" + - "s\030\004 \001(\0162$.context.DeviceOperationalStatu" + - "sEnum\0221\n\016device_drivers\030\005 \003(\0162\031.context." + - "DeviceDriverEnum\022+\n\020device_endpoints\030\006 \003" + - "(\0132\021.context.EndPoint\"9\n\014DeviceConfig\022)\n" + - "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + - "\"5\n\014DeviceIdList\022%\n\ndevice_ids\030\001 \003(\0132\021.c" + - "ontext.DeviceId\".\n\nDeviceList\022 \n\007devices" + - "\030\001 \003(\0132\017.context.Device\"R\n\013DeviceEvent\022\035" + - "\n\005event\030\001 \001(\0132\016.context.Event\022$\n\tdevice_" + - "id\030\002 \001(\0132\021.context.DeviceId\"*\n\006LinkId\022 \n" + - "\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"X\n\004Link\022" + - " \n\007link_id\030\001 \001(\0132\017.context.LinkId\022.\n\021lin" + - "k_endpoint_ids\030\002 \003(\0132\023.context.EndPointI" + - "d\"/\n\nLinkIdList\022!\n\010link_ids\030\001 \003(\0132\017.cont" + - "ext.LinkId\"(\n\010LinkList\022\034\n\005links\030\001 \003(\0132\r." + - "context.Link\"L\n\tLinkEvent\022\035\n\005event\030\001 \001(\013" + - "2\016.context.Event\022 \n\007link_id\030\002 \001(\0132\017.cont" + - "ext.LinkId\"X\n\tServiceId\022&\n\ncontext_id\030\001 " + - "\001(\0132\022.context.ContextId\022#\n\014service_uuid\030" + - "\002 \001(\0132\r.context.Uuid\"\246\002\n\007Service\022&\n\nserv" + - "ice_id\030\001 \001(\0132\022.context.ServiceId\022.\n\014serv" + - "ice_type\030\002 \001(\0162\030.context.ServiceTypeEnum" + - "\0221\n\024service_endpoint_ids\030\003 \003(\0132\023.context" + - ".EndPointId\0220\n\023service_constraints\030\004 \003(\013" + - "2\023.context.Constraint\022.\n\016service_status\030" + - "\005 \001(\0132\026.context.ServiceStatus\022.\n\016service" + - "_config\030\006 \001(\0132\026.context.ServiceConfig\"C\n" + - "\rServiceStatus\0222\n\016service_status\030\001 \001(\0162\032" + - ".context.ServiceStatusEnum\":\n\rServiceCon" + - "fig\022)\n\014config_rules\030\001 \003(\0132\023.context.Conf" + - "igRule\"8\n\rServiceIdList\022\'\n\013service_ids\030\001" + - " \003(\0132\022.context.ServiceId\"1\n\013ServiceList\022" + - "\"\n\010services\030\001 \003(\0132\020.context.Service\"U\n\014S" + - "erviceEvent\022\035\n\005event\030\001 \001(\0132\016.context.Eve" + - "nt\022&\n\nservice_id\030\002 \001(\0132\022.context.Service" + - "Id\"6\n\014ConnectionId\022&\n\017connection_uuid\030\001 " + - "\001(\0132\r.context.Uuid\"\304\001\n\nConnection\022,\n\rcon" + - "nection_id\030\001 \001(\0132\025.context.ConnectionId\022" + - "&\n\nservice_id\030\002 \001(\0132\022.context.ServiceId\022" + - "3\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.contex" + - "t.EndPointId\022+\n\017sub_service_ids\030\004 \003(\0132\022." + - "context.ServiceId\"A\n\020ConnectionIdList\022-\n" + + "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + + "uid\030\001 \001(\0132\r.context.Uuid\"\266\001\n\007Context\022&\n\n" + + "context_id\030\001 \001(\0132\022.context.ContextId\022)\n\014" + + "topology_ids\030\002 \003(\0132\023.context.TopologyId\022" + + "\'\n\013service_ids\030\003 \003(\0132\022.context.ServiceId" + + "\022/\n\ncontroller\030\004 \001(\0132\033.context.TeraFlowC" + + "ontroller\"8\n\rContextIdList\022\'\n\013context_id" + + "s\030\001 \003(\0132\022.context.ContextId\"1\n\013ContextLi" + + "st\022\"\n\010contexts\030\001 \003(\0132\020.context.Context\"U" + + "\n\014ContextEvent\022\035\n\005event\030\001 \001(\0132\016.context." + + "Event\022&\n\ncontext_id\030\002 \001(\0132\022.context.Cont" + + "extId\"Z\n\nTopologyId\022&\n\ncontext_id\030\001 \001(\0132" + + "\022.context.ContextId\022$\n\rtopology_uuid\030\002 \001" + + "(\0132\r.context.Uuid\"~\n\010Topology\022(\n\013topolog" + + "y_id\030\001 \001(\0132\023.context.TopologyId\022%\n\ndevic" + + "e_ids\030\002 \003(\0132\021.context.DeviceId\022!\n\010link_i" + + "ds\030\003 \003(\0132\017.context.LinkId\";\n\016TopologyIdL" + + "ist\022)\n\014topology_ids\030\001 \003(\0132\023.context.Topo" + + "logyId\"5\n\014TopologyList\022%\n\ntopologies\030\001 \003" + + "(\0132\021.context.Topology\"X\n\rTopologyEvent\022\035" + + "\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013topolog" + + "y_id\030\002 \001(\0132\023.context.TopologyId\".\n\010Devic" + + "eId\022\"\n\013device_uuid\030\001 \001(\0132\r.context.Uuid\"" + + "\232\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.context." + + "DeviceId\022\023\n\013device_type\030\002 \001(\t\022,\n\rdevice_" + + "config\030\003 \001(\0132\025.context.DeviceConfig\022G\n\031d" + + "evice_operational_status\030\004 \001(\0162$.context" + + ".DeviceOperationalStatusEnum\0221\n\016device_d" + + "rivers\030\005 \003(\0162\031.context.DeviceDriverEnum\022" + + "+\n\020device_endpoints\030\006 \003(\0132\021.context.EndP" + + "oint\"9\n\014DeviceConfig\022)\n\014config_rules\030\001 \003" + + "(\0132\023.context.ConfigRule\"5\n\014DeviceIdList\022" + + "%\n\ndevice_ids\030\001 \003(\0132\021.context.DeviceId\"." + + "\n\nDeviceList\022 \n\007devices\030\001 \003(\0132\017.context." + + "Device\"\200\001\n\013DeviceEvent\022\035\n\005event\030\001 \001(\0132\016." + + "context.Event\022$\n\tdevice_id\030\002 \001(\0132\021.conte" + + "xt.DeviceId\022,\n\rdevice_config\030\003 \001(\0132\025.con" + + "text.DeviceConfig\"*\n\006LinkId\022 \n\tlink_uuid" + + "\030\001 \001(\0132\r.context.Uuid\"X\n\004Link\022 \n\007link_id" + + "\030\001 \001(\0132\017.context.LinkId\022.\n\021link_endpoint" + + "_ids\030\002 \003(\0132\023.context.EndPointId\"/\n\nLinkI" + + "dList\022!\n\010link_ids\030\001 \003(\0132\017.context.LinkId" + + "\"(\n\010LinkList\022\034\n\005links\030\001 \003(\0132\r.context.Li" + + "nk\"L\n\tLinkEvent\022\035\n\005event\030\001 \001(\0132\016.context" + + ".Event\022 \n\007link_id\030\002 \001(\0132\017.context.LinkId" + + "\"X\n\tServiceId\022&\n\ncontext_id\030\001 \001(\0132\022.cont" + + "ext.ContextId\022#\n\014service_uuid\030\002 \001(\0132\r.co" + + "ntext.Uuid\"\315\002\n\007Service\022&\n\nservice_id\030\001 \001" + + "(\0132\022.context.ServiceId\022.\n\014service_type\030\002" + + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + + "e_endpoint_ids\030\003 \003(\0132\023.context.EndPointI" + + "d\0220\n\023service_constraints\030\004 \003(\0132\023.context" + + ".Constraint\022.\n\016service_status\030\005 \001(\0132\026.co" + + "ntext.ServiceStatus\022.\n\016service_config\030\006 " + + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + + "\030\007 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + + "\030\001 \003(\0132\020.context.Service\"U\n\014ServiceEvent" + + "\022\035\n\005event\030\001 \001(\0132\016.context.Event\022&\n\nservi" + + "ce_id\030\002 \001(\0132\022.context.ServiceId\"T\n\007Slice" + + "Id\022&\n\ncontext_id\030\001 \001(\0132\022.context.Context" + + "Id\022!\n\nslice_uuid\030\002 \001(\0132\r.context.Uuid\"\222\003" + + "\n\005Slice\022\"\n\010slice_id\030\001 \001(\0132\020.context.Slic" + + "eId\022/\n\022slice_endpoint_ids\030\002 \003(\0132\023.contex" + + "t.EndPointId\022.\n\021slice_constraints\030\003 \003(\0132" + + "\023.context.Constraint\022-\n\021slice_service_id" + + "s\030\004 \003(\0132\022.context.ServiceId\022,\n\022slice_sub" + + "slice_ids\030\005 \003(\0132\020.context.SliceId\022*\n\014sli" + + "ce_status\030\006 \001(\0132\024.context.SliceStatus\022*\n" + + "\014slice_config\030\007 \001(\0132\024.context.SliceConfi" + + "g\022(\n\013slice_owner\030\010 \001(\0132\023.context.SliceOw" + + "ner\022%\n\ttimestamp\030\t \001(\0132\022.context.Timesta" + + "mp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001(\0132\r.c" + + "ontext.Uuid\022\024\n\014owner_string\030\002 \001(\t\"=\n\013Sli" + + "ceStatus\022.\n\014slice_status\030\001 \001(\0162\030.context" + + ".SliceStatusEnum\"8\n\013SliceConfig\022)\n\014confi" + + "g_rules\030\001 \003(\0132\023.context.ConfigRule\"2\n\013Sl" + + "iceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.context.S" + + "liceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(\0132\016.co" + + "ntext.Slice\"O\n\nSliceEvent\022\035\n\005event\030\001 \001(\013" + + "2\016.context.Event\022\"\n\010slice_id\030\002 \001(\0132\020.con" + + "text.SliceId\"6\n\014ConnectionId\022&\n\017connecti" + + "on_uuid\030\001 \001(\0132\r.context.Uuid\"2\n\025Connecti" + + "onSettings_L0\022\031\n\021lsp_symbolic_name\030\001 \001(\t" + + "\"\236\001\n\025ConnectionSettings_L2\022\027\n\017src_mac_ad" + + "dress\030\001 \001(\t\022\027\n\017dst_mac_address\030\002 \001(\t\022\022\n\n" + + "ether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004 \001(\r\022\022\n\nmpl" + + "s_label\030\005 \001(\r\022\032\n\022mpls_traffic_class\030\006 \001(" + + "\r\"t\n\025ConnectionSettings_L3\022\026\n\016src_ip_add" + + "ress\030\001 \001(\t\022\026\n\016dst_ip_address\030\002 \001(\t\022\014\n\004ds" + + "cp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n\003ttl\030\005 \001(\r\"" + + "[\n\025ConnectionSettings_L4\022\020\n\010src_port\030\001 \001" + + "(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_flags\030\003 \001(\r\022" + + "\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSettings\022*\n\002l" + + "0\030\001 \001(\0132\036.context.ConnectionSettings_L0\022" + + "*\n\002l2\030\002 \001(\0132\036.context.ConnectionSettings" + + "_L2\022*\n\002l3\030\003 \001(\0132\036.context.ConnectionSett" + + "ings_L3\022*\n\002l4\030\004 \001(\0132\036.context.Connection" + + "Settings_L4\"\363\001\n\nConnection\022,\n\rconnection" + + "_id\030\001 \001(\0132\025.context.ConnectionId\022&\n\nserv" + + "ice_id\030\002 \001(\0132\022.context.ServiceId\0223\n\026path" + + "_hops_endpoint_ids\030\003 \003(\0132\023.context.EndPo" + + "intId\022+\n\017sub_service_ids\030\004 \003(\0132\022.context" + + ".ServiceId\022-\n\010settings\030\005 \001(\0132\033.context.C" + + "onnectionSettings\"A\n\020ConnectionIdList\022-\n" + "\016connection_ids\030\001 \003(\0132\025.context.Connecti" + "onId\":\n\016ConnectionList\022(\n\013connections\030\001 " + "\003(\0132\023.context.Connection\"^\n\017ConnectionEv" + @@ -37759,96 +62276,156 @@ public final class ContextOuterClass { "\"\202\001\n\nEndPointId\022(\n\013topology_id\030\001 \001(\0132\023.c" + "ontext.TopologyId\022$\n\tdevice_id\030\002 \001(\0132\021.c" + "ontext.DeviceId\022$\n\rendpoint_uuid\030\003 \001(\0132\r" + - ".context.Uuid\"\206\001\n\010EndPoint\022(\n\013endpoint_i" + + ".context.Uuid\"\264\001\n\010EndPoint\022(\n\013endpoint_i" + "d\030\001 \001(\0132\023.context.EndPointId\022\025\n\rendpoint" + "_type\030\002 \001(\t\0229\n\020kpi_sample_types\030\003 \003(\0162\037." + - "kpi_sample_types.KpiSampleType\"e\n\nConfig" + - "Rule\022)\n\006action\030\001 \001(\0162\031.context.ConfigAct" + - "ionEnum\022\024\n\014resource_key\030\002 \001(\t\022\026\n\016resourc" + - "e_value\030\003 \001(\t\"?\n\nConstraint\022\027\n\017constrain" + - "t_type\030\001 \001(\t\022\030\n\020constraint_value\030\002 \001(\t\"^" + - "\n\022TeraFlowController\022&\n\ncontext_id\030\001 \001(\013" + - "2\022.context.ContextId\022\022\n\nip_address\030\002 \001(\t" + - "\022\014\n\004port\030\003 \001(\r\"U\n\024AuthenticationResult\022&" + - "\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022\025" + - "\n\rauthenticated\030\002 \001(\010*j\n\rEventTypeEnum\022\027" + - "\n\023EVENTTYPE_UNDEFINED\020\000\022\024\n\020EVENTTYPE_CRE" + - "ATE\020\001\022\024\n\020EVENTTYPE_UPDATE\020\002\022\024\n\020EVENTTYPE" + - "_REMOVE\020\003*\305\001\n\020DeviceDriverEnum\022\032\n\026DEVICE" + - "DRIVER_UNDEFINED\020\000\022\033\n\027DEVICEDRIVER_OPENC" + - "ONFIG\020\001\022\036\n\032DEVICEDRIVER_TRANSPORT_API\020\002\022" + - "\023\n\017DEVICEDRIVER_P4\020\003\022&\n\"DEVICEDRIVER_IET" + - "F_NETWORK_TOPOLOGY\020\004\022\033\n\027DEVICEDRIVER_ONF" + - "_TR_352\020\005*\217\001\n\033DeviceOperationalStatusEnu" + - "m\022%\n!DEVICEOPERATIONALSTATUS_UNDEFINED\020\000" + - "\022$\n DEVICEOPERATIONALSTATUS_DISABLED\020\001\022#" + - "\n\037DEVICEOPERATIONALSTATUS_ENABLED\020\002*\201\001\n\017" + - "ServiceTypeEnum\022\027\n\023SERVICETYPE_UNKNOWN\020\000" + - "\022\024\n\020SERVICETYPE_L3NM\020\001\022\024\n\020SERVICETYPE_L2" + - "NM\020\002\022)\n%SERVICETYPE_TAPI_CONNECTIVITY_SE" + - "RVICE\020\003*\210\001\n\021ServiceStatusEnum\022\033\n\027SERVICE" + - "STATUS_UNDEFINED\020\000\022\031\n\025SERVICESTATUS_PLAN" + - "NED\020\001\022\030\n\024SERVICESTATUS_ACTIVE\020\002\022!\n\035SERVI" + - "CESTATUS_PENDING_REMOVAL\020\003*]\n\020ConfigActi" + - "onEnum\022\032\n\026CONFIGACTION_UNDEFINED\020\000\022\024\n\020CO" + - "NFIGACTION_SET\020\001\022\027\n\023CONFIGACTION_DELETE\020" + - "\0022\255\020\n\016ContextService\022:\n\016ListContextIds\022\016" + - ".context.Empty\032\026.context.ContextIdList\"\000" + - "\0226\n\014ListContexts\022\016.context.Empty\032\024.conte" + - "xt.ContextList\"\000\0224\n\nGetContext\022\022.context" + - ".ContextId\032\020.context.Context\"\000\0224\n\nSetCon" + - "text\022\020.context.Context\032\022.context.Context" + - "Id\"\000\0225\n\rRemoveContext\022\022.context.ContextI" + - "d\032\016.context.Empty\"\000\022=\n\020GetContextEvents\022" + - "\016.context.Empty\032\025.context.ContextEvent\"\000" + - "0\001\022@\n\017ListTopologyIds\022\022.context.ContextI" + - "d\032\027.context.TopologyIdList\"\000\022=\n\016ListTopo" + - "logies\022\022.context.ContextId\032\025.context.Top" + - "ologyList\"\000\0227\n\013GetTopology\022\023.context.Top" + - "ologyId\032\021.context.Topology\"\000\0227\n\013SetTopol" + - "ogy\022\021.context.Topology\032\023.context.Topolog" + - "yId\"\000\0227\n\016RemoveTopology\022\023.context.Topolo" + - "gyId\032\016.context.Empty\"\000\022?\n\021GetTopologyEve" + - "nts\022\016.context.Empty\032\026.context.TopologyEv" + - "ent\"\0000\001\0228\n\rListDeviceIds\022\016.context.Empty" + - "\032\025.context.DeviceIdList\"\000\0224\n\013ListDevices" + - "\022\016.context.Empty\032\023.context.DeviceList\"\000\022" + - "1\n\tGetDevice\022\021.context.DeviceId\032\017.contex" + - "t.Device\"\000\0221\n\tSetDevice\022\017.context.Device" + - "\032\021.context.DeviceId\"\000\0223\n\014RemoveDevice\022\021." + - "context.DeviceId\032\016.context.Empty\"\000\022;\n\017Ge" + - "tDeviceEvents\022\016.context.Empty\032\024.context." + - "DeviceEvent\"\0000\001\0224\n\013ListLinkIds\022\016.context" + - ".Empty\032\023.context.LinkIdList\"\000\0220\n\tListLin" + - "ks\022\016.context.Empty\032\021.context.LinkList\"\000\022" + - "+\n\007GetLink\022\017.context.LinkId\032\r.context.Li" + - "nk\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context" + - ".LinkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId" + - "\032\016.context.Empty\"\000\0227\n\rGetLinkEvents\022\016.co" + - "ntext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016L" + - "istServiceIds\022\022.context.ContextId\032\026.cont" + - "ext.ServiceIdList\"\000\022:\n\014ListServices\022\022.co" + - "ntext.ContextId\032\024.context.ServiceList\"\000\022" + - "4\n\nGetService\022\022.context.ServiceId\032\020.cont" + - "ext.Service\"\000\0224\n\nSetService\022\020.context.Se" + + "kpi_sample_types.KpiSampleType\022,\n\021endpoi" + + "nt_location\030\004 \001(\0132\021.context.Location\"A\n\021" + + "ConfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022" + + "\026\n\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_AC" + + "L\022(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPoin" + + "tId\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234" + + "\001\n\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context." + + "ConfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.conte" + + "xt.ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.co" + + "ntext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n" + + "\021Constraint_Custom\022\027\n\017constraint_type\030\001 " + + "\001(\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constra" + + "int_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n" + + "\rduration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010" + + "latitude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Loc" + + "ation\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030" + + "\002 \001(\0132\025.context.GPS_PositionH\000B\n\n\010locati" + + "on\"l\n\033Constraint_EndPointLocation\022(\n\013end" + + "point_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010l" + + "ocation\030\002 \001(\0132\021.context.Location\"Y\n\033Cons" + + "traint_EndPointPriority\022(\n\013endpoint_id\030\001" + + " \001(\0132\023.context.EndPointId\022\020\n\010priority\030\002 " + + "\001(\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_lat" + + "ency_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity" + + "\022\025\n\rcapacity_gbps\030\001 \001(\002\"M\n\033Constraint_SL" + + "A_Availability\022\032\n\022num_disjoint_paths\030\001 \001" + + "(\r\022\022\n\nall_active\030\002 \001(\010\"V\n\036Constraint_SLA" + + "_Isolation_level\0224\n\017isolation_level\030\001 \003(" + + "\0162\033.context.IsolationLevelEnum\"\366\003\n\nConst" + + "raint\022,\n\006custom\030\001 \001(\0132\032.context.Constrai" + + "nt_CustomH\000\0220\n\010schedule\030\002 \001(\0132\034.context." + + "Constraint_ScheduleH\000\022A\n\021endpoint_locati" + + "on\030\003 \001(\0132$.context.Constraint_EndPointLo" + + "cationH\000\022A\n\021endpoint_priority\030\004 \001(\0132$.co" + + "ntext.Constraint_EndPointPriorityH\000\0228\n\014s" + + "la_capacity\030\005 \001(\0132 .context.Constraint_S" + + "LA_CapacityH\000\0226\n\013sla_latency\030\006 \001(\0132\037.con" + + "text.Constraint_SLA_LatencyH\000\022@\n\020sla_ava" + + "ilability\030\007 \001(\0132$.context.Constraint_SLA" + + "_AvailabilityH\000\022@\n\rsla_isolation\030\010 \001(\0132\'" + + ".context.Constraint_SLA_Isolation_levelH" + + "\000B\014\n\nconstraint\"^\n\022TeraFlowController\022&\n" + + "\ncontext_id\030\001 \001(\0132\022.context.ContextId\022\022\n" + + "\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n\024Authe" + + "nticationResult\022&\n\ncontext_id\030\001 \001(\0132\022.co" + + "ntext.ContextId\022\025\n\rauthenticated\030\002 \001(\010*j" + + "\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UNDEFINED\020\000" + + "\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTTYPE_UPDA" + + "TE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\332\001\n\020DeviceDri" + + "verEnum\022\032\n\026DEVICEDRIVER_UNDEFINED\020\000\022\033\n\027D" + + "EVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVICEDRIVER" + + "_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER_P4\020\003\022&\n" + + "\"DEVICEDRIVER_IETF_NETWORK_TOPOLOGY\020\004\022\033\n" + + "\027DEVICEDRIVER_ONF_TR_352\020\005\022\023\n\017DEVICEDRIV" + + "ER_XR\020\006*\217\001\n\033DeviceOperationalStatusEnum\022" + + "%\n!DEVICEOPERATIONALSTATUS_UNDEFINED\020\000\022$" + + "\n DEVICEOPERATIONALSTATUS_DISABLED\020\001\022#\n\037" + + "DEVICEOPERATIONALSTATUS_ENABLED\020\002*\201\001\n\017Se" + + "rviceTypeEnum\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024" + + "\n\020SERVICETYPE_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM" + + "\020\002\022)\n%SERVICETYPE_TAPI_CONNECTIVITY_SERV" + + "ICE\020\003*\250\001\n\021ServiceStatusEnum\022\033\n\027SERVICEST" + + "ATUS_UNDEFINED\020\000\022\031\n\025SERVICESTATUS_PLANNE" + + "D\020\001\022\030\n\024SERVICESTATUS_ACTIVE\020\002\022!\n\035SERVICE" + + "STATUS_PENDING_REMOVAL\020\003\022\036\n\032SERVICESTATU" + + "S_SLA_VIOLATED\020\004*\251\001\n\017SliceStatusEnum\022\031\n\025" + + "SLICESTATUS_UNDEFINED\020\000\022\027\n\023SLICESTATUS_P" + + "LANNED\020\001\022\024\n\020SLICESTATUS_INIT\020\002\022\026\n\022SLICES" + + "TATUS_ACTIVE\020\003\022\026\n\022SLICESTATUS_DEINIT\020\004\022\034" + + "\n\030SLICESTATUS_SLA_VIOLATED\020\005*]\n\020ConfigAc" + + "tionEnum\022\032\n\026CONFIGACTION_UNDEFINED\020\000\022\024\n\020" + + "CONFIGACTION_SET\020\001\022\027\n\023CONFIGACTION_DELET" + + "E\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO_ISOLATI" + + "ON\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021LOGICAL_" + + "ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION\020\003\022\035\n\031PH" + + "YSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHYSICAL_NE" + + "TWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RESOURCE_IS" + + "OLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_ISOLATION" + + "\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\331\023\n\016ContextSer" + + "vice\022:\n\016ListContextIds\022\016.context.Empty\032\026" + + ".context.ContextIdList\"\000\0226\n\014ListContexts" + + "\022\016.context.Empty\032\024.context.ContextList\"\000" + + "\0224\n\nGetContext\022\022.context.ContextId\032\020.con" + + "text.Context\"\000\0224\n\nSetContext\022\020.context.C" + + "ontext\032\022.context.ContextId\"\000\0225\n\rRemoveCo" + + "ntext\022\022.context.ContextId\032\016.context.Empt" + + "y\"\000\022=\n\020GetContextEvents\022\016.context.Empty\032" + + "\025.context.ContextEvent\"\0000\001\022@\n\017ListTopolo" + + "gyIds\022\022.context.ContextId\032\027.context.Topo" + + "logyIdList\"\000\022=\n\016ListTopologies\022\022.context" + + ".ContextId\032\025.context.TopologyList\"\000\0227\n\013G" + + "etTopology\022\023.context.TopologyId\032\021.contex" + + "t.Topology\"\000\0227\n\013SetTopology\022\021.context.To" + + "pology\032\023.context.TopologyId\"\000\0227\n\016RemoveT" + + "opology\022\023.context.TopologyId\032\016.context.E" + + "mpty\"\000\022?\n\021GetTopologyEvents\022\016.context.Em" + + "pty\032\026.context.TopologyEvent\"\0000\001\0228\n\rListD" + + "eviceIds\022\016.context.Empty\032\025.context.Devic" + + "eIdList\"\000\0224\n\013ListDevices\022\016.context.Empty" + + "\032\023.context.DeviceList\"\000\0221\n\tGetDevice\022\021.c" + + "ontext.DeviceId\032\017.context.Device\"\000\0221\n\tSe" + + "tDevice\022\017.context.Device\032\021.context.Devic" + + "eId\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId" + + "\032\016.context.Empty\"\000\022;\n\017GetDeviceEvents\022\016." + + "context.Empty\032\024.context.DeviceEvent\"\0000\001\022" + + "4\n\013ListLinkIds\022\016.context.Empty\032\023.context" + + ".LinkIdList\"\000\0220\n\tListLinks\022\016.context.Emp" + + "ty\032\021.context.LinkList\"\000\022+\n\007GetLink\022\017.con" + + "text.LinkId\032\r.context.Link\"\000\022+\n\007SetLink\022" + + "\r.context.Link\032\017.context.LinkId\"\000\022/\n\nRem" + + "oveLink\022\017.context.LinkId\032\016.context.Empty" + + "\"\000\0227\n\rGetLinkEvents\022\016.context.Empty\032\022.co" + + "ntext.LinkEvent\"\0000\001\022>\n\016ListServiceIds\022\022." + + "context.ContextId\032\026.context.ServiceIdLis" + + "t\"\000\022:\n\014ListServices\022\022.context.ContextId\032" + + "\024.context.ServiceList\"\000\0224\n\nGetService\022\022." + + "context.ServiceId\032\020.context.Service\"\000\0224\n" + + "\nSetService\022\020.context.Service\032\022.context." + + "ServiceId\"\000\0226\n\014UnsetService\022\020.context.Se" + "rvice\032\022.context.ServiceId\"\000\0225\n\rRemoveSer" + "vice\022\022.context.ServiceId\032\016.context.Empty" + "\"\000\022=\n\020GetServiceEvents\022\016.context.Empty\032\025" + - ".context.ServiceEvent\"\0000\001\022D\n\021ListConnect" + - "ionIds\022\022.context.ServiceId\032\031.context.Con" + - "nectionIdList\"\000\022@\n\017ListConnections\022\022.con" + - "text.ServiceId\032\027.context.ConnectionList\"" + - "\000\022=\n\rGetConnection\022\025.context.ConnectionI" + - "d\032\023.context.Connection\"\000\022=\n\rSetConnectio" + - "n\022\023.context.Connection\032\025.context.Connect" + - "ionId\"\000\022;\n\020RemoveConnection\022\025.context.Co" + - "nnectionId\032\016.context.Empty\"\000\022C\n\023GetConne" + - "ctionEvents\022\016.context.Empty\032\030.context.Co" + - "nnectionEvent\"\0000\001b\006proto3" + ".context.ServiceEvent\"\0000\001\022:\n\014ListSliceId" + + "s\022\022.context.ContextId\032\024.context.SliceIdL" + + "ist\"\000\0226\n\nListSlices\022\022.context.ContextId\032" + + "\022.context.SliceList\"\000\022.\n\010GetSlice\022\020.cont" + + "ext.SliceId\032\016.context.Slice\"\000\022.\n\010SetSlic" + + "e\022\016.context.Slice\032\020.context.SliceId\"\000\0220\n" + + "\nUnsetSlice\022\016.context.Slice\032\020.context.Sl" + + "iceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceId" + + "\032\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016.c" + + "ontext.Empty\032\023.context.SliceEvent\"\0000\001\022D\n" + + "\021ListConnectionIds\022\022.context.ServiceId\032\031" + + ".context.ConnectionIdList\"\000\022@\n\017ListConne" + + "ctions\022\022.context.ServiceId\032\027.context.Con" + + "nectionList\"\000\022=\n\rGetConnection\022\025.context" + + ".ConnectionId\032\023.context.Connection\"\000\022=\n\r" + + "SetConnection\022\023.context.Connection\032\025.con" + + "text.ConnectionId\"\000\022;\n\020RemoveConnection\022" + + "\025.context.ConnectionId\032\016.context.Empty\"\000" + + "\022C\n\023GetConnectionEvents\022\016.context.Empty\032" + + "\030.context.ConnectionEvent\"\0000\001b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { + acl.Acl.getDescriptor(), kpi_sample_types.KpiSampleTypes.getDescriptor(), }); internal_static_context_Empty_descriptor = @@ -37863,246 +62440,403 @@ public final class ContextOuterClass { com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Uuid_descriptor, new java.lang.String[] { "Uuid", }); - internal_static_context_Event_descriptor = + internal_static_context_Timestamp_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_context_Timestamp_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Timestamp_descriptor, + new java.lang.String[] { "Timestamp", }); + internal_static_context_Event_descriptor = + getDescriptor().getMessageTypes().get(3); internal_static_context_Event_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Event_descriptor, new java.lang.String[] { "Timestamp", "EventType", }); internal_static_context_ContextId_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(4); internal_static_context_ContextId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ContextId_descriptor, new java.lang.String[] { "ContextUuid", }); internal_static_context_Context_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(5); internal_static_context_Context_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Context_descriptor, new java.lang.String[] { "ContextId", "TopologyIds", "ServiceIds", "Controller", }); internal_static_context_ContextIdList_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(6); internal_static_context_ContextIdList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ContextIdList_descriptor, new java.lang.String[] { "ContextIds", }); internal_static_context_ContextList_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(7); internal_static_context_ContextList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ContextList_descriptor, new java.lang.String[] { "Contexts", }); internal_static_context_ContextEvent_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(8); internal_static_context_ContextEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ContextEvent_descriptor, new java.lang.String[] { "Event", "ContextId", }); internal_static_context_TopologyId_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(9); internal_static_context_TopologyId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_TopologyId_descriptor, new java.lang.String[] { "ContextId", "TopologyUuid", }); internal_static_context_Topology_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(10); internal_static_context_Topology_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Topology_descriptor, new java.lang.String[] { "TopologyId", "DeviceIds", "LinkIds", }); internal_static_context_TopologyIdList_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(11); internal_static_context_TopologyIdList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_TopologyIdList_descriptor, new java.lang.String[] { "TopologyIds", }); internal_static_context_TopologyList_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(12); internal_static_context_TopologyList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_TopologyList_descriptor, new java.lang.String[] { "Topologies", }); internal_static_context_TopologyEvent_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(13); internal_static_context_TopologyEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_TopologyEvent_descriptor, new java.lang.String[] { "Event", "TopologyId", }); internal_static_context_DeviceId_descriptor = - getDescriptor().getMessageTypes().get(13); + getDescriptor().getMessageTypes().get(14); internal_static_context_DeviceId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_DeviceId_descriptor, new java.lang.String[] { "DeviceUuid", }); internal_static_context_Device_descriptor = - getDescriptor().getMessageTypes().get(14); + getDescriptor().getMessageTypes().get(15); internal_static_context_Device_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Device_descriptor, new java.lang.String[] { "DeviceId", "DeviceType", "DeviceConfig", "DeviceOperationalStatus", "DeviceDrivers", "DeviceEndpoints", }); internal_static_context_DeviceConfig_descriptor = - getDescriptor().getMessageTypes().get(15); + getDescriptor().getMessageTypes().get(16); internal_static_context_DeviceConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_DeviceConfig_descriptor, new java.lang.String[] { "ConfigRules", }); internal_static_context_DeviceIdList_descriptor = - getDescriptor().getMessageTypes().get(16); + getDescriptor().getMessageTypes().get(17); internal_static_context_DeviceIdList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_DeviceIdList_descriptor, new java.lang.String[] { "DeviceIds", }); internal_static_context_DeviceList_descriptor = - getDescriptor().getMessageTypes().get(17); + getDescriptor().getMessageTypes().get(18); internal_static_context_DeviceList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_DeviceList_descriptor, new java.lang.String[] { "Devices", }); internal_static_context_DeviceEvent_descriptor = - getDescriptor().getMessageTypes().get(18); + getDescriptor().getMessageTypes().get(19); internal_static_context_DeviceEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_DeviceEvent_descriptor, - new java.lang.String[] { "Event", "DeviceId", }); + new java.lang.String[] { "Event", "DeviceId", "DeviceConfig", }); internal_static_context_LinkId_descriptor = - getDescriptor().getMessageTypes().get(19); + getDescriptor().getMessageTypes().get(20); internal_static_context_LinkId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_LinkId_descriptor, new java.lang.String[] { "LinkUuid", }); internal_static_context_Link_descriptor = - getDescriptor().getMessageTypes().get(20); + getDescriptor().getMessageTypes().get(21); internal_static_context_Link_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Link_descriptor, new java.lang.String[] { "LinkId", "LinkEndpointIds", }); internal_static_context_LinkIdList_descriptor = - getDescriptor().getMessageTypes().get(21); + getDescriptor().getMessageTypes().get(22); internal_static_context_LinkIdList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_LinkIdList_descriptor, new java.lang.String[] { "LinkIds", }); internal_static_context_LinkList_descriptor = - getDescriptor().getMessageTypes().get(22); + getDescriptor().getMessageTypes().get(23); internal_static_context_LinkList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_LinkList_descriptor, new java.lang.String[] { "Links", }); internal_static_context_LinkEvent_descriptor = - getDescriptor().getMessageTypes().get(23); + getDescriptor().getMessageTypes().get(24); internal_static_context_LinkEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_LinkEvent_descriptor, new java.lang.String[] { "Event", "LinkId", }); internal_static_context_ServiceId_descriptor = - getDescriptor().getMessageTypes().get(24); + getDescriptor().getMessageTypes().get(25); internal_static_context_ServiceId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ServiceId_descriptor, new java.lang.String[] { "ContextId", "ServiceUuid", }); internal_static_context_Service_descriptor = - getDescriptor().getMessageTypes().get(25); + getDescriptor().getMessageTypes().get(26); internal_static_context_Service_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Service_descriptor, - new java.lang.String[] { "ServiceId", "ServiceType", "ServiceEndpointIds", "ServiceConstraints", "ServiceStatus", "ServiceConfig", }); + new java.lang.String[] { "ServiceId", "ServiceType", "ServiceEndpointIds", "ServiceConstraints", "ServiceStatus", "ServiceConfig", "Timestamp", }); internal_static_context_ServiceStatus_descriptor = - getDescriptor().getMessageTypes().get(26); + getDescriptor().getMessageTypes().get(27); internal_static_context_ServiceStatus_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ServiceStatus_descriptor, new java.lang.String[] { "ServiceStatus", }); internal_static_context_ServiceConfig_descriptor = - getDescriptor().getMessageTypes().get(27); + getDescriptor().getMessageTypes().get(28); internal_static_context_ServiceConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ServiceConfig_descriptor, new java.lang.String[] { "ConfigRules", }); internal_static_context_ServiceIdList_descriptor = - getDescriptor().getMessageTypes().get(28); + getDescriptor().getMessageTypes().get(29); internal_static_context_ServiceIdList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ServiceIdList_descriptor, new java.lang.String[] { "ServiceIds", }); internal_static_context_ServiceList_descriptor = - getDescriptor().getMessageTypes().get(29); + getDescriptor().getMessageTypes().get(30); internal_static_context_ServiceList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ServiceList_descriptor, new java.lang.String[] { "Services", }); internal_static_context_ServiceEvent_descriptor = - getDescriptor().getMessageTypes().get(30); + getDescriptor().getMessageTypes().get(31); internal_static_context_ServiceEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ServiceEvent_descriptor, new java.lang.String[] { "Event", "ServiceId", }); + internal_static_context_SliceId_descriptor = + getDescriptor().getMessageTypes().get(32); + internal_static_context_SliceId_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceId_descriptor, + new java.lang.String[] { "ContextId", "SliceUuid", }); + internal_static_context_Slice_descriptor = + getDescriptor().getMessageTypes().get(33); + internal_static_context_Slice_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Slice_descriptor, + new java.lang.String[] { "SliceId", "SliceEndpointIds", "SliceConstraints", "SliceServiceIds", "SliceSubsliceIds", "SliceStatus", "SliceConfig", "SliceOwner", "Timestamp", }); + internal_static_context_SliceOwner_descriptor = + getDescriptor().getMessageTypes().get(34); + internal_static_context_SliceOwner_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceOwner_descriptor, + new java.lang.String[] { "OwnerUuid", "OwnerString", }); + internal_static_context_SliceStatus_descriptor = + getDescriptor().getMessageTypes().get(35); + internal_static_context_SliceStatus_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceStatus_descriptor, + new java.lang.String[] { "SliceStatus", }); + internal_static_context_SliceConfig_descriptor = + getDescriptor().getMessageTypes().get(36); + internal_static_context_SliceConfig_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceConfig_descriptor, + new java.lang.String[] { "ConfigRules", }); + internal_static_context_SliceIdList_descriptor = + getDescriptor().getMessageTypes().get(37); + internal_static_context_SliceIdList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceIdList_descriptor, + new java.lang.String[] { "SliceIds", }); + internal_static_context_SliceList_descriptor = + getDescriptor().getMessageTypes().get(38); + internal_static_context_SliceList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceList_descriptor, + new java.lang.String[] { "Slices", }); + internal_static_context_SliceEvent_descriptor = + getDescriptor().getMessageTypes().get(39); + internal_static_context_SliceEvent_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_SliceEvent_descriptor, + new java.lang.String[] { "Event", "SliceId", }); internal_static_context_ConnectionId_descriptor = - getDescriptor().getMessageTypes().get(31); + getDescriptor().getMessageTypes().get(40); internal_static_context_ConnectionId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ConnectionId_descriptor, new java.lang.String[] { "ConnectionUuid", }); + internal_static_context_ConnectionSettings_L0_descriptor = + getDescriptor().getMessageTypes().get(41); + internal_static_context_ConnectionSettings_L0_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConnectionSettings_L0_descriptor, + new java.lang.String[] { "LspSymbolicName", }); + internal_static_context_ConnectionSettings_L2_descriptor = + getDescriptor().getMessageTypes().get(42); + internal_static_context_ConnectionSettings_L2_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConnectionSettings_L2_descriptor, + new java.lang.String[] { "SrcMacAddress", "DstMacAddress", "EtherType", "VlanId", "MplsLabel", "MplsTrafficClass", }); + internal_static_context_ConnectionSettings_L3_descriptor = + getDescriptor().getMessageTypes().get(43); + internal_static_context_ConnectionSettings_L3_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConnectionSettings_L3_descriptor, + new java.lang.String[] { "SrcIpAddress", "DstIpAddress", "Dscp", "Protocol", "Ttl", }); + internal_static_context_ConnectionSettings_L4_descriptor = + getDescriptor().getMessageTypes().get(44); + internal_static_context_ConnectionSettings_L4_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConnectionSettings_L4_descriptor, + new java.lang.String[] { "SrcPort", "DstPort", "TcpFlags", "Ttl", }); + internal_static_context_ConnectionSettings_descriptor = + getDescriptor().getMessageTypes().get(45); + internal_static_context_ConnectionSettings_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConnectionSettings_descriptor, + new java.lang.String[] { "L0", "L2", "L3", "L4", }); internal_static_context_Connection_descriptor = - getDescriptor().getMessageTypes().get(32); + getDescriptor().getMessageTypes().get(46); internal_static_context_Connection_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Connection_descriptor, - new java.lang.String[] { "ConnectionId", "ServiceId", "PathHopsEndpointIds", "SubServiceIds", }); + new java.lang.String[] { "ConnectionId", "ServiceId", "PathHopsEndpointIds", "SubServiceIds", "Settings", }); internal_static_context_ConnectionIdList_descriptor = - getDescriptor().getMessageTypes().get(33); + getDescriptor().getMessageTypes().get(47); internal_static_context_ConnectionIdList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ConnectionIdList_descriptor, new java.lang.String[] { "ConnectionIds", }); internal_static_context_ConnectionList_descriptor = - getDescriptor().getMessageTypes().get(34); + getDescriptor().getMessageTypes().get(48); internal_static_context_ConnectionList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ConnectionList_descriptor, new java.lang.String[] { "Connections", }); internal_static_context_ConnectionEvent_descriptor = - getDescriptor().getMessageTypes().get(35); + getDescriptor().getMessageTypes().get(49); internal_static_context_ConnectionEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ConnectionEvent_descriptor, new java.lang.String[] { "Event", "ConnectionId", }); internal_static_context_EndPointId_descriptor = - getDescriptor().getMessageTypes().get(36); + getDescriptor().getMessageTypes().get(50); internal_static_context_EndPointId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_EndPointId_descriptor, new java.lang.String[] { "TopologyId", "DeviceId", "EndpointUuid", }); internal_static_context_EndPoint_descriptor = - getDescriptor().getMessageTypes().get(37); + getDescriptor().getMessageTypes().get(51); internal_static_context_EndPoint_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_EndPoint_descriptor, - new java.lang.String[] { "EndpointId", "EndpointType", "KpiSampleTypes", }); + new java.lang.String[] { "EndpointId", "EndpointType", "KpiSampleTypes", "EndpointLocation", }); + internal_static_context_ConfigRule_Custom_descriptor = + getDescriptor().getMessageTypes().get(52); + internal_static_context_ConfigRule_Custom_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConfigRule_Custom_descriptor, + new java.lang.String[] { "ResourceKey", "ResourceValue", }); + internal_static_context_ConfigRule_ACL_descriptor = + getDescriptor().getMessageTypes().get(53); + internal_static_context_ConfigRule_ACL_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_ConfigRule_ACL_descriptor, + new java.lang.String[] { "EndpointId", "RuleSet", }); internal_static_context_ConfigRule_descriptor = - getDescriptor().getMessageTypes().get(38); + getDescriptor().getMessageTypes().get(54); internal_static_context_ConfigRule_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_ConfigRule_descriptor, - new java.lang.String[] { "Action", "ResourceKey", "ResourceValue", }); + new java.lang.String[] { "Action", "Custom", "Acl", "ConfigRule", }); + internal_static_context_Constraint_Custom_descriptor = + getDescriptor().getMessageTypes().get(55); + internal_static_context_Constraint_Custom_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_Custom_descriptor, + new java.lang.String[] { "ConstraintType", "ConstraintValue", }); + internal_static_context_Constraint_Schedule_descriptor = + getDescriptor().getMessageTypes().get(56); + internal_static_context_Constraint_Schedule_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_Schedule_descriptor, + new java.lang.String[] { "StartTimestamp", "DurationDays", }); + internal_static_context_GPS_Position_descriptor = + getDescriptor().getMessageTypes().get(57); + internal_static_context_GPS_Position_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_GPS_Position_descriptor, + new java.lang.String[] { "Latitude", "Longitude", }); + internal_static_context_Location_descriptor = + getDescriptor().getMessageTypes().get(58); + internal_static_context_Location_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Location_descriptor, + new java.lang.String[] { "Region", "GpsPosition", "Location", }); + internal_static_context_Constraint_EndPointLocation_descriptor = + getDescriptor().getMessageTypes().get(59); + internal_static_context_Constraint_EndPointLocation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_EndPointLocation_descriptor, + new java.lang.String[] { "EndpointId", "Location", }); + internal_static_context_Constraint_EndPointPriority_descriptor = + getDescriptor().getMessageTypes().get(60); + internal_static_context_Constraint_EndPointPriority_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_EndPointPriority_descriptor, + new java.lang.String[] { "EndpointId", "Priority", }); + internal_static_context_Constraint_SLA_Latency_descriptor = + getDescriptor().getMessageTypes().get(61); + internal_static_context_Constraint_SLA_Latency_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_SLA_Latency_descriptor, + new java.lang.String[] { "E2ELatencyMs", }); + internal_static_context_Constraint_SLA_Capacity_descriptor = + getDescriptor().getMessageTypes().get(62); + internal_static_context_Constraint_SLA_Capacity_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_SLA_Capacity_descriptor, + new java.lang.String[] { "CapacityGbps", }); + internal_static_context_Constraint_SLA_Availability_descriptor = + getDescriptor().getMessageTypes().get(63); + internal_static_context_Constraint_SLA_Availability_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_SLA_Availability_descriptor, + new java.lang.String[] { "NumDisjointPaths", "AllActive", }); + internal_static_context_Constraint_SLA_Isolation_level_descriptor = + getDescriptor().getMessageTypes().get(64); + internal_static_context_Constraint_SLA_Isolation_level_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_context_Constraint_SLA_Isolation_level_descriptor, + new java.lang.String[] { "IsolationLevel", }); internal_static_context_Constraint_descriptor = - getDescriptor().getMessageTypes().get(39); + getDescriptor().getMessageTypes().get(65); internal_static_context_Constraint_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_Constraint_descriptor, - new java.lang.String[] { "ConstraintType", "ConstraintValue", }); + new java.lang.String[] { "Custom", "Schedule", "EndpointLocation", "EndpointPriority", "SlaCapacity", "SlaLatency", "SlaAvailability", "SlaIsolation", "Constraint", }); internal_static_context_TeraFlowController_descriptor = - getDescriptor().getMessageTypes().get(40); + getDescriptor().getMessageTypes().get(66); internal_static_context_TeraFlowController_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_TeraFlowController_descriptor, new java.lang.String[] { "ContextId", "IpAddress", "Port", }); internal_static_context_AuthenticationResult_descriptor = - getDescriptor().getMessageTypes().get(41); + getDescriptor().getMessageTypes().get(67); internal_static_context_AuthenticationResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_context_AuthenticationResult_descriptor, new java.lang.String[] { "ContextId", "Authenticated", }); + acl.Acl.getDescriptor(); kpi_sample_types.KpiSampleTypes.getDescriptor(); } diff --git a/src/automation/target/generated-sources/grpc/context/ContextService.java b/src/automation/target/generated-sources/grpc/context/ContextService.java index cbd51163f340212839e0eeb2ad096032fdba8109..814ea98b65370f8fd3ffd752c77bec04997a5dd6 100644 --- a/src/automation/target/generated-sources/grpc/context/ContextService.java +++ b/src/automation/target/generated-sources/grpc/context/ContextService.java @@ -56,8 +56,22 @@ public interface ContextService extends MutinyService { io.smallrye.mutiny.Uni setService(context.ContextOuterClass.Service request); + io.smallrye.mutiny.Uni unsetService(context.ContextOuterClass.Service request); + io.smallrye.mutiny.Uni removeService(context.ContextOuterClass.ServiceId request); + io.smallrye.mutiny.Uni listSliceIds(context.ContextOuterClass.ContextId request); + + io.smallrye.mutiny.Uni listSlices(context.ContextOuterClass.ContextId request); + + io.smallrye.mutiny.Uni getSlice(context.ContextOuterClass.SliceId request); + + io.smallrye.mutiny.Uni setSlice(context.ContextOuterClass.Slice request); + + io.smallrye.mutiny.Uni unsetSlice(context.ContextOuterClass.Slice request); + + io.smallrye.mutiny.Uni removeSlice(context.ContextOuterClass.SliceId request); + io.smallrye.mutiny.Uni listConnectionIds(context.ContextOuterClass.ServiceId request); io.smallrye.mutiny.Uni listConnections(context.ContextOuterClass.ServiceId request); @@ -79,6 +93,8 @@ public interface ContextService extends MutinyService { io.smallrye.mutiny.Multi getServiceEvents(context.ContextOuterClass.Empty request); + io.smallrye.mutiny.Multi getSliceEvents(context.ContextOuterClass.Empty request); + io.smallrye.mutiny.Multi getConnectionEvents(context.ContextOuterClass.Empty request); diff --git a/src/automation/target/generated-sources/grpc/context/ContextServiceBean.java b/src/automation/target/generated-sources/grpc/context/ContextServiceBean.java index 6900cf3c8a09ad6e3df1aaf2cc403c32490d3289..2b0099f106265e34d1f60bb3e0ecdc35f81895ee 100644 --- a/src/automation/target/generated-sources/grpc/context/ContextServiceBean.java +++ b/src/automation/target/generated-sources/grpc/context/ContextServiceBean.java @@ -208,6 +208,14 @@ public class ContextServiceBean extends MutinyContextServiceGrpc.ContextServiceI } } @Override + public io.smallrye.mutiny.Uni unsetService(context.ContextOuterClass.Service request) { + try { + return delegate.unsetService(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Uni removeService(context.ContextOuterClass.ServiceId request) { try { return delegate.removeService(request); @@ -216,6 +224,54 @@ public class ContextServiceBean extends MutinyContextServiceGrpc.ContextServiceI } } @Override + public io.smallrye.mutiny.Uni listSliceIds(context.ContextOuterClass.ContextId request) { + try { + return delegate.listSliceIds(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni listSlices(context.ContextOuterClass.ContextId request) { + try { + return delegate.listSlices(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni getSlice(context.ContextOuterClass.SliceId request) { + try { + return delegate.getSlice(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni setSlice(context.ContextOuterClass.Slice request) { + try { + return delegate.setSlice(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni unsetSlice(context.ContextOuterClass.Slice request) { + try { + return delegate.unsetSlice(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni removeSlice(context.ContextOuterClass.SliceId request) { + try { + return delegate.removeSlice(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Uni listConnectionIds(context.ContextOuterClass.ServiceId request) { try { return delegate.listConnectionIds(request); @@ -301,6 +357,15 @@ public class ContextServiceBean extends MutinyContextServiceGrpc.ContextServiceI } } + @Override + public io.smallrye.mutiny.Multi getSliceEvents(context.ContextOuterClass.Empty request) { + try { + return delegate.getSliceEvents(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Multi getConnectionEvents(context.ContextOuterClass.Empty request) { try { diff --git a/src/automation/target/generated-sources/grpc/context/ContextServiceClient.java b/src/automation/target/generated-sources/grpc/context/ContextServiceClient.java index a3d74cb7dfce2b3ffd259570a6dc65699f85f0cc..c518a0b4622522728e0eb22fdbeb80442b10f7ef 100644 --- a/src/automation/target/generated-sources/grpc/context/ContextServiceClient.java +++ b/src/automation/target/generated-sources/grpc/context/ContextServiceClient.java @@ -117,10 +117,38 @@ public class ContextServiceClient implements ContextService, MutinyClient unsetService(context.ContextOuterClass.Service request) { + return stub.unsetService(request); + } + @Override public io.smallrye.mutiny.Uni removeService(context.ContextOuterClass.ServiceId request) { return stub.removeService(request); } @Override + public io.smallrye.mutiny.Uni listSliceIds(context.ContextOuterClass.ContextId request) { + return stub.listSliceIds(request); + } + @Override + public io.smallrye.mutiny.Uni listSlices(context.ContextOuterClass.ContextId request) { + return stub.listSlices(request); + } + @Override + public io.smallrye.mutiny.Uni getSlice(context.ContextOuterClass.SliceId request) { + return stub.getSlice(request); + } + @Override + public io.smallrye.mutiny.Uni setSlice(context.ContextOuterClass.Slice request) { + return stub.setSlice(request); + } + @Override + public io.smallrye.mutiny.Uni unsetSlice(context.ContextOuterClass.Slice request) { + return stub.unsetSlice(request); + } + @Override + public io.smallrye.mutiny.Uni removeSlice(context.ContextOuterClass.SliceId request) { + return stub.removeSlice(request); + } + @Override public io.smallrye.mutiny.Uni listConnectionIds(context.ContextOuterClass.ServiceId request) { return stub.listConnectionIds(request); } @@ -166,6 +194,11 @@ public class ContextServiceClient implements ContextService, MutinyClient getSliceEvents(context.ContextOuterClass.Empty request) { + return stub.getSliceEvents(request); + } + @Override public io.smallrye.mutiny.Multi getConnectionEvents(context.ContextOuterClass.Empty request) { return stub.getConnectionEvents(request); diff --git a/src/automation/target/generated-sources/grpc/context/ContextServiceGrpc.java b/src/automation/target/generated-sources/grpc/context/ContextServiceGrpc.java index be9f381ffee96febd202beb540bce862c1347378..f59378086c84d0776cc25fb7aa9640403b072c0f 100644 --- a/src/automation/target/generated-sources/grpc/context/ContextServiceGrpc.java +++ b/src/automation/target/generated-sources/grpc/context/ContextServiceGrpc.java @@ -882,6 +882,37 @@ public final class ContextServiceGrpc { return getSetServiceMethod; } + private static volatile io.grpc.MethodDescriptor getUnsetServiceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UnsetService", + requestType = context.ContextOuterClass.Service.class, + responseType = context.ContextOuterClass.ServiceId.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getUnsetServiceMethod() { + io.grpc.MethodDescriptor getUnsetServiceMethod; + if ((getUnsetServiceMethod = ContextServiceGrpc.getUnsetServiceMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getUnsetServiceMethod = ContextServiceGrpc.getUnsetServiceMethod) == null) { + ContextServiceGrpc.getUnsetServiceMethod = getUnsetServiceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UnsetService")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Service.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.ServiceId.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("UnsetService")) + .build(); + } + } + } + return getUnsetServiceMethod; + } + private static volatile io.grpc.MethodDescriptor getRemoveServiceMethod; @@ -944,6 +975,223 @@ public final class ContextServiceGrpc { return getGetServiceEventsMethod; } + private static volatile io.grpc.MethodDescriptor getListSliceIdsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListSliceIds", + requestType = context.ContextOuterClass.ContextId.class, + responseType = context.ContextOuterClass.SliceIdList.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getListSliceIdsMethod() { + io.grpc.MethodDescriptor getListSliceIdsMethod; + if ((getListSliceIdsMethod = ContextServiceGrpc.getListSliceIdsMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getListSliceIdsMethod = ContextServiceGrpc.getListSliceIdsMethod) == null) { + ContextServiceGrpc.getListSliceIdsMethod = getListSliceIdsMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListSliceIds")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.ContextId.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceIdList.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("ListSliceIds")) + .build(); + } + } + } + return getListSliceIdsMethod; + } + + private static volatile io.grpc.MethodDescriptor getListSlicesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListSlices", + requestType = context.ContextOuterClass.ContextId.class, + responseType = context.ContextOuterClass.SliceList.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getListSlicesMethod() { + io.grpc.MethodDescriptor getListSlicesMethod; + if ((getListSlicesMethod = ContextServiceGrpc.getListSlicesMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getListSlicesMethod = ContextServiceGrpc.getListSlicesMethod) == null) { + ContextServiceGrpc.getListSlicesMethod = getListSlicesMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListSlices")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.ContextId.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceList.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("ListSlices")) + .build(); + } + } + } + return getListSlicesMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetSliceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSlice", + requestType = context.ContextOuterClass.SliceId.class, + responseType = context.ContextOuterClass.Slice.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetSliceMethod() { + io.grpc.MethodDescriptor getGetSliceMethod; + if ((getGetSliceMethod = ContextServiceGrpc.getGetSliceMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetSliceMethod = ContextServiceGrpc.getGetSliceMethod) == null) { + ContextServiceGrpc.getGetSliceMethod = getGetSliceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSlice")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceId.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Slice.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetSlice")) + .build(); + } + } + } + return getGetSliceMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetSliceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "SetSlice", + requestType = context.ContextOuterClass.Slice.class, + responseType = context.ContextOuterClass.SliceId.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSetSliceMethod() { + io.grpc.MethodDescriptor getSetSliceMethod; + if ((getSetSliceMethod = ContextServiceGrpc.getSetSliceMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSetSliceMethod = ContextServiceGrpc.getSetSliceMethod) == null) { + ContextServiceGrpc.getSetSliceMethod = getSetSliceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetSlice")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Slice.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceId.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SetSlice")) + .build(); + } + } + } + return getSetSliceMethod; + } + + private static volatile io.grpc.MethodDescriptor getUnsetSliceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UnsetSlice", + requestType = context.ContextOuterClass.Slice.class, + responseType = context.ContextOuterClass.SliceId.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getUnsetSliceMethod() { + io.grpc.MethodDescriptor getUnsetSliceMethod; + if ((getUnsetSliceMethod = ContextServiceGrpc.getUnsetSliceMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getUnsetSliceMethod = ContextServiceGrpc.getUnsetSliceMethod) == null) { + ContextServiceGrpc.getUnsetSliceMethod = getUnsetSliceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UnsetSlice")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Slice.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceId.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("UnsetSlice")) + .build(); + } + } + } + return getUnsetSliceMethod; + } + + private static volatile io.grpc.MethodDescriptor getRemoveSliceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "RemoveSlice", + requestType = context.ContextOuterClass.SliceId.class, + responseType = context.ContextOuterClass.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getRemoveSliceMethod() { + io.grpc.MethodDescriptor getRemoveSliceMethod; + if ((getRemoveSliceMethod = ContextServiceGrpc.getRemoveSliceMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getRemoveSliceMethod = ContextServiceGrpc.getRemoveSliceMethod) == null) { + ContextServiceGrpc.getRemoveSliceMethod = getRemoveSliceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "RemoveSlice")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceId.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("RemoveSlice")) + .build(); + } + } + } + return getRemoveSliceMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetSliceEventsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSliceEvents", + requestType = context.ContextOuterClass.Empty.class, + responseType = context.ContextOuterClass.SliceEvent.class, + methodType = io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + public static io.grpc.MethodDescriptor getGetSliceEventsMethod() { + io.grpc.MethodDescriptor getGetSliceEventsMethod; + if ((getGetSliceEventsMethod = ContextServiceGrpc.getGetSliceEventsMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetSliceEventsMethod = ContextServiceGrpc.getGetSliceEventsMethod) == null) { + ContextServiceGrpc.getGetSliceEventsMethod = getGetSliceEventsMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSliceEvents")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.SliceEvent.getDefaultInstance())) + .setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetSliceEvents")) + .build(); + } + } + } + return getGetSliceEventsMethod; + } + private static volatile io.grpc.MethodDescriptor getListConnectionIdsMethod; @@ -1374,6 +1622,13 @@ public final class ContextServiceGrpc { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetServiceMethod(), responseObserver); } + /** + */ + public void unsetService(context.ContextOuterClass.Service request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUnsetServiceMethod(), responseObserver); + } + /** */ public void removeService(context.ContextOuterClass.ServiceId request, @@ -1388,6 +1643,55 @@ public final class ContextServiceGrpc { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceEventsMethod(), responseObserver); } + /** + */ + public void listSliceIds(context.ContextOuterClass.ContextId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSliceIdsMethod(), responseObserver); + } + + /** + */ + public void listSlices(context.ContextOuterClass.ContextId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSlicesMethod(), responseObserver); + } + + /** + */ + public void getSlice(context.ContextOuterClass.SliceId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSliceMethod(), responseObserver); + } + + /** + */ + public void setSlice(context.ContextOuterClass.Slice request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetSliceMethod(), responseObserver); + } + + /** + */ + public void unsetSlice(context.ContextOuterClass.Slice request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUnsetSliceMethod(), responseObserver); + } + + /** + */ + public void removeSlice(context.ContextOuterClass.SliceId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveSliceMethod(), responseObserver); + } + + /** + */ + public void getSliceEvents(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSliceEventsMethod(), responseObserver); + } + /** */ public void listConnectionIds(context.ContextOuterClass.ServiceId request, @@ -1628,6 +1932,13 @@ public final class ContextServiceGrpc { context.ContextOuterClass.Service, context.ContextOuterClass.ServiceId>( this, METHODID_SET_SERVICE))) + .addMethod( + getUnsetServiceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Service, + context.ContextOuterClass.ServiceId>( + this, METHODID_UNSET_SERVICE))) .addMethod( getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -1642,6 +1953,55 @@ public final class ContextServiceGrpc { context.ContextOuterClass.Empty, context.ContextOuterClass.ServiceEvent>( this, METHODID_GET_SERVICE_EVENTS))) + .addMethod( + getListSliceIdsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.ContextId, + context.ContextOuterClass.SliceIdList>( + this, METHODID_LIST_SLICE_IDS))) + .addMethod( + getListSlicesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.ContextId, + context.ContextOuterClass.SliceList>( + this, METHODID_LIST_SLICES))) + .addMethod( + getGetSliceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.SliceId, + context.ContextOuterClass.Slice>( + this, METHODID_GET_SLICE))) + .addMethod( + getSetSliceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Slice, + context.ContextOuterClass.SliceId>( + this, METHODID_SET_SLICE))) + .addMethod( + getUnsetSliceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Slice, + context.ContextOuterClass.SliceId>( + this, METHODID_UNSET_SLICE))) + .addMethod( + getRemoveSliceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.SliceId, + context.ContextOuterClass.Empty>( + this, METHODID_REMOVE_SLICE))) + .addMethod( + getGetSliceEventsMethod(), + io.grpc.stub.ServerCalls.asyncServerStreamingCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + context.ContextOuterClass.SliceEvent>( + this, METHODID_GET_SLICE_EVENTS))) .addMethod( getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -1926,6 +2286,14 @@ public final class ContextServiceGrpc { getChannel().newCall(getSetServiceMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void unsetService(context.ContextOuterClass.Service request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUnsetServiceMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void removeService(context.ContextOuterClass.ServiceId request, @@ -1942,6 +2310,62 @@ public final class ContextServiceGrpc { getChannel().newCall(getGetServiceEventsMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void listSliceIds(context.ContextOuterClass.ContextId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListSliceIdsMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void listSlices(context.ContextOuterClass.ContextId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListSlicesMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getSlice(context.ContextOuterClass.SliceId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetSliceMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setSlice(context.ContextOuterClass.Slice request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getSetSliceMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void unsetSlice(context.ContextOuterClass.Slice request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUnsetSliceMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void removeSlice(context.ContextOuterClass.SliceId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getRemoveSliceMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getSliceEvents(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncServerStreamingCall( + getChannel().newCall(getGetSliceEventsMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void listConnectionIds(context.ContextOuterClass.ServiceId request, @@ -2205,6 +2629,13 @@ public final class ContextServiceGrpc { getChannel(), getSetServiceMethod(), getCallOptions(), request); } + /** + */ + public context.ContextOuterClass.ServiceId unsetService(context.ContextOuterClass.Service request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUnsetServiceMethod(), getCallOptions(), request); + } + /** */ public context.ContextOuterClass.Empty removeService(context.ContextOuterClass.ServiceId request) { @@ -2220,6 +2651,56 @@ public final class ContextServiceGrpc { getChannel(), getGetServiceEventsMethod(), getCallOptions(), request); } + /** + */ + public context.ContextOuterClass.SliceIdList listSliceIds(context.ContextOuterClass.ContextId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListSliceIdsMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.SliceList listSlices(context.ContextOuterClass.ContextId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListSlicesMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Slice getSlice(context.ContextOuterClass.SliceId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetSliceMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.SliceId setSlice(context.ContextOuterClass.Slice request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getSetSliceMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.SliceId unsetSlice(context.ContextOuterClass.Slice request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUnsetSliceMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Empty removeSlice(context.ContextOuterClass.SliceId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getRemoveSliceMethod(), getCallOptions(), request); + } + + /** + */ + public java.util.Iterator getSliceEvents( + context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.blockingServerStreamingCall( + getChannel(), getGetSliceEventsMethod(), getCallOptions(), request); + } + /** */ public context.ContextOuterClass.ConnectionIdList listConnectionIds(context.ContextOuterClass.ServiceId request) { @@ -2470,6 +2951,14 @@ public final class ContextServiceGrpc { getChannel().newCall(getSetServiceMethod(), getCallOptions()), request); } + /** + */ + public com.google.common.util.concurrent.ListenableFuture unsetService( + context.ContextOuterClass.Service request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUnsetServiceMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture removeService( @@ -2478,6 +2967,54 @@ public final class ContextServiceGrpc { getChannel().newCall(getRemoveServiceMethod(), getCallOptions()), request); } + /** + */ + public com.google.common.util.concurrent.ListenableFuture listSliceIds( + context.ContextOuterClass.ContextId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListSliceIdsMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture listSlices( + context.ContextOuterClass.ContextId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListSlicesMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getSlice( + context.ContextOuterClass.SliceId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetSliceMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture setSlice( + context.ContextOuterClass.Slice request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getSetSliceMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture unsetSlice( + context.ContextOuterClass.Slice request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUnsetSliceMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture removeSlice( + context.ContextOuterClass.SliceId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getRemoveSliceMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture listConnectionIds( @@ -2547,14 +3084,22 @@ public final class ContextServiceGrpc { private static final int METHODID_LIST_SERVICES = 25; private static final int METHODID_GET_SERVICE = 26; private static final int METHODID_SET_SERVICE = 27; - private static final int METHODID_REMOVE_SERVICE = 28; - private static final int METHODID_GET_SERVICE_EVENTS = 29; - private static final int METHODID_LIST_CONNECTION_IDS = 30; - private static final int METHODID_LIST_CONNECTIONS = 31; - private static final int METHODID_GET_CONNECTION = 32; - private static final int METHODID_SET_CONNECTION = 33; - private static final int METHODID_REMOVE_CONNECTION = 34; - private static final int METHODID_GET_CONNECTION_EVENTS = 35; + private static final int METHODID_UNSET_SERVICE = 28; + private static final int METHODID_REMOVE_SERVICE = 29; + private static final int METHODID_GET_SERVICE_EVENTS = 30; + private static final int METHODID_LIST_SLICE_IDS = 31; + private static final int METHODID_LIST_SLICES = 32; + private static final int METHODID_GET_SLICE = 33; + private static final int METHODID_SET_SLICE = 34; + private static final int METHODID_UNSET_SLICE = 35; + private static final int METHODID_REMOVE_SLICE = 36; + private static final int METHODID_GET_SLICE_EVENTS = 37; + private static final int METHODID_LIST_CONNECTION_IDS = 38; + private static final int METHODID_LIST_CONNECTIONS = 39; + private static final int METHODID_GET_CONNECTION = 40; + private static final int METHODID_SET_CONNECTION = 41; + private static final int METHODID_REMOVE_CONNECTION = 42; + private static final int METHODID_GET_CONNECTION_EVENTS = 43; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -2685,6 +3230,10 @@ public final class ContextServiceGrpc { serviceImpl.setService((context.ContextOuterClass.Service) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_UNSET_SERVICE: + serviceImpl.unsetService((context.ContextOuterClass.Service) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_REMOVE_SERVICE: serviceImpl.removeService((context.ContextOuterClass.ServiceId) request, (io.grpc.stub.StreamObserver) responseObserver); @@ -2693,6 +3242,34 @@ public final class ContextServiceGrpc { serviceImpl.getServiceEvents((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_LIST_SLICE_IDS: + serviceImpl.listSliceIds((context.ContextOuterClass.ContextId) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_SLICES: + serviceImpl.listSlices((context.ContextOuterClass.ContextId) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_SLICE: + serviceImpl.getSlice((context.ContextOuterClass.SliceId) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_SLICE: + serviceImpl.setSlice((context.ContextOuterClass.Slice) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_UNSET_SLICE: + serviceImpl.unsetSlice((context.ContextOuterClass.Slice) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_REMOVE_SLICE: + serviceImpl.removeSlice((context.ContextOuterClass.SliceId) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_SLICE_EVENTS: + serviceImpl.getSliceEvents((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_LIST_CONNECTION_IDS: serviceImpl.listConnectionIds((context.ContextOuterClass.ServiceId) request, (io.grpc.stub.StreamObserver) responseObserver); @@ -2806,8 +3383,16 @@ public final class ContextServiceGrpc { .addMethod(getListServicesMethod()) .addMethod(getGetServiceMethod()) .addMethod(getSetServiceMethod()) + .addMethod(getUnsetServiceMethod()) .addMethod(getRemoveServiceMethod()) .addMethod(getGetServiceEventsMethod()) + .addMethod(getListSliceIdsMethod()) + .addMethod(getListSlicesMethod()) + .addMethod(getGetSliceMethod()) + .addMethod(getSetSliceMethod()) + .addMethod(getUnsetSliceMethod()) + .addMethod(getRemoveSliceMethod()) + .addMethod(getGetSliceEventsMethod()) .addMethod(getListConnectionIdsMethod()) .addMethod(getListConnectionsMethod()) .addMethod(getGetConnectionMethod()) diff --git a/src/automation/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java b/src/automation/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java index 85abba20a9f315f684f964d16db4ad0cd7e91299..f7d2cb94e339366b54355c7e11b3ee72fa1e415c 100644 --- a/src/automation/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java +++ b/src/automation/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java @@ -156,11 +156,46 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M } + public io.smallrye.mutiny.Uni unsetService(context.ContextOuterClass.Service request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::unsetService); + } + + public io.smallrye.mutiny.Uni removeService(context.ContextOuterClass.ServiceId request) { return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::removeService); } + public io.smallrye.mutiny.Uni listSliceIds(context.ContextOuterClass.ContextId request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::listSliceIds); + } + + + public io.smallrye.mutiny.Uni listSlices(context.ContextOuterClass.ContextId request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::listSlices); + } + + + public io.smallrye.mutiny.Uni getSlice(context.ContextOuterClass.SliceId request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getSlice); + } + + + public io.smallrye.mutiny.Uni setSlice(context.ContextOuterClass.Slice request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::setSlice); + } + + + public io.smallrye.mutiny.Uni unsetSlice(context.ContextOuterClass.Slice request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::unsetSlice); + } + + + public io.smallrye.mutiny.Uni removeSlice(context.ContextOuterClass.SliceId request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::removeSlice); + } + + public io.smallrye.mutiny.Uni listConnectionIds(context.ContextOuterClass.ServiceId request) { return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::listConnectionIds); } @@ -211,6 +246,11 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M } + public io.smallrye.mutiny.Multi getSliceEvents(context.ContextOuterClass.Empty request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToMany(request, delegateStub::getSliceEvents); + } + + public io.smallrye.mutiny.Multi getConnectionEvents(context.ContextOuterClass.Empty request) { return io.quarkus.grpc.runtime.ClientCalls.oneToMany(request, delegateStub::getConnectionEvents); } @@ -353,11 +393,46 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M } + public io.smallrye.mutiny.Uni unsetService(context.ContextOuterClass.Service request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni removeService(context.ContextOuterClass.ServiceId request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } + public io.smallrye.mutiny.Uni listSliceIds(context.ContextOuterClass.ContextId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni listSlices(context.ContextOuterClass.ContextId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni getSlice(context.ContextOuterClass.SliceId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni setSlice(context.ContextOuterClass.Slice request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni unsetSlice(context.ContextOuterClass.Slice request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni removeSlice(context.ContextOuterClass.SliceId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni listConnectionIds(context.ContextOuterClass.ServiceId request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -408,6 +483,11 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M } + public io.smallrye.mutiny.Multi getSliceEvents(context.ContextOuterClass.Empty request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Multi getConnectionEvents(context.ContextOuterClass.Empty request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -610,6 +690,13 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M context.ContextOuterClass.Service, context.ContextOuterClass.ServiceId>( this, METHODID_SET_SERVICE, compression))) + .addMethod( + context.ContextServiceGrpc.getUnsetServiceMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Service, + context.ContextOuterClass.ServiceId>( + this, METHODID_UNSET_SERVICE, compression))) .addMethod( context.ContextServiceGrpc.getRemoveServiceMethod(), asyncUnaryCall( @@ -624,6 +711,55 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M context.ContextOuterClass.Empty, context.ContextOuterClass.ServiceEvent>( this, METHODID_GET_SERVICE_EVENTS, compression))) + .addMethod( + context.ContextServiceGrpc.getListSliceIdsMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.ContextId, + context.ContextOuterClass.SliceIdList>( + this, METHODID_LIST_SLICE_IDS, compression))) + .addMethod( + context.ContextServiceGrpc.getListSlicesMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.ContextId, + context.ContextOuterClass.SliceList>( + this, METHODID_LIST_SLICES, compression))) + .addMethod( + context.ContextServiceGrpc.getGetSliceMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.SliceId, + context.ContextOuterClass.Slice>( + this, METHODID_GET_SLICE, compression))) + .addMethod( + context.ContextServiceGrpc.getSetSliceMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Slice, + context.ContextOuterClass.SliceId>( + this, METHODID_SET_SLICE, compression))) + .addMethod( + context.ContextServiceGrpc.getUnsetSliceMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Slice, + context.ContextOuterClass.SliceId>( + this, METHODID_UNSET_SLICE, compression))) + .addMethod( + context.ContextServiceGrpc.getRemoveSliceMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.SliceId, + context.ContextOuterClass.Empty>( + this, METHODID_REMOVE_SLICE, compression))) + .addMethod( + context.ContextServiceGrpc.getGetSliceEventsMethod(), + asyncServerStreamingCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + context.ContextOuterClass.SliceEvent>( + this, METHODID_GET_SLICE_EVENTS, compression))) .addMethod( context.ContextServiceGrpc.getListConnectionIdsMethod(), asyncUnaryCall( @@ -698,14 +834,22 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M private static final int METHODID_LIST_SERVICES = 25; private static final int METHODID_GET_SERVICE = 26; private static final int METHODID_SET_SERVICE = 27; - private static final int METHODID_REMOVE_SERVICE = 28; - private static final int METHODID_GET_SERVICE_EVENTS = 29; - private static final int METHODID_LIST_CONNECTION_IDS = 30; - private static final int METHODID_LIST_CONNECTIONS = 31; - private static final int METHODID_GET_CONNECTION = 32; - private static final int METHODID_SET_CONNECTION = 33; - private static final int METHODID_REMOVE_CONNECTION = 34; - private static final int METHODID_GET_CONNECTION_EVENTS = 35; + private static final int METHODID_UNSET_SERVICE = 28; + private static final int METHODID_REMOVE_SERVICE = 29; + private static final int METHODID_GET_SERVICE_EVENTS = 30; + private static final int METHODID_LIST_SLICE_IDS = 31; + private static final int METHODID_LIST_SLICES = 32; + private static final int METHODID_GET_SLICE = 33; + private static final int METHODID_SET_SLICE = 34; + private static final int METHODID_UNSET_SLICE = 35; + private static final int METHODID_REMOVE_SLICE = 36; + private static final int METHODID_GET_SLICE_EVENTS = 37; + private static final int METHODID_LIST_CONNECTION_IDS = 38; + private static final int METHODID_LIST_CONNECTIONS = 39; + private static final int METHODID_GET_CONNECTION = 40; + private static final int METHODID_SET_CONNECTION = 41; + private static final int METHODID_REMOVE_CONNECTION = 42; + private static final int METHODID_GET_CONNECTION_EVENTS = 43; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -894,6 +1038,12 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M compression, serviceImpl::setService); break; + case METHODID_UNSET_SERVICE: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Service) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::unsetService); + break; case METHODID_REMOVE_SERVICE: io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.ServiceId) request, (io.grpc.stub.StreamObserver) responseObserver, @@ -906,6 +1056,48 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.runtime.M compression, serviceImpl::getServiceEvents); break; + case METHODID_LIST_SLICE_IDS: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.ContextId) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::listSliceIds); + break; + case METHODID_LIST_SLICES: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.ContextId) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::listSlices); + break; + case METHODID_GET_SLICE: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.SliceId) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getSlice); + break; + case METHODID_SET_SLICE: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Slice) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::setSlice); + break; + case METHODID_UNSET_SLICE: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Slice) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::unsetSlice); + break; + case METHODID_REMOVE_SLICE: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.SliceId) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::removeSlice); + break; + case METHODID_GET_SLICE_EVENTS: + io.quarkus.grpc.runtime.ServerCalls.oneToMany((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getSliceEvents); + break; case METHODID_LIST_CONNECTION_IDS: io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.ServiceId) request, (io.grpc.stub.StreamObserver) responseObserver, diff --git a/src/automation/target/generated-sources/grpc/kpi_sample_types/KpiSampleTypes.java b/src/automation/target/generated-sources/grpc/kpi_sample_types/KpiSampleTypes.java index 67e1ec736f9d83cbf95b419e9e61e92e82e73b88..217672b2e8de2d7c840833a937b0fb04c38a221b 100644 --- a/src/automation/target/generated-sources/grpc/kpi_sample_types/KpiSampleTypes.java +++ b/src/automation/target/generated-sources/grpc/kpi_sample_types/KpiSampleTypes.java @@ -31,6 +31,10 @@ public final class KpiSampleTypes { * KPISAMPLETYPE_PACKETS_RECEIVED = 102; */ KPISAMPLETYPE_PACKETS_RECEIVED(102), + /** + * KPISAMPLETYPE_PACKETS_DROPPED = 103; + */ + KPISAMPLETYPE_PACKETS_DROPPED(103), /** * KPISAMPLETYPE_BYTES_TRANSMITTED = 201; */ @@ -39,6 +43,50 @@ public final class KpiSampleTypes { * KPISAMPLETYPE_BYTES_RECEIVED = 202; */ KPISAMPLETYPE_BYTES_RECEIVED(202), + /** + * KPISAMPLETYPE_BYTES_DROPPED = 203; + */ + KPISAMPLETYPE_BYTES_DROPPED(203), + /** + *
+     *. can be used by both optical and L3 without any issue
+     * 
+ * + * KPISAMPLETYPE_ML_CONFIDENCE = 401; + */ + KPISAMPLETYPE_ML_CONFIDENCE(401), + /** + *
+     *. can be used by both optical and L3 without any issue
+     * 
+ * + * KPISAMPLETYPE_OPTICAL_SECURITY_STATUS = 501; + */ + KPISAMPLETYPE_OPTICAL_SECURITY_STATUS(501), + /** + * KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS = 601; + */ + KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS(601), + /** + * KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS = 602; + */ + KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS(602), + /** + * KPISAMPLETYPE_L3_UNIQUE_ATTACKERS = 603; + */ + KPISAMPLETYPE_L3_UNIQUE_ATTACKERS(603), + /** + * KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS = 604; + */ + KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS(604), + /** + * KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO = 605; + */ + KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO(605), + /** + * KPISAMPLETYPE_SERVICE_LATENCY_MS = 701; + */ + KPISAMPLETYPE_SERVICE_LATENCY_MS(701), UNRECOGNIZED(-1), ; @@ -54,6 +102,10 @@ public final class KpiSampleTypes { * KPISAMPLETYPE_PACKETS_RECEIVED = 102; */ public static final int KPISAMPLETYPE_PACKETS_RECEIVED_VALUE = 102; + /** + * KPISAMPLETYPE_PACKETS_DROPPED = 103; + */ + public static final int KPISAMPLETYPE_PACKETS_DROPPED_VALUE = 103; /** * KPISAMPLETYPE_BYTES_TRANSMITTED = 201; */ @@ -62,6 +114,50 @@ public final class KpiSampleTypes { * KPISAMPLETYPE_BYTES_RECEIVED = 202; */ public static final int KPISAMPLETYPE_BYTES_RECEIVED_VALUE = 202; + /** + * KPISAMPLETYPE_BYTES_DROPPED = 203; + */ + public static final int KPISAMPLETYPE_BYTES_DROPPED_VALUE = 203; + /** + *
+     *. can be used by both optical and L3 without any issue
+     * 
+ * + * KPISAMPLETYPE_ML_CONFIDENCE = 401; + */ + public static final int KPISAMPLETYPE_ML_CONFIDENCE_VALUE = 401; + /** + *
+     *. can be used by both optical and L3 without any issue
+     * 
+ * + * KPISAMPLETYPE_OPTICAL_SECURITY_STATUS = 501; + */ + public static final int KPISAMPLETYPE_OPTICAL_SECURITY_STATUS_VALUE = 501; + /** + * KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS = 601; + */ + public static final int KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS_VALUE = 601; + /** + * KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS = 602; + */ + public static final int KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS_VALUE = 602; + /** + * KPISAMPLETYPE_L3_UNIQUE_ATTACKERS = 603; + */ + public static final int KPISAMPLETYPE_L3_UNIQUE_ATTACKERS_VALUE = 603; + /** + * KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS = 604; + */ + public static final int KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS_VALUE = 604; + /** + * KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO = 605; + */ + public static final int KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO_VALUE = 605; + /** + * KPISAMPLETYPE_SERVICE_LATENCY_MS = 701; + */ + public static final int KPISAMPLETYPE_SERVICE_LATENCY_MS_VALUE = 701; public final int getNumber() { @@ -91,8 +187,18 @@ public final class KpiSampleTypes { case 0: return KPISAMPLETYPE_UNKNOWN; case 101: return KPISAMPLETYPE_PACKETS_TRANSMITTED; case 102: return KPISAMPLETYPE_PACKETS_RECEIVED; + case 103: return KPISAMPLETYPE_PACKETS_DROPPED; case 201: return KPISAMPLETYPE_BYTES_TRANSMITTED; case 202: return KPISAMPLETYPE_BYTES_RECEIVED; + case 203: return KPISAMPLETYPE_BYTES_DROPPED; + case 401: return KPISAMPLETYPE_ML_CONFIDENCE; + case 501: return KPISAMPLETYPE_OPTICAL_SECURITY_STATUS; + case 601: return KPISAMPLETYPE_L3_UNIQUE_ATTACK_CONNS; + case 602: return KPISAMPLETYPE_L3_TOTAL_DROPPED_PACKTS; + case 603: return KPISAMPLETYPE_L3_UNIQUE_ATTACKERS; + case 604: return KPISAMPLETYPE_L3_UNIQUE_COMPROMISED_CLIENTS; + case 605: return KPISAMPLETYPE_L3_SECURITY_STATUS_CRYPTO; + case 701: return KPISAMPLETYPE_SERVICE_LATENCY_MS; default: return null; } } @@ -159,12 +265,22 @@ public final class KpiSampleTypes { static { java.lang.String[] descriptorData = { "\n\026kpi_sample_types.proto\022\020kpi_sample_typ" + - "es*\276\001\n\rKpiSampleType\022\031\n\025KPISAMPLETYPE_UN" + + "es*\327\004\n\rKpiSampleType\022\031\n\025KPISAMPLETYPE_UN" + "KNOWN\020\000\022%\n!KPISAMPLETYPE_PACKETS_TRANSMI" + "TTED\020e\022\"\n\036KPISAMPLETYPE_PACKETS_RECEIVED" + - "\020f\022$\n\037KPISAMPLETYPE_BYTES_TRANSMITTED\020\311\001" + - "\022!\n\034KPISAMPLETYPE_BYTES_RECEIVED\020\312\001b\006pro" + - "to3" + "\020f\022!\n\035KPISAMPLETYPE_PACKETS_DROPPED\020g\022$\n" + + "\037KPISAMPLETYPE_BYTES_TRANSMITTED\020\311\001\022!\n\034K" + + "PISAMPLETYPE_BYTES_RECEIVED\020\312\001\022 \n\033KPISAM" + + "PLETYPE_BYTES_DROPPED\020\313\001\022 \n\033KPISAMPLETYP" + + "E_ML_CONFIDENCE\020\221\003\022*\n%KPISAMPLETYPE_OPTI" + + "CAL_SECURITY_STATUS\020\365\003\022)\n$KPISAMPLETYPE_" + + "L3_UNIQUE_ATTACK_CONNS\020\331\004\022*\n%KPISAMPLETY" + + "PE_L3_TOTAL_DROPPED_PACKTS\020\332\004\022&\n!KPISAMP" + + "LETYPE_L3_UNIQUE_ATTACKERS\020\333\004\0220\n+KPISAMP" + + "LETYPE_L3_UNIQUE_COMPROMISED_CLIENTS\020\334\004\022" + + ",\n\'KPISAMPLETYPE_L3_SECURITY_STATUS_CRYP" + + "TO\020\335\004\022%\n KPISAMPLETYPE_SERVICE_LATENCY_M" + + "S\020\275\005b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, diff --git a/src/automation/target/generated-sources/grpc/monitoring/Monitoring.java b/src/automation/target/generated-sources/grpc/monitoring/Monitoring.java index 1ef1f0c029d1d5916eaf5ffc4f185c048a40b5a3..38f026eb1ac730e8f825e460916dc57469f0d312 100644 --- a/src/automation/target/generated-sources/grpc/monitoring/Monitoring.java +++ b/src/automation/target/generated-sources/grpc/monitoring/Monitoring.java @@ -19,84 +19,141 @@ public final class Monitoring { com.google.protobuf.MessageOrBuilder { /** - * string kpi_description = 1; + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + boolean hasKpiId(); + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + monitoring.Monitoring.KpiId getKpiId(); + /** + * .monitoring.KpiId kpi_id = 1; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); + + /** + * string kpi_description = 2; * @return The kpiDescription. */ java.lang.String getKpiDescription(); /** - * string kpi_description = 1; + * string kpi_description = 2; * @return The bytes for kpiDescription. */ com.google.protobuf.ByteString getKpiDescriptionBytes(); /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + java.util.List + getKpiIdListList(); + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + monitoring.Monitoring.KpiId getKpiIdList(int index); + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + int getKpiIdListCount(); + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + java.util.List + getKpiIdListOrBuilderList(); + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdListOrBuilder( + int index); + + /** + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return The enum numeric value on the wire for kpiSampleType. */ int getKpiSampleTypeValue(); /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return The kpiSampleType. */ kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleType(); /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; * @return Whether the deviceId field is set. */ boolean hasDeviceId(); /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; * @return The deviceId. */ context.ContextOuterClass.DeviceId getDeviceId(); /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder(); /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; * @return Whether the endpointId field is set. */ boolean hasEndpointId(); /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; * @return The endpointId. */ context.ContextOuterClass.EndPointId getEndpointId(); /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder(); /** - *
-     *  context.SliceId    slice_id    = 6;
-     * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; * @return Whether the serviceId field is set. */ boolean hasServiceId(); /** - *
-     *  context.SliceId    slice_id    = 6;
-     * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; * @return The serviceId. */ context.ContextOuterClass.ServiceId getServiceId(); /** - *
-     *  context.SliceId    slice_id    = 6;
-     * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder(); + + /** + * .context.SliceId slice_id = 8; + * @return Whether the sliceId field is set. + */ + boolean hasSliceId(); + /** + * .context.SliceId slice_id = 8; + * @return The sliceId. + */ + context.ContextOuterClass.SliceId getSliceId(); + /** + * .context.SliceId slice_id = 8; + */ + context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder(); + + /** + * .context.ConnectionId connection_id = 9; + * @return Whether the connectionId field is set. + */ + boolean hasConnectionId(); + /** + * .context.ConnectionId connection_id = 9; + * @return The connectionId. + */ + context.ContextOuterClass.ConnectionId getConnectionId(); + /** + * .context.ConnectionId connection_id = 9; + */ + context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder(); } /** * Protobuf type {@code monitoring.KpiDescriptor} @@ -112,6 +169,7 @@ public final class Monitoring { } private KpiDescriptor() { kpiDescription_ = ""; + kpiIdList_ = java.util.Collections.emptyList(); kpiSampleType_ = 0; } @@ -135,6 +193,7 @@ public final class Monitoring { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -146,18 +205,40 @@ public final class Monitoring { done = true; break; case 10: { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { java.lang.String s = input.readStringRequireUtf8(); kpiDescription_ = s; break; } - case 16: { + case 26: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpiIdList_.add( + input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry)); + break; + } + case 32: { int rawValue = input.readEnum(); kpiSampleType_ = rawValue; break; } - case 26: { + case 42: { context.ContextOuterClass.DeviceId.Builder subBuilder = null; if (deviceId_ != null) { subBuilder = deviceId_.toBuilder(); @@ -170,7 +251,7 @@ public final class Monitoring { break; } - case 34: { + case 50: { context.ContextOuterClass.EndPointId.Builder subBuilder = null; if (endpointId_ != null) { subBuilder = endpointId_.toBuilder(); @@ -183,7 +264,7 @@ public final class Monitoring { break; } - case 42: { + case 58: { context.ContextOuterClass.ServiceId.Builder subBuilder = null; if (serviceId_ != null) { subBuilder = serviceId_.toBuilder(); @@ -196,6 +277,32 @@ public final class Monitoring { break; } + case 66: { + context.ContextOuterClass.SliceId.Builder subBuilder = null; + if (sliceId_ != null) { + subBuilder = sliceId_.toBuilder(); + } + sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceId_); + sliceId_ = subBuilder.buildPartial(); + } + + break; + } + case 74: { + context.ContextOuterClass.ConnectionId.Builder subBuilder = null; + if (connectionId_ != null) { + subBuilder = connectionId_.toBuilder(); + } + connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(connectionId_); + connectionId_ = subBuilder.buildPartial(); + } + + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -211,6 +318,9 @@ public final class Monitoring { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = java.util.Collections.unmodifiableList(kpiIdList_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -228,10 +338,36 @@ public final class Monitoring { monitoring.Monitoring.KpiDescriptor.class, monitoring.Monitoring.KpiDescriptor.Builder.class); } - public static final int KPI_DESCRIPTION_FIELD_NUMBER = 1; + public static final int KPI_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.KpiId kpiId_; + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + @java.lang.Override + public boolean hasKpiId() { + return kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiId() { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + return getKpiId(); + } + + public static final int KPI_DESCRIPTION_FIELD_NUMBER = 2; private volatile java.lang.Object kpiDescription_; /** - * string kpi_description = 1; + * string kpi_description = 2; * @return The kpiDescription. */ @java.lang.Override @@ -248,7 +384,7 @@ public final class Monitoring { } } /** - * string kpi_description = 1; + * string kpi_description = 2; * @return The bytes for kpiDescription. */ @java.lang.Override @@ -266,17 +402,57 @@ public final class Monitoring { } } - public static final int KPI_SAMPLE_TYPE_FIELD_NUMBER = 2; + public static final int KPI_ID_LIST_FIELD_NUMBER = 3; + private java.util.List kpiIdList_; + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + @java.lang.Override + public java.util.List getKpiIdListList() { + return kpiIdList_; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + @java.lang.Override + public java.util.List + getKpiIdListOrBuilderList() { + return kpiIdList_; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + @java.lang.Override + public int getKpiIdListCount() { + return kpiIdList_.size(); + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiIdList(int index) { + return kpiIdList_.get(index); + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdListOrBuilder( + int index) { + return kpiIdList_.get(index); + } + + public static final int KPI_SAMPLE_TYPE_FIELD_NUMBER = 4; private int kpiSampleType_; /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return The enum numeric value on the wire for kpiSampleType. */ @java.lang.Override public int getKpiSampleTypeValue() { return kpiSampleType_; } /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return The kpiSampleType. */ @java.lang.Override public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleType() { @@ -285,10 +461,10 @@ public final class Monitoring { return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; } - public static final int DEVICE_ID_FIELD_NUMBER = 3; + public static final int DEVICE_ID_FIELD_NUMBER = 5; private context.ContextOuterClass.DeviceId deviceId_; /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; * @return Whether the deviceId field is set. */ @java.lang.Override @@ -296,7 +472,7 @@ public final class Monitoring { return deviceId_ != null; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; * @return The deviceId. */ @java.lang.Override @@ -304,17 +480,17 @@ public final class Monitoring { return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ @java.lang.Override public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { return getDeviceId(); } - public static final int ENDPOINT_ID_FIELD_NUMBER = 4; + public static final int ENDPOINT_ID_FIELD_NUMBER = 6; private context.ContextOuterClass.EndPointId endpointId_; /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; * @return Whether the endpointId field is set. */ @java.lang.Override @@ -322,7 +498,7 @@ public final class Monitoring { return endpointId_ != null; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; * @return The endpointId. */ @java.lang.Override @@ -330,21 +506,17 @@ public final class Monitoring { return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ @java.lang.Override public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { return getEndpointId(); } - public static final int SERVICE_ID_FIELD_NUMBER = 5; + public static final int SERVICE_ID_FIELD_NUMBER = 7; private context.ContextOuterClass.ServiceId serviceId_; /** - *
-     *  context.SliceId    slice_id    = 6;
-     * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; * @return Whether the serviceId field is set. */ @java.lang.Override @@ -352,11 +524,7 @@ public final class Monitoring { return serviceId_ != null; } /** - *
-     *  context.SliceId    slice_id    = 6;
-     * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; * @return The serviceId. */ @java.lang.Override @@ -364,17 +532,65 @@ public final class Monitoring { return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; } /** - *
-     *  context.SliceId    slice_id    = 6;
-     * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ @java.lang.Override public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { return getServiceId(); } + public static final int SLICE_ID_FIELD_NUMBER = 8; + private context.ContextOuterClass.SliceId sliceId_; + /** + * .context.SliceId slice_id = 8; + * @return Whether the sliceId field is set. + */ + @java.lang.Override + public boolean hasSliceId() { + return sliceId_ != null; + } + /** + * .context.SliceId slice_id = 8; + * @return The sliceId. + */ + @java.lang.Override + public context.ContextOuterClass.SliceId getSliceId() { + return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } + /** + * .context.SliceId slice_id = 8; + */ + @java.lang.Override + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { + return getSliceId(); + } + + public static final int CONNECTION_ID_FIELD_NUMBER = 9; + private context.ContextOuterClass.ConnectionId connectionId_; + /** + * .context.ConnectionId connection_id = 9; + * @return Whether the connectionId field is set. + */ + @java.lang.Override + public boolean hasConnectionId() { + return connectionId_ != null; + } + /** + * .context.ConnectionId connection_id = 9; + * @return The connectionId. + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionId getConnectionId() { + return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } + /** + * .context.ConnectionId connection_id = 9; + */ + @java.lang.Override + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { + return getConnectionId(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -389,20 +605,32 @@ public final class Monitoring { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (kpiId_ != null) { + output.writeMessage(1, getKpiId()); + } if (!getKpiDescriptionBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, kpiDescription_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, kpiDescription_); + } + for (int i = 0; i < kpiIdList_.size(); i++) { + output.writeMessage(3, kpiIdList_.get(i)); } if (kpiSampleType_ != kpi_sample_types.KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_UNKNOWN.getNumber()) { - output.writeEnum(2, kpiSampleType_); + output.writeEnum(4, kpiSampleType_); } if (deviceId_ != null) { - output.writeMessage(3, getDeviceId()); + output.writeMessage(5, getDeviceId()); } if (endpointId_ != null) { - output.writeMessage(4, getEndpointId()); + output.writeMessage(6, getEndpointId()); } if (serviceId_ != null) { - output.writeMessage(5, getServiceId()); + output.writeMessage(7, getServiceId()); + } + if (sliceId_ != null) { + output.writeMessage(8, getSliceId()); + } + if (connectionId_ != null) { + output.writeMessage(9, getConnectionId()); } unknownFields.writeTo(output); } @@ -413,24 +641,40 @@ public final class Monitoring { if (size != -1) return size; size = 0; + if (kpiId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getKpiId()); + } if (!getKpiDescriptionBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, kpiDescription_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, kpiDescription_); + } + for (int i = 0; i < kpiIdList_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, kpiIdList_.get(i)); } if (kpiSampleType_ != kpi_sample_types.KpiSampleTypes.KpiSampleType.KPISAMPLETYPE_UNKNOWN.getNumber()) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, kpiSampleType_); + .computeEnumSize(4, kpiSampleType_); } if (deviceId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, getDeviceId()); + .computeMessageSize(5, getDeviceId()); } if (endpointId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, getEndpointId()); + .computeMessageSize(6, getEndpointId()); } if (serviceId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, getServiceId()); + .computeMessageSize(7, getServiceId()); + } + if (sliceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, getSliceId()); + } + if (connectionId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(9, getConnectionId()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -447,8 +691,15 @@ public final class Monitoring { } monitoring.Monitoring.KpiDescriptor other = (monitoring.Monitoring.KpiDescriptor) obj; + if (hasKpiId() != other.hasKpiId()) return false; + if (hasKpiId()) { + if (!getKpiId() + .equals(other.getKpiId())) return false; + } if (!getKpiDescription() .equals(other.getKpiDescription())) return false; + if (!getKpiIdListList() + .equals(other.getKpiIdListList())) return false; if (kpiSampleType_ != other.kpiSampleType_) return false; if (hasDeviceId() != other.hasDeviceId()) return false; if (hasDeviceId()) { @@ -465,6 +716,16 @@ public final class Monitoring { if (!getServiceId() .equals(other.getServiceId())) return false; } + if (hasSliceId() != other.hasSliceId()) return false; + if (hasSliceId()) { + if (!getSliceId() + .equals(other.getSliceId())) return false; + } + if (hasConnectionId() != other.hasConnectionId()) return false; + if (hasConnectionId()) { + if (!getConnectionId() + .equals(other.getConnectionId())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -476,8 +737,16 @@ public final class Monitoring { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); + if (hasKpiId()) { + hash = (37 * hash) + KPI_ID_FIELD_NUMBER; + hash = (53 * hash) + getKpiId().hashCode(); + } hash = (37 * hash) + KPI_DESCRIPTION_FIELD_NUMBER; hash = (53 * hash) + getKpiDescription().hashCode(); + if (getKpiIdListCount() > 0) { + hash = (37 * hash) + KPI_ID_LIST_FIELD_NUMBER; + hash = (53 * hash) + getKpiIdListList().hashCode(); + } hash = (37 * hash) + KPI_SAMPLE_TYPE_FIELD_NUMBER; hash = (53 * hash) + kpiSampleType_; if (hasDeviceId()) { @@ -492,6 +761,14 @@ public final class Monitoring { hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; hash = (53 * hash) + getServiceId().hashCode(); } + if (hasSliceId()) { + hash = (37 * hash) + SLICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getSliceId().hashCode(); + } + if (hasConnectionId()) { + hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER; + hash = (53 * hash) + getConnectionId().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -620,13 +897,26 @@ public final class Monitoring { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getKpiIdListFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } kpiDescription_ = ""; + if (kpiIdListBuilder_ == null) { + kpiIdList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + kpiIdListBuilder_.clear(); + } kpiSampleType_ = 0; if (deviceIdBuilder_ == null) { @@ -647,6 +937,18 @@ public final class Monitoring { serviceId_ = null; serviceIdBuilder_ = null; } + if (sliceIdBuilder_ == null) { + sliceId_ = null; + } else { + sliceId_ = null; + sliceIdBuilder_ = null; + } + if (connectionIdBuilder_ == null) { + connectionId_ = null; + } else { + connectionId_ = null; + connectionIdBuilder_ = null; + } return this; } @@ -673,7 +975,22 @@ public final class Monitoring { @java.lang.Override public monitoring.Monitoring.KpiDescriptor buildPartial() { monitoring.Monitoring.KpiDescriptor result = new monitoring.Monitoring.KpiDescriptor(this); + int from_bitField0_ = bitField0_; + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } result.kpiDescription_ = kpiDescription_; + if (kpiIdListBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = java.util.Collections.unmodifiableList(kpiIdList_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.kpiIdList_ = kpiIdList_; + } else { + result.kpiIdList_ = kpiIdListBuilder_.build(); + } result.kpiSampleType_ = kpiSampleType_; if (deviceIdBuilder_ == null) { result.deviceId_ = deviceId_; @@ -690,6 +1007,16 @@ public final class Monitoring { } else { result.serviceId_ = serviceIdBuilder_.build(); } + if (sliceIdBuilder_ == null) { + result.sliceId_ = sliceId_; + } else { + result.sliceId_ = sliceIdBuilder_.build(); + } + if (connectionIdBuilder_ == null) { + result.connectionId_ = connectionId_; + } else { + result.connectionId_ = connectionIdBuilder_.build(); + } onBuilt(); return result; } @@ -738,10 +1065,39 @@ public final class Monitoring { public Builder mergeFrom(monitoring.Monitoring.KpiDescriptor other) { if (other == monitoring.Monitoring.KpiDescriptor.getDefaultInstance()) return this; + if (other.hasKpiId()) { + mergeKpiId(other.getKpiId()); + } if (!other.getKpiDescription().isEmpty()) { kpiDescription_ = other.kpiDescription_; onChanged(); } + if (kpiIdListBuilder_ == null) { + if (!other.kpiIdList_.isEmpty()) { + if (kpiIdList_.isEmpty()) { + kpiIdList_ = other.kpiIdList_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKpiIdListIsMutable(); + kpiIdList_.addAll(other.kpiIdList_); + } + onChanged(); + } + } else { + if (!other.kpiIdList_.isEmpty()) { + if (kpiIdListBuilder_.isEmpty()) { + kpiIdListBuilder_.dispose(); + kpiIdListBuilder_ = null; + kpiIdList_ = other.kpiIdList_; + bitField0_ = (bitField0_ & ~0x00000001); + kpiIdListBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getKpiIdListFieldBuilder() : null; + } else { + kpiIdListBuilder_.addAllMessages(other.kpiIdList_); + } + } + } if (other.kpiSampleType_ != 0) { setKpiSampleTypeValue(other.getKpiSampleTypeValue()); } @@ -754,6 +1110,12 @@ public final class Monitoring { if (other.hasServiceId()) { mergeServiceId(other.getServiceId()); } + if (other.hasSliceId()) { + mergeSliceId(other.getSliceId()); + } + if (other.hasConnectionId()) { + mergeConnectionId(other.getConnectionId()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -782,11 +1144,131 @@ public final class Monitoring { } return this; } + private int bitField0_; - private java.lang.Object kpiDescription_ = ""; + private monitoring.Monitoring.KpiId kpiId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdBuilder_; /** - * string kpi_description = 1; - * @return The kpiDescription. + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + public boolean hasKpiId() { + return kpiIdBuilder_ != null || kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + public monitoring.Monitoring.KpiId getKpiId() { + if (kpiIdBuilder_ == null) { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } else { + return kpiIdBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder setKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiId_ = value; + onChanged(); + } else { + kpiIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder setKpiId( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdBuilder_ == null) { + kpiId_ = builderForValue.build(); + onChanged(); + } else { + kpiIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (kpiId_ != null) { + kpiId_ = + monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + } else { + kpiId_ = value; + } + onChanged(); + } else { + kpiIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder clearKpiId() { + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { + + onChanged(); + return getKpiIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + if (kpiIdBuilder_ != null) { + return kpiIdBuilder_.getMessageOrBuilder(); + } else { + return kpiId_ == null ? + monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdFieldBuilder() { + if (kpiIdBuilder_ == null) { + kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + getKpiId(), + getParentForChildren(), + isClean()); + kpiId_ = null; + } + return kpiIdBuilder_; + } + + private java.lang.Object kpiDescription_ = ""; + /** + * string kpi_description = 2; + * @return The kpiDescription. */ public java.lang.String getKpiDescription() { java.lang.Object ref = kpiDescription_; @@ -801,7 +1283,7 @@ public final class Monitoring { } } /** - * string kpi_description = 1; + * string kpi_description = 2; * @return The bytes for kpiDescription. */ public com.google.protobuf.ByteString @@ -818,7 +1300,7 @@ public final class Monitoring { } } /** - * string kpi_description = 1; + * string kpi_description = 2; * @param value The kpiDescription to set. * @return This builder for chaining. */ @@ -833,7 +1315,7 @@ public final class Monitoring { return this; } /** - * string kpi_description = 1; + * string kpi_description = 2; * @return This builder for chaining. */ public Builder clearKpiDescription() { @@ -843,7 +1325,7 @@ public final class Monitoring { return this; } /** - * string kpi_description = 1; + * string kpi_description = 2; * @param value The bytes for kpiDescription to set. * @return This builder for chaining. */ @@ -859,16 +1341,256 @@ public final class Monitoring { return this; } + private java.util.List kpiIdList_ = + java.util.Collections.emptyList(); + private void ensureKpiIdListIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = new java.util.ArrayList(kpiIdList_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdListBuilder_; + + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public java.util.List getKpiIdListList() { + if (kpiIdListBuilder_ == null) { + return java.util.Collections.unmodifiableList(kpiIdList_); + } else { + return kpiIdListBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public int getKpiIdListCount() { + if (kpiIdListBuilder_ == null) { + return kpiIdList_.size(); + } else { + return kpiIdListBuilder_.getCount(); + } + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public monitoring.Monitoring.KpiId getKpiIdList(int index) { + if (kpiIdListBuilder_ == null) { + return kpiIdList_.get(index); + } else { + return kpiIdListBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder setKpiIdList( + int index, monitoring.Monitoring.KpiId value) { + if (kpiIdListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIdListIsMutable(); + kpiIdList_.set(index, value); + onChanged(); + } else { + kpiIdListBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder setKpiIdList( + int index, monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdListBuilder_ == null) { + ensureKpiIdListIsMutable(); + kpiIdList_.set(index, builderForValue.build()); + onChanged(); + } else { + kpiIdListBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder addKpiIdList(monitoring.Monitoring.KpiId value) { + if (kpiIdListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIdListIsMutable(); + kpiIdList_.add(value); + onChanged(); + } else { + kpiIdListBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder addKpiIdList( + int index, monitoring.Monitoring.KpiId value) { + if (kpiIdListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIdListIsMutable(); + kpiIdList_.add(index, value); + onChanged(); + } else { + kpiIdListBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder addKpiIdList( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdListBuilder_ == null) { + ensureKpiIdListIsMutable(); + kpiIdList_.add(builderForValue.build()); + onChanged(); + } else { + kpiIdListBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder addKpiIdList( + int index, monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdListBuilder_ == null) { + ensureKpiIdListIsMutable(); + kpiIdList_.add(index, builderForValue.build()); + onChanged(); + } else { + kpiIdListBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder addAllKpiIdList( + java.lang.Iterable values) { + if (kpiIdListBuilder_ == null) { + ensureKpiIdListIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, kpiIdList_); + onChanged(); + } else { + kpiIdListBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder clearKpiIdList() { + if (kpiIdListBuilder_ == null) { + kpiIdList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + kpiIdListBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public Builder removeKpiIdList(int index) { + if (kpiIdListBuilder_ == null) { + ensureKpiIdListIsMutable(); + kpiIdList_.remove(index); + onChanged(); + } else { + kpiIdListBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdListBuilder( + int index) { + return getKpiIdListFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdListOrBuilder( + int index) { + if (kpiIdListBuilder_ == null) { + return kpiIdList_.get(index); } else { + return kpiIdListBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public java.util.List + getKpiIdListOrBuilderList() { + if (kpiIdListBuilder_ != null) { + return kpiIdListBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(kpiIdList_); + } + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public monitoring.Monitoring.KpiId.Builder addKpiIdListBuilder() { + return getKpiIdListFieldBuilder().addBuilder( + monitoring.Monitoring.KpiId.getDefaultInstance()); + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public monitoring.Monitoring.KpiId.Builder addKpiIdListBuilder( + int index) { + return getKpiIdListFieldBuilder().addBuilder( + index, monitoring.Monitoring.KpiId.getDefaultInstance()); + } + /** + * repeated .monitoring.KpiId kpi_id_list = 3; + */ + public java.util.List + getKpiIdListBuilderList() { + return getKpiIdListFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdListFieldBuilder() { + if (kpiIdListBuilder_ == null) { + kpiIdListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + kpiIdList_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + kpiIdList_ = null; + } + return kpiIdListBuilder_; + } + private int kpiSampleType_ = 0; /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return The enum numeric value on the wire for kpiSampleType. */ @java.lang.Override public int getKpiSampleTypeValue() { return kpiSampleType_; } /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @param value The enum numeric value on the wire for kpiSampleType to set. * @return This builder for chaining. */ @@ -879,7 +1601,7 @@ public final class Monitoring { return this; } /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return The kpiSampleType. */ @java.lang.Override @@ -889,7 +1611,7 @@ public final class Monitoring { return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; } /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @param value The kpiSampleType to set. * @return This builder for chaining. */ @@ -903,7 +1625,7 @@ public final class Monitoring { return this; } /** - * .kpi_sample_types.KpiSampleType kpi_sample_type = 2; + * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; * @return This builder for chaining. */ public Builder clearKpiSampleType() { @@ -917,14 +1639,14 @@ public final class Monitoring { private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> deviceIdBuilder_; /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; * @return Whether the deviceId field is set. */ public boolean hasDeviceId() { return deviceIdBuilder_ != null || deviceId_ != null; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; * @return The deviceId. */ public context.ContextOuterClass.DeviceId getDeviceId() { @@ -935,7 +1657,7 @@ public final class Monitoring { } } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ public Builder setDeviceId(context.ContextOuterClass.DeviceId value) { if (deviceIdBuilder_ == null) { @@ -951,7 +1673,7 @@ public final class Monitoring { return this; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ public Builder setDeviceId( context.ContextOuterClass.DeviceId.Builder builderForValue) { @@ -965,7 +1687,7 @@ public final class Monitoring { return this; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { if (deviceIdBuilder_ == null) { @@ -983,7 +1705,7 @@ public final class Monitoring { return this; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ public Builder clearDeviceId() { if (deviceIdBuilder_ == null) { @@ -997,7 +1719,7 @@ public final class Monitoring { return this; } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { @@ -1005,7 +1727,7 @@ public final class Monitoring { return getDeviceIdFieldBuilder().getBuilder(); } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { if (deviceIdBuilder_ != null) { @@ -1016,7 +1738,7 @@ public final class Monitoring { } } /** - * .context.DeviceId device_id = 3; + * .context.DeviceId device_id = 5; */ private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.DeviceId, context.ContextOuterClass.DeviceId.Builder, context.ContextOuterClass.DeviceIdOrBuilder> @@ -1036,14 +1758,14 @@ public final class Monitoring { private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> endpointIdBuilder_; /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; * @return Whether the endpointId field is set. */ public boolean hasEndpointId() { return endpointIdBuilder_ != null || endpointId_ != null; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; * @return The endpointId. */ public context.ContextOuterClass.EndPointId getEndpointId() { @@ -1054,7 +1776,7 @@ public final class Monitoring { } } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ public Builder setEndpointId(context.ContextOuterClass.EndPointId value) { if (endpointIdBuilder_ == null) { @@ -1070,7 +1792,7 @@ public final class Monitoring { return this; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ public Builder setEndpointId( context.ContextOuterClass.EndPointId.Builder builderForValue) { @@ -1084,7 +1806,7 @@ public final class Monitoring { return this; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { if (endpointIdBuilder_ == null) { @@ -1102,7 +1824,7 @@ public final class Monitoring { return this; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ public Builder clearEndpointId() { if (endpointIdBuilder_ == null) { @@ -1116,7 +1838,7 @@ public final class Monitoring { return this; } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { @@ -1124,7 +1846,7 @@ public final class Monitoring { return getEndpointIdFieldBuilder().getBuilder(); } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { if (endpointIdBuilder_ != null) { @@ -1135,7 +1857,7 @@ public final class Monitoring { } } /** - * .context.EndPointId endpoint_id = 4; + * .context.EndPointId endpoint_id = 6; */ private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.EndPointId, context.ContextOuterClass.EndPointId.Builder, context.ContextOuterClass.EndPointIdOrBuilder> @@ -1155,22 +1877,14 @@ public final class Monitoring { private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> serviceIdBuilder_; /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; * @return Whether the serviceId field is set. */ public boolean hasServiceId() { return serviceIdBuilder_ != null || serviceId_ != null; } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; * @return The serviceId. */ public context.ContextOuterClass.ServiceId getServiceId() { @@ -1181,11 +1895,7 @@ public final class Monitoring { } } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ public Builder setServiceId(context.ContextOuterClass.ServiceId value) { if (serviceIdBuilder_ == null) { @@ -1201,11 +1911,7 @@ public final class Monitoring { return this; } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ public Builder setServiceId( context.ContextOuterClass.ServiceId.Builder builderForValue) { @@ -1219,11 +1925,7 @@ public final class Monitoring { return this; } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { if (serviceIdBuilder_ == null) { @@ -1241,11 +1943,7 @@ public final class Monitoring { return this; } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ public Builder clearServiceId() { if (serviceIdBuilder_ == null) { @@ -1259,11 +1957,7 @@ public final class Monitoring { return this; } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { @@ -1271,11 +1965,7 @@ public final class Monitoring { return getServiceIdFieldBuilder().getBuilder(); } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { if (serviceIdBuilder_ != null) { @@ -1286,11 +1976,7 @@ public final class Monitoring { } } /** - *
-       *  context.SliceId    slice_id    = 6;
-       * 
- * - * .context.ServiceId service_id = 5; + * .context.ServiceId service_id = 7; */ private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.ServiceId, context.ContextOuterClass.ServiceId.Builder, context.ContextOuterClass.ServiceIdOrBuilder> @@ -1305,6 +1991,244 @@ public final class Monitoring { } return serviceIdBuilder_; } + + private context.ContextOuterClass.SliceId sliceId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> sliceIdBuilder_; + /** + * .context.SliceId slice_id = 8; + * @return Whether the sliceId field is set. + */ + public boolean hasSliceId() { + return sliceIdBuilder_ != null || sliceId_ != null; + } + /** + * .context.SliceId slice_id = 8; + * @return The sliceId. + */ + public context.ContextOuterClass.SliceId getSliceId() { + if (sliceIdBuilder_ == null) { + return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } else { + return sliceIdBuilder_.getMessage(); + } + } + /** + * .context.SliceId slice_id = 8; + */ + public Builder setSliceId(context.ContextOuterClass.SliceId value) { + if (sliceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sliceId_ = value; + onChanged(); + } else { + sliceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.SliceId slice_id = 8; + */ + public Builder setSliceId( + context.ContextOuterClass.SliceId.Builder builderForValue) { + if (sliceIdBuilder_ == null) { + sliceId_ = builderForValue.build(); + onChanged(); + } else { + sliceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.SliceId slice_id = 8; + */ + public Builder mergeSliceId(context.ContextOuterClass.SliceId value) { + if (sliceIdBuilder_ == null) { + if (sliceId_ != null) { + sliceId_ = + context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial(); + } else { + sliceId_ = value; + } + onChanged(); + } else { + sliceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.SliceId slice_id = 8; + */ + public Builder clearSliceId() { + if (sliceIdBuilder_ == null) { + sliceId_ = null; + onChanged(); + } else { + sliceId_ = null; + sliceIdBuilder_ = null; + } + + return this; + } + /** + * .context.SliceId slice_id = 8; + */ + public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() { + + onChanged(); + return getSliceIdFieldBuilder().getBuilder(); + } + /** + * .context.SliceId slice_id = 8; + */ + public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { + if (sliceIdBuilder_ != null) { + return sliceIdBuilder_.getMessageOrBuilder(); + } else { + return sliceId_ == null ? + context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + } + } + /** + * .context.SliceId slice_id = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder> + getSliceIdFieldBuilder() { + if (sliceIdBuilder_ == null) { + sliceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.SliceId, context.ContextOuterClass.SliceId.Builder, context.ContextOuterClass.SliceIdOrBuilder>( + getSliceId(), + getParentForChildren(), + isClean()); + sliceId_ = null; + } + return sliceIdBuilder_; + } + + private context.ContextOuterClass.ConnectionId connectionId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> connectionIdBuilder_; + /** + * .context.ConnectionId connection_id = 9; + * @return Whether the connectionId field is set. + */ + public boolean hasConnectionId() { + return connectionIdBuilder_ != null || connectionId_ != null; + } + /** + * .context.ConnectionId connection_id = 9; + * @return The connectionId. + */ + public context.ContextOuterClass.ConnectionId getConnectionId() { + if (connectionIdBuilder_ == null) { + return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } else { + return connectionIdBuilder_.getMessage(); + } + } + /** + * .context.ConnectionId connection_id = 9; + */ + public Builder setConnectionId(context.ContextOuterClass.ConnectionId value) { + if (connectionIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + connectionId_ = value; + onChanged(); + } else { + connectionIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 9; + */ + public Builder setConnectionId( + context.ContextOuterClass.ConnectionId.Builder builderForValue) { + if (connectionIdBuilder_ == null) { + connectionId_ = builderForValue.build(); + onChanged(); + } else { + connectionIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 9; + */ + public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { + if (connectionIdBuilder_ == null) { + if (connectionId_ != null) { + connectionId_ = + context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); + } else { + connectionId_ = value; + } + onChanged(); + } else { + connectionIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.ConnectionId connection_id = 9; + */ + public Builder clearConnectionId() { + if (connectionIdBuilder_ == null) { + connectionId_ = null; + onChanged(); + } else { + connectionId_ = null; + connectionIdBuilder_ = null; + } + + return this; + } + /** + * .context.ConnectionId connection_id = 9; + */ + public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { + + onChanged(); + return getConnectionIdFieldBuilder().getBuilder(); + } + /** + * .context.ConnectionId connection_id = 9; + */ + public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { + if (connectionIdBuilder_ != null) { + return connectionIdBuilder_.getMessageOrBuilder(); + } else { + return connectionId_ == null ? + context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + } + } + /** + * .context.ConnectionId connection_id = 9; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder> + getConnectionIdFieldBuilder() { + if (connectionIdBuilder_ == null) { + connectionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.ConnectionId, context.ContextOuterClass.ConnectionId.Builder, context.ContextOuterClass.ConnectionIdOrBuilder>( + getConnectionId(), + getParentForChildren(), + isClean()); + connectionId_ = null; + } + return connectionIdBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -1378,16 +2302,20 @@ public final class Monitoring { monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); /** - * float sampling_duration_s = 2; - * @return The samplingDurationS. + * float monitoring_window_s = 2; + * @return The monitoringWindowS. */ - float getSamplingDurationS(); + float getMonitoringWindowS(); /** - * float sampling_interval_s = 3; - * @return The samplingIntervalS. + *
+     * Pending add field to reflect Available Device Protocols
+     * 
+ * + * float sampling_rate_s = 3; + * @return The samplingRateS. */ - float getSamplingIntervalS(); + float getSamplingRateS(); } /** * Protobuf type {@code monitoring.MonitorKpiRequest} @@ -1449,12 +2377,12 @@ public final class Monitoring { } case 21: { - samplingDurationS_ = input.readFloat(); + monitoringWindowS_ = input.readFloat(); break; } case 29: { - samplingIntervalS_ = input.readFloat(); + samplingRateS_ = input.readFloat(); break; } default: { @@ -1515,26 +2443,30 @@ public final class Monitoring { return getKpiId(); } - public static final int SAMPLING_DURATION_S_FIELD_NUMBER = 2; - private float samplingDurationS_; + public static final int MONITORING_WINDOW_S_FIELD_NUMBER = 2; + private float monitoringWindowS_; /** - * float sampling_duration_s = 2; - * @return The samplingDurationS. + * float monitoring_window_s = 2; + * @return The monitoringWindowS. */ @java.lang.Override - public float getSamplingDurationS() { - return samplingDurationS_; + public float getMonitoringWindowS() { + return monitoringWindowS_; } - public static final int SAMPLING_INTERVAL_S_FIELD_NUMBER = 3; - private float samplingIntervalS_; + public static final int SAMPLING_RATE_S_FIELD_NUMBER = 3; + private float samplingRateS_; /** - * float sampling_interval_s = 3; - * @return The samplingIntervalS. + *
+     * Pending add field to reflect Available Device Protocols
+     * 
+ * + * float sampling_rate_s = 3; + * @return The samplingRateS. */ @java.lang.Override - public float getSamplingIntervalS() { - return samplingIntervalS_; + public float getSamplingRateS() { + return samplingRateS_; } private byte memoizedIsInitialized = -1; @@ -1554,11 +2486,11 @@ public final class Monitoring { if (kpiId_ != null) { output.writeMessage(1, getKpiId()); } - if (samplingDurationS_ != 0F) { - output.writeFloat(2, samplingDurationS_); + if (monitoringWindowS_ != 0F) { + output.writeFloat(2, monitoringWindowS_); } - if (samplingIntervalS_ != 0F) { - output.writeFloat(3, samplingIntervalS_); + if (samplingRateS_ != 0F) { + output.writeFloat(3, samplingRateS_); } unknownFields.writeTo(output); } @@ -1573,13 +2505,13 @@ public final class Monitoring { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getKpiId()); } - if (samplingDurationS_ != 0F) { + if (monitoringWindowS_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeFloatSize(2, samplingDurationS_); + .computeFloatSize(2, monitoringWindowS_); } - if (samplingIntervalS_ != 0F) { + if (samplingRateS_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeFloatSize(3, samplingIntervalS_); + .computeFloatSize(3, samplingRateS_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -1601,12 +2533,12 @@ public final class Monitoring { if (!getKpiId() .equals(other.getKpiId())) return false; } - if (java.lang.Float.floatToIntBits(getSamplingDurationS()) + if (java.lang.Float.floatToIntBits(getMonitoringWindowS()) != java.lang.Float.floatToIntBits( - other.getSamplingDurationS())) return false; - if (java.lang.Float.floatToIntBits(getSamplingIntervalS()) + other.getMonitoringWindowS())) return false; + if (java.lang.Float.floatToIntBits(getSamplingRateS()) != java.lang.Float.floatToIntBits( - other.getSamplingIntervalS())) return false; + other.getSamplingRateS())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1622,12 +2554,12 @@ public final class Monitoring { hash = (37 * hash) + KPI_ID_FIELD_NUMBER; hash = (53 * hash) + getKpiId().hashCode(); } - hash = (37 * hash) + SAMPLING_DURATION_S_FIELD_NUMBER; + hash = (37 * hash) + MONITORING_WINDOW_S_FIELD_NUMBER; hash = (53 * hash) + java.lang.Float.floatToIntBits( - getSamplingDurationS()); - hash = (37 * hash) + SAMPLING_INTERVAL_S_FIELD_NUMBER; + getMonitoringWindowS()); + hash = (37 * hash) + SAMPLING_RATE_S_FIELD_NUMBER; hash = (53 * hash) + java.lang.Float.floatToIntBits( - getSamplingIntervalS()); + getSamplingRateS()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1767,9 +2699,9 @@ public final class Monitoring { kpiId_ = null; kpiIdBuilder_ = null; } - samplingDurationS_ = 0F; + monitoringWindowS_ = 0F; - samplingIntervalS_ = 0F; + samplingRateS_ = 0F; return this; } @@ -1802,8 +2734,8 @@ public final class Monitoring { } else { result.kpiId_ = kpiIdBuilder_.build(); } - result.samplingDurationS_ = samplingDurationS_; - result.samplingIntervalS_ = samplingIntervalS_; + result.monitoringWindowS_ = monitoringWindowS_; + result.samplingRateS_ = samplingRateS_; onBuilt(); return result; } @@ -1855,11 +2787,11 @@ public final class Monitoring { if (other.hasKpiId()) { mergeKpiId(other.getKpiId()); } - if (other.getSamplingDurationS() != 0F) { - setSamplingDurationS(other.getSamplingDurationS()); + if (other.getMonitoringWindowS() != 0F) { + setMonitoringWindowS(other.getMonitoringWindowS()); } - if (other.getSamplingIntervalS() != 0F) { - setSamplingIntervalS(other.getSamplingIntervalS()); + if (other.getSamplingRateS() != 0F) { + setSamplingRateS(other.getSamplingRateS()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -2009,64 +2941,76 @@ public final class Monitoring { return kpiIdBuilder_; } - private float samplingDurationS_ ; + private float monitoringWindowS_ ; /** - * float sampling_duration_s = 2; - * @return The samplingDurationS. + * float monitoring_window_s = 2; + * @return The monitoringWindowS. */ @java.lang.Override - public float getSamplingDurationS() { - return samplingDurationS_; + public float getMonitoringWindowS() { + return monitoringWindowS_; } /** - * float sampling_duration_s = 2; - * @param value The samplingDurationS to set. + * float monitoring_window_s = 2; + * @param value The monitoringWindowS to set. * @return This builder for chaining. */ - public Builder setSamplingDurationS(float value) { + public Builder setMonitoringWindowS(float value) { - samplingDurationS_ = value; + monitoringWindowS_ = value; onChanged(); return this; } /** - * float sampling_duration_s = 2; + * float monitoring_window_s = 2; * @return This builder for chaining. */ - public Builder clearSamplingDurationS() { + public Builder clearMonitoringWindowS() { - samplingDurationS_ = 0F; + monitoringWindowS_ = 0F; onChanged(); return this; } - private float samplingIntervalS_ ; + private float samplingRateS_ ; /** - * float sampling_interval_s = 3; - * @return The samplingIntervalS. + *
+       * Pending add field to reflect Available Device Protocols
+       * 
+ * + * float sampling_rate_s = 3; + * @return The samplingRateS. */ @java.lang.Override - public float getSamplingIntervalS() { - return samplingIntervalS_; + public float getSamplingRateS() { + return samplingRateS_; } /** - * float sampling_interval_s = 3; - * @param value The samplingIntervalS to set. + *
+       * Pending add field to reflect Available Device Protocols
+       * 
+ * + * float sampling_rate_s = 3; + * @param value The samplingRateS to set. * @return This builder for chaining. */ - public Builder setSamplingIntervalS(float value) { + public Builder setSamplingRateS(float value) { - samplingIntervalS_ = value; + samplingRateS_ = value; onChanged(); return this; } /** - * float sampling_interval_s = 3; + *
+       * Pending add field to reflect Available Device Protocols
+       * 
+ * + * float sampling_rate_s = 3; * @return This builder for chaining. */ - public Builder clearSamplingIntervalS() { + public Builder clearSamplingRateS() { - samplingIntervalS_ = 0F; + samplingRateS_ = 0F; onChanged(); return this; } @@ -2123,53 +3067,133 @@ public final class Monitoring { } - public interface KpiIdOrBuilder extends - // @@protoc_insertion_point(interface_extends:monitoring.KpiId) + public interface KpiQueryOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.KpiQuery) com.google.protobuf.MessageOrBuilder { /** - * .context.Uuid kpi_id = 1; - * @return Whether the kpiId field is set. + * repeated .monitoring.KpiId kpi_ids = 1; */ - boolean hasKpiId(); + java.util.List + getKpiIdsList(); /** - * .context.Uuid kpi_id = 1; - * @return The kpiId. + * repeated .monitoring.KpiId kpi_ids = 1; */ - context.ContextOuterClass.Uuid getKpiId(); + monitoring.Monitoring.KpiId getKpiIds(int index); /** - * .context.Uuid kpi_id = 1; + * repeated .monitoring.KpiId kpi_ids = 1; */ - context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder(); - } - /** - * Protobuf type {@code monitoring.KpiId} - */ - public static final class KpiId extends - com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:monitoring.KpiId) - KpiIdOrBuilder { - private static final long serialVersionUID = 0L; - // Use KpiId.newBuilder() to construct. - private KpiId(com.google.protobuf.GeneratedMessageV3.Builder builder) { - super(builder); - } - private KpiId() { - } + int getKpiIdsCount(); + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + java.util.List + getKpiIdsOrBuilderList(); + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdsOrBuilder( + int index); - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new KpiId(); - } + /** + * float monitoring_window_s = 2; + * @return The monitoringWindowS. + */ + float getMonitoringWindowS(); - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private KpiId( + /** + *
+     * used when you want something like "get the last N many samples
+     * 
+ * + * uint32 last_n_samples = 3; + * @return The lastNSamples. + */ + int getLastNSamples(); + + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 4; + * @return Whether the startTimestamp field is set. + */ + boolean hasStartTimestamp(); + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 4; + * @return The startTimestamp. + */ + context.ContextOuterClass.Timestamp getStartTimestamp(); + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder(); + + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 5; + * @return Whether the endTimestamp field is set. + */ + boolean hasEndTimestamp(); + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 5; + * @return The endTimestamp. + */ + context.ContextOuterClass.Timestamp getEndTimestamp(); + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder(); + } + /** + * Protobuf type {@code monitoring.KpiQuery} + */ + public static final class KpiQuery extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.KpiQuery) + KpiQueryOrBuilder { + private static final long serialVersionUID = 0L; + // Use KpiQuery.newBuilder() to construct. + private KpiQuery(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private KpiQuery() { + kpiIds_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new KpiQuery(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KpiQuery( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2177,6 +3201,7 @@ public final class Monitoring { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -2188,14 +3213,46 @@ public final class Monitoring { done = true; break; case 10: { - context.ContextOuterClass.Uuid.Builder subBuilder = null; - if (kpiId_ != null) { - subBuilder = kpiId_.toBuilder(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; } - kpiId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + kpiIds_.add( + input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry)); + break; + } + case 21: { + + monitoringWindowS_ = input.readFloat(); + break; + } + case 24: { + + lastNSamples_ = input.readUInt32(); + break; + } + case 34: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (startTimestamp_ != null) { + subBuilder = startTimestamp_.toBuilder(); + } + startTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(kpiId_); - kpiId_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(startTimestamp_); + startTimestamp_ = subBuilder.buildPartial(); + } + + break; + } + case 42: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (endTimestamp_ != null) { + subBuilder = endTimestamp_.toBuilder(); + } + endTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endTimestamp_); + endTimestamp_ = subBuilder.buildPartial(); } break; @@ -2215,47 +3272,166 @@ public final class Monitoring { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIds_ = java.util.Collections.unmodifiableList(kpiIds_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor; + return monitoring.Monitoring.internal_static_monitoring_KpiQuery_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_KpiId_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_KpiQuery_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.KpiId.class, monitoring.Monitoring.KpiId.Builder.class); + monitoring.Monitoring.KpiQuery.class, monitoring.Monitoring.KpiQuery.Builder.class); } - public static final int KPI_ID_FIELD_NUMBER = 1; - private context.ContextOuterClass.Uuid kpiId_; + public static final int KPI_IDS_FIELD_NUMBER = 1; + private java.util.List kpiIds_; /** - * .context.Uuid kpi_id = 1; - * @return Whether the kpiId field is set. + * repeated .monitoring.KpiId kpi_ids = 1; */ @java.lang.Override - public boolean hasKpiId() { - return kpiId_ != null; + public java.util.List getKpiIdsList() { + return kpiIds_; } /** - * .context.Uuid kpi_id = 1; - * @return The kpiId. + * repeated .monitoring.KpiId kpi_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.Uuid getKpiId() { - return kpiId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_; + public java.util.List + getKpiIdsOrBuilderList() { + return kpiIds_; } /** - * .context.Uuid kpi_id = 1; + * repeated .monitoring.KpiId kpi_ids = 1; */ @java.lang.Override - public context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder() { - return getKpiId(); + public int getKpiIdsCount() { + return kpiIds_.size(); + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiIds(int index) { + return kpiIds_.get(index); + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdsOrBuilder( + int index) { + return kpiIds_.get(index); + } + + public static final int MONITORING_WINDOW_S_FIELD_NUMBER = 2; + private float monitoringWindowS_; + /** + * float monitoring_window_s = 2; + * @return The monitoringWindowS. + */ + @java.lang.Override + public float getMonitoringWindowS() { + return monitoringWindowS_; + } + + public static final int LAST_N_SAMPLES_FIELD_NUMBER = 3; + private int lastNSamples_; + /** + *
+     * used when you want something like "get the last N many samples
+     * 
+ * + * uint32 last_n_samples = 3; + * @return The lastNSamples. + */ + @java.lang.Override + public int getLastNSamples() { + return lastNSamples_; + } + + public static final int START_TIMESTAMP_FIELD_NUMBER = 4; + private context.ContextOuterClass.Timestamp startTimestamp_; + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 4; + * @return Whether the startTimestamp field is set. + */ + @java.lang.Override + public boolean hasStartTimestamp() { + return startTimestamp_ != null; + } + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 4; + * @return The startTimestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getStartTimestamp() { + return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_; + } + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() { + return getStartTimestamp(); + } + + public static final int END_TIMESTAMP_FIELD_NUMBER = 5; + private context.ContextOuterClass.Timestamp endTimestamp_; + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 5; + * @return Whether the endTimestamp field is set. + */ + @java.lang.Override + public boolean hasEndTimestamp() { + return endTimestamp_ != null; + } + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 5; + * @return The endTimestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getEndTimestamp() { + return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_; + } + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() { + return getEndTimestamp(); } private byte memoizedIsInitialized = -1; @@ -2272,8 +3448,20 @@ public final class Monitoring { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (kpiId_ != null) { - output.writeMessage(1, getKpiId()); + for (int i = 0; i < kpiIds_.size(); i++) { + output.writeMessage(1, kpiIds_.get(i)); + } + if (monitoringWindowS_ != 0F) { + output.writeFloat(2, monitoringWindowS_); + } + if (lastNSamples_ != 0) { + output.writeUInt32(3, lastNSamples_); + } + if (startTimestamp_ != null) { + output.writeMessage(4, getStartTimestamp()); + } + if (endTimestamp_ != null) { + output.writeMessage(5, getEndTimestamp()); } unknownFields.writeTo(output); } @@ -2284,9 +3472,25 @@ public final class Monitoring { if (size != -1) return size; size = 0; - if (kpiId_ != null) { + for (int i = 0; i < kpiIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getKpiId()); + .computeMessageSize(1, kpiIds_.get(i)); + } + if (monitoringWindowS_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, monitoringWindowS_); + } + if (lastNSamples_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, lastNSamples_); + } + if (startTimestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getStartTimestamp()); + } + if (endTimestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getEndTimestamp()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2298,15 +3502,27 @@ public final class Monitoring { if (obj == this) { return true; } - if (!(obj instanceof monitoring.Monitoring.KpiId)) { + if (!(obj instanceof monitoring.Monitoring.KpiQuery)) { return super.equals(obj); } - monitoring.Monitoring.KpiId other = (monitoring.Monitoring.KpiId) obj; + monitoring.Monitoring.KpiQuery other = (monitoring.Monitoring.KpiQuery) obj; - if (hasKpiId() != other.hasKpiId()) return false; - if (hasKpiId()) { - if (!getKpiId() - .equals(other.getKpiId())) return false; + if (!getKpiIdsList() + .equals(other.getKpiIdsList())) return false; + if (java.lang.Float.floatToIntBits(getMonitoringWindowS()) + != java.lang.Float.floatToIntBits( + other.getMonitoringWindowS())) return false; + if (getLastNSamples() + != other.getLastNSamples()) return false; + if (hasStartTimestamp() != other.hasStartTimestamp()) return false; + if (hasStartTimestamp()) { + if (!getStartTimestamp() + .equals(other.getStartTimestamp())) return false; + } + if (hasEndTimestamp() != other.hasEndTimestamp()) return false; + if (hasEndTimestamp()) { + if (!getEndTimestamp() + .equals(other.getEndTimestamp())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; @@ -2319,78 +3535,91 @@ public final class Monitoring { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasKpiId()) { - hash = (37 * hash) + KPI_ID_FIELD_NUMBER; - hash = (53 * hash) + getKpiId().hashCode(); + if (getKpiIdsCount() > 0) { + hash = (37 * hash) + KPI_IDS_FIELD_NUMBER; + hash = (53 * hash) + getKpiIdsList().hashCode(); + } + hash = (37 * hash) + MONITORING_WINDOW_S_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getMonitoringWindowS()); + hash = (37 * hash) + LAST_N_SAMPLES_FIELD_NUMBER; + hash = (53 * hash) + getLastNSamples(); + if (hasStartTimestamp()) { + hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getStartTimestamp().hashCode(); + } + if (hasEndTimestamp()) { + hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getEndTimestamp().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiId parseFrom(byte[] data) + public static monitoring.Monitoring.KpiQuery parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiId parseFrom(java.io.InputStream input) + public static monitoring.Monitoring.KpiQuery parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.KpiId parseDelimitedFrom(java.io.InputStream input) + public static monitoring.Monitoring.KpiQuery parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiId parseDelimitedFrom( + public static monitoring.Monitoring.KpiQuery parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiId parseFrom( + public static monitoring.Monitoring.KpiQuery parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2403,7 +3632,7 @@ public final class Monitoring { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(monitoring.Monitoring.KpiId prototype) { + public static Builder newBuilder(monitoring.Monitoring.KpiQuery prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -2419,26 +3648,26 @@ public final class Monitoring { return builder; } /** - * Protobuf type {@code monitoring.KpiId} + * Protobuf type {@code monitoring.KpiQuery} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:monitoring.KpiId) - monitoring.Monitoring.KpiIdOrBuilder { + // @@protoc_insertion_point(builder_implements:monitoring.KpiQuery) + monitoring.Monitoring.KpiQueryOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor; + return monitoring.Monitoring.internal_static_monitoring_KpiQuery_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_KpiId_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_KpiQuery_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.KpiId.class, monitoring.Monitoring.KpiId.Builder.class); + monitoring.Monitoring.KpiQuery.class, monitoring.Monitoring.KpiQuery.Builder.class); } - // Construct using monitoring.Monitoring.KpiId.newBuilder() + // Construct using monitoring.Monitoring.KpiQuery.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2451,16 +3680,33 @@ public final class Monitoring { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { + getKpiIdsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (kpiIdBuilder_ == null) { - kpiId_ = null; + if (kpiIdsBuilder_ == null) { + kpiIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - kpiId_ = null; - kpiIdBuilder_ = null; + kpiIdsBuilder_.clear(); + } + monitoringWindowS_ = 0F; + + lastNSamples_ = 0; + + if (startTimestampBuilder_ == null) { + startTimestamp_ = null; + } else { + startTimestamp_ = null; + startTimestampBuilder_ = null; + } + if (endTimestampBuilder_ == null) { + endTimestamp_ = null; + } else { + endTimestamp_ = null; + endTimestampBuilder_ = null; } return this; } @@ -2468,17 +3714,17 @@ public final class Monitoring { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor; + return monitoring.Monitoring.internal_static_monitoring_KpiQuery_descriptor; } @java.lang.Override - public monitoring.Monitoring.KpiId getDefaultInstanceForType() { - return monitoring.Monitoring.KpiId.getDefaultInstance(); + public monitoring.Monitoring.KpiQuery getDefaultInstanceForType() { + return monitoring.Monitoring.KpiQuery.getDefaultInstance(); } @java.lang.Override - public monitoring.Monitoring.KpiId build() { - monitoring.Monitoring.KpiId result = buildPartial(); + public monitoring.Monitoring.KpiQuery build() { + monitoring.Monitoring.KpiQuery result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -2486,12 +3732,29 @@ public final class Monitoring { } @java.lang.Override - public monitoring.Monitoring.KpiId buildPartial() { - monitoring.Monitoring.KpiId result = new monitoring.Monitoring.KpiId(this); - if (kpiIdBuilder_ == null) { - result.kpiId_ = kpiId_; + public monitoring.Monitoring.KpiQuery buildPartial() { + monitoring.Monitoring.KpiQuery result = new monitoring.Monitoring.KpiQuery(this); + int from_bitField0_ = bitField0_; + if (kpiIdsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + kpiIds_ = java.util.Collections.unmodifiableList(kpiIds_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.kpiIds_ = kpiIds_; } else { - result.kpiId_ = kpiIdBuilder_.build(); + result.kpiIds_ = kpiIdsBuilder_.build(); + } + result.monitoringWindowS_ = monitoringWindowS_; + result.lastNSamples_ = lastNSamples_; + if (startTimestampBuilder_ == null) { + result.startTimestamp_ = startTimestamp_; + } else { + result.startTimestamp_ = startTimestampBuilder_.build(); + } + if (endTimestampBuilder_ == null) { + result.endTimestamp_ = endTimestamp_; + } else { + result.endTimestamp_ = endTimestampBuilder_.build(); } onBuilt(); return result; @@ -2531,21 +3794,14728 @@ public final class Monitoring { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof monitoring.Monitoring.KpiId) { - return mergeFrom((monitoring.Monitoring.KpiId)other); + if (other instanceof monitoring.Monitoring.KpiQuery) { + return mergeFrom((monitoring.Monitoring.KpiQuery)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(monitoring.Monitoring.KpiId other) { - if (other == monitoring.Monitoring.KpiId.getDefaultInstance()) return this; - if (other.hasKpiId()) { - mergeKpiId(other.getKpiId()); - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); + public Builder mergeFrom(monitoring.Monitoring.KpiQuery other) { + if (other == monitoring.Monitoring.KpiQuery.getDefaultInstance()) return this; + if (kpiIdsBuilder_ == null) { + if (!other.kpiIds_.isEmpty()) { + if (kpiIds_.isEmpty()) { + kpiIds_ = other.kpiIds_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKpiIdsIsMutable(); + kpiIds_.addAll(other.kpiIds_); + } + onChanged(); + } + } else { + if (!other.kpiIds_.isEmpty()) { + if (kpiIdsBuilder_.isEmpty()) { + kpiIdsBuilder_.dispose(); + kpiIdsBuilder_ = null; + kpiIds_ = other.kpiIds_; + bitField0_ = (bitField0_ & ~0x00000001); + kpiIdsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getKpiIdsFieldBuilder() : null; + } else { + kpiIdsBuilder_.addAllMessages(other.kpiIds_); + } + } + } + if (other.getMonitoringWindowS() != 0F) { + setMonitoringWindowS(other.getMonitoringWindowS()); + } + if (other.getLastNSamples() != 0) { + setLastNSamples(other.getLastNSamples()); + } + if (other.hasStartTimestamp()) { + mergeStartTimestamp(other.getStartTimestamp()); + } + if (other.hasEndTimestamp()) { + mergeEndTimestamp(other.getEndTimestamp()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.KpiQuery parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiQuery) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List kpiIds_ = + java.util.Collections.emptyList(); + private void ensureKpiIdsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + kpiIds_ = new java.util.ArrayList(kpiIds_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdsBuilder_; + + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public java.util.List getKpiIdsList() { + if (kpiIdsBuilder_ == null) { + return java.util.Collections.unmodifiableList(kpiIds_); + } else { + return kpiIdsBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public int getKpiIdsCount() { + if (kpiIdsBuilder_ == null) { + return kpiIds_.size(); + } else { + return kpiIdsBuilder_.getCount(); + } + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public monitoring.Monitoring.KpiId getKpiIds(int index) { + if (kpiIdsBuilder_ == null) { + return kpiIds_.get(index); + } else { + return kpiIdsBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder setKpiIds( + int index, monitoring.Monitoring.KpiId value) { + if (kpiIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIdsIsMutable(); + kpiIds_.set(index, value); + onChanged(); + } else { + kpiIdsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder setKpiIds( + int index, monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdsBuilder_ == null) { + ensureKpiIdsIsMutable(); + kpiIds_.set(index, builderForValue.build()); + onChanged(); + } else { + kpiIdsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder addKpiIds(monitoring.Monitoring.KpiId value) { + if (kpiIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIdsIsMutable(); + kpiIds_.add(value); + onChanged(); + } else { + kpiIdsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder addKpiIds( + int index, monitoring.Monitoring.KpiId value) { + if (kpiIdsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIdsIsMutable(); + kpiIds_.add(index, value); + onChanged(); + } else { + kpiIdsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder addKpiIds( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdsBuilder_ == null) { + ensureKpiIdsIsMutable(); + kpiIds_.add(builderForValue.build()); + onChanged(); + } else { + kpiIdsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder addKpiIds( + int index, monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdsBuilder_ == null) { + ensureKpiIdsIsMutable(); + kpiIds_.add(index, builderForValue.build()); + onChanged(); + } else { + kpiIdsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder addAllKpiIds( + java.lang.Iterable values) { + if (kpiIdsBuilder_ == null) { + ensureKpiIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, kpiIds_); + onChanged(); + } else { + kpiIdsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder clearKpiIds() { + if (kpiIdsBuilder_ == null) { + kpiIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + kpiIdsBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public Builder removeKpiIds(int index) { + if (kpiIdsBuilder_ == null) { + ensureKpiIdsIsMutable(); + kpiIds_.remove(index); + onChanged(); + } else { + kpiIdsBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdsBuilder( + int index) { + return getKpiIdsFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdsOrBuilder( + int index) { + if (kpiIdsBuilder_ == null) { + return kpiIds_.get(index); } else { + return kpiIdsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public java.util.List + getKpiIdsOrBuilderList() { + if (kpiIdsBuilder_ != null) { + return kpiIdsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(kpiIds_); + } + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public monitoring.Monitoring.KpiId.Builder addKpiIdsBuilder() { + return getKpiIdsFieldBuilder().addBuilder( + monitoring.Monitoring.KpiId.getDefaultInstance()); + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public monitoring.Monitoring.KpiId.Builder addKpiIdsBuilder( + int index) { + return getKpiIdsFieldBuilder().addBuilder( + index, monitoring.Monitoring.KpiId.getDefaultInstance()); + } + /** + * repeated .monitoring.KpiId kpi_ids = 1; + */ + public java.util.List + getKpiIdsBuilderList() { + return getKpiIdsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdsFieldBuilder() { + if (kpiIdsBuilder_ == null) { + kpiIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + kpiIds_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + kpiIds_ = null; + } + return kpiIdsBuilder_; + } + + private float monitoringWindowS_ ; + /** + * float monitoring_window_s = 2; + * @return The monitoringWindowS. + */ + @java.lang.Override + public float getMonitoringWindowS() { + return monitoringWindowS_; + } + /** + * float monitoring_window_s = 2; + * @param value The monitoringWindowS to set. + * @return This builder for chaining. + */ + public Builder setMonitoringWindowS(float value) { + + monitoringWindowS_ = value; + onChanged(); + return this; + } + /** + * float monitoring_window_s = 2; + * @return This builder for chaining. + */ + public Builder clearMonitoringWindowS() { + + monitoringWindowS_ = 0F; + onChanged(); + return this; + } + + private int lastNSamples_ ; + /** + *
+       * used when you want something like "get the last N many samples
+       * 
+ * + * uint32 last_n_samples = 3; + * @return The lastNSamples. + */ + @java.lang.Override + public int getLastNSamples() { + return lastNSamples_; + } + /** + *
+       * used when you want something like "get the last N many samples
+       * 
+ * + * uint32 last_n_samples = 3; + * @param value The lastNSamples to set. + * @return This builder for chaining. + */ + public Builder setLastNSamples(int value) { + + lastNSamples_ = value; + onChanged(); + return this; + } + /** + *
+       * used when you want something like "get the last N many samples
+       * 
+ * + * uint32 last_n_samples = 3; + * @return This builder for chaining. + */ + public Builder clearLastNSamples() { + + lastNSamples_ = 0; + onChanged(); + return this; + } + + private context.ContextOuterClass.Timestamp startTimestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> startTimestampBuilder_; + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + * @return Whether the startTimestamp field is set. + */ + public boolean hasStartTimestamp() { + return startTimestampBuilder_ != null || startTimestamp_ != null; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + * @return The startTimestamp. + */ + public context.ContextOuterClass.Timestamp getStartTimestamp() { + if (startTimestampBuilder_ == null) { + return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_; + } else { + return startTimestampBuilder_.getMessage(); + } + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + public Builder setStartTimestamp(context.ContextOuterClass.Timestamp value) { + if (startTimestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + startTimestamp_ = value; + onChanged(); + } else { + startTimestampBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + public Builder setStartTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (startTimestampBuilder_ == null) { + startTimestamp_ = builderForValue.build(); + onChanged(); + } else { + startTimestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + public Builder mergeStartTimestamp(context.ContextOuterClass.Timestamp value) { + if (startTimestampBuilder_ == null) { + if (startTimestamp_ != null) { + startTimestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(startTimestamp_).mergeFrom(value).buildPartial(); + } else { + startTimestamp_ = value; + } + onChanged(); + } else { + startTimestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + public Builder clearStartTimestamp() { + if (startTimestampBuilder_ == null) { + startTimestamp_ = null; + onChanged(); + } else { + startTimestamp_ = null; + startTimestampBuilder_ = null; + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + public context.ContextOuterClass.Timestamp.Builder getStartTimestampBuilder() { + + onChanged(); + return getStartTimestampFieldBuilder().getBuilder(); + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() { + if (startTimestampBuilder_ != null) { + return startTimestampBuilder_.getMessageOrBuilder(); + } else { + return startTimestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_; + } + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getStartTimestampFieldBuilder() { + if (startTimestampBuilder_ == null) { + startTimestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getStartTimestamp(), + getParentForChildren(), + isClean()); + startTimestamp_ = null; + } + return startTimestampBuilder_; + } + + private context.ContextOuterClass.Timestamp endTimestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> endTimestampBuilder_; + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + * @return Whether the endTimestamp field is set. + */ + public boolean hasEndTimestamp() { + return endTimestampBuilder_ != null || endTimestamp_ != null; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + * @return The endTimestamp. + */ + public context.ContextOuterClass.Timestamp getEndTimestamp() { + if (endTimestampBuilder_ == null) { + return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_; + } else { + return endTimestampBuilder_.getMessage(); + } + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + public Builder setEndTimestamp(context.ContextOuterClass.Timestamp value) { + if (endTimestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTimestamp_ = value; + onChanged(); + } else { + endTimestampBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + public Builder setEndTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (endTimestampBuilder_ == null) { + endTimestamp_ = builderForValue.build(); + onChanged(); + } else { + endTimestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + public Builder mergeEndTimestamp(context.ContextOuterClass.Timestamp value) { + if (endTimestampBuilder_ == null) { + if (endTimestamp_ != null) { + endTimestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(endTimestamp_).mergeFrom(value).buildPartial(); + } else { + endTimestamp_ = value; + } + onChanged(); + } else { + endTimestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + public Builder clearEndTimestamp() { + if (endTimestampBuilder_ == null) { + endTimestamp_ = null; + onChanged(); + } else { + endTimestamp_ = null; + endTimestampBuilder_ = null; + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + public context.ContextOuterClass.Timestamp.Builder getEndTimestampBuilder() { + + onChanged(); + return getEndTimestampFieldBuilder().getBuilder(); + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() { + if (endTimestampBuilder_ != null) { + return endTimestampBuilder_.getMessageOrBuilder(); + } else { + return endTimestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_; + } + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getEndTimestampFieldBuilder() { + if (endTimestampBuilder_ == null) { + endTimestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getEndTimestamp(), + getParentForChildren(), + isClean()); + endTimestamp_ = null; + } + return endTimestampBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.KpiQuery) + } + + // @@protoc_insertion_point(class_scope:monitoring.KpiQuery) + private static final monitoring.Monitoring.KpiQuery DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.KpiQuery(); + } + + public static monitoring.Monitoring.KpiQuery getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KpiQuery parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KpiQuery(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.KpiQuery getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface RawKpiOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.RawKpi) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Timestamp timestamp = 1; + * @return Whether the timestamp field is set. + */ + boolean hasTimestamp(); + /** + * .context.Timestamp timestamp = 1; + * @return The timestamp. + */ + context.ContextOuterClass.Timestamp getTimestamp(); + /** + * .context.Timestamp timestamp = 1; + */ + context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder(); + + /** + * .monitoring.KpiValue kpi_value = 2; + * @return Whether the kpiValue field is set. + */ + boolean hasKpiValue(); + /** + * .monitoring.KpiValue kpi_value = 2; + * @return The kpiValue. + */ + monitoring.Monitoring.KpiValue getKpiValue(); + /** + * .monitoring.KpiValue kpi_value = 2; + */ + monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder(); + } + /** + *
+   * cell
+   * 
+ * + * Protobuf type {@code monitoring.RawKpi} + */ + public static final class RawKpi extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.RawKpi) + RawKpiOrBuilder { + private static final long serialVersionUID = 0L; + // Use RawKpi.newBuilder() to construct. + private RawKpi(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private RawKpi() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new RawKpi(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private RawKpi( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); + } + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + monitoring.Monitoring.KpiValue.Builder subBuilder = null; + if (kpiValue_ != null) { + subBuilder = kpiValue_.toBuilder(); + } + kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiValue_); + kpiValue_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_RawKpi_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_RawKpi_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.RawKpi.class, monitoring.Monitoring.RawKpi.Builder.class); + } + + public static final int TIMESTAMP_FIELD_NUMBER = 1; + private context.ContextOuterClass.Timestamp timestamp_; + /** + * .context.Timestamp timestamp = 1; + * @return Whether the timestamp field is set. + */ + @java.lang.Override + public boolean hasTimestamp() { + return timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 1; + * @return The timestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getTimestamp() { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + /** + * .context.Timestamp timestamp = 1; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + return getTimestamp(); + } + + public static final int KPI_VALUE_FIELD_NUMBER = 2; + private monitoring.Monitoring.KpiValue kpiValue_; + /** + * .monitoring.KpiValue kpi_value = 2; + * @return Whether the kpiValue field is set. + */ + @java.lang.Override + public boolean hasKpiValue() { + return kpiValue_ != null; + } + /** + * .monitoring.KpiValue kpi_value = 2; + * @return The kpiValue. + */ + @java.lang.Override + public monitoring.Monitoring.KpiValue getKpiValue() { + return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + @java.lang.Override + public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() { + return getKpiValue(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (timestamp_ != null) { + output.writeMessage(1, getTimestamp()); + } + if (kpiValue_ != null) { + output.writeMessage(2, getKpiValue()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (timestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getTimestamp()); + } + if (kpiValue_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getKpiValue()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.RawKpi)) { + return super.equals(obj); + } + monitoring.Monitoring.RawKpi other = (monitoring.Monitoring.RawKpi) obj; + + if (hasTimestamp() != other.hasTimestamp()) return false; + if (hasTimestamp()) { + if (!getTimestamp() + .equals(other.getTimestamp())) return false; + } + if (hasKpiValue() != other.hasKpiValue()) return false; + if (hasKpiValue()) { + if (!getKpiValue() + .equals(other.getKpiValue())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasTimestamp()) { + hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getTimestamp().hashCode(); + } + if (hasKpiValue()) { + hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getKpiValue().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.RawKpi parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpi parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpi parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpi parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpi parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpi parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpi parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpi parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.RawKpi parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpi parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.RawKpi parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpi parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.RawKpi prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * cell
+     * 
+ * + * Protobuf type {@code monitoring.RawKpi} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.RawKpi) + monitoring.Monitoring.RawKpiOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_RawKpi_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_RawKpi_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.RawKpi.class, monitoring.Monitoring.RawKpi.Builder.class); + } + + // Construct using monitoring.Monitoring.RawKpi.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (timestampBuilder_ == null) { + timestamp_ = null; + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + if (kpiValueBuilder_ == null) { + kpiValue_ = null; + } else { + kpiValue_ = null; + kpiValueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_RawKpi_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpi getDefaultInstanceForType() { + return monitoring.Monitoring.RawKpi.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.RawKpi build() { + monitoring.Monitoring.RawKpi result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpi buildPartial() { + monitoring.Monitoring.RawKpi result = new monitoring.Monitoring.RawKpi(this); + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; + } else { + result.timestamp_ = timestampBuilder_.build(); + } + if (kpiValueBuilder_ == null) { + result.kpiValue_ = kpiValue_; + } else { + result.kpiValue_ = kpiValueBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.RawKpi) { + return mergeFrom((monitoring.Monitoring.RawKpi)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.RawKpi other) { + if (other == monitoring.Monitoring.RawKpi.getDefaultInstance()) return this; + if (other.hasTimestamp()) { + mergeTimestamp(other.getTimestamp()); + } + if (other.hasKpiValue()) { + mergeKpiValue(other.getKpiValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.RawKpi parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.RawKpi) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Timestamp timestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> timestampBuilder_; + /** + * .context.Timestamp timestamp = 1; + * @return Whether the timestamp field is set. + */ + public boolean hasTimestamp() { + return timestampBuilder_ != null || timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 1; + * @return The timestamp. + */ + public context.ContextOuterClass.Timestamp getTimestamp() { + if (timestampBuilder_ == null) { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } else { + return timestampBuilder_.getMessage(); + } + } + /** + * .context.Timestamp timestamp = 1; + */ + public Builder setTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timestamp_ = value; + onChanged(); + } else { + timestampBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 1; + */ + public Builder setTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (timestampBuilder_ == null) { + timestamp_ = builderForValue.build(); + onChanged(); + } else { + timestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Timestamp timestamp = 1; + */ + public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (timestamp_ != null) { + timestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); + } else { + timestamp_ = value; + } + onChanged(); + } else { + timestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 1; + */ + public Builder clearTimestamp() { + if (timestampBuilder_ == null) { + timestamp_ = null; + onChanged(); + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + + return this; + } + /** + * .context.Timestamp timestamp = 1; + */ + public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { + + onChanged(); + return getTimestampFieldBuilder().getBuilder(); + } + /** + * .context.Timestamp timestamp = 1; + */ + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + if (timestampBuilder_ != null) { + return timestampBuilder_.getMessageOrBuilder(); + } else { + return timestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + } + /** + * .context.Timestamp timestamp = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getTimestampFieldBuilder() { + if (timestampBuilder_ == null) { + timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getTimestamp(), + getParentForChildren(), + isClean()); + timestamp_ = null; + } + return timestampBuilder_; + } + + private monitoring.Monitoring.KpiValue kpiValue_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> kpiValueBuilder_; + /** + * .monitoring.KpiValue kpi_value = 2; + * @return Whether the kpiValue field is set. + */ + public boolean hasKpiValue() { + return kpiValueBuilder_ != null || kpiValue_ != null; + } + /** + * .monitoring.KpiValue kpi_value = 2; + * @return The kpiValue. + */ + public monitoring.Monitoring.KpiValue getKpiValue() { + if (kpiValueBuilder_ == null) { + return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; + } else { + return kpiValueBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + public Builder setKpiValue(monitoring.Monitoring.KpiValue value) { + if (kpiValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiValue_ = value; + onChanged(); + } else { + kpiValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + public Builder setKpiValue( + monitoring.Monitoring.KpiValue.Builder builderForValue) { + if (kpiValueBuilder_ == null) { + kpiValue_ = builderForValue.build(); + onChanged(); + } else { + kpiValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) { + if (kpiValueBuilder_ == null) { + if (kpiValue_ != null) { + kpiValue_ = + monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial(); + } else { + kpiValue_ = value; + } + onChanged(); + } else { + kpiValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + public Builder clearKpiValue() { + if (kpiValueBuilder_ == null) { + kpiValue_ = null; + onChanged(); + } else { + kpiValue_ = null; + kpiValueBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() { + + onChanged(); + return getKpiValueFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() { + if (kpiValueBuilder_ != null) { + return kpiValueBuilder_.getMessageOrBuilder(); + } else { + return kpiValue_ == null ? + monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; + } + } + /** + * .monitoring.KpiValue kpi_value = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> + getKpiValueFieldBuilder() { + if (kpiValueBuilder_ == null) { + kpiValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder>( + getKpiValue(), + getParentForChildren(), + isClean()); + kpiValue_ = null; + } + return kpiValueBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.RawKpi) + } + + // @@protoc_insertion_point(class_scope:monitoring.RawKpi) + private static final monitoring.Monitoring.RawKpi DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.RawKpi(); + } + + public static monitoring.Monitoring.RawKpi getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public RawKpi parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RawKpi(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpi getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface RawKpiListOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.RawKpiList) + com.google.protobuf.MessageOrBuilder { + + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + boolean hasKpiId(); + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + monitoring.Monitoring.KpiId getKpiId(); + /** + * .monitoring.KpiId kpi_id = 1; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); + + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + java.util.List + getRawKpisList(); + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + monitoring.Monitoring.RawKpi getRawKpis(int index); + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + int getRawKpisCount(); + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + java.util.List + getRawKpisOrBuilderList(); + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + monitoring.Monitoring.RawKpiOrBuilder getRawKpisOrBuilder( + int index); + } + /** + *
+   * column
+   * 
+ * + * Protobuf type {@code monitoring.RawKpiList} + */ + public static final class RawKpiList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.RawKpiList) + RawKpiListOrBuilder { + private static final long serialVersionUID = 0L; + // Use RawKpiList.newBuilder() to construct. + private RawKpiList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private RawKpiList() { + rawKpis_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new RawKpiList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private RawKpiList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + rawKpis_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + rawKpis_.add( + input.readMessage(monitoring.Monitoring.RawKpi.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + rawKpis_ = java.util.Collections.unmodifiableList(rawKpis_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.RawKpiList.class, monitoring.Monitoring.RawKpiList.Builder.class); + } + + public static final int KPI_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.KpiId kpiId_; + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + @java.lang.Override + public boolean hasKpiId() { + return kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiId() { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + return getKpiId(); + } + + public static final int RAW_KPIS_FIELD_NUMBER = 2; + private java.util.List rawKpis_; + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + @java.lang.Override + public java.util.List getRawKpisList() { + return rawKpis_; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + @java.lang.Override + public java.util.List + getRawKpisOrBuilderList() { + return rawKpis_; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + @java.lang.Override + public int getRawKpisCount() { + return rawKpis_.size(); + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + @java.lang.Override + public monitoring.Monitoring.RawKpi getRawKpis(int index) { + return rawKpis_.get(index); + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + @java.lang.Override + public monitoring.Monitoring.RawKpiOrBuilder getRawKpisOrBuilder( + int index) { + return rawKpis_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (kpiId_ != null) { + output.writeMessage(1, getKpiId()); + } + for (int i = 0; i < rawKpis_.size(); i++) { + output.writeMessage(2, rawKpis_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (kpiId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getKpiId()); + } + for (int i = 0; i < rawKpis_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, rawKpis_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.RawKpiList)) { + return super.equals(obj); + } + monitoring.Monitoring.RawKpiList other = (monitoring.Monitoring.RawKpiList) obj; + + if (hasKpiId() != other.hasKpiId()) return false; + if (hasKpiId()) { + if (!getKpiId() + .equals(other.getKpiId())) return false; + } + if (!getRawKpisList() + .equals(other.getRawKpisList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasKpiId()) { + hash = (37 * hash) + KPI_ID_FIELD_NUMBER; + hash = (53 * hash) + getKpiId().hashCode(); + } + if (getRawKpisCount() > 0) { + hash = (37 * hash) + RAW_KPIS_FIELD_NUMBER; + hash = (53 * hash) + getRawKpisList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.RawKpiList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpiList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpiList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.RawKpiList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * column
+     * 
+ * + * Protobuf type {@code monitoring.RawKpiList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.RawKpiList) + monitoring.Monitoring.RawKpiListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.RawKpiList.class, monitoring.Monitoring.RawKpiList.Builder.class); + } + + // Construct using monitoring.Monitoring.RawKpiList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getRawKpisFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + if (rawKpisBuilder_ == null) { + rawKpis_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + rawKpisBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiList_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiList getDefaultInstanceForType() { + return monitoring.Monitoring.RawKpiList.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiList build() { + monitoring.Monitoring.RawKpiList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiList buildPartial() { + monitoring.Monitoring.RawKpiList result = new monitoring.Monitoring.RawKpiList(this); + int from_bitField0_ = bitField0_; + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + if (rawKpisBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + rawKpis_ = java.util.Collections.unmodifiableList(rawKpis_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.rawKpis_ = rawKpis_; + } else { + result.rawKpis_ = rawKpisBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.RawKpiList) { + return mergeFrom((monitoring.Monitoring.RawKpiList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.RawKpiList other) { + if (other == monitoring.Monitoring.RawKpiList.getDefaultInstance()) return this; + if (other.hasKpiId()) { + mergeKpiId(other.getKpiId()); + } + if (rawKpisBuilder_ == null) { + if (!other.rawKpis_.isEmpty()) { + if (rawKpis_.isEmpty()) { + rawKpis_ = other.rawKpis_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureRawKpisIsMutable(); + rawKpis_.addAll(other.rawKpis_); + } + onChanged(); + } + } else { + if (!other.rawKpis_.isEmpty()) { + if (rawKpisBuilder_.isEmpty()) { + rawKpisBuilder_.dispose(); + rawKpisBuilder_ = null; + rawKpis_ = other.rawKpis_; + bitField0_ = (bitField0_ & ~0x00000001); + rawKpisBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getRawKpisFieldBuilder() : null; + } else { + rawKpisBuilder_.addAllMessages(other.rawKpis_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.RawKpiList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.RawKpiList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private monitoring.Monitoring.KpiId kpiId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdBuilder_; + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + public boolean hasKpiId() { + return kpiIdBuilder_ != null || kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + public monitoring.Monitoring.KpiId getKpiId() { + if (kpiIdBuilder_ == null) { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } else { + return kpiIdBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder setKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiId_ = value; + onChanged(); + } else { + kpiIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder setKpiId( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdBuilder_ == null) { + kpiId_ = builderForValue.build(); + onChanged(); + } else { + kpiIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (kpiId_ != null) { + kpiId_ = + monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + } else { + kpiId_ = value; + } + onChanged(); + } else { + kpiIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder clearKpiId() { + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { + + onChanged(); + return getKpiIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + if (kpiIdBuilder_ != null) { + return kpiIdBuilder_.getMessageOrBuilder(); + } else { + return kpiId_ == null ? + monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdFieldBuilder() { + if (kpiIdBuilder_ == null) { + kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + getKpiId(), + getParentForChildren(), + isClean()); + kpiId_ = null; + } + return kpiIdBuilder_; + } + + private java.util.List rawKpis_ = + java.util.Collections.emptyList(); + private void ensureRawKpisIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + rawKpis_ = new java.util.ArrayList(rawKpis_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.RawKpi, monitoring.Monitoring.RawKpi.Builder, monitoring.Monitoring.RawKpiOrBuilder> rawKpisBuilder_; + + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public java.util.List getRawKpisList() { + if (rawKpisBuilder_ == null) { + return java.util.Collections.unmodifiableList(rawKpis_); + } else { + return rawKpisBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public int getRawKpisCount() { + if (rawKpisBuilder_ == null) { + return rawKpis_.size(); + } else { + return rawKpisBuilder_.getCount(); + } + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public monitoring.Monitoring.RawKpi getRawKpis(int index) { + if (rawKpisBuilder_ == null) { + return rawKpis_.get(index); + } else { + return rawKpisBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder setRawKpis( + int index, monitoring.Monitoring.RawKpi value) { + if (rawKpisBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRawKpisIsMutable(); + rawKpis_.set(index, value); + onChanged(); + } else { + rawKpisBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder setRawKpis( + int index, monitoring.Monitoring.RawKpi.Builder builderForValue) { + if (rawKpisBuilder_ == null) { + ensureRawKpisIsMutable(); + rawKpis_.set(index, builderForValue.build()); + onChanged(); + } else { + rawKpisBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder addRawKpis(monitoring.Monitoring.RawKpi value) { + if (rawKpisBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRawKpisIsMutable(); + rawKpis_.add(value); + onChanged(); + } else { + rawKpisBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder addRawKpis( + int index, monitoring.Monitoring.RawKpi value) { + if (rawKpisBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRawKpisIsMutable(); + rawKpis_.add(index, value); + onChanged(); + } else { + rawKpisBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder addRawKpis( + monitoring.Monitoring.RawKpi.Builder builderForValue) { + if (rawKpisBuilder_ == null) { + ensureRawKpisIsMutable(); + rawKpis_.add(builderForValue.build()); + onChanged(); + } else { + rawKpisBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder addRawKpis( + int index, monitoring.Monitoring.RawKpi.Builder builderForValue) { + if (rawKpisBuilder_ == null) { + ensureRawKpisIsMutable(); + rawKpis_.add(index, builderForValue.build()); + onChanged(); + } else { + rawKpisBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder addAllRawKpis( + java.lang.Iterable values) { + if (rawKpisBuilder_ == null) { + ensureRawKpisIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, rawKpis_); + onChanged(); + } else { + rawKpisBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder clearRawKpis() { + if (rawKpisBuilder_ == null) { + rawKpis_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + rawKpisBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public Builder removeRawKpis(int index) { + if (rawKpisBuilder_ == null) { + ensureRawKpisIsMutable(); + rawKpis_.remove(index); + onChanged(); + } else { + rawKpisBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public monitoring.Monitoring.RawKpi.Builder getRawKpisBuilder( + int index) { + return getRawKpisFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public monitoring.Monitoring.RawKpiOrBuilder getRawKpisOrBuilder( + int index) { + if (rawKpisBuilder_ == null) { + return rawKpis_.get(index); } else { + return rawKpisBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public java.util.List + getRawKpisOrBuilderList() { + if (rawKpisBuilder_ != null) { + return rawKpisBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(rawKpis_); + } + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public monitoring.Monitoring.RawKpi.Builder addRawKpisBuilder() { + return getRawKpisFieldBuilder().addBuilder( + monitoring.Monitoring.RawKpi.getDefaultInstance()); + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public monitoring.Monitoring.RawKpi.Builder addRawKpisBuilder( + int index) { + return getRawKpisFieldBuilder().addBuilder( + index, monitoring.Monitoring.RawKpi.getDefaultInstance()); + } + /** + * repeated .monitoring.RawKpi raw_kpis = 2; + */ + public java.util.List + getRawKpisBuilderList() { + return getRawKpisFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.RawKpi, monitoring.Monitoring.RawKpi.Builder, monitoring.Monitoring.RawKpiOrBuilder> + getRawKpisFieldBuilder() { + if (rawKpisBuilder_ == null) { + rawKpisBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.RawKpi, monitoring.Monitoring.RawKpi.Builder, monitoring.Monitoring.RawKpiOrBuilder>( + rawKpis_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + rawKpis_ = null; + } + return rawKpisBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.RawKpiList) + } + + // @@protoc_insertion_point(class_scope:monitoring.RawKpiList) + private static final monitoring.Monitoring.RawKpiList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.RawKpiList(); + } + + public static monitoring.Monitoring.RawKpiList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public RawKpiList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RawKpiList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface RawKpiTableOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.RawKpiTable) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + java.util.List + getRawKpiListsList(); + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + monitoring.Monitoring.RawKpiList getRawKpiLists(int index); + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + int getRawKpiListsCount(); + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + java.util.List + getRawKpiListsOrBuilderList(); + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + monitoring.Monitoring.RawKpiListOrBuilder getRawKpiListsOrBuilder( + int index); + } + /** + *
+   * table
+   * 
+ * + * Protobuf type {@code monitoring.RawKpiTable} + */ + public static final class RawKpiTable extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.RawKpiTable) + RawKpiTableOrBuilder { + private static final long serialVersionUID = 0L; + // Use RawKpiTable.newBuilder() to construct. + private RawKpiTable(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private RawKpiTable() { + rawKpiLists_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new RawKpiTable(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private RawKpiTable( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + rawKpiLists_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + rawKpiLists_.add( + input.readMessage(monitoring.Monitoring.RawKpiList.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + rawKpiLists_ = java.util.Collections.unmodifiableList(rawKpiLists_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.RawKpiTable.class, monitoring.Monitoring.RawKpiTable.Builder.class); + } + + public static final int RAW_KPI_LISTS_FIELD_NUMBER = 1; + private java.util.List rawKpiLists_; + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + @java.lang.Override + public java.util.List getRawKpiListsList() { + return rawKpiLists_; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + @java.lang.Override + public java.util.List + getRawKpiListsOrBuilderList() { + return rawKpiLists_; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + @java.lang.Override + public int getRawKpiListsCount() { + return rawKpiLists_.size(); + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + @java.lang.Override + public monitoring.Monitoring.RawKpiList getRawKpiLists(int index) { + return rawKpiLists_.get(index); + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + @java.lang.Override + public monitoring.Monitoring.RawKpiListOrBuilder getRawKpiListsOrBuilder( + int index) { + return rawKpiLists_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < rawKpiLists_.size(); i++) { + output.writeMessage(1, rawKpiLists_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < rawKpiLists_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, rawKpiLists_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.RawKpiTable)) { + return super.equals(obj); + } + monitoring.Monitoring.RawKpiTable other = (monitoring.Monitoring.RawKpiTable) obj; + + if (!getRawKpiListsList() + .equals(other.getRawKpiListsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getRawKpiListsCount() > 0) { + hash = (37 * hash) + RAW_KPI_LISTS_FIELD_NUMBER; + hash = (53 * hash) + getRawKpiListsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.RawKpiTable parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiTable parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiTable parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiTable parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpiTable parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.RawKpiTable parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.RawKpiTable prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * table
+     * 
+ * + * Protobuf type {@code monitoring.RawKpiTable} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.RawKpiTable) + monitoring.Monitoring.RawKpiTableOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.RawKpiTable.class, monitoring.Monitoring.RawKpiTable.Builder.class); + } + + // Construct using monitoring.Monitoring.RawKpiTable.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getRawKpiListsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (rawKpiListsBuilder_ == null) { + rawKpiLists_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + rawKpiListsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiTable getDefaultInstanceForType() { + return monitoring.Monitoring.RawKpiTable.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiTable build() { + monitoring.Monitoring.RawKpiTable result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiTable buildPartial() { + monitoring.Monitoring.RawKpiTable result = new monitoring.Monitoring.RawKpiTable(this); + int from_bitField0_ = bitField0_; + if (rawKpiListsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + rawKpiLists_ = java.util.Collections.unmodifiableList(rawKpiLists_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.rawKpiLists_ = rawKpiLists_; + } else { + result.rawKpiLists_ = rawKpiListsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.RawKpiTable) { + return mergeFrom((monitoring.Monitoring.RawKpiTable)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.RawKpiTable other) { + if (other == monitoring.Monitoring.RawKpiTable.getDefaultInstance()) return this; + if (rawKpiListsBuilder_ == null) { + if (!other.rawKpiLists_.isEmpty()) { + if (rawKpiLists_.isEmpty()) { + rawKpiLists_ = other.rawKpiLists_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureRawKpiListsIsMutable(); + rawKpiLists_.addAll(other.rawKpiLists_); + } + onChanged(); + } + } else { + if (!other.rawKpiLists_.isEmpty()) { + if (rawKpiListsBuilder_.isEmpty()) { + rawKpiListsBuilder_.dispose(); + rawKpiListsBuilder_ = null; + rawKpiLists_ = other.rawKpiLists_; + bitField0_ = (bitField0_ & ~0x00000001); + rawKpiListsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getRawKpiListsFieldBuilder() : null; + } else { + rawKpiListsBuilder_.addAllMessages(other.rawKpiLists_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.RawKpiTable parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.RawKpiTable) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List rawKpiLists_ = + java.util.Collections.emptyList(); + private void ensureRawKpiListsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + rawKpiLists_ = new java.util.ArrayList(rawKpiLists_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.RawKpiList, monitoring.Monitoring.RawKpiList.Builder, monitoring.Monitoring.RawKpiListOrBuilder> rawKpiListsBuilder_; + + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public java.util.List getRawKpiListsList() { + if (rawKpiListsBuilder_ == null) { + return java.util.Collections.unmodifiableList(rawKpiLists_); + } else { + return rawKpiListsBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public int getRawKpiListsCount() { + if (rawKpiListsBuilder_ == null) { + return rawKpiLists_.size(); + } else { + return rawKpiListsBuilder_.getCount(); + } + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public monitoring.Monitoring.RawKpiList getRawKpiLists(int index) { + if (rawKpiListsBuilder_ == null) { + return rawKpiLists_.get(index); + } else { + return rawKpiListsBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder setRawKpiLists( + int index, monitoring.Monitoring.RawKpiList value) { + if (rawKpiListsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRawKpiListsIsMutable(); + rawKpiLists_.set(index, value); + onChanged(); + } else { + rawKpiListsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder setRawKpiLists( + int index, monitoring.Monitoring.RawKpiList.Builder builderForValue) { + if (rawKpiListsBuilder_ == null) { + ensureRawKpiListsIsMutable(); + rawKpiLists_.set(index, builderForValue.build()); + onChanged(); + } else { + rawKpiListsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder addRawKpiLists(monitoring.Monitoring.RawKpiList value) { + if (rawKpiListsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRawKpiListsIsMutable(); + rawKpiLists_.add(value); + onChanged(); + } else { + rawKpiListsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder addRawKpiLists( + int index, monitoring.Monitoring.RawKpiList value) { + if (rawKpiListsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRawKpiListsIsMutable(); + rawKpiLists_.add(index, value); + onChanged(); + } else { + rawKpiListsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder addRawKpiLists( + monitoring.Monitoring.RawKpiList.Builder builderForValue) { + if (rawKpiListsBuilder_ == null) { + ensureRawKpiListsIsMutable(); + rawKpiLists_.add(builderForValue.build()); + onChanged(); + } else { + rawKpiListsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder addRawKpiLists( + int index, monitoring.Monitoring.RawKpiList.Builder builderForValue) { + if (rawKpiListsBuilder_ == null) { + ensureRawKpiListsIsMutable(); + rawKpiLists_.add(index, builderForValue.build()); + onChanged(); + } else { + rawKpiListsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder addAllRawKpiLists( + java.lang.Iterable values) { + if (rawKpiListsBuilder_ == null) { + ensureRawKpiListsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, rawKpiLists_); + onChanged(); + } else { + rawKpiListsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder clearRawKpiLists() { + if (rawKpiListsBuilder_ == null) { + rawKpiLists_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + rawKpiListsBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public Builder removeRawKpiLists(int index) { + if (rawKpiListsBuilder_ == null) { + ensureRawKpiListsIsMutable(); + rawKpiLists_.remove(index); + onChanged(); + } else { + rawKpiListsBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public monitoring.Monitoring.RawKpiList.Builder getRawKpiListsBuilder( + int index) { + return getRawKpiListsFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public monitoring.Monitoring.RawKpiListOrBuilder getRawKpiListsOrBuilder( + int index) { + if (rawKpiListsBuilder_ == null) { + return rawKpiLists_.get(index); } else { + return rawKpiListsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public java.util.List + getRawKpiListsOrBuilderList() { + if (rawKpiListsBuilder_ != null) { + return rawKpiListsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(rawKpiLists_); + } + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public monitoring.Monitoring.RawKpiList.Builder addRawKpiListsBuilder() { + return getRawKpiListsFieldBuilder().addBuilder( + monitoring.Monitoring.RawKpiList.getDefaultInstance()); + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public monitoring.Monitoring.RawKpiList.Builder addRawKpiListsBuilder( + int index) { + return getRawKpiListsFieldBuilder().addBuilder( + index, monitoring.Monitoring.RawKpiList.getDefaultInstance()); + } + /** + * repeated .monitoring.RawKpiList raw_kpi_lists = 1; + */ + public java.util.List + getRawKpiListsBuilderList() { + return getRawKpiListsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.RawKpiList, monitoring.Monitoring.RawKpiList.Builder, monitoring.Monitoring.RawKpiListOrBuilder> + getRawKpiListsFieldBuilder() { + if (rawKpiListsBuilder_ == null) { + rawKpiListsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.RawKpiList, monitoring.Monitoring.RawKpiList.Builder, monitoring.Monitoring.RawKpiListOrBuilder>( + rawKpiLists_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + rawKpiLists_ = null; + } + return rawKpiListsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.RawKpiTable) + } + + // @@protoc_insertion_point(class_scope:monitoring.RawKpiTable) + private static final monitoring.Monitoring.RawKpiTable DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.RawKpiTable(); + } + + public static monitoring.Monitoring.RawKpiTable getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public RawKpiTable parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RawKpiTable(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.RawKpiTable getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface KpiIdOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.KpiId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid kpi_id = 1; + * @return Whether the kpiId field is set. + */ + boolean hasKpiId(); + /** + * .context.Uuid kpi_id = 1; + * @return The kpiId. + */ + context.ContextOuterClass.Uuid getKpiId(); + /** + * .context.Uuid kpi_id = 1; + */ + context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder(); + } + /** + * Protobuf type {@code monitoring.KpiId} + */ + public static final class KpiId extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.KpiId) + KpiIdOrBuilder { + private static final long serialVersionUID = 0L; + // Use KpiId.newBuilder() to construct. + private KpiId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private KpiId() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new KpiId(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KpiId( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiId.class, monitoring.Monitoring.KpiId.Builder.class); + } + + public static final int KPI_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid kpiId_; + /** + * .context.Uuid kpi_id = 1; + * @return Whether the kpiId field is set. + */ + @java.lang.Override + public boolean hasKpiId() { + return kpiId_ != null; + } + /** + * .context.Uuid kpi_id = 1; + * @return The kpiId. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getKpiId() { + return kpiId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_; + } + /** + * .context.Uuid kpi_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder() { + return getKpiId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (kpiId_ != null) { + output.writeMessage(1, getKpiId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (kpiId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getKpiId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.KpiId)) { + return super.equals(obj); + } + monitoring.Monitoring.KpiId other = (monitoring.Monitoring.KpiId) obj; + + if (hasKpiId() != other.hasKpiId()) return false; + if (hasKpiId()) { + if (!getKpiId() + .equals(other.getKpiId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasKpiId()) { + hash = (37 * hash) + KPI_ID_FIELD_NUMBER; + hash = (53 * hash) + getKpiId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.KpiId parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiId parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiId parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiId parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiId parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiId parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiId parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiId parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiId parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiId parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiId parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiId parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.KpiId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.KpiId} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.KpiId) + monitoring.Monitoring.KpiIdOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiId_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiId.class, monitoring.Monitoring.KpiId.Builder.class); + } + + // Construct using monitoring.Monitoring.KpiId.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.KpiId getDefaultInstanceForType() { + return monitoring.Monitoring.KpiId.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.KpiId build() { + monitoring.Monitoring.KpiId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.KpiId buildPartial() { + monitoring.Monitoring.KpiId result = new monitoring.Monitoring.KpiId(this); + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.KpiId) { + return mergeFrom((monitoring.Monitoring.KpiId)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.KpiId other) { + if (other == monitoring.Monitoring.KpiId.getDefaultInstance()) return this; + if (other.hasKpiId()) { + mergeKpiId(other.getKpiId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.KpiId parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiId) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Uuid kpiId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> kpiIdBuilder_; + /** + * .context.Uuid kpi_id = 1; + * @return Whether the kpiId field is set. + */ + public boolean hasKpiId() { + return kpiIdBuilder_ != null || kpiId_ != null; + } + /** + * .context.Uuid kpi_id = 1; + * @return The kpiId. + */ + public context.ContextOuterClass.Uuid getKpiId() { + if (kpiIdBuilder_ == null) { + return kpiId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_; + } else { + return kpiIdBuilder_.getMessage(); + } + } + /** + * .context.Uuid kpi_id = 1; + */ + public Builder setKpiId(context.ContextOuterClass.Uuid value) { + if (kpiIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiId_ = value; + onChanged(); + } else { + kpiIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid kpi_id = 1; + */ + public Builder setKpiId( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (kpiIdBuilder_ == null) { + kpiId_ = builderForValue.build(); + onChanged(); + } else { + kpiIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid kpi_id = 1; + */ + public Builder mergeKpiId(context.ContextOuterClass.Uuid value) { + if (kpiIdBuilder_ == null) { + if (kpiId_ != null) { + kpiId_ = + context.ContextOuterClass.Uuid.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + } else { + kpiId_ = value; + } + onChanged(); + } else { + kpiIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid kpi_id = 1; + */ + public Builder clearKpiId() { + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid kpi_id = 1; + */ + public context.ContextOuterClass.Uuid.Builder getKpiIdBuilder() { + + onChanged(); + return getKpiIdFieldBuilder().getBuilder(); + } + /** + * .context.Uuid kpi_id = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder() { + if (kpiIdBuilder_ != null) { + return kpiIdBuilder_.getMessageOrBuilder(); + } else { + return kpiId_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_; + } + } + /** + * .context.Uuid kpi_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getKpiIdFieldBuilder() { + if (kpiIdBuilder_ == null) { + kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getKpiId(), + getParentForChildren(), + isClean()); + kpiId_ = null; + } + return kpiIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.KpiId) + } + + // @@protoc_insertion_point(class_scope:monitoring.KpiId) + private static final monitoring.Monitoring.KpiId DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.KpiId(); + } + + public static monitoring.Monitoring.KpiId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KpiId parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KpiId(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.KpiId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface KpiOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.Kpi) + com.google.protobuf.MessageOrBuilder { + + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + boolean hasKpiId(); + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + monitoring.Monitoring.KpiId getKpiId(); + /** + * .monitoring.KpiId kpi_id = 1; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); + + /** + * .context.Timestamp timestamp = 2; + * @return Whether the timestamp field is set. + */ + boolean hasTimestamp(); + /** + * .context.Timestamp timestamp = 2; + * @return The timestamp. + */ + context.ContextOuterClass.Timestamp getTimestamp(); + /** + * .context.Timestamp timestamp = 2; + */ + context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder(); + + /** + * .monitoring.KpiValue kpi_value = 3; + * @return Whether the kpiValue field is set. + */ + boolean hasKpiValue(); + /** + * .monitoring.KpiValue kpi_value = 3; + * @return The kpiValue. + */ + monitoring.Monitoring.KpiValue getKpiValue(); + /** + * .monitoring.KpiValue kpi_value = 3; + */ + monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder(); + } + /** + * Protobuf type {@code monitoring.Kpi} + */ + public static final class Kpi extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.Kpi) + KpiOrBuilder { + private static final long serialVersionUID = 0L; + // Use Kpi.newBuilder() to construct. + private Kpi(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private Kpi() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Kpi(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Kpi( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); + } + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + monitoring.Monitoring.KpiValue.Builder subBuilder = null; + if (kpiValue_ != null) { + subBuilder = kpiValue_.toBuilder(); + } + kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiValue_); + kpiValue_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_Kpi_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.Kpi.class, monitoring.Monitoring.Kpi.Builder.class); + } + + public static final int KPI_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.KpiId kpiId_; + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + @java.lang.Override + public boolean hasKpiId() { + return kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiId() { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + return getKpiId(); + } + + public static final int TIMESTAMP_FIELD_NUMBER = 2; + private context.ContextOuterClass.Timestamp timestamp_; + /** + * .context.Timestamp timestamp = 2; + * @return Whether the timestamp field is set. + */ + @java.lang.Override + public boolean hasTimestamp() { + return timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 2; + * @return The timestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getTimestamp() { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + /** + * .context.Timestamp timestamp = 2; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + return getTimestamp(); + } + + public static final int KPI_VALUE_FIELD_NUMBER = 3; + private monitoring.Monitoring.KpiValue kpiValue_; + /** + * .monitoring.KpiValue kpi_value = 3; + * @return Whether the kpiValue field is set. + */ + @java.lang.Override + public boolean hasKpiValue() { + return kpiValue_ != null; + } + /** + * .monitoring.KpiValue kpi_value = 3; + * @return The kpiValue. + */ + @java.lang.Override + public monitoring.Monitoring.KpiValue getKpiValue() { + return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + @java.lang.Override + public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() { + return getKpiValue(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (kpiId_ != null) { + output.writeMessage(1, getKpiId()); + } + if (timestamp_ != null) { + output.writeMessage(2, getTimestamp()); + } + if (kpiValue_ != null) { + output.writeMessage(3, getKpiValue()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (kpiId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getKpiId()); + } + if (timestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getTimestamp()); + } + if (kpiValue_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getKpiValue()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.Kpi)) { + return super.equals(obj); + } + monitoring.Monitoring.Kpi other = (monitoring.Monitoring.Kpi) obj; + + if (hasKpiId() != other.hasKpiId()) return false; + if (hasKpiId()) { + if (!getKpiId() + .equals(other.getKpiId())) return false; + } + if (hasTimestamp() != other.hasTimestamp()) return false; + if (hasTimestamp()) { + if (!getTimestamp() + .equals(other.getTimestamp())) return false; + } + if (hasKpiValue() != other.hasKpiValue()) return false; + if (hasKpiValue()) { + if (!getKpiValue() + .equals(other.getKpiValue())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasKpiId()) { + hash = (37 * hash) + KPI_ID_FIELD_NUMBER; + hash = (53 * hash) + getKpiId().hashCode(); + } + if (hasTimestamp()) { + hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getTimestamp().hashCode(); + } + if (hasKpiValue()) { + hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getKpiValue().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.Kpi parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.Kpi parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.Kpi parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.Kpi parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.Kpi parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.Kpi parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.Kpi parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.Kpi parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.Kpi parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.Kpi parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.Kpi parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.Kpi parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.Kpi prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.Kpi} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.Kpi) + monitoring.Monitoring.KpiOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_Kpi_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.Kpi.class, monitoring.Monitoring.Kpi.Builder.class); + } + + // Construct using monitoring.Monitoring.Kpi.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + if (timestampBuilder_ == null) { + timestamp_ = null; + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + if (kpiValueBuilder_ == null) { + kpiValue_ = null; + } else { + kpiValue_ = null; + kpiValueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.Kpi getDefaultInstanceForType() { + return monitoring.Monitoring.Kpi.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.Kpi build() { + monitoring.Monitoring.Kpi result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.Kpi buildPartial() { + monitoring.Monitoring.Kpi result = new monitoring.Monitoring.Kpi(this); + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; + } else { + result.timestamp_ = timestampBuilder_.build(); + } + if (kpiValueBuilder_ == null) { + result.kpiValue_ = kpiValue_; + } else { + result.kpiValue_ = kpiValueBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.Kpi) { + return mergeFrom((monitoring.Monitoring.Kpi)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.Kpi other) { + if (other == monitoring.Monitoring.Kpi.getDefaultInstance()) return this; + if (other.hasKpiId()) { + mergeKpiId(other.getKpiId()); + } + if (other.hasTimestamp()) { + mergeTimestamp(other.getTimestamp()); + } + if (other.hasKpiValue()) { + mergeKpiValue(other.getKpiValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.Kpi parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.Kpi) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private monitoring.Monitoring.KpiId kpiId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdBuilder_; + /** + * .monitoring.KpiId kpi_id = 1; + * @return Whether the kpiId field is set. + */ + public boolean hasKpiId() { + return kpiIdBuilder_ != null || kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 1; + * @return The kpiId. + */ + public monitoring.Monitoring.KpiId getKpiId() { + if (kpiIdBuilder_ == null) { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } else { + return kpiIdBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder setKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiId_ = value; + onChanged(); + } else { + kpiIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder setKpiId( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdBuilder_ == null) { + kpiId_ = builderForValue.build(); + onChanged(); + } else { + kpiIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (kpiId_ != null) { + kpiId_ = + monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + } else { + kpiId_ = value; + } + onChanged(); + } else { + kpiIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public Builder clearKpiId() { + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { + + onChanged(); + return getKpiIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + if (kpiIdBuilder_ != null) { + return kpiIdBuilder_.getMessageOrBuilder(); + } else { + return kpiId_ == null ? + monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + } + /** + * .monitoring.KpiId kpi_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdFieldBuilder() { + if (kpiIdBuilder_ == null) { + kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + getKpiId(), + getParentForChildren(), + isClean()); + kpiId_ = null; + } + return kpiIdBuilder_; + } + + private context.ContextOuterClass.Timestamp timestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> timestampBuilder_; + /** + * .context.Timestamp timestamp = 2; + * @return Whether the timestamp field is set. + */ + public boolean hasTimestamp() { + return timestampBuilder_ != null || timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 2; + * @return The timestamp. + */ + public context.ContextOuterClass.Timestamp getTimestamp() { + if (timestampBuilder_ == null) { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } else { + return timestampBuilder_.getMessage(); + } + } + /** + * .context.Timestamp timestamp = 2; + */ + public Builder setTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timestamp_ = value; + onChanged(); + } else { + timestampBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 2; + */ + public Builder setTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (timestampBuilder_ == null) { + timestamp_ = builderForValue.build(); + onChanged(); + } else { + timestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Timestamp timestamp = 2; + */ + public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (timestamp_ != null) { + timestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); + } else { + timestamp_ = value; + } + onChanged(); + } else { + timestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 2; + */ + public Builder clearTimestamp() { + if (timestampBuilder_ == null) { + timestamp_ = null; + onChanged(); + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + + return this; + } + /** + * .context.Timestamp timestamp = 2; + */ + public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { + + onChanged(); + return getTimestampFieldBuilder().getBuilder(); + } + /** + * .context.Timestamp timestamp = 2; + */ + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + if (timestampBuilder_ != null) { + return timestampBuilder_.getMessageOrBuilder(); + } else { + return timestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + } + /** + * .context.Timestamp timestamp = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getTimestampFieldBuilder() { + if (timestampBuilder_ == null) { + timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getTimestamp(), + getParentForChildren(), + isClean()); + timestamp_ = null; + } + return timestampBuilder_; + } + + private monitoring.Monitoring.KpiValue kpiValue_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> kpiValueBuilder_; + /** + * .monitoring.KpiValue kpi_value = 3; + * @return Whether the kpiValue field is set. + */ + public boolean hasKpiValue() { + return kpiValueBuilder_ != null || kpiValue_ != null; + } + /** + * .monitoring.KpiValue kpi_value = 3; + * @return The kpiValue. + */ + public monitoring.Monitoring.KpiValue getKpiValue() { + if (kpiValueBuilder_ == null) { + return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; + } else { + return kpiValueBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + public Builder setKpiValue(monitoring.Monitoring.KpiValue value) { + if (kpiValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiValue_ = value; + onChanged(); + } else { + kpiValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + public Builder setKpiValue( + monitoring.Monitoring.KpiValue.Builder builderForValue) { + if (kpiValueBuilder_ == null) { + kpiValue_ = builderForValue.build(); + onChanged(); + } else { + kpiValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) { + if (kpiValueBuilder_ == null) { + if (kpiValue_ != null) { + kpiValue_ = + monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial(); + } else { + kpiValue_ = value; + } + onChanged(); + } else { + kpiValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + public Builder clearKpiValue() { + if (kpiValueBuilder_ == null) { + kpiValue_ = null; + onChanged(); + } else { + kpiValue_ = null; + kpiValueBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() { + + onChanged(); + return getKpiValueFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() { + if (kpiValueBuilder_ != null) { + return kpiValueBuilder_.getMessageOrBuilder(); + } else { + return kpiValue_ == null ? + monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; + } + } + /** + * .monitoring.KpiValue kpi_value = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> + getKpiValueFieldBuilder() { + if (kpiValueBuilder_ == null) { + kpiValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder>( + getKpiValue(), + getParentForChildren(), + isClean()); + kpiValue_ = null; + } + return kpiValueBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.Kpi) + } + + // @@protoc_insertion_point(class_scope:monitoring.Kpi) + private static final monitoring.Monitoring.Kpi DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.Kpi(); + } + + public static monitoring.Monitoring.Kpi getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Kpi parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Kpi(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.Kpi getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface KpiValueRangeOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.KpiValueRange) + com.google.protobuf.MessageOrBuilder { + + /** + * .monitoring.KpiValue kpiMinValue = 1; + * @return Whether the kpiMinValue field is set. + */ + boolean hasKpiMinValue(); + /** + * .monitoring.KpiValue kpiMinValue = 1; + * @return The kpiMinValue. + */ + monitoring.Monitoring.KpiValue getKpiMinValue(); + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + monitoring.Monitoring.KpiValueOrBuilder getKpiMinValueOrBuilder(); + + /** + * .monitoring.KpiValue kpiMaxValue = 2; + * @return Whether the kpiMaxValue field is set. + */ + boolean hasKpiMaxValue(); + /** + * .monitoring.KpiValue kpiMaxValue = 2; + * @return The kpiMaxValue. + */ + monitoring.Monitoring.KpiValue getKpiMaxValue(); + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + monitoring.Monitoring.KpiValueOrBuilder getKpiMaxValueOrBuilder(); + + /** + *
+     * by default True
+     * 
+ * + * bool inRange = 3; + * @return The inRange. + */ + boolean getInRange(); + + /** + *
+     * False is outside the interval
+     * 
+ * + * bool includeMinValue = 4; + * @return The includeMinValue. + */ + boolean getIncludeMinValue(); + + /** + *
+     * False is outside the interval
+     * 
+ * + * bool includeMaxValue = 5; + * @return The includeMaxValue. + */ + boolean getIncludeMaxValue(); + } + /** + * Protobuf type {@code monitoring.KpiValueRange} + */ + public static final class KpiValueRange extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.KpiValueRange) + KpiValueRangeOrBuilder { + private static final long serialVersionUID = 0L; + // Use KpiValueRange.newBuilder() to construct. + private KpiValueRange(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private KpiValueRange() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new KpiValueRange(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KpiValueRange( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + monitoring.Monitoring.KpiValue.Builder subBuilder = null; + if (kpiMinValue_ != null) { + subBuilder = kpiMinValue_.toBuilder(); + } + kpiMinValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiMinValue_); + kpiMinValue_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + monitoring.Monitoring.KpiValue.Builder subBuilder = null; + if (kpiMaxValue_ != null) { + subBuilder = kpiMaxValue_.toBuilder(); + } + kpiMaxValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiMaxValue_); + kpiMaxValue_ = subBuilder.buildPartial(); + } + + break; + } + case 24: { + + inRange_ = input.readBool(); + break; + } + case 32: { + + includeMinValue_ = input.readBool(); + break; + } + case 40: { + + includeMaxValue_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiValueRange.class, monitoring.Monitoring.KpiValueRange.Builder.class); + } + + public static final int KPIMINVALUE_FIELD_NUMBER = 1; + private monitoring.Monitoring.KpiValue kpiMinValue_; + /** + * .monitoring.KpiValue kpiMinValue = 1; + * @return Whether the kpiMinValue field is set. + */ + @java.lang.Override + public boolean hasKpiMinValue() { + return kpiMinValue_ != null; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + * @return The kpiMinValue. + */ + @java.lang.Override + public monitoring.Monitoring.KpiValue getKpiMinValue() { + return kpiMinValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMinValue_; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiValueOrBuilder getKpiMinValueOrBuilder() { + return getKpiMinValue(); + } + + public static final int KPIMAXVALUE_FIELD_NUMBER = 2; + private monitoring.Monitoring.KpiValue kpiMaxValue_; + /** + * .monitoring.KpiValue kpiMaxValue = 2; + * @return Whether the kpiMaxValue field is set. + */ + @java.lang.Override + public boolean hasKpiMaxValue() { + return kpiMaxValue_ != null; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + * @return The kpiMaxValue. + */ + @java.lang.Override + public monitoring.Monitoring.KpiValue getKpiMaxValue() { + return kpiMaxValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMaxValue_; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + @java.lang.Override + public monitoring.Monitoring.KpiValueOrBuilder getKpiMaxValueOrBuilder() { + return getKpiMaxValue(); + } + + public static final int INRANGE_FIELD_NUMBER = 3; + private boolean inRange_; + /** + *
+     * by default True
+     * 
+ * + * bool inRange = 3; + * @return The inRange. + */ + @java.lang.Override + public boolean getInRange() { + return inRange_; + } + + public static final int INCLUDEMINVALUE_FIELD_NUMBER = 4; + private boolean includeMinValue_; + /** + *
+     * False is outside the interval
+     * 
+ * + * bool includeMinValue = 4; + * @return The includeMinValue. + */ + @java.lang.Override + public boolean getIncludeMinValue() { + return includeMinValue_; + } + + public static final int INCLUDEMAXVALUE_FIELD_NUMBER = 5; + private boolean includeMaxValue_; + /** + *
+     * False is outside the interval
+     * 
+ * + * bool includeMaxValue = 5; + * @return The includeMaxValue. + */ + @java.lang.Override + public boolean getIncludeMaxValue() { + return includeMaxValue_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (kpiMinValue_ != null) { + output.writeMessage(1, getKpiMinValue()); + } + if (kpiMaxValue_ != null) { + output.writeMessage(2, getKpiMaxValue()); + } + if (inRange_ != false) { + output.writeBool(3, inRange_); + } + if (includeMinValue_ != false) { + output.writeBool(4, includeMinValue_); + } + if (includeMaxValue_ != false) { + output.writeBool(5, includeMaxValue_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (kpiMinValue_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getKpiMinValue()); + } + if (kpiMaxValue_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getKpiMaxValue()); + } + if (inRange_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, inRange_); + } + if (includeMinValue_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, includeMinValue_); + } + if (includeMaxValue_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, includeMaxValue_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.KpiValueRange)) { + return super.equals(obj); + } + monitoring.Monitoring.KpiValueRange other = (monitoring.Monitoring.KpiValueRange) obj; + + if (hasKpiMinValue() != other.hasKpiMinValue()) return false; + if (hasKpiMinValue()) { + if (!getKpiMinValue() + .equals(other.getKpiMinValue())) return false; + } + if (hasKpiMaxValue() != other.hasKpiMaxValue()) return false; + if (hasKpiMaxValue()) { + if (!getKpiMaxValue() + .equals(other.getKpiMaxValue())) return false; + } + if (getInRange() + != other.getInRange()) return false; + if (getIncludeMinValue() + != other.getIncludeMinValue()) return false; + if (getIncludeMaxValue() + != other.getIncludeMaxValue()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasKpiMinValue()) { + hash = (37 * hash) + KPIMINVALUE_FIELD_NUMBER; + hash = (53 * hash) + getKpiMinValue().hashCode(); + } + if (hasKpiMaxValue()) { + hash = (37 * hash) + KPIMAXVALUE_FIELD_NUMBER; + hash = (53 * hash) + getKpiMaxValue().hashCode(); + } + hash = (37 * hash) + INRANGE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getInRange()); + hash = (37 * hash) + INCLUDEMINVALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIncludeMinValue()); + hash = (37 * hash) + INCLUDEMAXVALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIncludeMaxValue()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.KpiValueRange parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiValueRange parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiValueRange parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiValueRange parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiValueRange parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiValueRange parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.KpiValueRange prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.KpiValueRange} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.KpiValueRange) + monitoring.Monitoring.KpiValueRangeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiValueRange.class, monitoring.Monitoring.KpiValueRange.Builder.class); + } + + // Construct using monitoring.Monitoring.KpiValueRange.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (kpiMinValueBuilder_ == null) { + kpiMinValue_ = null; + } else { + kpiMinValue_ = null; + kpiMinValueBuilder_ = null; + } + if (kpiMaxValueBuilder_ == null) { + kpiMaxValue_ = null; + } else { + kpiMaxValue_ = null; + kpiMaxValueBuilder_ = null; + } + inRange_ = false; + + includeMinValue_ = false; + + includeMaxValue_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.KpiValueRange getDefaultInstanceForType() { + return monitoring.Monitoring.KpiValueRange.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.KpiValueRange build() { + monitoring.Monitoring.KpiValueRange result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.KpiValueRange buildPartial() { + monitoring.Monitoring.KpiValueRange result = new monitoring.Monitoring.KpiValueRange(this); + if (kpiMinValueBuilder_ == null) { + result.kpiMinValue_ = kpiMinValue_; + } else { + result.kpiMinValue_ = kpiMinValueBuilder_.build(); + } + if (kpiMaxValueBuilder_ == null) { + result.kpiMaxValue_ = kpiMaxValue_; + } else { + result.kpiMaxValue_ = kpiMaxValueBuilder_.build(); + } + result.inRange_ = inRange_; + result.includeMinValue_ = includeMinValue_; + result.includeMaxValue_ = includeMaxValue_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.KpiValueRange) { + return mergeFrom((monitoring.Monitoring.KpiValueRange)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.KpiValueRange other) { + if (other == monitoring.Monitoring.KpiValueRange.getDefaultInstance()) return this; + if (other.hasKpiMinValue()) { + mergeKpiMinValue(other.getKpiMinValue()); + } + if (other.hasKpiMaxValue()) { + mergeKpiMaxValue(other.getKpiMaxValue()); + } + if (other.getInRange() != false) { + setInRange(other.getInRange()); + } + if (other.getIncludeMinValue() != false) { + setIncludeMinValue(other.getIncludeMinValue()); + } + if (other.getIncludeMaxValue() != false) { + setIncludeMaxValue(other.getIncludeMaxValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.KpiValueRange parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiValueRange) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private monitoring.Monitoring.KpiValue kpiMinValue_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> kpiMinValueBuilder_; + /** + * .monitoring.KpiValue kpiMinValue = 1; + * @return Whether the kpiMinValue field is set. + */ + public boolean hasKpiMinValue() { + return kpiMinValueBuilder_ != null || kpiMinValue_ != null; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + * @return The kpiMinValue. + */ + public monitoring.Monitoring.KpiValue getKpiMinValue() { + if (kpiMinValueBuilder_ == null) { + return kpiMinValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMinValue_; + } else { + return kpiMinValueBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + public Builder setKpiMinValue(monitoring.Monitoring.KpiValue value) { + if (kpiMinValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiMinValue_ = value; + onChanged(); + } else { + kpiMinValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + public Builder setKpiMinValue( + monitoring.Monitoring.KpiValue.Builder builderForValue) { + if (kpiMinValueBuilder_ == null) { + kpiMinValue_ = builderForValue.build(); + onChanged(); + } else { + kpiMinValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + public Builder mergeKpiMinValue(monitoring.Monitoring.KpiValue value) { + if (kpiMinValueBuilder_ == null) { + if (kpiMinValue_ != null) { + kpiMinValue_ = + monitoring.Monitoring.KpiValue.newBuilder(kpiMinValue_).mergeFrom(value).buildPartial(); + } else { + kpiMinValue_ = value; + } + onChanged(); + } else { + kpiMinValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + public Builder clearKpiMinValue() { + if (kpiMinValueBuilder_ == null) { + kpiMinValue_ = null; + onChanged(); + } else { + kpiMinValue_ = null; + kpiMinValueBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + public monitoring.Monitoring.KpiValue.Builder getKpiMinValueBuilder() { + + onChanged(); + return getKpiMinValueFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + public monitoring.Monitoring.KpiValueOrBuilder getKpiMinValueOrBuilder() { + if (kpiMinValueBuilder_ != null) { + return kpiMinValueBuilder_.getMessageOrBuilder(); + } else { + return kpiMinValue_ == null ? + monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMinValue_; + } + } + /** + * .monitoring.KpiValue kpiMinValue = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> + getKpiMinValueFieldBuilder() { + if (kpiMinValueBuilder_ == null) { + kpiMinValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder>( + getKpiMinValue(), + getParentForChildren(), + isClean()); + kpiMinValue_ = null; + } + return kpiMinValueBuilder_; + } + + private monitoring.Monitoring.KpiValue kpiMaxValue_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> kpiMaxValueBuilder_; + /** + * .monitoring.KpiValue kpiMaxValue = 2; + * @return Whether the kpiMaxValue field is set. + */ + public boolean hasKpiMaxValue() { + return kpiMaxValueBuilder_ != null || kpiMaxValue_ != null; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + * @return The kpiMaxValue. + */ + public monitoring.Monitoring.KpiValue getKpiMaxValue() { + if (kpiMaxValueBuilder_ == null) { + return kpiMaxValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMaxValue_; + } else { + return kpiMaxValueBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + public Builder setKpiMaxValue(monitoring.Monitoring.KpiValue value) { + if (kpiMaxValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiMaxValue_ = value; + onChanged(); + } else { + kpiMaxValueBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + public Builder setKpiMaxValue( + monitoring.Monitoring.KpiValue.Builder builderForValue) { + if (kpiMaxValueBuilder_ == null) { + kpiMaxValue_ = builderForValue.build(); + onChanged(); + } else { + kpiMaxValueBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + public Builder mergeKpiMaxValue(monitoring.Monitoring.KpiValue value) { + if (kpiMaxValueBuilder_ == null) { + if (kpiMaxValue_ != null) { + kpiMaxValue_ = + monitoring.Monitoring.KpiValue.newBuilder(kpiMaxValue_).mergeFrom(value).buildPartial(); + } else { + kpiMaxValue_ = value; + } + onChanged(); + } else { + kpiMaxValueBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + public Builder clearKpiMaxValue() { + if (kpiMaxValueBuilder_ == null) { + kpiMaxValue_ = null; + onChanged(); + } else { + kpiMaxValue_ = null; + kpiMaxValueBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + public monitoring.Monitoring.KpiValue.Builder getKpiMaxValueBuilder() { + + onChanged(); + return getKpiMaxValueFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + public monitoring.Monitoring.KpiValueOrBuilder getKpiMaxValueOrBuilder() { + if (kpiMaxValueBuilder_ != null) { + return kpiMaxValueBuilder_.getMessageOrBuilder(); + } else { + return kpiMaxValue_ == null ? + monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMaxValue_; + } + } + /** + * .monitoring.KpiValue kpiMaxValue = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> + getKpiMaxValueFieldBuilder() { + if (kpiMaxValueBuilder_ == null) { + kpiMaxValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder>( + getKpiMaxValue(), + getParentForChildren(), + isClean()); + kpiMaxValue_ = null; + } + return kpiMaxValueBuilder_; + } + + private boolean inRange_ ; + /** + *
+       * by default True
+       * 
+ * + * bool inRange = 3; + * @return The inRange. + */ + @java.lang.Override + public boolean getInRange() { + return inRange_; + } + /** + *
+       * by default True
+       * 
+ * + * bool inRange = 3; + * @param value The inRange to set. + * @return This builder for chaining. + */ + public Builder setInRange(boolean value) { + + inRange_ = value; + onChanged(); + return this; + } + /** + *
+       * by default True
+       * 
+ * + * bool inRange = 3; + * @return This builder for chaining. + */ + public Builder clearInRange() { + + inRange_ = false; + onChanged(); + return this; + } + + private boolean includeMinValue_ ; + /** + *
+       * False is outside the interval
+       * 
+ * + * bool includeMinValue = 4; + * @return The includeMinValue. + */ + @java.lang.Override + public boolean getIncludeMinValue() { + return includeMinValue_; + } + /** + *
+       * False is outside the interval
+       * 
+ * + * bool includeMinValue = 4; + * @param value The includeMinValue to set. + * @return This builder for chaining. + */ + public Builder setIncludeMinValue(boolean value) { + + includeMinValue_ = value; + onChanged(); + return this; + } + /** + *
+       * False is outside the interval
+       * 
+ * + * bool includeMinValue = 4; + * @return This builder for chaining. + */ + public Builder clearIncludeMinValue() { + + includeMinValue_ = false; + onChanged(); + return this; + } + + private boolean includeMaxValue_ ; + /** + *
+       * False is outside the interval
+       * 
+ * + * bool includeMaxValue = 5; + * @return The includeMaxValue. + */ + @java.lang.Override + public boolean getIncludeMaxValue() { + return includeMaxValue_; + } + /** + *
+       * False is outside the interval
+       * 
+ * + * bool includeMaxValue = 5; + * @param value The includeMaxValue to set. + * @return This builder for chaining. + */ + public Builder setIncludeMaxValue(boolean value) { + + includeMaxValue_ = value; + onChanged(); + return this; + } + /** + *
+       * False is outside the interval
+       * 
+ * + * bool includeMaxValue = 5; + * @return This builder for chaining. + */ + public Builder clearIncludeMaxValue() { + + includeMaxValue_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.KpiValueRange) + } + + // @@protoc_insertion_point(class_scope:monitoring.KpiValueRange) + private static final monitoring.Monitoring.KpiValueRange DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.KpiValueRange(); + } + + public static monitoring.Monitoring.KpiValueRange getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KpiValueRange parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KpiValueRange(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.KpiValueRange getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface KpiValueOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.KpiValue) + com.google.protobuf.MessageOrBuilder { + + /** + * int32 int32Val = 1; + * @return Whether the int32Val field is set. + */ + boolean hasInt32Val(); + /** + * int32 int32Val = 1; + * @return The int32Val. + */ + int getInt32Val(); + + /** + * uint32 uint32Val = 2; + * @return Whether the uint32Val field is set. + */ + boolean hasUint32Val(); + /** + * uint32 uint32Val = 2; + * @return The uint32Val. + */ + int getUint32Val(); + + /** + * int64 int64Val = 3; + * @return Whether the int64Val field is set. + */ + boolean hasInt64Val(); + /** + * int64 int64Val = 3; + * @return The int64Val. + */ + long getInt64Val(); + + /** + * uint64 uint64Val = 4; + * @return Whether the uint64Val field is set. + */ + boolean hasUint64Val(); + /** + * uint64 uint64Val = 4; + * @return The uint64Val. + */ + long getUint64Val(); + + /** + * float floatVal = 5; + * @return Whether the floatVal field is set. + */ + boolean hasFloatVal(); + /** + * float floatVal = 5; + * @return The floatVal. + */ + float getFloatVal(); + + /** + * string stringVal = 6; + * @return Whether the stringVal field is set. + */ + boolean hasStringVal(); + /** + * string stringVal = 6; + * @return The stringVal. + */ + java.lang.String getStringVal(); + /** + * string stringVal = 6; + * @return The bytes for stringVal. + */ + com.google.protobuf.ByteString + getStringValBytes(); + + /** + * bool boolVal = 7; + * @return Whether the boolVal field is set. + */ + boolean hasBoolVal(); + /** + * bool boolVal = 7; + * @return The boolVal. + */ + boolean getBoolVal(); + + public monitoring.Monitoring.KpiValue.ValueCase getValueCase(); + } + /** + * Protobuf type {@code monitoring.KpiValue} + */ + public static final class KpiValue extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.KpiValue) + KpiValueOrBuilder { + private static final long serialVersionUID = 0L; + // Use KpiValue.newBuilder() to construct. + private KpiValue(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private KpiValue() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new KpiValue(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KpiValue( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + valueCase_ = 1; + value_ = input.readInt32(); + break; + } + case 16: { + valueCase_ = 2; + value_ = input.readUInt32(); + break; + } + case 24: { + valueCase_ = 3; + value_ = input.readInt64(); + break; + } + case 32: { + valueCase_ = 4; + value_ = input.readUInt64(); + break; + } + case 45: { + valueCase_ = 5; + value_ = input.readFloat(); + break; + } + case 50: { + java.lang.String s = input.readStringRequireUtf8(); + valueCase_ = 6; + value_ = s; + break; + } + case 56: { + valueCase_ = 7; + value_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiValue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiValue.class, monitoring.Monitoring.KpiValue.Builder.class); + } + + private int valueCase_ = 0; + private java.lang.Object value_; + public enum ValueCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + INT32VAL(1), + UINT32VAL(2), + INT64VAL(3), + UINT64VAL(4), + FLOATVAL(5), + STRINGVAL(6), + BOOLVAL(7), + VALUE_NOT_SET(0); + private final int value; + private ValueCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ValueCase valueOf(int value) { + return forNumber(value); + } + + public static ValueCase forNumber(int value) { + switch (value) { + case 1: return INT32VAL; + case 2: return UINT32VAL; + case 3: return INT64VAL; + case 4: return UINT64VAL; + case 5: return FLOATVAL; + case 6: return STRINGVAL; + case 7: return BOOLVAL; + case 0: return VALUE_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ValueCase + getValueCase() { + return ValueCase.forNumber( + valueCase_); + } + + public static final int INT32VAL_FIELD_NUMBER = 1; + /** + * int32 int32Val = 1; + * @return Whether the int32Val field is set. + */ + @java.lang.Override + public boolean hasInt32Val() { + return valueCase_ == 1; + } + /** + * int32 int32Val = 1; + * @return The int32Val. + */ + @java.lang.Override + public int getInt32Val() { + if (valueCase_ == 1) { + return (java.lang.Integer) value_; + } + return 0; + } + + public static final int UINT32VAL_FIELD_NUMBER = 2; + /** + * uint32 uint32Val = 2; + * @return Whether the uint32Val field is set. + */ + @java.lang.Override + public boolean hasUint32Val() { + return valueCase_ == 2; + } + /** + * uint32 uint32Val = 2; + * @return The uint32Val. + */ + @java.lang.Override + public int getUint32Val() { + if (valueCase_ == 2) { + return (java.lang.Integer) value_; + } + return 0; + } + + public static final int INT64VAL_FIELD_NUMBER = 3; + /** + * int64 int64Val = 3; + * @return Whether the int64Val field is set. + */ + @java.lang.Override + public boolean hasInt64Val() { + return valueCase_ == 3; + } + /** + * int64 int64Val = 3; + * @return The int64Val. + */ + @java.lang.Override + public long getInt64Val() { + if (valueCase_ == 3) { + return (java.lang.Long) value_; + } + return 0L; + } + + public static final int UINT64VAL_FIELD_NUMBER = 4; + /** + * uint64 uint64Val = 4; + * @return Whether the uint64Val field is set. + */ + @java.lang.Override + public boolean hasUint64Val() { + return valueCase_ == 4; + } + /** + * uint64 uint64Val = 4; + * @return The uint64Val. + */ + @java.lang.Override + public long getUint64Val() { + if (valueCase_ == 4) { + return (java.lang.Long) value_; + } + return 0L; + } + + public static final int FLOATVAL_FIELD_NUMBER = 5; + /** + * float floatVal = 5; + * @return Whether the floatVal field is set. + */ + @java.lang.Override + public boolean hasFloatVal() { + return valueCase_ == 5; + } + /** + * float floatVal = 5; + * @return The floatVal. + */ + @java.lang.Override + public float getFloatVal() { + if (valueCase_ == 5) { + return (java.lang.Float) value_; + } + return 0F; + } + + public static final int STRINGVAL_FIELD_NUMBER = 6; + /** + * string stringVal = 6; + * @return Whether the stringVal field is set. + */ + public boolean hasStringVal() { + return valueCase_ == 6; + } + /** + * string stringVal = 6; + * @return The stringVal. + */ + public java.lang.String getStringVal() { + java.lang.Object ref = ""; + if (valueCase_ == 6) { + ref = value_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (valueCase_ == 6) { + value_ = s; + } + return s; + } + } + /** + * string stringVal = 6; + * @return The bytes for stringVal. + */ + public com.google.protobuf.ByteString + getStringValBytes() { + java.lang.Object ref = ""; + if (valueCase_ == 6) { + ref = value_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (valueCase_ == 6) { + value_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BOOLVAL_FIELD_NUMBER = 7; + /** + * bool boolVal = 7; + * @return Whether the boolVal field is set. + */ + @java.lang.Override + public boolean hasBoolVal() { + return valueCase_ == 7; + } + /** + * bool boolVal = 7; + * @return The boolVal. + */ + @java.lang.Override + public boolean getBoolVal() { + if (valueCase_ == 7) { + return (java.lang.Boolean) value_; + } + return false; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (valueCase_ == 1) { + output.writeInt32( + 1, (int)((java.lang.Integer) value_)); + } + if (valueCase_ == 2) { + output.writeUInt32( + 2, (int)((java.lang.Integer) value_)); + } + if (valueCase_ == 3) { + output.writeInt64( + 3, (long)((java.lang.Long) value_)); + } + if (valueCase_ == 4) { + output.writeUInt64( + 4, (long)((java.lang.Long) value_)); + } + if (valueCase_ == 5) { + output.writeFloat( + 5, (float)((java.lang.Float) value_)); + } + if (valueCase_ == 6) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, value_); + } + if (valueCase_ == 7) { + output.writeBool( + 7, (boolean)((java.lang.Boolean) value_)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (valueCase_ == 1) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size( + 1, (int)((java.lang.Integer) value_)); + } + if (valueCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size( + 2, (int)((java.lang.Integer) value_)); + } + if (valueCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size( + 3, (long)((java.lang.Long) value_)); + } + if (valueCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size( + 4, (long)((java.lang.Long) value_)); + } + if (valueCase_ == 5) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize( + 5, (float)((java.lang.Float) value_)); + } + if (valueCase_ == 6) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, value_); + } + if (valueCase_ == 7) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize( + 7, (boolean)((java.lang.Boolean) value_)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.KpiValue)) { + return super.equals(obj); + } + monitoring.Monitoring.KpiValue other = (monitoring.Monitoring.KpiValue) obj; + + if (!getValueCase().equals(other.getValueCase())) return false; + switch (valueCase_) { + case 1: + if (getInt32Val() + != other.getInt32Val()) return false; + break; + case 2: + if (getUint32Val() + != other.getUint32Val()) return false; + break; + case 3: + if (getInt64Val() + != other.getInt64Val()) return false; + break; + case 4: + if (getUint64Val() + != other.getUint64Val()) return false; + break; + case 5: + if (java.lang.Float.floatToIntBits(getFloatVal()) + != java.lang.Float.floatToIntBits( + other.getFloatVal())) return false; + break; + case 6: + if (!getStringVal() + .equals(other.getStringVal())) return false; + break; + case 7: + if (getBoolVal() + != other.getBoolVal()) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (valueCase_) { + case 1: + hash = (37 * hash) + INT32VAL_FIELD_NUMBER; + hash = (53 * hash) + getInt32Val(); + break; + case 2: + hash = (37 * hash) + UINT32VAL_FIELD_NUMBER; + hash = (53 * hash) + getUint32Val(); + break; + case 3: + hash = (37 * hash) + INT64VAL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getInt64Val()); + break; + case 4: + hash = (37 * hash) + UINT64VAL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getUint64Val()); + break; + case 5: + hash = (37 * hash) + FLOATVAL_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getFloatVal()); + break; + case 6: + hash = (37 * hash) + STRINGVAL_FIELD_NUMBER; + hash = (53 * hash) + getStringVal().hashCode(); + break; + case 7: + hash = (37 * hash) + BOOLVAL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getBoolVal()); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.KpiValue parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiValue parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiValue parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiValue parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiValue parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiValue parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiValue parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiValue parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiValue parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiValue parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiValue parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiValue parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.KpiValue prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.KpiValue} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.KpiValue) + monitoring.Monitoring.KpiValueOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiValue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiValue.class, monitoring.Monitoring.KpiValue.Builder.class); + } + + // Construct using monitoring.Monitoring.KpiValue.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + valueCase_ = 0; + value_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.KpiValue getDefaultInstanceForType() { + return monitoring.Monitoring.KpiValue.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.KpiValue build() { + monitoring.Monitoring.KpiValue result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.KpiValue buildPartial() { + monitoring.Monitoring.KpiValue result = new monitoring.Monitoring.KpiValue(this); + if (valueCase_ == 1) { + result.value_ = value_; + } + if (valueCase_ == 2) { + result.value_ = value_; + } + if (valueCase_ == 3) { + result.value_ = value_; + } + if (valueCase_ == 4) { + result.value_ = value_; + } + if (valueCase_ == 5) { + result.value_ = value_; + } + if (valueCase_ == 6) { + result.value_ = value_; + } + if (valueCase_ == 7) { + result.value_ = value_; + } + result.valueCase_ = valueCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.KpiValue) { + return mergeFrom((monitoring.Monitoring.KpiValue)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.KpiValue other) { + if (other == monitoring.Monitoring.KpiValue.getDefaultInstance()) return this; + switch (other.getValueCase()) { + case INT32VAL: { + setInt32Val(other.getInt32Val()); + break; + } + case UINT32VAL: { + setUint32Val(other.getUint32Val()); + break; + } + case INT64VAL: { + setInt64Val(other.getInt64Val()); + break; + } + case UINT64VAL: { + setUint64Val(other.getUint64Val()); + break; + } + case FLOATVAL: { + setFloatVal(other.getFloatVal()); + break; + } + case STRINGVAL: { + valueCase_ = 6; + value_ = other.value_; + onChanged(); + break; + } + case BOOLVAL: { + setBoolVal(other.getBoolVal()); + break; + } + case VALUE_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.KpiValue parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiValue) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int valueCase_ = 0; + private java.lang.Object value_; + public ValueCase + getValueCase() { + return ValueCase.forNumber( + valueCase_); + } + + public Builder clearValue() { + valueCase_ = 0; + value_ = null; + onChanged(); + return this; + } + + + /** + * int32 int32Val = 1; + * @return Whether the int32Val field is set. + */ + public boolean hasInt32Val() { + return valueCase_ == 1; + } + /** + * int32 int32Val = 1; + * @return The int32Val. + */ + public int getInt32Val() { + if (valueCase_ == 1) { + return (java.lang.Integer) value_; + } + return 0; + } + /** + * int32 int32Val = 1; + * @param value The int32Val to set. + * @return This builder for chaining. + */ + public Builder setInt32Val(int value) { + valueCase_ = 1; + value_ = value; + onChanged(); + return this; + } + /** + * int32 int32Val = 1; + * @return This builder for chaining. + */ + public Builder clearInt32Val() { + if (valueCase_ == 1) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + + /** + * uint32 uint32Val = 2; + * @return Whether the uint32Val field is set. + */ + public boolean hasUint32Val() { + return valueCase_ == 2; + } + /** + * uint32 uint32Val = 2; + * @return The uint32Val. + */ + public int getUint32Val() { + if (valueCase_ == 2) { + return (java.lang.Integer) value_; + } + return 0; + } + /** + * uint32 uint32Val = 2; + * @param value The uint32Val to set. + * @return This builder for chaining. + */ + public Builder setUint32Val(int value) { + valueCase_ = 2; + value_ = value; + onChanged(); + return this; + } + /** + * uint32 uint32Val = 2; + * @return This builder for chaining. + */ + public Builder clearUint32Val() { + if (valueCase_ == 2) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + + /** + * int64 int64Val = 3; + * @return Whether the int64Val field is set. + */ + public boolean hasInt64Val() { + return valueCase_ == 3; + } + /** + * int64 int64Val = 3; + * @return The int64Val. + */ + public long getInt64Val() { + if (valueCase_ == 3) { + return (java.lang.Long) value_; + } + return 0L; + } + /** + * int64 int64Val = 3; + * @param value The int64Val to set. + * @return This builder for chaining. + */ + public Builder setInt64Val(long value) { + valueCase_ = 3; + value_ = value; + onChanged(); + return this; + } + /** + * int64 int64Val = 3; + * @return This builder for chaining. + */ + public Builder clearInt64Val() { + if (valueCase_ == 3) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + + /** + * uint64 uint64Val = 4; + * @return Whether the uint64Val field is set. + */ + public boolean hasUint64Val() { + return valueCase_ == 4; + } + /** + * uint64 uint64Val = 4; + * @return The uint64Val. + */ + public long getUint64Val() { + if (valueCase_ == 4) { + return (java.lang.Long) value_; + } + return 0L; + } + /** + * uint64 uint64Val = 4; + * @param value The uint64Val to set. + * @return This builder for chaining. + */ + public Builder setUint64Val(long value) { + valueCase_ = 4; + value_ = value; + onChanged(); + return this; + } + /** + * uint64 uint64Val = 4; + * @return This builder for chaining. + */ + public Builder clearUint64Val() { + if (valueCase_ == 4) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + + /** + * float floatVal = 5; + * @return Whether the floatVal field is set. + */ + public boolean hasFloatVal() { + return valueCase_ == 5; + } + /** + * float floatVal = 5; + * @return The floatVal. + */ + public float getFloatVal() { + if (valueCase_ == 5) { + return (java.lang.Float) value_; + } + return 0F; + } + /** + * float floatVal = 5; + * @param value The floatVal to set. + * @return This builder for chaining. + */ + public Builder setFloatVal(float value) { + valueCase_ = 5; + value_ = value; + onChanged(); + return this; + } + /** + * float floatVal = 5; + * @return This builder for chaining. + */ + public Builder clearFloatVal() { + if (valueCase_ == 5) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + + /** + * string stringVal = 6; + * @return Whether the stringVal field is set. + */ + @java.lang.Override + public boolean hasStringVal() { + return valueCase_ == 6; + } + /** + * string stringVal = 6; + * @return The stringVal. + */ + @java.lang.Override + public java.lang.String getStringVal() { + java.lang.Object ref = ""; + if (valueCase_ == 6) { + ref = value_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (valueCase_ == 6) { + value_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string stringVal = 6; + * @return The bytes for stringVal. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getStringValBytes() { + java.lang.Object ref = ""; + if (valueCase_ == 6) { + ref = value_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + if (valueCase_ == 6) { + value_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string stringVal = 6; + * @param value The stringVal to set. + * @return This builder for chaining. + */ + public Builder setStringVal( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + valueCase_ = 6; + value_ = value; + onChanged(); + return this; + } + /** + * string stringVal = 6; + * @return This builder for chaining. + */ + public Builder clearStringVal() { + if (valueCase_ == 6) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + /** + * string stringVal = 6; + * @param value The bytes for stringVal to set. + * @return This builder for chaining. + */ + public Builder setStringValBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + valueCase_ = 6; + value_ = value; + onChanged(); + return this; + } + + /** + * bool boolVal = 7; + * @return Whether the boolVal field is set. + */ + public boolean hasBoolVal() { + return valueCase_ == 7; + } + /** + * bool boolVal = 7; + * @return The boolVal. + */ + public boolean getBoolVal() { + if (valueCase_ == 7) { + return (java.lang.Boolean) value_; + } + return false; + } + /** + * bool boolVal = 7; + * @param value The boolVal to set. + * @return This builder for chaining. + */ + public Builder setBoolVal(boolean value) { + valueCase_ = 7; + value_ = value; + onChanged(); + return this; + } + /** + * bool boolVal = 7; + * @return This builder for chaining. + */ + public Builder clearBoolVal() { + if (valueCase_ == 7) { + valueCase_ = 0; + value_ = null; + onChanged(); + } + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.KpiValue) + } + + // @@protoc_insertion_point(class_scope:monitoring.KpiValue) + private static final monitoring.Monitoring.KpiValue DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.KpiValue(); + } + + public static monitoring.Monitoring.KpiValue getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KpiValue parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KpiValue(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.KpiValue getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface KpiListOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.KpiList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .monitoring.Kpi kpi = 1; + */ + java.util.List + getKpiList(); + /** + * repeated .monitoring.Kpi kpi = 1; + */ + monitoring.Monitoring.Kpi getKpi(int index); + /** + * repeated .monitoring.Kpi kpi = 1; + */ + int getKpiCount(); + /** + * repeated .monitoring.Kpi kpi = 1; + */ + java.util.List + getKpiOrBuilderList(); + /** + * repeated .monitoring.Kpi kpi = 1; + */ + monitoring.Monitoring.KpiOrBuilder getKpiOrBuilder( + int index); + } + /** + * Protobuf type {@code monitoring.KpiList} + */ + public static final class KpiList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.KpiList) + KpiListOrBuilder { + private static final long serialVersionUID = 0L; + // Use KpiList.newBuilder() to construct. + private KpiList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private KpiList() { + kpi_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new KpiList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KpiList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpi_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpi_.add( + input.readMessage(monitoring.Monitoring.Kpi.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpi_ = java.util.Collections.unmodifiableList(kpi_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiList.class, monitoring.Monitoring.KpiList.Builder.class); + } + + public static final int KPI_FIELD_NUMBER = 1; + private java.util.List kpi_; + /** + * repeated .monitoring.Kpi kpi = 1; + */ + @java.lang.Override + public java.util.List getKpiList() { + return kpi_; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + @java.lang.Override + public java.util.List + getKpiOrBuilderList() { + return kpi_; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + @java.lang.Override + public int getKpiCount() { + return kpi_.size(); + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + @java.lang.Override + public monitoring.Monitoring.Kpi getKpi(int index) { + return kpi_.get(index); + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiOrBuilder getKpiOrBuilder( + int index) { + return kpi_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < kpi_.size(); i++) { + output.writeMessage(1, kpi_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < kpi_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, kpi_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.KpiList)) { + return super.equals(obj); + } + monitoring.Monitoring.KpiList other = (monitoring.Monitoring.KpiList) obj; + + if (!getKpiList() + .equals(other.getKpiList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getKpiCount() > 0) { + hash = (37 * hash) + KPI_FIELD_NUMBER; + hash = (53 * hash) + getKpiList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.KpiList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.KpiList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.KpiList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.KpiList) + monitoring.Monitoring.KpiListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiList.class, monitoring.Monitoring.KpiList.Builder.class); + } + + // Construct using monitoring.Monitoring.KpiList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getKpiFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (kpiBuilder_ == null) { + kpi_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + kpiBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.KpiList getDefaultInstanceForType() { + return monitoring.Monitoring.KpiList.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.KpiList build() { + monitoring.Monitoring.KpiList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.KpiList buildPartial() { + monitoring.Monitoring.KpiList result = new monitoring.Monitoring.KpiList(this); + int from_bitField0_ = bitField0_; + if (kpiBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + kpi_ = java.util.Collections.unmodifiableList(kpi_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.kpi_ = kpi_; + } else { + result.kpi_ = kpiBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.KpiList) { + return mergeFrom((monitoring.Monitoring.KpiList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.KpiList other) { + if (other == monitoring.Monitoring.KpiList.getDefaultInstance()) return this; + if (kpiBuilder_ == null) { + if (!other.kpi_.isEmpty()) { + if (kpi_.isEmpty()) { + kpi_ = other.kpi_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKpiIsMutable(); + kpi_.addAll(other.kpi_); + } + onChanged(); + } + } else { + if (!other.kpi_.isEmpty()) { + if (kpiBuilder_.isEmpty()) { + kpiBuilder_.dispose(); + kpiBuilder_ = null; + kpi_ = other.kpi_; + bitField0_ = (bitField0_ & ~0x00000001); + kpiBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getKpiFieldBuilder() : null; + } else { + kpiBuilder_.addAllMessages(other.kpi_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.KpiList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List kpi_ = + java.util.Collections.emptyList(); + private void ensureKpiIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + kpi_ = new java.util.ArrayList(kpi_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.Kpi, monitoring.Monitoring.Kpi.Builder, monitoring.Monitoring.KpiOrBuilder> kpiBuilder_; + + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public java.util.List getKpiList() { + if (kpiBuilder_ == null) { + return java.util.Collections.unmodifiableList(kpi_); + } else { + return kpiBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public int getKpiCount() { + if (kpiBuilder_ == null) { + return kpi_.size(); + } else { + return kpiBuilder_.getCount(); + } + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public monitoring.Monitoring.Kpi getKpi(int index) { + if (kpiBuilder_ == null) { + return kpi_.get(index); + } else { + return kpiBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder setKpi( + int index, monitoring.Monitoring.Kpi value) { + if (kpiBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIsMutable(); + kpi_.set(index, value); + onChanged(); + } else { + kpiBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder setKpi( + int index, monitoring.Monitoring.Kpi.Builder builderForValue) { + if (kpiBuilder_ == null) { + ensureKpiIsMutable(); + kpi_.set(index, builderForValue.build()); + onChanged(); + } else { + kpiBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder addKpi(monitoring.Monitoring.Kpi value) { + if (kpiBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIsMutable(); + kpi_.add(value); + onChanged(); + } else { + kpiBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder addKpi( + int index, monitoring.Monitoring.Kpi value) { + if (kpiBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiIsMutable(); + kpi_.add(index, value); + onChanged(); + } else { + kpiBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder addKpi( + monitoring.Monitoring.Kpi.Builder builderForValue) { + if (kpiBuilder_ == null) { + ensureKpiIsMutable(); + kpi_.add(builderForValue.build()); + onChanged(); + } else { + kpiBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder addKpi( + int index, monitoring.Monitoring.Kpi.Builder builderForValue) { + if (kpiBuilder_ == null) { + ensureKpiIsMutable(); + kpi_.add(index, builderForValue.build()); + onChanged(); + } else { + kpiBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder addAllKpi( + java.lang.Iterable values) { + if (kpiBuilder_ == null) { + ensureKpiIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, kpi_); + onChanged(); + } else { + kpiBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder clearKpi() { + if (kpiBuilder_ == null) { + kpi_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + kpiBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public Builder removeKpi(int index) { + if (kpiBuilder_ == null) { + ensureKpiIsMutable(); + kpi_.remove(index); + onChanged(); + } else { + kpiBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public monitoring.Monitoring.Kpi.Builder getKpiBuilder( + int index) { + return getKpiFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public monitoring.Monitoring.KpiOrBuilder getKpiOrBuilder( + int index) { + if (kpiBuilder_ == null) { + return kpi_.get(index); } else { + return kpiBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public java.util.List + getKpiOrBuilderList() { + if (kpiBuilder_ != null) { + return kpiBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(kpi_); + } + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public monitoring.Monitoring.Kpi.Builder addKpiBuilder() { + return getKpiFieldBuilder().addBuilder( + monitoring.Monitoring.Kpi.getDefaultInstance()); + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public monitoring.Monitoring.Kpi.Builder addKpiBuilder( + int index) { + return getKpiFieldBuilder().addBuilder( + index, monitoring.Monitoring.Kpi.getDefaultInstance()); + } + /** + * repeated .monitoring.Kpi kpi = 1; + */ + public java.util.List + getKpiBuilderList() { + return getKpiFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.Kpi, monitoring.Monitoring.Kpi.Builder, monitoring.Monitoring.KpiOrBuilder> + getKpiFieldBuilder() { + if (kpiBuilder_ == null) { + kpiBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.Kpi, monitoring.Monitoring.Kpi.Builder, monitoring.Monitoring.KpiOrBuilder>( + kpi_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + kpi_ = null; + } + return kpiBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.KpiList) + } + + // @@protoc_insertion_point(class_scope:monitoring.KpiList) + private static final monitoring.Monitoring.KpiList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.KpiList(); + } + + public static monitoring.Monitoring.KpiList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KpiList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KpiList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.KpiList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface KpiDescriptorListOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.KpiDescriptorList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + java.util.List + getKpiDescriptorListList(); + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + monitoring.Monitoring.KpiDescriptor getKpiDescriptorList(int index); + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + int getKpiDescriptorListCount(); + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + java.util.List + getKpiDescriptorListOrBuilderList(); + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + monitoring.Monitoring.KpiDescriptorOrBuilder getKpiDescriptorListOrBuilder( + int index); + } + /** + * Protobuf type {@code monitoring.KpiDescriptorList} + */ + public static final class KpiDescriptorList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.KpiDescriptorList) + KpiDescriptorListOrBuilder { + private static final long serialVersionUID = 0L; + // Use KpiDescriptorList.newBuilder() to construct. + private KpiDescriptorList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private KpiDescriptorList() { + kpiDescriptorList_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new KpiDescriptorList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KpiDescriptorList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiDescriptorList_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpiDescriptorList_.add( + input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpiDescriptorList_ = java.util.Collections.unmodifiableList(kpiDescriptorList_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiDescriptorList.class, monitoring.Monitoring.KpiDescriptorList.Builder.class); + } + + public static final int KPI_DESCRIPTOR_LIST_FIELD_NUMBER = 1; + private java.util.List kpiDescriptorList_; + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + @java.lang.Override + public java.util.List getKpiDescriptorListList() { + return kpiDescriptorList_; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + @java.lang.Override + public java.util.List + getKpiDescriptorListOrBuilderList() { + return kpiDescriptorList_; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + @java.lang.Override + public int getKpiDescriptorListCount() { + return kpiDescriptorList_.size(); + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiDescriptor getKpiDescriptorList(int index) { + return kpiDescriptorList_.get(index); + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + @java.lang.Override + public monitoring.Monitoring.KpiDescriptorOrBuilder getKpiDescriptorListOrBuilder( + int index) { + return kpiDescriptorList_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < kpiDescriptorList_.size(); i++) { + output.writeMessage(1, kpiDescriptorList_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < kpiDescriptorList_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, kpiDescriptorList_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.KpiDescriptorList)) { + return super.equals(obj); + } + monitoring.Monitoring.KpiDescriptorList other = (monitoring.Monitoring.KpiDescriptorList) obj; + + if (!getKpiDescriptorListList() + .equals(other.getKpiDescriptorListList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getKpiDescriptorListCount() > 0) { + hash = (37 * hash) + KPI_DESCRIPTOR_LIST_FIELD_NUMBER; + hash = (53 * hash) + getKpiDescriptorListList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiDescriptorList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiDescriptorList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.KpiDescriptorList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.KpiDescriptorList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.KpiDescriptorList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.KpiDescriptorList) + monitoring.Monitoring.KpiDescriptorListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.KpiDescriptorList.class, monitoring.Monitoring.KpiDescriptorList.Builder.class); + } + + // Construct using monitoring.Monitoring.KpiDescriptorList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getKpiDescriptorListFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (kpiDescriptorListBuilder_ == null) { + kpiDescriptorList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + kpiDescriptorListBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.KpiDescriptorList getDefaultInstanceForType() { + return monitoring.Monitoring.KpiDescriptorList.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.KpiDescriptorList build() { + monitoring.Monitoring.KpiDescriptorList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.KpiDescriptorList buildPartial() { + monitoring.Monitoring.KpiDescriptorList result = new monitoring.Monitoring.KpiDescriptorList(this); + int from_bitField0_ = bitField0_; + if (kpiDescriptorListBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + kpiDescriptorList_ = java.util.Collections.unmodifiableList(kpiDescriptorList_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.kpiDescriptorList_ = kpiDescriptorList_; + } else { + result.kpiDescriptorList_ = kpiDescriptorListBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.KpiDescriptorList) { + return mergeFrom((monitoring.Monitoring.KpiDescriptorList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.KpiDescriptorList other) { + if (other == monitoring.Monitoring.KpiDescriptorList.getDefaultInstance()) return this; + if (kpiDescriptorListBuilder_ == null) { + if (!other.kpiDescriptorList_.isEmpty()) { + if (kpiDescriptorList_.isEmpty()) { + kpiDescriptorList_ = other.kpiDescriptorList_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.addAll(other.kpiDescriptorList_); + } + onChanged(); + } + } else { + if (!other.kpiDescriptorList_.isEmpty()) { + if (kpiDescriptorListBuilder_.isEmpty()) { + kpiDescriptorListBuilder_.dispose(); + kpiDescriptorListBuilder_ = null; + kpiDescriptorList_ = other.kpiDescriptorList_; + bitField0_ = (bitField0_ & ~0x00000001); + kpiDescriptorListBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getKpiDescriptorListFieldBuilder() : null; + } else { + kpiDescriptorListBuilder_.addAllMessages(other.kpiDescriptorList_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.KpiDescriptorList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiDescriptorList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List kpiDescriptorList_ = + java.util.Collections.emptyList(); + private void ensureKpiDescriptorListIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + kpiDescriptorList_ = new java.util.ArrayList(kpiDescriptorList_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiDescriptor, monitoring.Monitoring.KpiDescriptor.Builder, monitoring.Monitoring.KpiDescriptorOrBuilder> kpiDescriptorListBuilder_; + + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public java.util.List getKpiDescriptorListList() { + if (kpiDescriptorListBuilder_ == null) { + return java.util.Collections.unmodifiableList(kpiDescriptorList_); + } else { + return kpiDescriptorListBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public int getKpiDescriptorListCount() { + if (kpiDescriptorListBuilder_ == null) { + return kpiDescriptorList_.size(); + } else { + return kpiDescriptorListBuilder_.getCount(); + } + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public monitoring.Monitoring.KpiDescriptor getKpiDescriptorList(int index) { + if (kpiDescriptorListBuilder_ == null) { + return kpiDescriptorList_.get(index); + } else { + return kpiDescriptorListBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder setKpiDescriptorList( + int index, monitoring.Monitoring.KpiDescriptor value) { + if (kpiDescriptorListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.set(index, value); + onChanged(); + } else { + kpiDescriptorListBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder setKpiDescriptorList( + int index, monitoring.Monitoring.KpiDescriptor.Builder builderForValue) { + if (kpiDescriptorListBuilder_ == null) { + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.set(index, builderForValue.build()); + onChanged(); + } else { + kpiDescriptorListBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder addKpiDescriptorList(monitoring.Monitoring.KpiDescriptor value) { + if (kpiDescriptorListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.add(value); + onChanged(); + } else { + kpiDescriptorListBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder addKpiDescriptorList( + int index, monitoring.Monitoring.KpiDescriptor value) { + if (kpiDescriptorListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.add(index, value); + onChanged(); + } else { + kpiDescriptorListBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder addKpiDescriptorList( + monitoring.Monitoring.KpiDescriptor.Builder builderForValue) { + if (kpiDescriptorListBuilder_ == null) { + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.add(builderForValue.build()); + onChanged(); + } else { + kpiDescriptorListBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder addKpiDescriptorList( + int index, monitoring.Monitoring.KpiDescriptor.Builder builderForValue) { + if (kpiDescriptorListBuilder_ == null) { + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.add(index, builderForValue.build()); + onChanged(); + } else { + kpiDescriptorListBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder addAllKpiDescriptorList( + java.lang.Iterable values) { + if (kpiDescriptorListBuilder_ == null) { + ensureKpiDescriptorListIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, kpiDescriptorList_); + onChanged(); + } else { + kpiDescriptorListBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder clearKpiDescriptorList() { + if (kpiDescriptorListBuilder_ == null) { + kpiDescriptorList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + kpiDescriptorListBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public Builder removeKpiDescriptorList(int index) { + if (kpiDescriptorListBuilder_ == null) { + ensureKpiDescriptorListIsMutable(); + kpiDescriptorList_.remove(index); + onChanged(); + } else { + kpiDescriptorListBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public monitoring.Monitoring.KpiDescriptor.Builder getKpiDescriptorListBuilder( + int index) { + return getKpiDescriptorListFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public monitoring.Monitoring.KpiDescriptorOrBuilder getKpiDescriptorListOrBuilder( + int index) { + if (kpiDescriptorListBuilder_ == null) { + return kpiDescriptorList_.get(index); } else { + return kpiDescriptorListBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public java.util.List + getKpiDescriptorListOrBuilderList() { + if (kpiDescriptorListBuilder_ != null) { + return kpiDescriptorListBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(kpiDescriptorList_); + } + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public monitoring.Monitoring.KpiDescriptor.Builder addKpiDescriptorListBuilder() { + return getKpiDescriptorListFieldBuilder().addBuilder( + monitoring.Monitoring.KpiDescriptor.getDefaultInstance()); + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public monitoring.Monitoring.KpiDescriptor.Builder addKpiDescriptorListBuilder( + int index) { + return getKpiDescriptorListFieldBuilder().addBuilder( + index, monitoring.Monitoring.KpiDescriptor.getDefaultInstance()); + } + /** + * repeated .monitoring.KpiDescriptor kpi_descriptor_list = 1; + */ + public java.util.List + getKpiDescriptorListBuilderList() { + return getKpiDescriptorListFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiDescriptor, monitoring.Monitoring.KpiDescriptor.Builder, monitoring.Monitoring.KpiDescriptorOrBuilder> + getKpiDescriptorListFieldBuilder() { + if (kpiDescriptorListBuilder_ == null) { + kpiDescriptorListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.KpiDescriptor, monitoring.Monitoring.KpiDescriptor.Builder, monitoring.Monitoring.KpiDescriptorOrBuilder>( + kpiDescriptorList_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + kpiDescriptorList_ = null; + } + return kpiDescriptorListBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.KpiDescriptorList) + } + + // @@protoc_insertion_point(class_scope:monitoring.KpiDescriptorList) + private static final monitoring.Monitoring.KpiDescriptorList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.KpiDescriptorList(); + } + + public static monitoring.Monitoring.KpiDescriptorList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KpiDescriptorList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KpiDescriptorList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.KpiDescriptorList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SubsDescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.SubsDescriptor) + com.google.protobuf.MessageOrBuilder { + + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return Whether the subsId field is set. + */ + boolean hasSubsId(); + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return The subsId. + */ + monitoring.Monitoring.SubscriptionID getSubsId(); + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder(); + + /** + * .monitoring.KpiId kpi_id = 2; + * @return Whether the kpiId field is set. + */ + boolean hasKpiId(); + /** + * .monitoring.KpiId kpi_id = 2; + * @return The kpiId. + */ + monitoring.Monitoring.KpiId getKpiId(); + /** + * .monitoring.KpiId kpi_id = 2; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); + + /** + * float sampling_duration_s = 3; + * @return The samplingDurationS. + */ + float getSamplingDurationS(); + + /** + * float sampling_interval_s = 4; + * @return The samplingIntervalS. + */ + float getSamplingIntervalS(); + + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 5; + * @return Whether the startTimestamp field is set. + */ + boolean hasStartTimestamp(); + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 5; + * @return The startTimestamp. + */ + context.ContextOuterClass.Timestamp getStartTimestamp(); + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder(); + + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 6; + * @return Whether the endTimestamp field is set. + */ + boolean hasEndTimestamp(); + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 6; + * @return The endTimestamp. + */ + context.ContextOuterClass.Timestamp getEndTimestamp(); + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder(); + } + /** + * Protobuf type {@code monitoring.SubsDescriptor} + */ + public static final class SubsDescriptor extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.SubsDescriptor) + SubsDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use SubsDescriptor.newBuilder() to construct. + private SubsDescriptor(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SubsDescriptor() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SubsDescriptor(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SubsDescriptor( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + monitoring.Monitoring.SubscriptionID.Builder subBuilder = null; + if (subsId_ != null) { + subBuilder = subsId_.toBuilder(); + } + subsId_ = input.readMessage(monitoring.Monitoring.SubscriptionID.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(subsId_); + subsId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + + break; + } + case 29: { + + samplingDurationS_ = input.readFloat(); + break; + } + case 37: { + + samplingIntervalS_ = input.readFloat(); + break; + } + case 42: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (startTimestamp_ != null) { + subBuilder = startTimestamp_.toBuilder(); + } + startTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(startTimestamp_); + startTimestamp_ = subBuilder.buildPartial(); + } + + break; + } + case 50: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (endTimestamp_ != null) { + subBuilder = endTimestamp_.toBuilder(); + } + endTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endTimestamp_); + endTimestamp_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubsDescriptor.class, monitoring.Monitoring.SubsDescriptor.Builder.class); + } + + public static final int SUBS_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.SubscriptionID subsId_; + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return Whether the subsId field is set. + */ + @java.lang.Override + public boolean hasSubsId() { + return subsId_ != null; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return The subsId. + */ + @java.lang.Override + public monitoring.Monitoring.SubscriptionID getSubsId() { + return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + @java.lang.Override + public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() { + return getSubsId(); + } + + public static final int KPI_ID_FIELD_NUMBER = 2; + private monitoring.Monitoring.KpiId kpiId_; + /** + * .monitoring.KpiId kpi_id = 2; + * @return Whether the kpiId field is set. + */ + @java.lang.Override + public boolean hasKpiId() { + return kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 2; + * @return The kpiId. + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiId() { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + return getKpiId(); + } + + public static final int SAMPLING_DURATION_S_FIELD_NUMBER = 3; + private float samplingDurationS_; + /** + * float sampling_duration_s = 3; + * @return The samplingDurationS. + */ + @java.lang.Override + public float getSamplingDurationS() { + return samplingDurationS_; + } + + public static final int SAMPLING_INTERVAL_S_FIELD_NUMBER = 4; + private float samplingIntervalS_; + /** + * float sampling_interval_s = 4; + * @return The samplingIntervalS. + */ + @java.lang.Override + public float getSamplingIntervalS() { + return samplingIntervalS_; + } + + public static final int START_TIMESTAMP_FIELD_NUMBER = 5; + private context.ContextOuterClass.Timestamp startTimestamp_; + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 5; + * @return Whether the startTimestamp field is set. + */ + @java.lang.Override + public boolean hasStartTimestamp() { + return startTimestamp_ != null; + } + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 5; + * @return The startTimestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getStartTimestamp() { + return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_; + } + /** + *
+     * used when you want something like "get the samples since X date/time"
+     * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() { + return getStartTimestamp(); + } + + public static final int END_TIMESTAMP_FIELD_NUMBER = 6; + private context.ContextOuterClass.Timestamp endTimestamp_; + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 6; + * @return Whether the endTimestamp field is set. + */ + @java.lang.Override + public boolean hasEndTimestamp() { + return endTimestamp_ != null; + } + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 6; + * @return The endTimestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getEndTimestamp() { + return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_; + } + /** + *
+     * used when you want something like "get the samples until X date/time"
+     * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() { + return getEndTimestamp(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (subsId_ != null) { + output.writeMessage(1, getSubsId()); + } + if (kpiId_ != null) { + output.writeMessage(2, getKpiId()); + } + if (samplingDurationS_ != 0F) { + output.writeFloat(3, samplingDurationS_); + } + if (samplingIntervalS_ != 0F) { + output.writeFloat(4, samplingIntervalS_); + } + if (startTimestamp_ != null) { + output.writeMessage(5, getStartTimestamp()); + } + if (endTimestamp_ != null) { + output.writeMessage(6, getEndTimestamp()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (subsId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getSubsId()); + } + if (kpiId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getKpiId()); + } + if (samplingDurationS_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, samplingDurationS_); + } + if (samplingIntervalS_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, samplingIntervalS_); + } + if (startTimestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getStartTimestamp()); + } + if (endTimestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getEndTimestamp()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.SubsDescriptor)) { + return super.equals(obj); + } + monitoring.Monitoring.SubsDescriptor other = (monitoring.Monitoring.SubsDescriptor) obj; + + if (hasSubsId() != other.hasSubsId()) return false; + if (hasSubsId()) { + if (!getSubsId() + .equals(other.getSubsId())) return false; + } + if (hasKpiId() != other.hasKpiId()) return false; + if (hasKpiId()) { + if (!getKpiId() + .equals(other.getKpiId())) return false; + } + if (java.lang.Float.floatToIntBits(getSamplingDurationS()) + != java.lang.Float.floatToIntBits( + other.getSamplingDurationS())) return false; + if (java.lang.Float.floatToIntBits(getSamplingIntervalS()) + != java.lang.Float.floatToIntBits( + other.getSamplingIntervalS())) return false; + if (hasStartTimestamp() != other.hasStartTimestamp()) return false; + if (hasStartTimestamp()) { + if (!getStartTimestamp() + .equals(other.getStartTimestamp())) return false; + } + if (hasEndTimestamp() != other.hasEndTimestamp()) return false; + if (hasEndTimestamp()) { + if (!getEndTimestamp() + .equals(other.getEndTimestamp())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSubsId()) { + hash = (37 * hash) + SUBS_ID_FIELD_NUMBER; + hash = (53 * hash) + getSubsId().hashCode(); + } + if (hasKpiId()) { + hash = (37 * hash) + KPI_ID_FIELD_NUMBER; + hash = (53 * hash) + getKpiId().hashCode(); + } + hash = (37 * hash) + SAMPLING_DURATION_S_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getSamplingDurationS()); + hash = (37 * hash) + SAMPLING_INTERVAL_S_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getSamplingIntervalS()); + if (hasStartTimestamp()) { + hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getStartTimestamp().hashCode(); + } + if (hasEndTimestamp()) { + hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getEndTimestamp().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.SubsDescriptor parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubsDescriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsDescriptor parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsDescriptor parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.SubsDescriptor prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.SubsDescriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.SubsDescriptor) + monitoring.Monitoring.SubsDescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubsDescriptor.class, monitoring.Monitoring.SubsDescriptor.Builder.class); + } + + // Construct using monitoring.Monitoring.SubsDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (subsIdBuilder_ == null) { + subsId_ = null; + } else { + subsId_ = null; + subsIdBuilder_ = null; + } + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + samplingDurationS_ = 0F; + + samplingIntervalS_ = 0F; + + if (startTimestampBuilder_ == null) { + startTimestamp_ = null; + } else { + startTimestamp_ = null; + startTimestampBuilder_ = null; + } + if (endTimestampBuilder_ == null) { + endTimestamp_ = null; + } else { + endTimestamp_ = null; + endTimestampBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.SubsDescriptor getDefaultInstanceForType() { + return monitoring.Monitoring.SubsDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.SubsDescriptor build() { + monitoring.Monitoring.SubsDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.SubsDescriptor buildPartial() { + monitoring.Monitoring.SubsDescriptor result = new monitoring.Monitoring.SubsDescriptor(this); + if (subsIdBuilder_ == null) { + result.subsId_ = subsId_; + } else { + result.subsId_ = subsIdBuilder_.build(); + } + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + result.samplingDurationS_ = samplingDurationS_; + result.samplingIntervalS_ = samplingIntervalS_; + if (startTimestampBuilder_ == null) { + result.startTimestamp_ = startTimestamp_; + } else { + result.startTimestamp_ = startTimestampBuilder_.build(); + } + if (endTimestampBuilder_ == null) { + result.endTimestamp_ = endTimestamp_; + } else { + result.endTimestamp_ = endTimestampBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.SubsDescriptor) { + return mergeFrom((monitoring.Monitoring.SubsDescriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.SubsDescriptor other) { + if (other == monitoring.Monitoring.SubsDescriptor.getDefaultInstance()) return this; + if (other.hasSubsId()) { + mergeSubsId(other.getSubsId()); + } + if (other.hasKpiId()) { + mergeKpiId(other.getKpiId()); + } + if (other.getSamplingDurationS() != 0F) { + setSamplingDurationS(other.getSamplingDurationS()); + } + if (other.getSamplingIntervalS() != 0F) { + setSamplingIntervalS(other.getSamplingIntervalS()); + } + if (other.hasStartTimestamp()) { + mergeStartTimestamp(other.getStartTimestamp()); + } + if (other.hasEndTimestamp()) { + mergeEndTimestamp(other.getEndTimestamp()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.SubsDescriptor parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.SubsDescriptor) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private monitoring.Monitoring.SubscriptionID subsId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.SubscriptionID, monitoring.Monitoring.SubscriptionID.Builder, monitoring.Monitoring.SubscriptionIDOrBuilder> subsIdBuilder_; + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return Whether the subsId field is set. + */ + public boolean hasSubsId() { + return subsIdBuilder_ != null || subsId_ != null; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return The subsId. + */ + public monitoring.Monitoring.SubscriptionID getSubsId() { + if (subsIdBuilder_ == null) { + return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_; + } else { + return subsIdBuilder_.getMessage(); + } + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder setSubsId(monitoring.Monitoring.SubscriptionID value) { + if (subsIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subsId_ = value; + onChanged(); + } else { + subsIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder setSubsId( + monitoring.Monitoring.SubscriptionID.Builder builderForValue) { + if (subsIdBuilder_ == null) { + subsId_ = builderForValue.build(); + onChanged(); + } else { + subsIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder mergeSubsId(monitoring.Monitoring.SubscriptionID value) { + if (subsIdBuilder_ == null) { + if (subsId_ != null) { + subsId_ = + monitoring.Monitoring.SubscriptionID.newBuilder(subsId_).mergeFrom(value).buildPartial(); + } else { + subsId_ = value; + } + onChanged(); + } else { + subsIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder clearSubsId() { + if (subsIdBuilder_ == null) { + subsId_ = null; + onChanged(); + } else { + subsId_ = null; + subsIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public monitoring.Monitoring.SubscriptionID.Builder getSubsIdBuilder() { + + onChanged(); + return getSubsIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() { + if (subsIdBuilder_ != null) { + return subsIdBuilder_.getMessageOrBuilder(); + } else { + return subsId_ == null ? + monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_; + } + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.SubscriptionID, monitoring.Monitoring.SubscriptionID.Builder, monitoring.Monitoring.SubscriptionIDOrBuilder> + getSubsIdFieldBuilder() { + if (subsIdBuilder_ == null) { + subsIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.SubscriptionID, monitoring.Monitoring.SubscriptionID.Builder, monitoring.Monitoring.SubscriptionIDOrBuilder>( + getSubsId(), + getParentForChildren(), + isClean()); + subsId_ = null; + } + return subsIdBuilder_; + } + + private monitoring.Monitoring.KpiId kpiId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdBuilder_; + /** + * .monitoring.KpiId kpi_id = 2; + * @return Whether the kpiId field is set. + */ + public boolean hasKpiId() { + return kpiIdBuilder_ != null || kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 2; + * @return The kpiId. + */ + public monitoring.Monitoring.KpiId getKpiId() { + if (kpiIdBuilder_ == null) { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } else { + return kpiIdBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + public Builder setKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiId_ = value; + onChanged(); + } else { + kpiIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + public Builder setKpiId( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdBuilder_ == null) { + kpiId_ = builderForValue.build(); + onChanged(); + } else { + kpiIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (kpiId_ != null) { + kpiId_ = + monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + } else { + kpiId_ = value; + } + onChanged(); + } else { + kpiIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + public Builder clearKpiId() { + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { + + onChanged(); + return getKpiIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + if (kpiIdBuilder_ != null) { + return kpiIdBuilder_.getMessageOrBuilder(); + } else { + return kpiId_ == null ? + monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + } + /** + * .monitoring.KpiId kpi_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdFieldBuilder() { + if (kpiIdBuilder_ == null) { + kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + getKpiId(), + getParentForChildren(), + isClean()); + kpiId_ = null; + } + return kpiIdBuilder_; + } + + private float samplingDurationS_ ; + /** + * float sampling_duration_s = 3; + * @return The samplingDurationS. + */ + @java.lang.Override + public float getSamplingDurationS() { + return samplingDurationS_; + } + /** + * float sampling_duration_s = 3; + * @param value The samplingDurationS to set. + * @return This builder for chaining. + */ + public Builder setSamplingDurationS(float value) { + + samplingDurationS_ = value; + onChanged(); + return this; + } + /** + * float sampling_duration_s = 3; + * @return This builder for chaining. + */ + public Builder clearSamplingDurationS() { + + samplingDurationS_ = 0F; + onChanged(); + return this; + } + + private float samplingIntervalS_ ; + /** + * float sampling_interval_s = 4; + * @return The samplingIntervalS. + */ + @java.lang.Override + public float getSamplingIntervalS() { + return samplingIntervalS_; + } + /** + * float sampling_interval_s = 4; + * @param value The samplingIntervalS to set. + * @return This builder for chaining. + */ + public Builder setSamplingIntervalS(float value) { + + samplingIntervalS_ = value; + onChanged(); + return this; + } + /** + * float sampling_interval_s = 4; + * @return This builder for chaining. + */ + public Builder clearSamplingIntervalS() { + + samplingIntervalS_ = 0F; + onChanged(); + return this; + } + + private context.ContextOuterClass.Timestamp startTimestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> startTimestampBuilder_; + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + * @return Whether the startTimestamp field is set. + */ + public boolean hasStartTimestamp() { + return startTimestampBuilder_ != null || startTimestamp_ != null; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + * @return The startTimestamp. + */ + public context.ContextOuterClass.Timestamp getStartTimestamp() { + if (startTimestampBuilder_ == null) { + return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_; + } else { + return startTimestampBuilder_.getMessage(); + } + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + public Builder setStartTimestamp(context.ContextOuterClass.Timestamp value) { + if (startTimestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + startTimestamp_ = value; + onChanged(); + } else { + startTimestampBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + public Builder setStartTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (startTimestampBuilder_ == null) { + startTimestamp_ = builderForValue.build(); + onChanged(); + } else { + startTimestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + public Builder mergeStartTimestamp(context.ContextOuterClass.Timestamp value) { + if (startTimestampBuilder_ == null) { + if (startTimestamp_ != null) { + startTimestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(startTimestamp_).mergeFrom(value).buildPartial(); + } else { + startTimestamp_ = value; + } + onChanged(); + } else { + startTimestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + public Builder clearStartTimestamp() { + if (startTimestampBuilder_ == null) { + startTimestamp_ = null; + onChanged(); + } else { + startTimestamp_ = null; + startTimestampBuilder_ = null; + } + + return this; + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + public context.ContextOuterClass.Timestamp.Builder getStartTimestampBuilder() { + + onChanged(); + return getStartTimestampFieldBuilder().getBuilder(); + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() { + if (startTimestampBuilder_ != null) { + return startTimestampBuilder_.getMessageOrBuilder(); + } else { + return startTimestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_; + } + } + /** + *
+       * used when you want something like "get the samples since X date/time"
+       * 
+ * + * .context.Timestamp start_timestamp = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getStartTimestampFieldBuilder() { + if (startTimestampBuilder_ == null) { + startTimestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getStartTimestamp(), + getParentForChildren(), + isClean()); + startTimestamp_ = null; + } + return startTimestampBuilder_; + } + + private context.ContextOuterClass.Timestamp endTimestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> endTimestampBuilder_; + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + * @return Whether the endTimestamp field is set. + */ + public boolean hasEndTimestamp() { + return endTimestampBuilder_ != null || endTimestamp_ != null; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + * @return The endTimestamp. + */ + public context.ContextOuterClass.Timestamp getEndTimestamp() { + if (endTimestampBuilder_ == null) { + return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_; + } else { + return endTimestampBuilder_.getMessage(); + } + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + public Builder setEndTimestamp(context.ContextOuterClass.Timestamp value) { + if (endTimestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTimestamp_ = value; + onChanged(); + } else { + endTimestampBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + public Builder setEndTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (endTimestampBuilder_ == null) { + endTimestamp_ = builderForValue.build(); + onChanged(); + } else { + endTimestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + public Builder mergeEndTimestamp(context.ContextOuterClass.Timestamp value) { + if (endTimestampBuilder_ == null) { + if (endTimestamp_ != null) { + endTimestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(endTimestamp_).mergeFrom(value).buildPartial(); + } else { + endTimestamp_ = value; + } + onChanged(); + } else { + endTimestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + public Builder clearEndTimestamp() { + if (endTimestampBuilder_ == null) { + endTimestamp_ = null; + onChanged(); + } else { + endTimestamp_ = null; + endTimestampBuilder_ = null; + } + + return this; + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + public context.ContextOuterClass.Timestamp.Builder getEndTimestampBuilder() { + + onChanged(); + return getEndTimestampFieldBuilder().getBuilder(); + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() { + if (endTimestampBuilder_ != null) { + return endTimestampBuilder_.getMessageOrBuilder(); + } else { + return endTimestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_; + } + } + /** + *
+       * used when you want something like "get the samples until X date/time"
+       * 
+ * + * .context.Timestamp end_timestamp = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getEndTimestampFieldBuilder() { + if (endTimestampBuilder_ == null) { + endTimestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getEndTimestamp(), + getParentForChildren(), + isClean()); + endTimestamp_ = null; + } + return endTimestampBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.SubsDescriptor) + } + + // @@protoc_insertion_point(class_scope:monitoring.SubsDescriptor) + private static final monitoring.Monitoring.SubsDescriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.SubsDescriptor(); + } + + public static monitoring.Monitoring.SubsDescriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SubsDescriptor parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SubsDescriptor(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.SubsDescriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SubscriptionIDOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.SubscriptionID) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid subs_id = 1; + * @return Whether the subsId field is set. + */ + boolean hasSubsId(); + /** + * .context.Uuid subs_id = 1; + * @return The subsId. + */ + context.ContextOuterClass.Uuid getSubsId(); + /** + * .context.Uuid subs_id = 1; + */ + context.ContextOuterClass.UuidOrBuilder getSubsIdOrBuilder(); + } + /** + * Protobuf type {@code monitoring.SubscriptionID} + */ + public static final class SubscriptionID extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.SubscriptionID) + SubscriptionIDOrBuilder { + private static final long serialVersionUID = 0L; + // Use SubscriptionID.newBuilder() to construct. + private SubscriptionID(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SubscriptionID() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SubscriptionID(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SubscriptionID( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (subsId_ != null) { + subBuilder = subsId_.toBuilder(); + } + subsId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(subsId_); + subsId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubscriptionID.class, monitoring.Monitoring.SubscriptionID.Builder.class); + } + + public static final int SUBS_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid subsId_; + /** + * .context.Uuid subs_id = 1; + * @return Whether the subsId field is set. + */ + @java.lang.Override + public boolean hasSubsId() { + return subsId_ != null; + } + /** + * .context.Uuid subs_id = 1; + * @return The subsId. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getSubsId() { + return subsId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : subsId_; + } + /** + * .context.Uuid subs_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getSubsIdOrBuilder() { + return getSubsId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (subsId_ != null) { + output.writeMessage(1, getSubsId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (subsId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getSubsId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.SubscriptionID)) { + return super.equals(obj); + } + monitoring.Monitoring.SubscriptionID other = (monitoring.Monitoring.SubscriptionID) obj; + + if (hasSubsId() != other.hasSubsId()) return false; + if (hasSubsId()) { + if (!getSubsId() + .equals(other.getSubsId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSubsId()) { + hash = (37 * hash) + SUBS_ID_FIELD_NUMBER; + hash = (53 * hash) + getSubsId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.SubscriptionID parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubscriptionID parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubscriptionID parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubscriptionID parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubscriptionID parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubscriptionID parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.SubscriptionID prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.SubscriptionID} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.SubscriptionID) + monitoring.Monitoring.SubscriptionIDOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubscriptionID.class, monitoring.Monitoring.SubscriptionID.Builder.class); + } + + // Construct using monitoring.Monitoring.SubscriptionID.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (subsIdBuilder_ == null) { + subsId_ = null; + } else { + subsId_ = null; + subsIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.SubscriptionID getDefaultInstanceForType() { + return monitoring.Monitoring.SubscriptionID.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.SubscriptionID build() { + monitoring.Monitoring.SubscriptionID result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.SubscriptionID buildPartial() { + monitoring.Monitoring.SubscriptionID result = new monitoring.Monitoring.SubscriptionID(this); + if (subsIdBuilder_ == null) { + result.subsId_ = subsId_; + } else { + result.subsId_ = subsIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.SubscriptionID) { + return mergeFrom((monitoring.Monitoring.SubscriptionID)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.SubscriptionID other) { + if (other == monitoring.Monitoring.SubscriptionID.getDefaultInstance()) return this; + if (other.hasSubsId()) { + mergeSubsId(other.getSubsId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.SubscriptionID parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.SubscriptionID) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private context.ContextOuterClass.Uuid subsId_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> subsIdBuilder_; + /** + * .context.Uuid subs_id = 1; + * @return Whether the subsId field is set. + */ + public boolean hasSubsId() { + return subsIdBuilder_ != null || subsId_ != null; + } + /** + * .context.Uuid subs_id = 1; + * @return The subsId. + */ + public context.ContextOuterClass.Uuid getSubsId() { + if (subsIdBuilder_ == null) { + return subsId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : subsId_; + } else { + return subsIdBuilder_.getMessage(); + } + } + /** + * .context.Uuid subs_id = 1; + */ + public Builder setSubsId(context.ContextOuterClass.Uuid value) { + if (subsIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subsId_ = value; + onChanged(); + } else { + subsIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Uuid subs_id = 1; + */ + public Builder setSubsId( + context.ContextOuterClass.Uuid.Builder builderForValue) { + if (subsIdBuilder_ == null) { + subsId_ = builderForValue.build(); + onChanged(); + } else { + subsIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Uuid subs_id = 1; + */ + public Builder mergeSubsId(context.ContextOuterClass.Uuid value) { + if (subsIdBuilder_ == null) { + if (subsId_ != null) { + subsId_ = + context.ContextOuterClass.Uuid.newBuilder(subsId_).mergeFrom(value).buildPartial(); + } else { + subsId_ = value; + } + onChanged(); + } else { + subsIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Uuid subs_id = 1; + */ + public Builder clearSubsId() { + if (subsIdBuilder_ == null) { + subsId_ = null; + onChanged(); + } else { + subsId_ = null; + subsIdBuilder_ = null; + } + + return this; + } + /** + * .context.Uuid subs_id = 1; + */ + public context.ContextOuterClass.Uuid.Builder getSubsIdBuilder() { + + onChanged(); + return getSubsIdFieldBuilder().getBuilder(); + } + /** + * .context.Uuid subs_id = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getSubsIdOrBuilder() { + if (subsIdBuilder_ != null) { + return subsIdBuilder_.getMessageOrBuilder(); + } else { + return subsId_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : subsId_; + } + } + /** + * .context.Uuid subs_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> + getSubsIdFieldBuilder() { + if (subsIdBuilder_ == null) { + subsIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( + getSubsId(), + getParentForChildren(), + isClean()); + subsId_ = null; + } + return subsIdBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.SubscriptionID) + } + + // @@protoc_insertion_point(class_scope:monitoring.SubscriptionID) + private static final monitoring.Monitoring.SubscriptionID DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.SubscriptionID(); + } + + public static monitoring.Monitoring.SubscriptionID getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SubscriptionID parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SubscriptionID(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.SubscriptionID getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SubsResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.SubsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return Whether the subsId field is set. + */ + boolean hasSubsId(); + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return The subsId. + */ + monitoring.Monitoring.SubscriptionID getSubsId(); + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder(); + + /** + * .monitoring.KpiList kpi_list = 2; + * @return Whether the kpiList field is set. + */ + boolean hasKpiList(); + /** + * .monitoring.KpiList kpi_list = 2; + * @return The kpiList. + */ + monitoring.Monitoring.KpiList getKpiList(); + /** + * .monitoring.KpiList kpi_list = 2; + */ + monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder(); + } + /** + * Protobuf type {@code monitoring.SubsResponse} + */ + public static final class SubsResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.SubsResponse) + SubsResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use SubsResponse.newBuilder() to construct. + private SubsResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SubsResponse() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SubsResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SubsResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + monitoring.Monitoring.SubscriptionID.Builder subBuilder = null; + if (subsId_ != null) { + subBuilder = subsId_.toBuilder(); + } + subsId_ = input.readMessage(monitoring.Monitoring.SubscriptionID.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(subsId_); + subsId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + monitoring.Monitoring.KpiList.Builder subBuilder = null; + if (kpiList_ != null) { + subBuilder = kpiList_.toBuilder(); + } + kpiList_ = input.readMessage(monitoring.Monitoring.KpiList.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiList_); + kpiList_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubsResponse.class, monitoring.Monitoring.SubsResponse.Builder.class); + } + + public static final int SUBS_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.SubscriptionID subsId_; + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return Whether the subsId field is set. + */ + @java.lang.Override + public boolean hasSubsId() { + return subsId_ != null; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return The subsId. + */ + @java.lang.Override + public monitoring.Monitoring.SubscriptionID getSubsId() { + return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + @java.lang.Override + public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() { + return getSubsId(); + } + + public static final int KPI_LIST_FIELD_NUMBER = 2; + private monitoring.Monitoring.KpiList kpiList_; + /** + * .monitoring.KpiList kpi_list = 2; + * @return Whether the kpiList field is set. + */ + @java.lang.Override + public boolean hasKpiList() { + return kpiList_ != null; + } + /** + * .monitoring.KpiList kpi_list = 2; + * @return The kpiList. + */ + @java.lang.Override + public monitoring.Monitoring.KpiList getKpiList() { + return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_; + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + @java.lang.Override + public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() { + return getKpiList(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (subsId_ != null) { + output.writeMessage(1, getSubsId()); + } + if (kpiList_ != null) { + output.writeMessage(2, getKpiList()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (subsId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getSubsId()); + } + if (kpiList_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getKpiList()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.SubsResponse)) { + return super.equals(obj); + } + monitoring.Monitoring.SubsResponse other = (monitoring.Monitoring.SubsResponse) obj; + + if (hasSubsId() != other.hasSubsId()) return false; + if (hasSubsId()) { + if (!getSubsId() + .equals(other.getSubsId())) return false; + } + if (hasKpiList() != other.hasKpiList()) return false; + if (hasKpiList()) { + if (!getKpiList() + .equals(other.getKpiList())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSubsId()) { + hash = (37 * hash) + SUBS_ID_FIELD_NUMBER; + hash = (53 * hash) + getSubsId().hashCode(); + } + if (hasKpiList()) { + hash = (37 * hash) + KPI_LIST_FIELD_NUMBER; + hash = (53 * hash) + getKpiList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.SubsResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubsResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.SubsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.SubsResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.SubsResponse) + monitoring.Monitoring.SubsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubsResponse.class, monitoring.Monitoring.SubsResponse.Builder.class); + } + + // Construct using monitoring.Monitoring.SubsResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (subsIdBuilder_ == null) { + subsId_ = null; + } else { + subsId_ = null; + subsIdBuilder_ = null; + } + if (kpiListBuilder_ == null) { + kpiList_ = null; + } else { + kpiList_ = null; + kpiListBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_SubsResponse_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.SubsResponse getDefaultInstanceForType() { + return monitoring.Monitoring.SubsResponse.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.SubsResponse build() { + monitoring.Monitoring.SubsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.SubsResponse buildPartial() { + monitoring.Monitoring.SubsResponse result = new monitoring.Monitoring.SubsResponse(this); + if (subsIdBuilder_ == null) { + result.subsId_ = subsId_; + } else { + result.subsId_ = subsIdBuilder_.build(); + } + if (kpiListBuilder_ == null) { + result.kpiList_ = kpiList_; + } else { + result.kpiList_ = kpiListBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.SubsResponse) { + return mergeFrom((monitoring.Monitoring.SubsResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.SubsResponse other) { + if (other == monitoring.Monitoring.SubsResponse.getDefaultInstance()) return this; + if (other.hasSubsId()) { + mergeSubsId(other.getSubsId()); + } + if (other.hasKpiList()) { + mergeKpiList(other.getKpiList()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.SubsResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.SubsResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private monitoring.Monitoring.SubscriptionID subsId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.SubscriptionID, monitoring.Monitoring.SubscriptionID.Builder, monitoring.Monitoring.SubscriptionIDOrBuilder> subsIdBuilder_; + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return Whether the subsId field is set. + */ + public boolean hasSubsId() { + return subsIdBuilder_ != null || subsId_ != null; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + * @return The subsId. + */ + public monitoring.Monitoring.SubscriptionID getSubsId() { + if (subsIdBuilder_ == null) { + return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_; + } else { + return subsIdBuilder_.getMessage(); + } + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder setSubsId(monitoring.Monitoring.SubscriptionID value) { + if (subsIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subsId_ = value; + onChanged(); + } else { + subsIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder setSubsId( + monitoring.Monitoring.SubscriptionID.Builder builderForValue) { + if (subsIdBuilder_ == null) { + subsId_ = builderForValue.build(); + onChanged(); + } else { + subsIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder mergeSubsId(monitoring.Monitoring.SubscriptionID value) { + if (subsIdBuilder_ == null) { + if (subsId_ != null) { + subsId_ = + monitoring.Monitoring.SubscriptionID.newBuilder(subsId_).mergeFrom(value).buildPartial(); + } else { + subsId_ = value; + } + onChanged(); + } else { + subsIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public Builder clearSubsId() { + if (subsIdBuilder_ == null) { + subsId_ = null; + onChanged(); + } else { + subsId_ = null; + subsIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public monitoring.Monitoring.SubscriptionID.Builder getSubsIdBuilder() { + + onChanged(); + return getSubsIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() { + if (subsIdBuilder_ != null) { + return subsIdBuilder_.getMessageOrBuilder(); + } else { + return subsId_ == null ? + monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_; + } + } + /** + * .monitoring.SubscriptionID subs_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.SubscriptionID, monitoring.Monitoring.SubscriptionID.Builder, monitoring.Monitoring.SubscriptionIDOrBuilder> + getSubsIdFieldBuilder() { + if (subsIdBuilder_ == null) { + subsIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.SubscriptionID, monitoring.Monitoring.SubscriptionID.Builder, monitoring.Monitoring.SubscriptionIDOrBuilder>( + getSubsId(), + getParentForChildren(), + isClean()); + subsId_ = null; + } + return subsIdBuilder_; + } + + private monitoring.Monitoring.KpiList kpiList_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiList, monitoring.Monitoring.KpiList.Builder, monitoring.Monitoring.KpiListOrBuilder> kpiListBuilder_; + /** + * .monitoring.KpiList kpi_list = 2; + * @return Whether the kpiList field is set. + */ + public boolean hasKpiList() { + return kpiListBuilder_ != null || kpiList_ != null; + } + /** + * .monitoring.KpiList kpi_list = 2; + * @return The kpiList. + */ + public monitoring.Monitoring.KpiList getKpiList() { + if (kpiListBuilder_ == null) { + return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_; + } else { + return kpiListBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + public Builder setKpiList(monitoring.Monitoring.KpiList value) { + if (kpiListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiList_ = value; + onChanged(); + } else { + kpiListBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + public Builder setKpiList( + monitoring.Monitoring.KpiList.Builder builderForValue) { + if (kpiListBuilder_ == null) { + kpiList_ = builderForValue.build(); + onChanged(); + } else { + kpiListBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + public Builder mergeKpiList(monitoring.Monitoring.KpiList value) { + if (kpiListBuilder_ == null) { + if (kpiList_ != null) { + kpiList_ = + monitoring.Monitoring.KpiList.newBuilder(kpiList_).mergeFrom(value).buildPartial(); + } else { + kpiList_ = value; + } + onChanged(); + } else { + kpiListBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + public Builder clearKpiList() { + if (kpiListBuilder_ == null) { + kpiList_ = null; + onChanged(); + } else { + kpiList_ = null; + kpiListBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + public monitoring.Monitoring.KpiList.Builder getKpiListBuilder() { + + onChanged(); + return getKpiListFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() { + if (kpiListBuilder_ != null) { + return kpiListBuilder_.getMessageOrBuilder(); + } else { + return kpiList_ == null ? + monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_; + } + } + /** + * .monitoring.KpiList kpi_list = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiList, monitoring.Monitoring.KpiList.Builder, monitoring.Monitoring.KpiListOrBuilder> + getKpiListFieldBuilder() { + if (kpiListBuilder_ == null) { + kpiListBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiList, monitoring.Monitoring.KpiList.Builder, monitoring.Monitoring.KpiListOrBuilder>( + getKpiList(), + getParentForChildren(), + isClean()); + kpiList_ = null; + } + return kpiListBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.SubsResponse) + } + + // @@protoc_insertion_point(class_scope:monitoring.SubsResponse) + private static final monitoring.Monitoring.SubsResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.SubsResponse(); + } + + public static monitoring.Monitoring.SubsResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SubsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SubsResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.SubsResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SubsListOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.SubsList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + java.util.List + getSubsDescriptorList(); + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + monitoring.Monitoring.SubsDescriptor getSubsDescriptor(int index); + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + int getSubsDescriptorCount(); + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + java.util.List + getSubsDescriptorOrBuilderList(); + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + monitoring.Monitoring.SubsDescriptorOrBuilder getSubsDescriptorOrBuilder( + int index); + } + /** + * Protobuf type {@code monitoring.SubsList} + */ + public static final class SubsList extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.SubsList) + SubsListOrBuilder { + private static final long serialVersionUID = 0L; + // Use SubsList.newBuilder() to construct. + private SubsList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private SubsList() { + subsDescriptor_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new SubsList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SubsList( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + subsDescriptor_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + subsDescriptor_.add( + input.readMessage(monitoring.Monitoring.SubsDescriptor.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + subsDescriptor_ = java.util.Collections.unmodifiableList(subsDescriptor_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubsList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubsList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubsList.class, monitoring.Monitoring.SubsList.Builder.class); + } + + public static final int SUBS_DESCRIPTOR_FIELD_NUMBER = 1; + private java.util.List subsDescriptor_; + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + @java.lang.Override + public java.util.List getSubsDescriptorList() { + return subsDescriptor_; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + @java.lang.Override + public java.util.List + getSubsDescriptorOrBuilderList() { + return subsDescriptor_; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + @java.lang.Override + public int getSubsDescriptorCount() { + return subsDescriptor_.size(); + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + @java.lang.Override + public monitoring.Monitoring.SubsDescriptor getSubsDescriptor(int index) { + return subsDescriptor_.get(index); + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + @java.lang.Override + public monitoring.Monitoring.SubsDescriptorOrBuilder getSubsDescriptorOrBuilder( + int index) { + return subsDescriptor_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < subsDescriptor_.size(); i++) { + output.writeMessage(1, subsDescriptor_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < subsDescriptor_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, subsDescriptor_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.SubsList)) { + return super.equals(obj); + } + monitoring.Monitoring.SubsList other = (monitoring.Monitoring.SubsList) obj; + + if (!getSubsDescriptorList() + .equals(other.getSubsDescriptorList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getSubsDescriptorCount() > 0) { + hash = (37 * hash) + SUBS_DESCRIPTOR_FIELD_NUMBER; + hash = (53 * hash) + getSubsDescriptorList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.SubsList parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsList parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsList parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsList parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsList parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.SubsList parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.SubsList parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsList parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubsList parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsList parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.SubsList parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.SubsList parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.SubsList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.SubsList} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.SubsList) + monitoring.Monitoring.SubsListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_SubsList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_SubsList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.SubsList.class, monitoring.Monitoring.SubsList.Builder.class); + } + + // Construct using monitoring.Monitoring.SubsList.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getSubsDescriptorFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (subsDescriptorBuilder_ == null) { + subsDescriptor_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + subsDescriptorBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_SubsList_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.SubsList getDefaultInstanceForType() { + return monitoring.Monitoring.SubsList.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.SubsList build() { + monitoring.Monitoring.SubsList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.SubsList buildPartial() { + monitoring.Monitoring.SubsList result = new monitoring.Monitoring.SubsList(this); + int from_bitField0_ = bitField0_; + if (subsDescriptorBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + subsDescriptor_ = java.util.Collections.unmodifiableList(subsDescriptor_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.subsDescriptor_ = subsDescriptor_; + } else { + result.subsDescriptor_ = subsDescriptorBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.SubsList) { + return mergeFrom((monitoring.Monitoring.SubsList)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.SubsList other) { + if (other == monitoring.Monitoring.SubsList.getDefaultInstance()) return this; + if (subsDescriptorBuilder_ == null) { + if (!other.subsDescriptor_.isEmpty()) { + if (subsDescriptor_.isEmpty()) { + subsDescriptor_ = other.subsDescriptor_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSubsDescriptorIsMutable(); + subsDescriptor_.addAll(other.subsDescriptor_); + } + onChanged(); + } + } else { + if (!other.subsDescriptor_.isEmpty()) { + if (subsDescriptorBuilder_.isEmpty()) { + subsDescriptorBuilder_.dispose(); + subsDescriptorBuilder_ = null; + subsDescriptor_ = other.subsDescriptor_; + bitField0_ = (bitField0_ & ~0x00000001); + subsDescriptorBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSubsDescriptorFieldBuilder() : null; + } else { + subsDescriptorBuilder_.addAllMessages(other.subsDescriptor_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.SubsList parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.SubsList) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List subsDescriptor_ = + java.util.Collections.emptyList(); + private void ensureSubsDescriptorIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + subsDescriptor_ = new java.util.ArrayList(subsDescriptor_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.SubsDescriptor, monitoring.Monitoring.SubsDescriptor.Builder, monitoring.Monitoring.SubsDescriptorOrBuilder> subsDescriptorBuilder_; + + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public java.util.List getSubsDescriptorList() { + if (subsDescriptorBuilder_ == null) { + return java.util.Collections.unmodifiableList(subsDescriptor_); + } else { + return subsDescriptorBuilder_.getMessageList(); + } + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public int getSubsDescriptorCount() { + if (subsDescriptorBuilder_ == null) { + return subsDescriptor_.size(); + } else { + return subsDescriptorBuilder_.getCount(); + } + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public monitoring.Monitoring.SubsDescriptor getSubsDescriptor(int index) { + if (subsDescriptorBuilder_ == null) { + return subsDescriptor_.get(index); + } else { + return subsDescriptorBuilder_.getMessage(index); + } + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder setSubsDescriptor( + int index, monitoring.Monitoring.SubsDescriptor value) { + if (subsDescriptorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSubsDescriptorIsMutable(); + subsDescriptor_.set(index, value); + onChanged(); + } else { + subsDescriptorBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder setSubsDescriptor( + int index, monitoring.Monitoring.SubsDescriptor.Builder builderForValue) { + if (subsDescriptorBuilder_ == null) { + ensureSubsDescriptorIsMutable(); + subsDescriptor_.set(index, builderForValue.build()); + onChanged(); + } else { + subsDescriptorBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder addSubsDescriptor(monitoring.Monitoring.SubsDescriptor value) { + if (subsDescriptorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSubsDescriptorIsMutable(); + subsDescriptor_.add(value); + onChanged(); + } else { + subsDescriptorBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder addSubsDescriptor( + int index, monitoring.Monitoring.SubsDescriptor value) { + if (subsDescriptorBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSubsDescriptorIsMutable(); + subsDescriptor_.add(index, value); + onChanged(); + } else { + subsDescriptorBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder addSubsDescriptor( + monitoring.Monitoring.SubsDescriptor.Builder builderForValue) { + if (subsDescriptorBuilder_ == null) { + ensureSubsDescriptorIsMutable(); + subsDescriptor_.add(builderForValue.build()); + onChanged(); + } else { + subsDescriptorBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder addSubsDescriptor( + int index, monitoring.Monitoring.SubsDescriptor.Builder builderForValue) { + if (subsDescriptorBuilder_ == null) { + ensureSubsDescriptorIsMutable(); + subsDescriptor_.add(index, builderForValue.build()); + onChanged(); + } else { + subsDescriptorBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder addAllSubsDescriptor( + java.lang.Iterable values) { + if (subsDescriptorBuilder_ == null) { + ensureSubsDescriptorIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, subsDescriptor_); + onChanged(); + } else { + subsDescriptorBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder clearSubsDescriptor() { + if (subsDescriptorBuilder_ == null) { + subsDescriptor_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + subsDescriptorBuilder_.clear(); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public Builder removeSubsDescriptor(int index) { + if (subsDescriptorBuilder_ == null) { + ensureSubsDescriptorIsMutable(); + subsDescriptor_.remove(index); + onChanged(); + } else { + subsDescriptorBuilder_.remove(index); + } + return this; + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public monitoring.Monitoring.SubsDescriptor.Builder getSubsDescriptorBuilder( + int index) { + return getSubsDescriptorFieldBuilder().getBuilder(index); + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public monitoring.Monitoring.SubsDescriptorOrBuilder getSubsDescriptorOrBuilder( + int index) { + if (subsDescriptorBuilder_ == null) { + return subsDescriptor_.get(index); } else { + return subsDescriptorBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public java.util.List + getSubsDescriptorOrBuilderList() { + if (subsDescriptorBuilder_ != null) { + return subsDescriptorBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(subsDescriptor_); + } + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public monitoring.Monitoring.SubsDescriptor.Builder addSubsDescriptorBuilder() { + return getSubsDescriptorFieldBuilder().addBuilder( + monitoring.Monitoring.SubsDescriptor.getDefaultInstance()); + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public monitoring.Monitoring.SubsDescriptor.Builder addSubsDescriptorBuilder( + int index) { + return getSubsDescriptorFieldBuilder().addBuilder( + index, monitoring.Monitoring.SubsDescriptor.getDefaultInstance()); + } + /** + * repeated .monitoring.SubsDescriptor subs_descriptor = 1; + */ + public java.util.List + getSubsDescriptorBuilderList() { + return getSubsDescriptorFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.SubsDescriptor, monitoring.Monitoring.SubsDescriptor.Builder, monitoring.Monitoring.SubsDescriptorOrBuilder> + getSubsDescriptorFieldBuilder() { + if (subsDescriptorBuilder_ == null) { + subsDescriptorBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.SubsDescriptor, monitoring.Monitoring.SubsDescriptor.Builder, monitoring.Monitoring.SubsDescriptorOrBuilder>( + subsDescriptor_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + subsDescriptor_ = null; + } + return subsDescriptorBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.SubsList) + } + + // @@protoc_insertion_point(class_scope:monitoring.SubsList) + private static final monitoring.Monitoring.SubsList DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.SubsList(); + } + + public static monitoring.Monitoring.SubsList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SubsList parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SubsList(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.SubsList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AlarmDescriptorOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.AlarmDescriptor) + com.google.protobuf.MessageOrBuilder { + + /** + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. + */ + boolean hasAlarmId(); + /** + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. + */ + monitoring.Monitoring.AlarmID getAlarmId(); + /** + * .monitoring.AlarmID alarm_id = 1; + */ + monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder(); + + /** + * string alarm_description = 2; + * @return The alarmDescription. + */ + java.lang.String getAlarmDescription(); + /** + * string alarm_description = 2; + * @return The bytes for alarmDescription. + */ + com.google.protobuf.ByteString + getAlarmDescriptionBytes(); + + /** + * string name = 3; + * @return The name. + */ + java.lang.String getName(); + /** + * string name = 3; + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * .monitoring.KpiId kpi_id = 4; + * @return Whether the kpiId field is set. + */ + boolean hasKpiId(); + /** + * .monitoring.KpiId kpi_id = 4; + * @return The kpiId. + */ + monitoring.Monitoring.KpiId getKpiId(); + /** + * .monitoring.KpiId kpi_id = 4; + */ + monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); + + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + * @return Whether the kpiValueRange field is set. + */ + boolean hasKpiValueRange(); + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + * @return The kpiValueRange. + */ + monitoring.Monitoring.KpiValueRange getKpiValueRange(); + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + monitoring.Monitoring.KpiValueRangeOrBuilder getKpiValueRangeOrBuilder(); + + /** + * .context.Timestamp timestamp = 6; + * @return Whether the timestamp field is set. + */ + boolean hasTimestamp(); + /** + * .context.Timestamp timestamp = 6; + * @return The timestamp. + */ + context.ContextOuterClass.Timestamp getTimestamp(); + /** + * .context.Timestamp timestamp = 6; + */ + context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder(); + } + /** + * Protobuf type {@code monitoring.AlarmDescriptor} + */ + public static final class AlarmDescriptor extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.AlarmDescriptor) + AlarmDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use AlarmDescriptor.newBuilder() to construct. + private AlarmDescriptor(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AlarmDescriptor() { + alarmDescription_ = ""; + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AlarmDescriptor(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AlarmDescriptor( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + monitoring.Monitoring.AlarmID.Builder subBuilder = null; + if (alarmId_ != null) { + subBuilder = alarmId_.toBuilder(); + } + alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(alarmId_); + alarmId_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + alarmDescription_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 34: { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + + break; + } + case 42: { + monitoring.Monitoring.KpiValueRange.Builder subBuilder = null; + if (kpiValueRange_ != null) { + subBuilder = kpiValueRange_.toBuilder(); + } + kpiValueRange_ = input.readMessage(monitoring.Monitoring.KpiValueRange.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiValueRange_); + kpiValueRange_ = subBuilder.buildPartial(); + } + + break; + } + case 50: { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); + } + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.AlarmDescriptor.class, monitoring.Monitoring.AlarmDescriptor.Builder.class); + } + + public static final int ALARM_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.AlarmID alarmId_; + /** + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. + */ + @java.lang.Override + public boolean hasAlarmId() { + return alarmId_ != null; + } + /** + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. + */ + @java.lang.Override + public monitoring.Monitoring.AlarmID getAlarmId() { + return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + @java.lang.Override + public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() { + return getAlarmId(); + } + + public static final int ALARM_DESCRIPTION_FIELD_NUMBER = 2; + private volatile java.lang.Object alarmDescription_; + /** + * string alarm_description = 2; + * @return The alarmDescription. + */ + @java.lang.Override + public java.lang.String getAlarmDescription() { + java.lang.Object ref = alarmDescription_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + alarmDescription_ = s; + return s; + } + } + /** + * string alarm_description = 2; + * @return The bytes for alarmDescription. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAlarmDescriptionBytes() { + java.lang.Object ref = alarmDescription_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + alarmDescription_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 3; + private volatile java.lang.Object name_; + /** + * string name = 3; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + * string name = 3; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int KPI_ID_FIELD_NUMBER = 4; + private monitoring.Monitoring.KpiId kpiId_; + /** + * .monitoring.KpiId kpi_id = 4; + * @return Whether the kpiId field is set. + */ + @java.lang.Override + public boolean hasKpiId() { + return kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 4; + * @return The kpiId. + */ + @java.lang.Override + public monitoring.Monitoring.KpiId getKpiId() { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + @java.lang.Override + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + return getKpiId(); + } + + public static final int KPI_VALUE_RANGE_FIELD_NUMBER = 5; + private monitoring.Monitoring.KpiValueRange kpiValueRange_; + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + * @return Whether the kpiValueRange field is set. + */ + @java.lang.Override + public boolean hasKpiValueRange() { + return kpiValueRange_ != null; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + * @return The kpiValueRange. + */ + @java.lang.Override + public monitoring.Monitoring.KpiValueRange getKpiValueRange() { + return kpiValueRange_ == null ? monitoring.Monitoring.KpiValueRange.getDefaultInstance() : kpiValueRange_; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + @java.lang.Override + public monitoring.Monitoring.KpiValueRangeOrBuilder getKpiValueRangeOrBuilder() { + return getKpiValueRange(); + } + + public static final int TIMESTAMP_FIELD_NUMBER = 6; + private context.ContextOuterClass.Timestamp timestamp_; + /** + * .context.Timestamp timestamp = 6; + * @return Whether the timestamp field is set. + */ + @java.lang.Override + public boolean hasTimestamp() { + return timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 6; + * @return The timestamp. + */ + @java.lang.Override + public context.ContextOuterClass.Timestamp getTimestamp() { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + /** + * .context.Timestamp timestamp = 6; + */ + @java.lang.Override + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + return getTimestamp(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (alarmId_ != null) { + output.writeMessage(1, getAlarmId()); + } + if (!getAlarmDescriptionBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, alarmDescription_); + } + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_); + } + if (kpiId_ != null) { + output.writeMessage(4, getKpiId()); + } + if (kpiValueRange_ != null) { + output.writeMessage(5, getKpiValueRange()); + } + if (timestamp_ != null) { + output.writeMessage(6, getTimestamp()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (alarmId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getAlarmId()); + } + if (!getAlarmDescriptionBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, alarmDescription_); + } + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_); + } + if (kpiId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getKpiId()); + } + if (kpiValueRange_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getKpiValueRange()); + } + if (timestamp_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getTimestamp()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.AlarmDescriptor)) { + return super.equals(obj); + } + monitoring.Monitoring.AlarmDescriptor other = (monitoring.Monitoring.AlarmDescriptor) obj; + + if (hasAlarmId() != other.hasAlarmId()) return false; + if (hasAlarmId()) { + if (!getAlarmId() + .equals(other.getAlarmId())) return false; + } + if (!getAlarmDescription() + .equals(other.getAlarmDescription())) return false; + if (!getName() + .equals(other.getName())) return false; + if (hasKpiId() != other.hasKpiId()) return false; + if (hasKpiId()) { + if (!getKpiId() + .equals(other.getKpiId())) return false; + } + if (hasKpiValueRange() != other.hasKpiValueRange()) return false; + if (hasKpiValueRange()) { + if (!getKpiValueRange() + .equals(other.getKpiValueRange())) return false; + } + if (hasTimestamp() != other.hasTimestamp()) return false; + if (hasTimestamp()) { + if (!getTimestamp() + .equals(other.getTimestamp())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasAlarmId()) { + hash = (37 * hash) + ALARM_ID_FIELD_NUMBER; + hash = (53 * hash) + getAlarmId().hashCode(); + } + hash = (37 * hash) + ALARM_DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getAlarmDescription().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasKpiId()) { + hash = (37 * hash) + KPI_ID_FIELD_NUMBER; + hash = (53 * hash) + getKpiId().hashCode(); + } + if (hasKpiValueRange()) { + hash = (37 * hash) + KPI_VALUE_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getKpiValueRange().hashCode(); + } + if (hasTimestamp()) { + hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + getTimestamp().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.AlarmDescriptor parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.AlarmDescriptor parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.AlarmDescriptor parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.AlarmDescriptor prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.AlarmDescriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.AlarmDescriptor) + monitoring.Monitoring.AlarmDescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.AlarmDescriptor.class, monitoring.Monitoring.AlarmDescriptor.Builder.class); + } + + // Construct using monitoring.Monitoring.AlarmDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (alarmIdBuilder_ == null) { + alarmId_ = null; + } else { + alarmId_ = null; + alarmIdBuilder_ = null; + } + alarmDescription_ = ""; + + name_ = ""; + + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + if (kpiValueRangeBuilder_ == null) { + kpiValueRange_ = null; + } else { + kpiValueRange_ = null; + kpiValueRangeBuilder_ = null; + } + if (timestampBuilder_ == null) { + timestamp_ = null; + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.AlarmDescriptor getDefaultInstanceForType() { + return monitoring.Monitoring.AlarmDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.AlarmDescriptor build() { + monitoring.Monitoring.AlarmDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.AlarmDescriptor buildPartial() { + monitoring.Monitoring.AlarmDescriptor result = new monitoring.Monitoring.AlarmDescriptor(this); + if (alarmIdBuilder_ == null) { + result.alarmId_ = alarmId_; + } else { + result.alarmId_ = alarmIdBuilder_.build(); + } + result.alarmDescription_ = alarmDescription_; + result.name_ = name_; + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + if (kpiValueRangeBuilder_ == null) { + result.kpiValueRange_ = kpiValueRange_; + } else { + result.kpiValueRange_ = kpiValueRangeBuilder_.build(); + } + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; + } else { + result.timestamp_ = timestampBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.AlarmDescriptor) { + return mergeFrom((monitoring.Monitoring.AlarmDescriptor)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.AlarmDescriptor other) { + if (other == monitoring.Monitoring.AlarmDescriptor.getDefaultInstance()) return this; + if (other.hasAlarmId()) { + mergeAlarmId(other.getAlarmId()); + } + if (!other.getAlarmDescription().isEmpty()) { + alarmDescription_ = other.alarmDescription_; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.hasKpiId()) { + mergeKpiId(other.getKpiId()); + } + if (other.hasKpiValueRange()) { + mergeKpiValueRange(other.getKpiValueRange()); + } + if (other.hasTimestamp()) { + mergeTimestamp(other.getTimestamp()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + monitoring.Monitoring.AlarmDescriptor parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.AlarmDescriptor) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private monitoring.Monitoring.AlarmID alarmId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder> alarmIdBuilder_; + /** + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. + */ + public boolean hasAlarmId() { + return alarmIdBuilder_ != null || alarmId_ != null; + } + /** + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. + */ + public monitoring.Monitoring.AlarmID getAlarmId() { + if (alarmIdBuilder_ == null) { + return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; + } else { + return alarmIdBuilder_.getMessage(); + } + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + public Builder setAlarmId(monitoring.Monitoring.AlarmID value) { + if (alarmIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + alarmId_ = value; + onChanged(); + } else { + alarmIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + public Builder setAlarmId( + monitoring.Monitoring.AlarmID.Builder builderForValue) { + if (alarmIdBuilder_ == null) { + alarmId_ = builderForValue.build(); + onChanged(); + } else { + alarmIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) { + if (alarmIdBuilder_ == null) { + if (alarmId_ != null) { + alarmId_ = + monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial(); + } else { + alarmId_ = value; + } + onChanged(); + } else { + alarmIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + public Builder clearAlarmId() { + if (alarmIdBuilder_ == null) { + alarmId_ = null; + onChanged(); + } else { + alarmId_ = null; + alarmIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() { + + onChanged(); + return getAlarmIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() { + if (alarmIdBuilder_ != null) { + return alarmIdBuilder_.getMessageOrBuilder(); + } else { + return alarmId_ == null ? + monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; + } + } + /** + * .monitoring.AlarmID alarm_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder> + getAlarmIdFieldBuilder() { + if (alarmIdBuilder_ == null) { + alarmIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder>( + getAlarmId(), + getParentForChildren(), + isClean()); + alarmId_ = null; + } + return alarmIdBuilder_; + } + + private java.lang.Object alarmDescription_ = ""; + /** + * string alarm_description = 2; + * @return The alarmDescription. + */ + public java.lang.String getAlarmDescription() { + java.lang.Object ref = alarmDescription_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + alarmDescription_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string alarm_description = 2; + * @return The bytes for alarmDescription. + */ + public com.google.protobuf.ByteString + getAlarmDescriptionBytes() { + java.lang.Object ref = alarmDescription_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + alarmDescription_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string alarm_description = 2; + * @param value The alarmDescription to set. + * @return This builder for chaining. + */ + public Builder setAlarmDescription( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + alarmDescription_ = value; + onChanged(); + return this; + } + /** + * string alarm_description = 2; + * @return This builder for chaining. + */ + public Builder clearAlarmDescription() { + + alarmDescription_ = getDefaultInstance().getAlarmDescription(); + onChanged(); + return this; + } + /** + * string alarm_description = 2; + * @param value The bytes for alarmDescription to set. + * @return This builder for chaining. + */ + public Builder setAlarmDescriptionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + alarmDescription_ = value; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * string name = 3; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string name = 3; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string name = 3; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * string name = 3; + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * string name = 3; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private monitoring.Monitoring.KpiId kpiId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdBuilder_; + /** + * .monitoring.KpiId kpi_id = 4; + * @return Whether the kpiId field is set. + */ + public boolean hasKpiId() { + return kpiIdBuilder_ != null || kpiId_ != null; + } + /** + * .monitoring.KpiId kpi_id = 4; + * @return The kpiId. + */ + public monitoring.Monitoring.KpiId getKpiId() { + if (kpiIdBuilder_ == null) { + return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } else { + return kpiIdBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + public Builder setKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiId_ = value; + onChanged(); + } else { + kpiIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + public Builder setKpiId( + monitoring.Monitoring.KpiId.Builder builderForValue) { + if (kpiIdBuilder_ == null) { + kpiId_ = builderForValue.build(); + onChanged(); + } else { + kpiIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { + if (kpiIdBuilder_ == null) { + if (kpiId_ != null) { + kpiId_ = + monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + } else { + kpiId_ = value; + } + onChanged(); + } else { + kpiIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + public Builder clearKpiId() { + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; + kpiIdBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { + + onChanged(); + return getKpiIdFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { + if (kpiIdBuilder_ != null) { + return kpiIdBuilder_.getMessageOrBuilder(); + } else { + return kpiId_ == null ? + monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + } + } + /** + * .monitoring.KpiId kpi_id = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> + getKpiIdFieldBuilder() { + if (kpiIdBuilder_ == null) { + kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( + getKpiId(), + getParentForChildren(), + isClean()); + kpiId_ = null; + } + return kpiIdBuilder_; + } + + private monitoring.Monitoring.KpiValueRange kpiValueRange_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValueRange, monitoring.Monitoring.KpiValueRange.Builder, monitoring.Monitoring.KpiValueRangeOrBuilder> kpiValueRangeBuilder_; + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + * @return Whether the kpiValueRange field is set. + */ + public boolean hasKpiValueRange() { + return kpiValueRangeBuilder_ != null || kpiValueRange_ != null; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + * @return The kpiValueRange. + */ + public monitoring.Monitoring.KpiValueRange getKpiValueRange() { + if (kpiValueRangeBuilder_ == null) { + return kpiValueRange_ == null ? monitoring.Monitoring.KpiValueRange.getDefaultInstance() : kpiValueRange_; + } else { + return kpiValueRangeBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + public Builder setKpiValueRange(monitoring.Monitoring.KpiValueRange value) { + if (kpiValueRangeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiValueRange_ = value; + onChanged(); + } else { + kpiValueRangeBuilder_.setMessage(value); + } + + return this; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + public Builder setKpiValueRange( + monitoring.Monitoring.KpiValueRange.Builder builderForValue) { + if (kpiValueRangeBuilder_ == null) { + kpiValueRange_ = builderForValue.build(); + onChanged(); + } else { + kpiValueRangeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + public Builder mergeKpiValueRange(monitoring.Monitoring.KpiValueRange value) { + if (kpiValueRangeBuilder_ == null) { + if (kpiValueRange_ != null) { + kpiValueRange_ = + monitoring.Monitoring.KpiValueRange.newBuilder(kpiValueRange_).mergeFrom(value).buildPartial(); + } else { + kpiValueRange_ = value; + } + onChanged(); + } else { + kpiValueRangeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + public Builder clearKpiValueRange() { + if (kpiValueRangeBuilder_ == null) { + kpiValueRange_ = null; + onChanged(); + } else { + kpiValueRange_ = null; + kpiValueRangeBuilder_ = null; + } + + return this; + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + public monitoring.Monitoring.KpiValueRange.Builder getKpiValueRangeBuilder() { + + onChanged(); + return getKpiValueRangeFieldBuilder().getBuilder(); + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + public monitoring.Monitoring.KpiValueRangeOrBuilder getKpiValueRangeOrBuilder() { + if (kpiValueRangeBuilder_ != null) { + return kpiValueRangeBuilder_.getMessageOrBuilder(); + } else { + return kpiValueRange_ == null ? + monitoring.Monitoring.KpiValueRange.getDefaultInstance() : kpiValueRange_; + } + } + /** + * .monitoring.KpiValueRange kpi_value_range = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValueRange, monitoring.Monitoring.KpiValueRange.Builder, monitoring.Monitoring.KpiValueRangeOrBuilder> + getKpiValueRangeFieldBuilder() { + if (kpiValueRangeBuilder_ == null) { + kpiValueRangeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiValueRange, monitoring.Monitoring.KpiValueRange.Builder, monitoring.Monitoring.KpiValueRangeOrBuilder>( + getKpiValueRange(), + getParentForChildren(), + isClean()); + kpiValueRange_ = null; + } + return kpiValueRangeBuilder_; + } + + private context.ContextOuterClass.Timestamp timestamp_; + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> timestampBuilder_; + /** + * .context.Timestamp timestamp = 6; + * @return Whether the timestamp field is set. + */ + public boolean hasTimestamp() { + return timestampBuilder_ != null || timestamp_ != null; + } + /** + * .context.Timestamp timestamp = 6; + * @return The timestamp. + */ + public context.ContextOuterClass.Timestamp getTimestamp() { + if (timestampBuilder_ == null) { + return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } else { + return timestampBuilder_.getMessage(); + } + } + /** + * .context.Timestamp timestamp = 6; + */ + public Builder setTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + timestamp_ = value; + onChanged(); + } else { + timestampBuilder_.setMessage(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 6; + */ + public Builder setTimestamp( + context.ContextOuterClass.Timestamp.Builder builderForValue) { + if (timestampBuilder_ == null) { + timestamp_ = builderForValue.build(); + onChanged(); + } else { + timestampBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .context.Timestamp timestamp = 6; + */ + public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { + if (timestampBuilder_ == null) { + if (timestamp_ != null) { + timestamp_ = + context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); + } else { + timestamp_ = value; + } + onChanged(); + } else { + timestampBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .context.Timestamp timestamp = 6; + */ + public Builder clearTimestamp() { + if (timestampBuilder_ == null) { + timestamp_ = null; + onChanged(); + } else { + timestamp_ = null; + timestampBuilder_ = null; + } + + return this; + } + /** + * .context.Timestamp timestamp = 6; + */ + public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { + + onChanged(); + return getTimestampFieldBuilder().getBuilder(); + } + /** + * .context.Timestamp timestamp = 6; + */ + public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { + if (timestampBuilder_ != null) { + return timestampBuilder_.getMessageOrBuilder(); + } else { + return timestamp_ == null ? + context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + } + } + /** + * .context.Timestamp timestamp = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder> + getTimestampFieldBuilder() { + if (timestampBuilder_ == null) { + timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + context.ContextOuterClass.Timestamp, context.ContextOuterClass.Timestamp.Builder, context.ContextOuterClass.TimestampOrBuilder>( + getTimestamp(), + getParentForChildren(), + isClean()); + timestamp_ = null; + } + return timestampBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:monitoring.AlarmDescriptor) + } + + // @@protoc_insertion_point(class_scope:monitoring.AlarmDescriptor) + private static final monitoring.Monitoring.AlarmDescriptor DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new monitoring.Monitoring.AlarmDescriptor(); + } + + public static monitoring.Monitoring.AlarmDescriptor getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AlarmDescriptor parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AlarmDescriptor(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public monitoring.Monitoring.AlarmDescriptor getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AlarmIDOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.AlarmID) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid alarm_id = 1; + * @return Whether the alarmId field is set. + */ + boolean hasAlarmId(); + /** + * .context.Uuid alarm_id = 1; + * @return The alarmId. + */ + context.ContextOuterClass.Uuid getAlarmId(); + /** + * .context.Uuid alarm_id = 1; + */ + context.ContextOuterClass.UuidOrBuilder getAlarmIdOrBuilder(); + } + /** + * Protobuf type {@code monitoring.AlarmID} + */ + public static final class AlarmID extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:monitoring.AlarmID) + AlarmIDOrBuilder { + private static final long serialVersionUID = 0L; + // Use AlarmID.newBuilder() to construct. + private AlarmID(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private AlarmID() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new AlarmID(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AlarmID( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (alarmId_ != null) { + subBuilder = alarmId_.toBuilder(); + } + alarmId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(alarmId_); + alarmId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_AlarmID_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_AlarmID_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.AlarmID.class, monitoring.Monitoring.AlarmID.Builder.class); + } + + public static final int ALARM_ID_FIELD_NUMBER = 1; + private context.ContextOuterClass.Uuid alarmId_; + /** + * .context.Uuid alarm_id = 1; + * @return Whether the alarmId field is set. + */ + @java.lang.Override + public boolean hasAlarmId() { + return alarmId_ != null; + } + /** + * .context.Uuid alarm_id = 1; + * @return The alarmId. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getAlarmId() { + return alarmId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : alarmId_; + } + /** + * .context.Uuid alarm_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getAlarmIdOrBuilder() { + return getAlarmId(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (alarmId_ != null) { + output.writeMessage(1, getAlarmId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (alarmId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getAlarmId()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.AlarmID)) { + return super.equals(obj); + } + monitoring.Monitoring.AlarmID other = (monitoring.Monitoring.AlarmID) obj; + + if (hasAlarmId() != other.hasAlarmId()) return false; + if (hasAlarmId()) { + if (!getAlarmId() + .equals(other.getAlarmId())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasAlarmId()) { + hash = (37 * hash) + ALARM_ID_FIELD_NUMBER; + hash = (53 * hash) + getAlarmId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static monitoring.Monitoring.AlarmID parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.AlarmID parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.AlarmID parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.AlarmID parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.AlarmID parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static monitoring.Monitoring.AlarmID parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static monitoring.Monitoring.AlarmID parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.AlarmID parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.AlarmID parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static monitoring.Monitoring.AlarmID parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static monitoring.Monitoring.AlarmID parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static monitoring.Monitoring.AlarmID parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(monitoring.Monitoring.AlarmID prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code monitoring.AlarmID} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:monitoring.AlarmID) + monitoring.Monitoring.AlarmIDOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_AlarmID_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_AlarmID_fieldAccessorTable + .ensureFieldAccessorsInitialized( + monitoring.Monitoring.AlarmID.class, monitoring.Monitoring.AlarmID.Builder.class); + } + + // Construct using monitoring.Monitoring.AlarmID.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (alarmIdBuilder_ == null) { + alarmId_ = null; + } else { + alarmId_ = null; + alarmIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return monitoring.Monitoring.internal_static_monitoring_AlarmID_descriptor; + } + + @java.lang.Override + public monitoring.Monitoring.AlarmID getDefaultInstanceForType() { + return monitoring.Monitoring.AlarmID.getDefaultInstance(); + } + + @java.lang.Override + public monitoring.Monitoring.AlarmID build() { + monitoring.Monitoring.AlarmID result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public monitoring.Monitoring.AlarmID buildPartial() { + monitoring.Monitoring.AlarmID result = new monitoring.Monitoring.AlarmID(this); + if (alarmIdBuilder_ == null) { + result.alarmId_ = alarmId_; + } else { + result.alarmId_ = alarmIdBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof monitoring.Monitoring.AlarmID) { + return mergeFrom((monitoring.Monitoring.AlarmID)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(monitoring.Monitoring.AlarmID other) { + if (other == monitoring.Monitoring.AlarmID.getDefaultInstance()) return this; + if (other.hasAlarmId()) { + mergeAlarmId(other.getAlarmId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); return this; } @@ -2559,11 +18529,11 @@ public final class Monitoring { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - monitoring.Monitoring.KpiId parsedMessage = null; + monitoring.Monitoring.AlarmID parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (monitoring.Monitoring.KpiId) e.getUnfinishedMessage(); + parsedMessage = (monitoring.Monitoring.AlarmID) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -2573,123 +18543,123 @@ public final class Monitoring { return this; } - private context.ContextOuterClass.Uuid kpiId_; + private context.ContextOuterClass.Uuid alarmId_; private com.google.protobuf.SingleFieldBuilderV3< - context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> kpiIdBuilder_; + context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> alarmIdBuilder_; /** - * .context.Uuid kpi_id = 1; - * @return Whether the kpiId field is set. + * .context.Uuid alarm_id = 1; + * @return Whether the alarmId field is set. */ - public boolean hasKpiId() { - return kpiIdBuilder_ != null || kpiId_ != null; + public boolean hasAlarmId() { + return alarmIdBuilder_ != null || alarmId_ != null; } /** - * .context.Uuid kpi_id = 1; - * @return The kpiId. + * .context.Uuid alarm_id = 1; + * @return The alarmId. */ - public context.ContextOuterClass.Uuid getKpiId() { - if (kpiIdBuilder_ == null) { - return kpiId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_; + public context.ContextOuterClass.Uuid getAlarmId() { + if (alarmIdBuilder_ == null) { + return alarmId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : alarmId_; } else { - return kpiIdBuilder_.getMessage(); + return alarmIdBuilder_.getMessage(); } } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ - public Builder setKpiId(context.ContextOuterClass.Uuid value) { - if (kpiIdBuilder_ == null) { + public Builder setAlarmId(context.ContextOuterClass.Uuid value) { + if (alarmIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - kpiId_ = value; + alarmId_ = value; onChanged(); } else { - kpiIdBuilder_.setMessage(value); + alarmIdBuilder_.setMessage(value); } return this; } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ - public Builder setKpiId( + public Builder setAlarmId( context.ContextOuterClass.Uuid.Builder builderForValue) { - if (kpiIdBuilder_ == null) { - kpiId_ = builderForValue.build(); + if (alarmIdBuilder_ == null) { + alarmId_ = builderForValue.build(); onChanged(); } else { - kpiIdBuilder_.setMessage(builderForValue.build()); + alarmIdBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ - public Builder mergeKpiId(context.ContextOuterClass.Uuid value) { - if (kpiIdBuilder_ == null) { - if (kpiId_ != null) { - kpiId_ = - context.ContextOuterClass.Uuid.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + public Builder mergeAlarmId(context.ContextOuterClass.Uuid value) { + if (alarmIdBuilder_ == null) { + if (alarmId_ != null) { + alarmId_ = + context.ContextOuterClass.Uuid.newBuilder(alarmId_).mergeFrom(value).buildPartial(); } else { - kpiId_ = value; + alarmId_ = value; } onChanged(); } else { - kpiIdBuilder_.mergeFrom(value); + alarmIdBuilder_.mergeFrom(value); } return this; } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ - public Builder clearKpiId() { - if (kpiIdBuilder_ == null) { - kpiId_ = null; + public Builder clearAlarmId() { + if (alarmIdBuilder_ == null) { + alarmId_ = null; onChanged(); } else { - kpiId_ = null; - kpiIdBuilder_ = null; + alarmId_ = null; + alarmIdBuilder_ = null; } return this; } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ - public context.ContextOuterClass.Uuid.Builder getKpiIdBuilder() { + public context.ContextOuterClass.Uuid.Builder getAlarmIdBuilder() { onChanged(); - return getKpiIdFieldBuilder().getBuilder(); + return getAlarmIdFieldBuilder().getBuilder(); } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ - public context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder() { - if (kpiIdBuilder_ != null) { - return kpiIdBuilder_.getMessageOrBuilder(); + public context.ContextOuterClass.UuidOrBuilder getAlarmIdOrBuilder() { + if (alarmIdBuilder_ != null) { + return alarmIdBuilder_.getMessageOrBuilder(); } else { - return kpiId_ == null ? - context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_; + return alarmId_ == null ? + context.ContextOuterClass.Uuid.getDefaultInstance() : alarmId_; } } /** - * .context.Uuid kpi_id = 1; + * .context.Uuid alarm_id = 1; */ private com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder> - getKpiIdFieldBuilder() { - if (kpiIdBuilder_ == null) { - kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + getAlarmIdFieldBuilder() { + if (alarmIdBuilder_ == null) { + alarmIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< context.ContextOuterClass.Uuid, context.ContextOuterClass.Uuid.Builder, context.ContextOuterClass.UuidOrBuilder>( - getKpiId(), + getAlarmId(), getParentForChildren(), isClean()); - kpiId_ = null; + alarmId_ = null; } - return kpiIdBuilder_; + return alarmIdBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -2704,113 +18674,97 @@ public final class Monitoring { } - // @@protoc_insertion_point(builder_scope:monitoring.KpiId) + // @@protoc_insertion_point(builder_scope:monitoring.AlarmID) } - // @@protoc_insertion_point(class_scope:monitoring.KpiId) - private static final monitoring.Monitoring.KpiId DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:monitoring.AlarmID) + private static final monitoring.Monitoring.AlarmID DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new monitoring.Monitoring.KpiId(); + DEFAULT_INSTANCE = new monitoring.Monitoring.AlarmID(); } - public static monitoring.Monitoring.KpiId getDefaultInstance() { + public static monitoring.Monitoring.AlarmID getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public KpiId parsePartialFrom( + public AlarmID parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new KpiId(input, extensionRegistry); + return new AlarmID(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public monitoring.Monitoring.KpiId getDefaultInstanceForType() { + public monitoring.Monitoring.AlarmID getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface KpiOrBuilder extends - // @@protoc_insertion_point(interface_extends:monitoring.Kpi) + public interface AlarmSubscriptionOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.AlarmSubscription) com.google.protobuf.MessageOrBuilder { /** - * .monitoring.KpiId kpi_id = 1; - * @return Whether the kpiId field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. */ - boolean hasKpiId(); + boolean hasAlarmId(); /** - * .monitoring.KpiId kpi_id = 1; - * @return The kpiId. + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. */ - monitoring.Monitoring.KpiId getKpiId(); + monitoring.Monitoring.AlarmID getAlarmId(); /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder(); + monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder(); /** - * string timestamp = 2; - * @return The timestamp. - */ - java.lang.String getTimestamp(); - /** - * string timestamp = 2; - * @return The bytes for timestamp. + * float subscription_timeout_s = 2; + * @return The subscriptionTimeoutS. */ - com.google.protobuf.ByteString - getTimestampBytes(); + float getSubscriptionTimeoutS(); /** - * .monitoring.KpiValue kpi_value = 4; - * @return Whether the kpiValue field is set. - */ - boolean hasKpiValue(); - /** - * .monitoring.KpiValue kpi_value = 4; - * @return The kpiValue. - */ - monitoring.Monitoring.KpiValue getKpiValue(); - /** - * .monitoring.KpiValue kpi_value = 4; + * float subscription_frequency_ms = 3; + * @return The subscriptionFrequencyMs. */ - monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder(); + float getSubscriptionFrequencyMs(); } /** - * Protobuf type {@code monitoring.Kpi} + * Protobuf type {@code monitoring.AlarmSubscription} */ - public static final class Kpi extends + public static final class AlarmSubscription extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:monitoring.Kpi) - KpiOrBuilder { + // @@protoc_insertion_point(message_implements:monitoring.AlarmSubscription) + AlarmSubscriptionOrBuilder { private static final long serialVersionUID = 0L; - // Use Kpi.newBuilder() to construct. - private Kpi(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use AlarmSubscription.newBuilder() to construct. + private AlarmSubscription(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Kpi() { - timestamp_ = ""; + private AlarmSubscription() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new Kpi(); + return new AlarmSubscription(); } @java.lang.Override @@ -2818,7 +18772,7 @@ public final class Monitoring { getUnknownFields() { return this.unknownFields; } - private Kpi( + private AlarmSubscription( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2837,35 +18791,26 @@ public final class Monitoring { done = true; break; case 10: { - monitoring.Monitoring.KpiId.Builder subBuilder = null; - if (kpiId_ != null) { - subBuilder = kpiId_.toBuilder(); + monitoring.Monitoring.AlarmID.Builder subBuilder = null; + if (alarmId_ != null) { + subBuilder = alarmId_.toBuilder(); } - kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(kpiId_); - kpiId_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(alarmId_); + alarmId_ = subBuilder.buildPartial(); } break; } - case 18: { - java.lang.String s = input.readStringRequireUtf8(); + case 21: { - timestamp_ = s; + subscriptionTimeoutS_ = input.readFloat(); break; } - case 34: { - monitoring.Monitoring.KpiValue.Builder subBuilder = null; - if (kpiValue_ != null) { - subBuilder = kpiValue_.toBuilder(); - } - kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(kpiValue_); - kpiValue_ = subBuilder.buildPartial(); - } + case 29: { + subscriptionFrequencyMs_ = input.readFloat(); break; } default: { @@ -2889,105 +18834,63 @@ public final class Monitoring { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_Kpi_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.Kpi.class, monitoring.Monitoring.Kpi.Builder.class); + monitoring.Monitoring.AlarmSubscription.class, monitoring.Monitoring.AlarmSubscription.Builder.class); } - public static final int KPI_ID_FIELD_NUMBER = 1; - private monitoring.Monitoring.KpiId kpiId_; + public static final int ALARM_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.AlarmID alarmId_; /** - * .monitoring.KpiId kpi_id = 1; - * @return Whether the kpiId field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. */ @java.lang.Override - public boolean hasKpiId() { - return kpiId_ != null; + public boolean hasAlarmId() { + return alarmId_ != null; } /** - * .monitoring.KpiId kpi_id = 1; - * @return The kpiId. + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. */ @java.lang.Override - public monitoring.Monitoring.KpiId getKpiId() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + public monitoring.Monitoring.AlarmID getAlarmId() { + return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ @java.lang.Override - public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return getKpiId(); + public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() { + return getAlarmId(); } - public static final int TIMESTAMP_FIELD_NUMBER = 2; - private volatile java.lang.Object timestamp_; - /** - * string timestamp = 2; - * @return The timestamp. - */ - @java.lang.Override - public java.lang.String getTimestamp() { - java.lang.Object ref = timestamp_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - timestamp_ = s; - return s; - } - } + public static final int SUBSCRIPTION_TIMEOUT_S_FIELD_NUMBER = 2; + private float subscriptionTimeoutS_; /** - * string timestamp = 2; - * @return The bytes for timestamp. + * float subscription_timeout_s = 2; + * @return The subscriptionTimeoutS. */ @java.lang.Override - public com.google.protobuf.ByteString - getTimestampBytes() { - java.lang.Object ref = timestamp_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - timestamp_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public float getSubscriptionTimeoutS() { + return subscriptionTimeoutS_; } - public static final int KPI_VALUE_FIELD_NUMBER = 4; - private monitoring.Monitoring.KpiValue kpiValue_; - /** - * .monitoring.KpiValue kpi_value = 4; - * @return Whether the kpiValue field is set. - */ - @java.lang.Override - public boolean hasKpiValue() { - return kpiValue_ != null; - } - /** - * .monitoring.KpiValue kpi_value = 4; - * @return The kpiValue. - */ - @java.lang.Override - public monitoring.Monitoring.KpiValue getKpiValue() { - return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; - } + public static final int SUBSCRIPTION_FREQUENCY_MS_FIELD_NUMBER = 3; + private float subscriptionFrequencyMs_; /** - * .monitoring.KpiValue kpi_value = 4; + * float subscription_frequency_ms = 3; + * @return The subscriptionFrequencyMs. */ @java.lang.Override - public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() { - return getKpiValue(); + public float getSubscriptionFrequencyMs() { + return subscriptionFrequencyMs_; } private byte memoizedIsInitialized = -1; @@ -3004,14 +18907,14 @@ public final class Monitoring { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (kpiId_ != null) { - output.writeMessage(1, getKpiId()); + if (alarmId_ != null) { + output.writeMessage(1, getAlarmId()); } - if (!getTimestampBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, timestamp_); + if (subscriptionTimeoutS_ != 0F) { + output.writeFloat(2, subscriptionTimeoutS_); } - if (kpiValue_ != null) { - output.writeMessage(4, getKpiValue()); + if (subscriptionFrequencyMs_ != 0F) { + output.writeFloat(3, subscriptionFrequencyMs_); } unknownFields.writeTo(output); } @@ -3022,16 +18925,17 @@ public final class Monitoring { if (size != -1) return size; size = 0; - if (kpiId_ != null) { + if (alarmId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, getKpiId()); + .computeMessageSize(1, getAlarmId()); } - if (!getTimestampBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, timestamp_); + if (subscriptionTimeoutS_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, subscriptionTimeoutS_); } - if (kpiValue_ != null) { + if (subscriptionFrequencyMs_ != 0F) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, getKpiValue()); + .computeFloatSize(3, subscriptionFrequencyMs_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -3043,23 +18947,22 @@ public final class Monitoring { if (obj == this) { return true; } - if (!(obj instanceof monitoring.Monitoring.Kpi)) { - return super.equals(obj); - } - monitoring.Monitoring.Kpi other = (monitoring.Monitoring.Kpi) obj; - - if (hasKpiId() != other.hasKpiId()) return false; - if (hasKpiId()) { - if (!getKpiId() - .equals(other.getKpiId())) return false; - } - if (!getTimestamp() - .equals(other.getTimestamp())) return false; - if (hasKpiValue() != other.hasKpiValue()) return false; - if (hasKpiValue()) { - if (!getKpiValue() - .equals(other.getKpiValue())) return false; - } + if (!(obj instanceof monitoring.Monitoring.AlarmSubscription)) { + return super.equals(obj); + } + monitoring.Monitoring.AlarmSubscription other = (monitoring.Monitoring.AlarmSubscription) obj; + + if (hasAlarmId() != other.hasAlarmId()) return false; + if (hasAlarmId()) { + if (!getAlarmId() + .equals(other.getAlarmId())) return false; + } + if (java.lang.Float.floatToIntBits(getSubscriptionTimeoutS()) + != java.lang.Float.floatToIntBits( + other.getSubscriptionTimeoutS())) return false; + if (java.lang.Float.floatToIntBits(getSubscriptionFrequencyMs()) + != java.lang.Float.floatToIntBits( + other.getSubscriptionFrequencyMs())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3071,84 +18974,84 @@ public final class Monitoring { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasKpiId()) { - hash = (37 * hash) + KPI_ID_FIELD_NUMBER; - hash = (53 * hash) + getKpiId().hashCode(); - } - hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; - hash = (53 * hash) + getTimestamp().hashCode(); - if (hasKpiValue()) { - hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER; - hash = (53 * hash) + getKpiValue().hashCode(); + if (hasAlarmId()) { + hash = (37 * hash) + ALARM_ID_FIELD_NUMBER; + hash = (53 * hash) + getAlarmId().hashCode(); } + hash = (37 * hash) + SUBSCRIPTION_TIMEOUT_S_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getSubscriptionTimeoutS()); + hash = (37 * hash) + SUBSCRIPTION_FREQUENCY_MS_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getSubscriptionFrequencyMs()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.Kpi parseFrom(byte[] data) + public static monitoring.Monitoring.AlarmSubscription parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.Kpi parseFrom(java.io.InputStream input) + public static monitoring.Monitoring.AlarmSubscription parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.Kpi parseDelimitedFrom(java.io.InputStream input) + public static monitoring.Monitoring.AlarmSubscription parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static monitoring.Monitoring.Kpi parseDelimitedFrom( + public static monitoring.Monitoring.AlarmSubscription parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.Kpi parseFrom( + public static monitoring.Monitoring.AlarmSubscription parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3161,7 +19064,7 @@ public final class Monitoring { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(monitoring.Monitoring.Kpi prototype) { + public static Builder newBuilder(monitoring.Monitoring.AlarmSubscription prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -3177,26 +19080,26 @@ public final class Monitoring { return builder; } /** - * Protobuf type {@code monitoring.Kpi} + * Protobuf type {@code monitoring.AlarmSubscription} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:monitoring.Kpi) - monitoring.Monitoring.KpiOrBuilder { + // @@protoc_insertion_point(builder_implements:monitoring.AlarmSubscription) + monitoring.Monitoring.AlarmSubscriptionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_Kpi_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.Kpi.class, monitoring.Monitoring.Kpi.Builder.class); + monitoring.Monitoring.AlarmSubscription.class, monitoring.Monitoring.AlarmSubscription.Builder.class); } - // Construct using monitoring.Monitoring.Kpi.newBuilder() + // Construct using monitoring.Monitoring.AlarmSubscription.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -3214,37 +19117,33 @@ public final class Monitoring { @java.lang.Override public Builder clear() { super.clear(); - if (kpiIdBuilder_ == null) { - kpiId_ = null; + if (alarmIdBuilder_ == null) { + alarmId_ = null; } else { - kpiId_ = null; - kpiIdBuilder_ = null; + alarmId_ = null; + alarmIdBuilder_ = null; } - timestamp_ = ""; + subscriptionTimeoutS_ = 0F; + + subscriptionFrequencyMs_ = 0F; - if (kpiValueBuilder_ == null) { - kpiValue_ = null; - } else { - kpiValue_ = null; - kpiValueBuilder_ = null; - } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_descriptor; } @java.lang.Override - public monitoring.Monitoring.Kpi getDefaultInstanceForType() { - return monitoring.Monitoring.Kpi.getDefaultInstance(); + public monitoring.Monitoring.AlarmSubscription getDefaultInstanceForType() { + return monitoring.Monitoring.AlarmSubscription.getDefaultInstance(); } @java.lang.Override - public monitoring.Monitoring.Kpi build() { - monitoring.Monitoring.Kpi result = buildPartial(); + public monitoring.Monitoring.AlarmSubscription build() { + monitoring.Monitoring.AlarmSubscription result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -3252,19 +19151,15 @@ public final class Monitoring { } @java.lang.Override - public monitoring.Monitoring.Kpi buildPartial() { - monitoring.Monitoring.Kpi result = new monitoring.Monitoring.Kpi(this); - if (kpiIdBuilder_ == null) { - result.kpiId_ = kpiId_; - } else { - result.kpiId_ = kpiIdBuilder_.build(); - } - result.timestamp_ = timestamp_; - if (kpiValueBuilder_ == null) { - result.kpiValue_ = kpiValue_; + public monitoring.Monitoring.AlarmSubscription buildPartial() { + monitoring.Monitoring.AlarmSubscription result = new monitoring.Monitoring.AlarmSubscription(this); + if (alarmIdBuilder_ == null) { + result.alarmId_ = alarmId_; } else { - result.kpiValue_ = kpiValueBuilder_.build(); + result.alarmId_ = alarmIdBuilder_.build(); } + result.subscriptionTimeoutS_ = subscriptionTimeoutS_; + result.subscriptionFrequencyMs_ = subscriptionFrequencyMs_; onBuilt(); return result; } @@ -3303,25 +19198,24 @@ public final class Monitoring { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof monitoring.Monitoring.Kpi) { - return mergeFrom((monitoring.Monitoring.Kpi)other); + if (other instanceof monitoring.Monitoring.AlarmSubscription) { + return mergeFrom((monitoring.Monitoring.AlarmSubscription)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(monitoring.Monitoring.Kpi other) { - if (other == monitoring.Monitoring.Kpi.getDefaultInstance()) return this; - if (other.hasKpiId()) { - mergeKpiId(other.getKpiId()); + public Builder mergeFrom(monitoring.Monitoring.AlarmSubscription other) { + if (other == monitoring.Monitoring.AlarmSubscription.getDefaultInstance()) return this; + if (other.hasAlarmId()) { + mergeAlarmId(other.getAlarmId()); } - if (!other.getTimestamp().isEmpty()) { - timestamp_ = other.timestamp_; - onChanged(); + if (other.getSubscriptionTimeoutS() != 0F) { + setSubscriptionTimeoutS(other.getSubscriptionTimeoutS()); } - if (other.hasKpiValue()) { - mergeKpiValue(other.getKpiValue()); + if (other.getSubscriptionFrequencyMs() != 0F) { + setSubscriptionFrequencyMs(other.getSubscriptionFrequencyMs()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -3338,11 +19232,11 @@ public final class Monitoring { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - monitoring.Monitoring.Kpi parsedMessage = null; + monitoring.Monitoring.AlarmSubscription parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (monitoring.Monitoring.Kpi) e.getUnfinishedMessage(); + parsedMessage = (monitoring.Monitoring.AlarmSubscription) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -3352,318 +19246,185 @@ public final class Monitoring { return this; } - private monitoring.Monitoring.KpiId kpiId_; + private monitoring.Monitoring.AlarmID alarmId_; private com.google.protobuf.SingleFieldBuilderV3< - monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> kpiIdBuilder_; + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder> alarmIdBuilder_; /** - * .monitoring.KpiId kpi_id = 1; - * @return Whether the kpiId field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. */ - public boolean hasKpiId() { - return kpiIdBuilder_ != null || kpiId_ != null; + public boolean hasAlarmId() { + return alarmIdBuilder_ != null || alarmId_ != null; } /** - * .monitoring.KpiId kpi_id = 1; - * @return The kpiId. + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. */ - public monitoring.Monitoring.KpiId getKpiId() { - if (kpiIdBuilder_ == null) { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + public monitoring.Monitoring.AlarmID getAlarmId() { + if (alarmIdBuilder_ == null) { + return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; } else { - return kpiIdBuilder_.getMessage(); + return alarmIdBuilder_.getMessage(); } } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - public Builder setKpiId(monitoring.Monitoring.KpiId value) { - if (kpiIdBuilder_ == null) { + public Builder setAlarmId(monitoring.Monitoring.AlarmID value) { + if (alarmIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - kpiId_ = value; + alarmId_ = value; onChanged(); } else { - kpiIdBuilder_.setMessage(value); + alarmIdBuilder_.setMessage(value); } return this; } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - public Builder setKpiId( - monitoring.Monitoring.KpiId.Builder builderForValue) { - if (kpiIdBuilder_ == null) { - kpiId_ = builderForValue.build(); + public Builder setAlarmId( + monitoring.Monitoring.AlarmID.Builder builderForValue) { + if (alarmIdBuilder_ == null) { + alarmId_ = builderForValue.build(); onChanged(); } else { - kpiIdBuilder_.setMessage(builderForValue.build()); + alarmIdBuilder_.setMessage(builderForValue.build()); } return this; } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { - if (kpiIdBuilder_ == null) { - if (kpiId_ != null) { - kpiId_ = - monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); + public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) { + if (alarmIdBuilder_ == null) { + if (alarmId_ != null) { + alarmId_ = + monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial(); } else { - kpiId_ = value; + alarmId_ = value; } onChanged(); } else { - kpiIdBuilder_.mergeFrom(value); + alarmIdBuilder_.mergeFrom(value); } return this; } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - public Builder clearKpiId() { - if (kpiIdBuilder_ == null) { - kpiId_ = null; + public Builder clearAlarmId() { + if (alarmIdBuilder_ == null) { + alarmId_ = null; onChanged(); } else { - kpiId_ = null; - kpiIdBuilder_ = null; + alarmId_ = null; + alarmIdBuilder_ = null; } return this; } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { + public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() { onChanged(); - return getKpiIdFieldBuilder().getBuilder(); + return getAlarmIdFieldBuilder().getBuilder(); } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ - public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - if (kpiIdBuilder_ != null) { - return kpiIdBuilder_.getMessageOrBuilder(); + public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() { + if (alarmIdBuilder_ != null) { + return alarmIdBuilder_.getMessageOrBuilder(); } else { - return kpiId_ == null ? - monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return alarmId_ == null ? + monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; } } /** - * .monitoring.KpiId kpi_id = 1; + * .monitoring.AlarmID alarm_id = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder> - getKpiIdFieldBuilder() { - if (kpiIdBuilder_ == null) { - kpiIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiId.Builder, monitoring.Monitoring.KpiIdOrBuilder>( - getKpiId(), + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder> + getAlarmIdFieldBuilder() { + if (alarmIdBuilder_ == null) { + alarmIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder>( + getAlarmId(), getParentForChildren(), isClean()); - kpiId_ = null; - } - return kpiIdBuilder_; - } - - private java.lang.Object timestamp_ = ""; - /** - * string timestamp = 2; - * @return The timestamp. - */ - public java.lang.String getTimestamp() { - java.lang.Object ref = timestamp_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - timestamp_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * string timestamp = 2; - * @return The bytes for timestamp. - */ - public com.google.protobuf.ByteString - getTimestampBytes() { - java.lang.Object ref = timestamp_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - timestamp_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * string timestamp = 2; - * @param value The timestamp to set. - * @return This builder for chaining. - */ - public Builder setTimestamp( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - timestamp_ = value; - onChanged(); - return this; - } - /** - * string timestamp = 2; - * @return This builder for chaining. - */ - public Builder clearTimestamp() { - - timestamp_ = getDefaultInstance().getTimestamp(); - onChanged(); - return this; - } - /** - * string timestamp = 2; - * @param value The bytes for timestamp to set. - * @return This builder for chaining. - */ - public Builder setTimestampBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - timestamp_ = value; - onChanged(); - return this; - } - - private monitoring.Monitoring.KpiValue kpiValue_; - private com.google.protobuf.SingleFieldBuilderV3< - monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> kpiValueBuilder_; - /** - * .monitoring.KpiValue kpi_value = 4; - * @return Whether the kpiValue field is set. - */ - public boolean hasKpiValue() { - return kpiValueBuilder_ != null || kpiValue_ != null; - } - /** - * .monitoring.KpiValue kpi_value = 4; - * @return The kpiValue. - */ - public monitoring.Monitoring.KpiValue getKpiValue() { - if (kpiValueBuilder_ == null) { - return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; - } else { - return kpiValueBuilder_.getMessage(); - } - } - /** - * .monitoring.KpiValue kpi_value = 4; - */ - public Builder setKpiValue(monitoring.Monitoring.KpiValue value) { - if (kpiValueBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - kpiValue_ = value; - onChanged(); - } else { - kpiValueBuilder_.setMessage(value); + alarmId_ = null; } - - return this; + return alarmIdBuilder_; } - /** - * .monitoring.KpiValue kpi_value = 4; - */ - public Builder setKpiValue( - monitoring.Monitoring.KpiValue.Builder builderForValue) { - if (kpiValueBuilder_ == null) { - kpiValue_ = builderForValue.build(); - onChanged(); - } else { - kpiValueBuilder_.setMessage(builderForValue.build()); - } - return this; - } + private float subscriptionTimeoutS_ ; /** - * .monitoring.KpiValue kpi_value = 4; + * float subscription_timeout_s = 2; + * @return The subscriptionTimeoutS. */ - public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) { - if (kpiValueBuilder_ == null) { - if (kpiValue_ != null) { - kpiValue_ = - monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial(); - } else { - kpiValue_ = value; - } - onChanged(); - } else { - kpiValueBuilder_.mergeFrom(value); - } - - return this; + @java.lang.Override + public float getSubscriptionTimeoutS() { + return subscriptionTimeoutS_; } /** - * .monitoring.KpiValue kpi_value = 4; - */ - public Builder clearKpiValue() { - if (kpiValueBuilder_ == null) { - kpiValue_ = null; - onChanged(); - } else { - kpiValue_ = null; - kpiValueBuilder_ = null; - } - + * float subscription_timeout_s = 2; + * @param value The subscriptionTimeoutS to set. + * @return This builder for chaining. + */ + public Builder setSubscriptionTimeoutS(float value) { + + subscriptionTimeoutS_ = value; + onChanged(); return this; } /** - * .monitoring.KpiValue kpi_value = 4; + * float subscription_timeout_s = 2; + * @return This builder for chaining. */ - public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() { + public Builder clearSubscriptionTimeoutS() { + subscriptionTimeoutS_ = 0F; onChanged(); - return getKpiValueFieldBuilder().getBuilder(); + return this; } + + private float subscriptionFrequencyMs_ ; /** - * .monitoring.KpiValue kpi_value = 4; + * float subscription_frequency_ms = 3; + * @return The subscriptionFrequencyMs. */ - public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() { - if (kpiValueBuilder_ != null) { - return kpiValueBuilder_.getMessageOrBuilder(); - } else { - return kpiValue_ == null ? - monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_; - } + @java.lang.Override + public float getSubscriptionFrequencyMs() { + return subscriptionFrequencyMs_; } /** - * .monitoring.KpiValue kpi_value = 4; + * float subscription_frequency_ms = 3; + * @param value The subscriptionFrequencyMs to set. + * @return This builder for chaining. */ - private com.google.protobuf.SingleFieldBuilderV3< - monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder> - getKpiValueFieldBuilder() { - if (kpiValueBuilder_ == null) { - kpiValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - monitoring.Monitoring.KpiValue, monitoring.Monitoring.KpiValue.Builder, monitoring.Monitoring.KpiValueOrBuilder>( - getKpiValue(), - getParentForChildren(), - isClean()); - kpiValue_ = null; - } - return kpiValueBuilder_; + public Builder setSubscriptionFrequencyMs(float value) { + + subscriptionFrequencyMs_ = value; + onChanged(); + return this; + } + /** + * float subscription_frequency_ms = 3; + * @return This builder for chaining. + */ + public Builder clearSubscriptionFrequencyMs() { + + subscriptionFrequencyMs_ = 0F; + onChanged(); + return this; } @java.lang.Override public final Builder setUnknownFields( @@ -3678,122 +19439,113 @@ public final class Monitoring { } - // @@protoc_insertion_point(builder_scope:monitoring.Kpi) + // @@protoc_insertion_point(builder_scope:monitoring.AlarmSubscription) } - // @@protoc_insertion_point(class_scope:monitoring.Kpi) - private static final monitoring.Monitoring.Kpi DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:monitoring.AlarmSubscription) + private static final monitoring.Monitoring.AlarmSubscription DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new monitoring.Monitoring.Kpi(); + DEFAULT_INSTANCE = new monitoring.Monitoring.AlarmSubscription(); } - public static monitoring.Monitoring.Kpi getDefaultInstance() { + public static monitoring.Monitoring.AlarmSubscription getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public Kpi parsePartialFrom( + public AlarmSubscription parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Kpi(input, extensionRegistry); + return new AlarmSubscription(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public monitoring.Monitoring.Kpi getDefaultInstanceForType() { + public monitoring.Monitoring.AlarmSubscription getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface KpiValueOrBuilder extends - // @@protoc_insertion_point(interface_extends:monitoring.KpiValue) + public interface AlarmResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.AlarmResponse) com.google.protobuf.MessageOrBuilder { /** - * uint32 intVal = 1; - * @return Whether the intVal field is set. - */ - boolean hasIntVal(); - /** - * uint32 intVal = 1; - * @return The intVal. + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. */ - int getIntVal(); - + boolean hasAlarmId(); /** - * float floatVal = 2; - * @return Whether the floatVal field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. */ - boolean hasFloatVal(); + monitoring.Monitoring.AlarmID getAlarmId(); /** - * float floatVal = 2; - * @return The floatVal. + * .monitoring.AlarmID alarm_id = 1; */ - float getFloatVal(); + monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder(); /** - * string stringVal = 3; - * @return Whether the stringVal field is set. - */ - boolean hasStringVal(); - /** - * string stringVal = 3; - * @return The stringVal. + * string text = 2; + * @return The text. */ - java.lang.String getStringVal(); + java.lang.String getText(); /** - * string stringVal = 3; - * @return The bytes for stringVal. + * string text = 2; + * @return The bytes for text. */ com.google.protobuf.ByteString - getStringValBytes(); + getTextBytes(); /** - * bool boolVal = 4; - * @return Whether the boolVal field is set. + * .monitoring.KpiList kpi_list = 3; + * @return Whether the kpiList field is set. */ - boolean hasBoolVal(); + boolean hasKpiList(); /** - * bool boolVal = 4; - * @return The boolVal. + * .monitoring.KpiList kpi_list = 3; + * @return The kpiList. */ - boolean getBoolVal(); - - public monitoring.Monitoring.KpiValue.ValueCase getValueCase(); + monitoring.Monitoring.KpiList getKpiList(); + /** + * .monitoring.KpiList kpi_list = 3; + */ + monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder(); } /** - * Protobuf type {@code monitoring.KpiValue} + * Protobuf type {@code monitoring.AlarmResponse} */ - public static final class KpiValue extends + public static final class AlarmResponse extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:monitoring.KpiValue) - KpiValueOrBuilder { + // @@protoc_insertion_point(message_implements:monitoring.AlarmResponse) + AlarmResponseOrBuilder { private static final long serialVersionUID = 0L; - // Use KpiValue.newBuilder() to construct. - private KpiValue(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use AlarmResponse.newBuilder() to construct. + private AlarmResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private KpiValue() { + private AlarmResponse() { + text_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new KpiValue(); + return new AlarmResponse(); } @java.lang.Override @@ -3801,7 +19553,7 @@ public final class Monitoring { getUnknownFields() { return this.unknownFields; } - private KpiValue( + private AlarmResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -3819,25 +19571,36 @@ public final class Monitoring { case 0: done = true; break; - case 8: { - valueCase_ = 1; - value_ = input.readUInt32(); - break; - } - case 21: { - valueCase_ = 2; - value_ = input.readFloat(); + case 10: { + monitoring.Monitoring.AlarmID.Builder subBuilder = null; + if (alarmId_ != null) { + subBuilder = alarmId_.toBuilder(); + } + alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(alarmId_); + alarmId_ = subBuilder.buildPartial(); + } + break; } - case 26: { + case 18: { java.lang.String s = input.readStringRequireUtf8(); - valueCase_ = 3; - value_ = s; + + text_ = s; break; } - case 32: { - valueCase_ = 4; - value_ = input.readBool(); + case 26: { + monitoring.Monitoring.KpiList.Builder subBuilder = null; + if (kpiList_ != null) { + subBuilder = kpiList_.toBuilder(); + } + kpiList_ = input.readMessage(monitoring.Monitoring.KpiList.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiList_); + kpiList_ = subBuilder.buildPartial(); + } + break; } default: { @@ -3861,175 +19624,105 @@ public final class Monitoring { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_KpiValue_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.KpiValue.class, monitoring.Monitoring.KpiValue.Builder.class); - } - - private int valueCase_ = 0; - private java.lang.Object value_; - public enum ValueCase - implements com.google.protobuf.Internal.EnumLite, - com.google.protobuf.AbstractMessage.InternalOneOfEnum { - INTVAL(1), - FLOATVAL(2), - STRINGVAL(3), - BOOLVAL(4), - VALUE_NOT_SET(0); - private final int value; - private ValueCase(int value) { - this.value = value; - } - /** - * @param value The number of the enum to look for. - * @return The enum associated with the given number. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static ValueCase valueOf(int value) { - return forNumber(value); - } - - public static ValueCase forNumber(int value) { - switch (value) { - case 1: return INTVAL; - case 2: return FLOATVAL; - case 3: return STRINGVAL; - case 4: return BOOLVAL; - case 0: return VALUE_NOT_SET; - default: return null; - } - } - public int getNumber() { - return this.value; - } - }; - - public ValueCase - getValueCase() { - return ValueCase.forNumber( - valueCase_); + monitoring.Monitoring.AlarmResponse.class, monitoring.Monitoring.AlarmResponse.Builder.class); } - public static final int INTVAL_FIELD_NUMBER = 1; + public static final int ALARM_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.AlarmID alarmId_; /** - * uint32 intVal = 1; - * @return Whether the intVal field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. */ @java.lang.Override - public boolean hasIntVal() { - return valueCase_ == 1; - } - /** - * uint32 intVal = 1; - * @return The intVal. - */ - @java.lang.Override - public int getIntVal() { - if (valueCase_ == 1) { - return (java.lang.Integer) value_; - } - return 0; + public boolean hasAlarmId() { + return alarmId_ != null; } - - public static final int FLOATVAL_FIELD_NUMBER = 2; /** - * float floatVal = 2; - * @return Whether the floatVal field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. */ @java.lang.Override - public boolean hasFloatVal() { - return valueCase_ == 2; + public monitoring.Monitoring.AlarmID getAlarmId() { + return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; } /** - * float floatVal = 2; - * @return The floatVal. + * .monitoring.AlarmID alarm_id = 1; */ @java.lang.Override - public float getFloatVal() { - if (valueCase_ == 2) { - return (java.lang.Float) value_; - } - return 0F; + public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() { + return getAlarmId(); } - public static final int STRINGVAL_FIELD_NUMBER = 3; - /** - * string stringVal = 3; - * @return Whether the stringVal field is set. - */ - public boolean hasStringVal() { - return valueCase_ == 3; - } + public static final int TEXT_FIELD_NUMBER = 2; + private volatile java.lang.Object text_; /** - * string stringVal = 3; - * @return The stringVal. + * string text = 2; + * @return The text. */ - public java.lang.String getStringVal() { - java.lang.Object ref = ""; - if (valueCase_ == 3) { - ref = value_; - } + @java.lang.Override + public java.lang.String getText() { + java.lang.Object ref = text_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (valueCase_ == 3) { - value_ = s; - } + text_ = s; return s; } } /** - * string stringVal = 3; - * @return The bytes for stringVal. + * string text = 2; + * @return The bytes for text. */ + @java.lang.Override public com.google.protobuf.ByteString - getStringValBytes() { - java.lang.Object ref = ""; - if (valueCase_ == 3) { - ref = value_; - } + getTextBytes() { + java.lang.Object ref = text_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - if (valueCase_ == 3) { - value_ = b; - } + text_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } - public static final int BOOLVAL_FIELD_NUMBER = 4; + public static final int KPI_LIST_FIELD_NUMBER = 3; + private monitoring.Monitoring.KpiList kpiList_; /** - * bool boolVal = 4; - * @return Whether the boolVal field is set. + * .monitoring.KpiList kpi_list = 3; + * @return Whether the kpiList field is set. */ @java.lang.Override - public boolean hasBoolVal() { - return valueCase_ == 4; + public boolean hasKpiList() { + return kpiList_ != null; } /** - * bool boolVal = 4; - * @return The boolVal. + * .monitoring.KpiList kpi_list = 3; + * @return The kpiList. */ @java.lang.Override - public boolean getBoolVal() { - if (valueCase_ == 4) { - return (java.lang.Boolean) value_; - } - return false; + public monitoring.Monitoring.KpiList getKpiList() { + return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_; + } + /** + * .monitoring.KpiList kpi_list = 3; + */ + @java.lang.Override + public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() { + return getKpiList(); } private byte memoizedIsInitialized = -1; @@ -4046,20 +19739,14 @@ public final class Monitoring { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (valueCase_ == 1) { - output.writeUInt32( - 1, (int)((java.lang.Integer) value_)); - } - if (valueCase_ == 2) { - output.writeFloat( - 2, (float)((java.lang.Float) value_)); + if (alarmId_ != null) { + output.writeMessage(1, getAlarmId()); } - if (valueCase_ == 3) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, value_); + if (!getTextBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, text_); } - if (valueCase_ == 4) { - output.writeBool( - 4, (boolean)((java.lang.Boolean) value_)); + if (kpiList_ != null) { + output.writeMessage(3, getKpiList()); } unknownFields.writeTo(output); } @@ -4070,23 +19757,16 @@ public final class Monitoring { if (size != -1) return size; size = 0; - if (valueCase_ == 1) { - size += com.google.protobuf.CodedOutputStream - .computeUInt32Size( - 1, (int)((java.lang.Integer) value_)); - } - if (valueCase_ == 2) { + if (alarmId_ != null) { size += com.google.protobuf.CodedOutputStream - .computeFloatSize( - 2, (float)((java.lang.Float) value_)); + .computeMessageSize(1, getAlarmId()); } - if (valueCase_ == 3) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, value_); + if (!getTextBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, text_); } - if (valueCase_ == 4) { + if (kpiList_ != null) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize( - 4, (boolean)((java.lang.Boolean) value_)); + .computeMessageSize(3, getKpiList()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -4095,35 +19775,25 @@ public final class Monitoring { @java.lang.Override public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof monitoring.Monitoring.KpiValue)) { - return super.equals(obj); - } - monitoring.Monitoring.KpiValue other = (monitoring.Monitoring.KpiValue) obj; - - if (!getValueCase().equals(other.getValueCase())) return false; - switch (valueCase_) { - case 1: - if (getIntVal() - != other.getIntVal()) return false; - break; - case 2: - if (java.lang.Float.floatToIntBits(getFloatVal()) - != java.lang.Float.floatToIntBits( - other.getFloatVal())) return false; - break; - case 3: - if (!getStringVal() - .equals(other.getStringVal())) return false; - break; - case 4: - if (getBoolVal() - != other.getBoolVal()) return false; - break; - case 0: - default: + if (obj == this) { + return true; + } + if (!(obj instanceof monitoring.Monitoring.AlarmResponse)) { + return super.equals(obj); + } + monitoring.Monitoring.AlarmResponse other = (monitoring.Monitoring.AlarmResponse) obj; + + if (hasAlarmId() != other.hasAlarmId()) return false; + if (hasAlarmId()) { + if (!getAlarmId() + .equals(other.getAlarmId())) return false; + } + if (!getText() + .equals(other.getText())) return false; + if (hasKpiList() != other.hasKpiList()) return false; + if (hasKpiList()) { + if (!getKpiList() + .equals(other.getKpiList())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; @@ -4136,96 +19806,84 @@ public final class Monitoring { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - switch (valueCase_) { - case 1: - hash = (37 * hash) + INTVAL_FIELD_NUMBER; - hash = (53 * hash) + getIntVal(); - break; - case 2: - hash = (37 * hash) + FLOATVAL_FIELD_NUMBER; - hash = (53 * hash) + java.lang.Float.floatToIntBits( - getFloatVal()); - break; - case 3: - hash = (37 * hash) + STRINGVAL_FIELD_NUMBER; - hash = (53 * hash) + getStringVal().hashCode(); - break; - case 4: - hash = (37 * hash) + BOOLVAL_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getBoolVal()); - break; - case 0: - default: + if (hasAlarmId()) { + hash = (37 * hash) + ALARM_ID_FIELD_NUMBER; + hash = (53 * hash) + getAlarmId().hashCode(); + } + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + if (hasKpiList()) { + hash = (37 * hash) + KPI_LIST_FIELD_NUMBER; + hash = (53 * hash) + getKpiList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiValue parseFrom(byte[] data) + public static monitoring.Monitoring.AlarmResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiValue parseFrom(java.io.InputStream input) + public static monitoring.Monitoring.AlarmResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.KpiValue parseDelimitedFrom(java.io.InputStream input) + public static monitoring.Monitoring.AlarmResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiValue parseDelimitedFrom( + public static monitoring.Monitoring.AlarmResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiValue parseFrom( + public static monitoring.Monitoring.AlarmResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -4238,7 +19896,7 @@ public final class Monitoring { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(monitoring.Monitoring.KpiValue prototype) { + public static Builder newBuilder(monitoring.Monitoring.AlarmResponse prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -4254,26 +19912,26 @@ public final class Monitoring { return builder; } /** - * Protobuf type {@code monitoring.KpiValue} + * Protobuf type {@code monitoring.AlarmResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:monitoring.KpiValue) - monitoring.Monitoring.KpiValueOrBuilder { + // @@protoc_insertion_point(builder_implements:monitoring.AlarmResponse) + monitoring.Monitoring.AlarmResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_KpiValue_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.KpiValue.class, monitoring.Monitoring.KpiValue.Builder.class); + monitoring.Monitoring.AlarmResponse.class, monitoring.Monitoring.AlarmResponse.Builder.class); } - // Construct using monitoring.Monitoring.KpiValue.newBuilder() + // Construct using monitoring.Monitoring.AlarmResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -4291,25 +19949,37 @@ public final class Monitoring { @java.lang.Override public Builder clear() { super.clear(); - valueCase_ = 0; - value_ = null; + if (alarmIdBuilder_ == null) { + alarmId_ = null; + } else { + alarmId_ = null; + alarmIdBuilder_ = null; + } + text_ = ""; + + if (kpiListBuilder_ == null) { + kpiList_ = null; + } else { + kpiList_ = null; + kpiListBuilder_ = null; + } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_descriptor; } @java.lang.Override - public monitoring.Monitoring.KpiValue getDefaultInstanceForType() { - return monitoring.Monitoring.KpiValue.getDefaultInstance(); + public monitoring.Monitoring.AlarmResponse getDefaultInstanceForType() { + return monitoring.Monitoring.AlarmResponse.getDefaultInstance(); } @java.lang.Override - public monitoring.Monitoring.KpiValue build() { - monitoring.Monitoring.KpiValue result = buildPartial(); + public monitoring.Monitoring.AlarmResponse build() { + monitoring.Monitoring.AlarmResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -4317,21 +19987,19 @@ public final class Monitoring { } @java.lang.Override - public monitoring.Monitoring.KpiValue buildPartial() { - monitoring.Monitoring.KpiValue result = new monitoring.Monitoring.KpiValue(this); - if (valueCase_ == 1) { - result.value_ = value_; - } - if (valueCase_ == 2) { - result.value_ = value_; - } - if (valueCase_ == 3) { - result.value_ = value_; + public monitoring.Monitoring.AlarmResponse buildPartial() { + monitoring.Monitoring.AlarmResponse result = new monitoring.Monitoring.AlarmResponse(this); + if (alarmIdBuilder_ == null) { + result.alarmId_ = alarmId_; + } else { + result.alarmId_ = alarmIdBuilder_.build(); } - if (valueCase_ == 4) { - result.value_ = value_; + result.text_ = text_; + if (kpiListBuilder_ == null) { + result.kpiList_ = kpiList_; + } else { + result.kpiList_ = kpiListBuilder_.build(); } - result.valueCase_ = valueCase_; onBuilt(); return result; } @@ -4370,38 +20038,25 @@ public final class Monitoring { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof monitoring.Monitoring.KpiValue) { - return mergeFrom((monitoring.Monitoring.KpiValue)other); + if (other instanceof monitoring.Monitoring.AlarmResponse) { + return mergeFrom((monitoring.Monitoring.AlarmResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(monitoring.Monitoring.KpiValue other) { - if (other == monitoring.Monitoring.KpiValue.getDefaultInstance()) return this; - switch (other.getValueCase()) { - case INTVAL: { - setIntVal(other.getIntVal()); - break; - } - case FLOATVAL: { - setFloatVal(other.getFloatVal()); - break; - } - case STRINGVAL: { - valueCase_ = 3; - value_ = other.value_; - onChanged(); - break; - } - case BOOLVAL: { - setBoolVal(other.getBoolVal()); - break; - } - case VALUE_NOT_SET: { - break; - } + public Builder mergeFrom(monitoring.Monitoring.AlarmResponse other) { + if (other == monitoring.Monitoring.AlarmResponse.getDefaultInstance()) return this; + if (other.hasAlarmId()) { + mergeAlarmId(other.getAlarmId()); + } + if (!other.getText().isEmpty()) { + text_ = other.text_; + onChanged(); + } + if (other.hasKpiList()) { + mergeKpiList(other.getKpiList()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -4418,11 +20073,11 @@ public final class Monitoring { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - monitoring.Monitoring.KpiValue parsedMessage = null; + monitoring.Monitoring.AlarmResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (monitoring.Monitoring.KpiValue) e.getUnfinishedMessage(); + parsedMessage = (monitoring.Monitoring.AlarmResponse) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -4431,240 +20086,319 @@ public final class Monitoring { } return this; } - private int valueCase_ = 0; - private java.lang.Object value_; - public ValueCase - getValueCase() { - return ValueCase.forNumber( - valueCase_); - } - - public Builder clearValue() { - valueCase_ = 0; - value_ = null; - onChanged(); - return this; - } - + private monitoring.Monitoring.AlarmID alarmId_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder> alarmIdBuilder_; /** - * uint32 intVal = 1; - * @return Whether the intVal field is set. + * .monitoring.AlarmID alarm_id = 1; + * @return Whether the alarmId field is set. */ - public boolean hasIntVal() { - return valueCase_ == 1; + public boolean hasAlarmId() { + return alarmIdBuilder_ != null || alarmId_ != null; } /** - * uint32 intVal = 1; - * @return The intVal. + * .monitoring.AlarmID alarm_id = 1; + * @return The alarmId. */ - public int getIntVal() { - if (valueCase_ == 1) { - return (java.lang.Integer) value_; + public monitoring.Monitoring.AlarmID getAlarmId() { + if (alarmIdBuilder_ == null) { + return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; + } else { + return alarmIdBuilder_.getMessage(); } - return 0; } /** - * uint32 intVal = 1; - * @param value The intVal to set. - * @return This builder for chaining. + * .monitoring.AlarmID alarm_id = 1; */ - public Builder setIntVal(int value) { - valueCase_ = 1; - value_ = value; - onChanged(); + public Builder setAlarmId(monitoring.Monitoring.AlarmID value) { + if (alarmIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + alarmId_ = value; + onChanged(); + } else { + alarmIdBuilder_.setMessage(value); + } + return this; } /** - * uint32 intVal = 1; - * @return This builder for chaining. + * .monitoring.AlarmID alarm_id = 1; */ - public Builder clearIntVal() { - if (valueCase_ == 1) { - valueCase_ = 0; - value_ = null; + public Builder setAlarmId( + monitoring.Monitoring.AlarmID.Builder builderForValue) { + if (alarmIdBuilder_ == null) { + alarmId_ = builderForValue.build(); onChanged(); + } else { + alarmIdBuilder_.setMessage(builderForValue.build()); } + return this; } - /** - * float floatVal = 2; - * @return Whether the floatVal field is set. + * .monitoring.AlarmID alarm_id = 1; */ - public boolean hasFloatVal() { - return valueCase_ == 2; + public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) { + if (alarmIdBuilder_ == null) { + if (alarmId_ != null) { + alarmId_ = + monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial(); + } else { + alarmId_ = value; + } + onChanged(); + } else { + alarmIdBuilder_.mergeFrom(value); + } + + return this; } /** - * float floatVal = 2; - * @return The floatVal. + * .monitoring.AlarmID alarm_id = 1; */ - public float getFloatVal() { - if (valueCase_ == 2) { - return (java.lang.Float) value_; + public Builder clearAlarmId() { + if (alarmIdBuilder_ == null) { + alarmId_ = null; + onChanged(); + } else { + alarmId_ = null; + alarmIdBuilder_ = null; } - return 0F; + + return this; } /** - * float floatVal = 2; - * @param value The floatVal to set. - * @return This builder for chaining. + * .monitoring.AlarmID alarm_id = 1; */ - public Builder setFloatVal(float value) { - valueCase_ = 2; - value_ = value; + public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() { + onChanged(); - return this; + return getAlarmIdFieldBuilder().getBuilder(); } /** - * float floatVal = 2; - * @return This builder for chaining. + * .monitoring.AlarmID alarm_id = 1; */ - public Builder clearFloatVal() { - if (valueCase_ == 2) { - valueCase_ = 0; - value_ = null; - onChanged(); + public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() { + if (alarmIdBuilder_ != null) { + return alarmIdBuilder_.getMessageOrBuilder(); + } else { + return alarmId_ == null ? + monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_; } - return this; } - /** - * string stringVal = 3; - * @return Whether the stringVal field is set. + * .monitoring.AlarmID alarm_id = 1; */ - @java.lang.Override - public boolean hasStringVal() { - return valueCase_ == 3; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder> + getAlarmIdFieldBuilder() { + if (alarmIdBuilder_ == null) { + alarmIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.AlarmID, monitoring.Monitoring.AlarmID.Builder, monitoring.Monitoring.AlarmIDOrBuilder>( + getAlarmId(), + getParentForChildren(), + isClean()); + alarmId_ = null; + } + return alarmIdBuilder_; } + + private java.lang.Object text_ = ""; /** - * string stringVal = 3; - * @return The stringVal. + * string text = 2; + * @return The text. */ - @java.lang.Override - public java.lang.String getStringVal() { - java.lang.Object ref = ""; - if (valueCase_ == 3) { - ref = value_; - } + public java.lang.String getText() { + java.lang.Object ref = text_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (valueCase_ == 3) { - value_ = s; - } + text_ = s; return s; } else { return (java.lang.String) ref; } } /** - * string stringVal = 3; - * @return The bytes for stringVal. + * string text = 2; + * @return The bytes for text. */ - @java.lang.Override public com.google.protobuf.ByteString - getStringValBytes() { - java.lang.Object ref = ""; - if (valueCase_ == 3) { - ref = value_; - } + getTextBytes() { + java.lang.Object ref = text_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - if (valueCase_ == 3) { - value_ = b; - } + text_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * string stringVal = 3; - * @param value The stringVal to set. + * string text = 2; + * @param value The text to set. * @return This builder for chaining. */ - public Builder setStringVal( + public Builder setText( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - valueCase_ = 3; - value_ = value; + + text_ = value; + onChanged(); + return this; + } + /** + * string text = 2; + * @return This builder for chaining. + */ + public Builder clearText() { + + text_ = getDefaultInstance().getText(); + onChanged(); + return this; + } + /** + * string text = 2; + * @param value The bytes for text to set. + * @return This builder for chaining. + */ + public Builder setTextBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + text_ = value; onChanged(); return this; } + + private monitoring.Monitoring.KpiList kpiList_; + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiList, monitoring.Monitoring.KpiList.Builder, monitoring.Monitoring.KpiListOrBuilder> kpiListBuilder_; + /** + * .monitoring.KpiList kpi_list = 3; + * @return Whether the kpiList field is set. + */ + public boolean hasKpiList() { + return kpiListBuilder_ != null || kpiList_ != null; + } + /** + * .monitoring.KpiList kpi_list = 3; + * @return The kpiList. + */ + public monitoring.Monitoring.KpiList getKpiList() { + if (kpiListBuilder_ == null) { + return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_; + } else { + return kpiListBuilder_.getMessage(); + } + } + /** + * .monitoring.KpiList kpi_list = 3; + */ + public Builder setKpiList(monitoring.Monitoring.KpiList value) { + if (kpiListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kpiList_ = value; + onChanged(); + } else { + kpiListBuilder_.setMessage(value); + } + + return this; + } /** - * string stringVal = 3; - * @return This builder for chaining. + * .monitoring.KpiList kpi_list = 3; */ - public Builder clearStringVal() { - if (valueCase_ == 3) { - valueCase_ = 0; - value_ = null; + public Builder setKpiList( + monitoring.Monitoring.KpiList.Builder builderForValue) { + if (kpiListBuilder_ == null) { + kpiList_ = builderForValue.build(); onChanged(); + } else { + kpiListBuilder_.setMessage(builderForValue.build()); } + return this; } /** - * string stringVal = 3; - * @param value The bytes for stringVal to set. - * @return This builder for chaining. + * .monitoring.KpiList kpi_list = 3; */ - public Builder setStringValBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - valueCase_ = 3; - value_ = value; - onChanged(); + public Builder mergeKpiList(monitoring.Monitoring.KpiList value) { + if (kpiListBuilder_ == null) { + if (kpiList_ != null) { + kpiList_ = + monitoring.Monitoring.KpiList.newBuilder(kpiList_).mergeFrom(value).buildPartial(); + } else { + kpiList_ = value; + } + onChanged(); + } else { + kpiListBuilder_.mergeFrom(value); + } + return this; } - /** - * bool boolVal = 4; - * @return Whether the boolVal field is set. + * .monitoring.KpiList kpi_list = 3; */ - public boolean hasBoolVal() { - return valueCase_ == 4; + public Builder clearKpiList() { + if (kpiListBuilder_ == null) { + kpiList_ = null; + onChanged(); + } else { + kpiList_ = null; + kpiListBuilder_ = null; + } + + return this; } /** - * bool boolVal = 4; - * @return The boolVal. + * .monitoring.KpiList kpi_list = 3; */ - public boolean getBoolVal() { - if (valueCase_ == 4) { - return (java.lang.Boolean) value_; - } - return false; + public monitoring.Monitoring.KpiList.Builder getKpiListBuilder() { + + onChanged(); + return getKpiListFieldBuilder().getBuilder(); } /** - * bool boolVal = 4; - * @param value The boolVal to set. - * @return This builder for chaining. + * .monitoring.KpiList kpi_list = 3; */ - public Builder setBoolVal(boolean value) { - valueCase_ = 4; - value_ = value; - onChanged(); - return this; + public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() { + if (kpiListBuilder_ != null) { + return kpiListBuilder_.getMessageOrBuilder(); + } else { + return kpiList_ == null ? + monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_; + } } /** - * bool boolVal = 4; - * @return This builder for chaining. + * .monitoring.KpiList kpi_list = 3; */ - public Builder clearBoolVal() { - if (valueCase_ == 4) { - valueCase_ = 0; - value_ = null; - onChanged(); + private com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiList, monitoring.Monitoring.KpiList.Builder, monitoring.Monitoring.KpiListOrBuilder> + getKpiListFieldBuilder() { + if (kpiListBuilder_ == null) { + kpiListBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + monitoring.Monitoring.KpiList, monitoring.Monitoring.KpiList.Builder, monitoring.Monitoring.KpiListOrBuilder>( + getKpiList(), + getParentForChildren(), + isClean()); + kpiList_ = null; } - return this; + return kpiListBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -4679,95 +20413,95 @@ public final class Monitoring { } - // @@protoc_insertion_point(builder_scope:monitoring.KpiValue) + // @@protoc_insertion_point(builder_scope:monitoring.AlarmResponse) } - // @@protoc_insertion_point(class_scope:monitoring.KpiValue) - private static final monitoring.Monitoring.KpiValue DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:monitoring.AlarmResponse) + private static final monitoring.Monitoring.AlarmResponse DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new monitoring.Monitoring.KpiValue(); + DEFAULT_INSTANCE = new monitoring.Monitoring.AlarmResponse(); } - public static monitoring.Monitoring.KpiValue getDefaultInstance() { + public static monitoring.Monitoring.AlarmResponse getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public KpiValue parsePartialFrom( + public AlarmResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new KpiValue(input, extensionRegistry); + return new AlarmResponse(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public monitoring.Monitoring.KpiValue getDefaultInstanceForType() { + public monitoring.Monitoring.AlarmResponse getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface KpiListOrBuilder extends - // @@protoc_insertion_point(interface_extends:monitoring.KpiList) + public interface AlarmListOrBuilder extends + // @@protoc_insertion_point(interface_extends:monitoring.AlarmList) com.google.protobuf.MessageOrBuilder { /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - java.util.List - getKpiListList(); + java.util.List + getAlarmDescriptorList(); /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - monitoring.Monitoring.Kpi getKpiList(int index); + monitoring.Monitoring.AlarmDescriptor getAlarmDescriptor(int index); /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - int getKpiListCount(); + int getAlarmDescriptorCount(); /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - java.util.List - getKpiListOrBuilderList(); + java.util.List + getAlarmDescriptorOrBuilderList(); /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - monitoring.Monitoring.KpiOrBuilder getKpiListOrBuilder( + monitoring.Monitoring.AlarmDescriptorOrBuilder getAlarmDescriptorOrBuilder( int index); } /** - * Protobuf type {@code monitoring.KpiList} + * Protobuf type {@code monitoring.AlarmList} */ - public static final class KpiList extends + public static final class AlarmList extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:monitoring.KpiList) - KpiListOrBuilder { + // @@protoc_insertion_point(message_implements:monitoring.AlarmList) + AlarmListOrBuilder { private static final long serialVersionUID = 0L; - // Use KpiList.newBuilder() to construct. - private KpiList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use AlarmList.newBuilder() to construct. + private AlarmList(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private KpiList() { - kpiList_ = java.util.Collections.emptyList(); + private AlarmList() { + alarmDescriptor_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { - return new KpiList(); + return new AlarmList(); } @java.lang.Override @@ -4775,7 +20509,7 @@ public final class Monitoring { getUnknownFields() { return this.unknownFields; } - private KpiList( + private AlarmList( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -4796,11 +20530,11 @@ public final class Monitoring { break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { - kpiList_ = new java.util.ArrayList(); + alarmDescriptor_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } - kpiList_.add( - input.readMessage(monitoring.Monitoring.Kpi.parser(), extensionRegistry)); + alarmDescriptor_.add( + input.readMessage(monitoring.Monitoring.AlarmDescriptor.parser(), extensionRegistry)); break; } default: { @@ -4819,7 +20553,7 @@ public final class Monitoring { e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { - kpiList_ = java.util.Collections.unmodifiableList(kpiList_); + alarmDescriptor_ = java.util.Collections.unmodifiableList(alarmDescriptor_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); @@ -4827,55 +20561,55 @@ public final class Monitoring { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_KpiList_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_AlarmList_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.KpiList.class, monitoring.Monitoring.KpiList.Builder.class); + monitoring.Monitoring.AlarmList.class, monitoring.Monitoring.AlarmList.Builder.class); } - public static final int KPI_LIST_FIELD_NUMBER = 1; - private java.util.List kpiList_; + public static final int ALARM_DESCRIPTOR_FIELD_NUMBER = 1; + private java.util.List alarmDescriptor_; /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ @java.lang.Override - public java.util.List getKpiListList() { - return kpiList_; + public java.util.List getAlarmDescriptorList() { + return alarmDescriptor_; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ @java.lang.Override - public java.util.List - getKpiListOrBuilderList() { - return kpiList_; + public java.util.List + getAlarmDescriptorOrBuilderList() { + return alarmDescriptor_; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ @java.lang.Override - public int getKpiListCount() { - return kpiList_.size(); + public int getAlarmDescriptorCount() { + return alarmDescriptor_.size(); } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ @java.lang.Override - public monitoring.Monitoring.Kpi getKpiList(int index) { - return kpiList_.get(index); + public monitoring.Monitoring.AlarmDescriptor getAlarmDescriptor(int index) { + return alarmDescriptor_.get(index); } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ @java.lang.Override - public monitoring.Monitoring.KpiOrBuilder getKpiListOrBuilder( + public monitoring.Monitoring.AlarmDescriptorOrBuilder getAlarmDescriptorOrBuilder( int index) { - return kpiList_.get(index); + return alarmDescriptor_.get(index); } private byte memoizedIsInitialized = -1; @@ -4892,8 +20626,8 @@ public final class Monitoring { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < kpiList_.size(); i++) { - output.writeMessage(1, kpiList_.get(i)); + for (int i = 0; i < alarmDescriptor_.size(); i++) { + output.writeMessage(1, alarmDescriptor_.get(i)); } unknownFields.writeTo(output); } @@ -4904,9 +20638,9 @@ public final class Monitoring { if (size != -1) return size; size = 0; - for (int i = 0; i < kpiList_.size(); i++) { + for (int i = 0; i < alarmDescriptor_.size(); i++) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(1, kpiList_.get(i)); + .computeMessageSize(1, alarmDescriptor_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -4918,13 +20652,13 @@ public final class Monitoring { if (obj == this) { return true; } - if (!(obj instanceof monitoring.Monitoring.KpiList)) { + if (!(obj instanceof monitoring.Monitoring.AlarmList)) { return super.equals(obj); } - monitoring.Monitoring.KpiList other = (monitoring.Monitoring.KpiList) obj; + monitoring.Monitoring.AlarmList other = (monitoring.Monitoring.AlarmList) obj; - if (!getKpiListList() - .equals(other.getKpiListList())) return false; + if (!getAlarmDescriptorList() + .equals(other.getAlarmDescriptorList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4936,78 +20670,78 @@ public final class Monitoring { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getKpiListCount() > 0) { - hash = (37 * hash) + KPI_LIST_FIELD_NUMBER; - hash = (53 * hash) + getKpiListList().hashCode(); + if (getAlarmDescriptorCount() > 0) { + hash = (37 * hash) + ALARM_DESCRIPTOR_FIELD_NUMBER; + hash = (53 * hash) + getAlarmDescriptorList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiList parseFrom(byte[] data) + public static monitoring.Monitoring.AlarmList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static monitoring.Monitoring.KpiList parseFrom(java.io.InputStream input) + public static monitoring.Monitoring.AlarmList parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.KpiList parseDelimitedFrom(java.io.InputStream input) + public static monitoring.Monitoring.AlarmList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiList parseDelimitedFrom( + public static monitoring.Monitoring.AlarmList parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static monitoring.Monitoring.KpiList parseFrom( + public static monitoring.Monitoring.AlarmList parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -5020,7 +20754,7 @@ public final class Monitoring { public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(monitoring.Monitoring.KpiList prototype) { + public static Builder newBuilder(monitoring.Monitoring.AlarmList prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override @@ -5036,26 +20770,26 @@ public final class Monitoring { return builder; } /** - * Protobuf type {@code monitoring.KpiList} + * Protobuf type {@code monitoring.AlarmList} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:monitoring.KpiList) - monitoring.Monitoring.KpiListOrBuilder { + // @@protoc_insertion_point(builder_implements:monitoring.AlarmList) + monitoring.Monitoring.AlarmListOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmList_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_KpiList_fieldAccessorTable + return monitoring.Monitoring.internal_static_monitoring_AlarmList_fieldAccessorTable .ensureFieldAccessorsInitialized( - monitoring.Monitoring.KpiList.class, monitoring.Monitoring.KpiList.Builder.class); + monitoring.Monitoring.AlarmList.class, monitoring.Monitoring.AlarmList.Builder.class); } - // Construct using monitoring.Monitoring.KpiList.newBuilder() + // Construct using monitoring.Monitoring.AlarmList.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -5068,17 +20802,17 @@ public final class Monitoring { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getKpiListFieldBuilder(); + getAlarmDescriptorFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); - if (kpiListBuilder_ == null) { - kpiList_ = java.util.Collections.emptyList(); + if (alarmDescriptorBuilder_ == null) { + alarmDescriptor_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { - kpiListBuilder_.clear(); + alarmDescriptorBuilder_.clear(); } return this; } @@ -5086,17 +20820,17 @@ public final class Monitoring { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor; + return monitoring.Monitoring.internal_static_monitoring_AlarmList_descriptor; } @java.lang.Override - public monitoring.Monitoring.KpiList getDefaultInstanceForType() { - return monitoring.Monitoring.KpiList.getDefaultInstance(); + public monitoring.Monitoring.AlarmList getDefaultInstanceForType() { + return monitoring.Monitoring.AlarmList.getDefaultInstance(); } @java.lang.Override - public monitoring.Monitoring.KpiList build() { - monitoring.Monitoring.KpiList result = buildPartial(); + public monitoring.Monitoring.AlarmList build() { + monitoring.Monitoring.AlarmList result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -5104,17 +20838,17 @@ public final class Monitoring { } @java.lang.Override - public monitoring.Monitoring.KpiList buildPartial() { - monitoring.Monitoring.KpiList result = new monitoring.Monitoring.KpiList(this); + public monitoring.Monitoring.AlarmList buildPartial() { + monitoring.Monitoring.AlarmList result = new monitoring.Monitoring.AlarmList(this); int from_bitField0_ = bitField0_; - if (kpiListBuilder_ == null) { + if (alarmDescriptorBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { - kpiList_ = java.util.Collections.unmodifiableList(kpiList_); + alarmDescriptor_ = java.util.Collections.unmodifiableList(alarmDescriptor_); bitField0_ = (bitField0_ & ~0x00000001); } - result.kpiList_ = kpiList_; + result.alarmDescriptor_ = alarmDescriptor_; } else { - result.kpiList_ = kpiListBuilder_.build(); + result.alarmDescriptor_ = alarmDescriptorBuilder_.build(); } onBuilt(); return result; @@ -5154,39 +20888,39 @@ public final class Monitoring { } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof monitoring.Monitoring.KpiList) { - return mergeFrom((monitoring.Monitoring.KpiList)other); + if (other instanceof monitoring.Monitoring.AlarmList) { + return mergeFrom((monitoring.Monitoring.AlarmList)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(monitoring.Monitoring.KpiList other) { - if (other == monitoring.Monitoring.KpiList.getDefaultInstance()) return this; - if (kpiListBuilder_ == null) { - if (!other.kpiList_.isEmpty()) { - if (kpiList_.isEmpty()) { - kpiList_ = other.kpiList_; + public Builder mergeFrom(monitoring.Monitoring.AlarmList other) { + if (other == monitoring.Monitoring.AlarmList.getDefaultInstance()) return this; + if (alarmDescriptorBuilder_ == null) { + if (!other.alarmDescriptor_.isEmpty()) { + if (alarmDescriptor_.isEmpty()) { + alarmDescriptor_ = other.alarmDescriptor_; bitField0_ = (bitField0_ & ~0x00000001); } else { - ensureKpiListIsMutable(); - kpiList_.addAll(other.kpiList_); + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.addAll(other.alarmDescriptor_); } onChanged(); } } else { - if (!other.kpiList_.isEmpty()) { - if (kpiListBuilder_.isEmpty()) { - kpiListBuilder_.dispose(); - kpiListBuilder_ = null; - kpiList_ = other.kpiList_; + if (!other.alarmDescriptor_.isEmpty()) { + if (alarmDescriptorBuilder_.isEmpty()) { + alarmDescriptorBuilder_.dispose(); + alarmDescriptorBuilder_ = null; + alarmDescriptor_ = other.alarmDescriptor_; bitField0_ = (bitField0_ & ~0x00000001); - kpiListBuilder_ = + alarmDescriptorBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? - getKpiListFieldBuilder() : null; + getAlarmDescriptorFieldBuilder() : null; } else { - kpiListBuilder_.addAllMessages(other.kpiList_); + alarmDescriptorBuilder_.addAllMessages(other.alarmDescriptor_); } } } @@ -5205,11 +20939,11 @@ public final class Monitoring { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - monitoring.Monitoring.KpiList parsedMessage = null; + monitoring.Monitoring.AlarmList parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (monitoring.Monitoring.KpiList) e.getUnfinishedMessage(); + parsedMessage = (monitoring.Monitoring.AlarmList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -5220,244 +20954,244 @@ public final class Monitoring { } private int bitField0_; - private java.util.List kpiList_ = + private java.util.List alarmDescriptor_ = java.util.Collections.emptyList(); - private void ensureKpiListIsMutable() { + private void ensureAlarmDescriptorIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { - kpiList_ = new java.util.ArrayList(kpiList_); + alarmDescriptor_ = new java.util.ArrayList(alarmDescriptor_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< - monitoring.Monitoring.Kpi, monitoring.Monitoring.Kpi.Builder, monitoring.Monitoring.KpiOrBuilder> kpiListBuilder_; + monitoring.Monitoring.AlarmDescriptor, monitoring.Monitoring.AlarmDescriptor.Builder, monitoring.Monitoring.AlarmDescriptorOrBuilder> alarmDescriptorBuilder_; /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public java.util.List getKpiListList() { - if (kpiListBuilder_ == null) { - return java.util.Collections.unmodifiableList(kpiList_); + public java.util.List getAlarmDescriptorList() { + if (alarmDescriptorBuilder_ == null) { + return java.util.Collections.unmodifiableList(alarmDescriptor_); } else { - return kpiListBuilder_.getMessageList(); + return alarmDescriptorBuilder_.getMessageList(); } } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public int getKpiListCount() { - if (kpiListBuilder_ == null) { - return kpiList_.size(); + public int getAlarmDescriptorCount() { + if (alarmDescriptorBuilder_ == null) { + return alarmDescriptor_.size(); } else { - return kpiListBuilder_.getCount(); + return alarmDescriptorBuilder_.getCount(); } } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public monitoring.Monitoring.Kpi getKpiList(int index) { - if (kpiListBuilder_ == null) { - return kpiList_.get(index); + public monitoring.Monitoring.AlarmDescriptor getAlarmDescriptor(int index) { + if (alarmDescriptorBuilder_ == null) { + return alarmDescriptor_.get(index); } else { - return kpiListBuilder_.getMessage(index); + return alarmDescriptorBuilder_.getMessage(index); } } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder setKpiList( - int index, monitoring.Monitoring.Kpi value) { - if (kpiListBuilder_ == null) { + public Builder setAlarmDescriptor( + int index, monitoring.Monitoring.AlarmDescriptor value) { + if (alarmDescriptorBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureKpiListIsMutable(); - kpiList_.set(index, value); + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.set(index, value); onChanged(); } else { - kpiListBuilder_.setMessage(index, value); + alarmDescriptorBuilder_.setMessage(index, value); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder setKpiList( - int index, monitoring.Monitoring.Kpi.Builder builderForValue) { - if (kpiListBuilder_ == null) { - ensureKpiListIsMutable(); - kpiList_.set(index, builderForValue.build()); + public Builder setAlarmDescriptor( + int index, monitoring.Monitoring.AlarmDescriptor.Builder builderForValue) { + if (alarmDescriptorBuilder_ == null) { + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.set(index, builderForValue.build()); onChanged(); } else { - kpiListBuilder_.setMessage(index, builderForValue.build()); + alarmDescriptorBuilder_.setMessage(index, builderForValue.build()); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder addKpiList(monitoring.Monitoring.Kpi value) { - if (kpiListBuilder_ == null) { + public Builder addAlarmDescriptor(monitoring.Monitoring.AlarmDescriptor value) { + if (alarmDescriptorBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureKpiListIsMutable(); - kpiList_.add(value); + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.add(value); onChanged(); } else { - kpiListBuilder_.addMessage(value); + alarmDescriptorBuilder_.addMessage(value); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder addKpiList( - int index, monitoring.Monitoring.Kpi value) { - if (kpiListBuilder_ == null) { + public Builder addAlarmDescriptor( + int index, monitoring.Monitoring.AlarmDescriptor value) { + if (alarmDescriptorBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - ensureKpiListIsMutable(); - kpiList_.add(index, value); + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.add(index, value); onChanged(); } else { - kpiListBuilder_.addMessage(index, value); + alarmDescriptorBuilder_.addMessage(index, value); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder addKpiList( - monitoring.Monitoring.Kpi.Builder builderForValue) { - if (kpiListBuilder_ == null) { - ensureKpiListIsMutable(); - kpiList_.add(builderForValue.build()); + public Builder addAlarmDescriptor( + monitoring.Monitoring.AlarmDescriptor.Builder builderForValue) { + if (alarmDescriptorBuilder_ == null) { + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.add(builderForValue.build()); onChanged(); } else { - kpiListBuilder_.addMessage(builderForValue.build()); + alarmDescriptorBuilder_.addMessage(builderForValue.build()); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder addKpiList( - int index, monitoring.Monitoring.Kpi.Builder builderForValue) { - if (kpiListBuilder_ == null) { - ensureKpiListIsMutable(); - kpiList_.add(index, builderForValue.build()); + public Builder addAlarmDescriptor( + int index, monitoring.Monitoring.AlarmDescriptor.Builder builderForValue) { + if (alarmDescriptorBuilder_ == null) { + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.add(index, builderForValue.build()); onChanged(); } else { - kpiListBuilder_.addMessage(index, builderForValue.build()); + alarmDescriptorBuilder_.addMessage(index, builderForValue.build()); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder addAllKpiList( - java.lang.Iterable values) { - if (kpiListBuilder_ == null) { - ensureKpiListIsMutable(); + public Builder addAllAlarmDescriptor( + java.lang.Iterable values) { + if (alarmDescriptorBuilder_ == null) { + ensureAlarmDescriptorIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( - values, kpiList_); + values, alarmDescriptor_); onChanged(); } else { - kpiListBuilder_.addAllMessages(values); + alarmDescriptorBuilder_.addAllMessages(values); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder clearKpiList() { - if (kpiListBuilder_ == null) { - kpiList_ = java.util.Collections.emptyList(); + public Builder clearAlarmDescriptor() { + if (alarmDescriptorBuilder_ == null) { + alarmDescriptor_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - kpiListBuilder_.clear(); + alarmDescriptorBuilder_.clear(); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public Builder removeKpiList(int index) { - if (kpiListBuilder_ == null) { - ensureKpiListIsMutable(); - kpiList_.remove(index); + public Builder removeAlarmDescriptor(int index) { + if (alarmDescriptorBuilder_ == null) { + ensureAlarmDescriptorIsMutable(); + alarmDescriptor_.remove(index); onChanged(); } else { - kpiListBuilder_.remove(index); + alarmDescriptorBuilder_.remove(index); } return this; } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public monitoring.Monitoring.Kpi.Builder getKpiListBuilder( + public monitoring.Monitoring.AlarmDescriptor.Builder getAlarmDescriptorBuilder( int index) { - return getKpiListFieldBuilder().getBuilder(index); + return getAlarmDescriptorFieldBuilder().getBuilder(index); } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public monitoring.Monitoring.KpiOrBuilder getKpiListOrBuilder( + public monitoring.Monitoring.AlarmDescriptorOrBuilder getAlarmDescriptorOrBuilder( int index) { - if (kpiListBuilder_ == null) { - return kpiList_.get(index); } else { - return kpiListBuilder_.getMessageOrBuilder(index); + if (alarmDescriptorBuilder_ == null) { + return alarmDescriptor_.get(index); } else { + return alarmDescriptorBuilder_.getMessageOrBuilder(index); } } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public java.util.List - getKpiListOrBuilderList() { - if (kpiListBuilder_ != null) { - return kpiListBuilder_.getMessageOrBuilderList(); + public java.util.List + getAlarmDescriptorOrBuilderList() { + if (alarmDescriptorBuilder_ != null) { + return alarmDescriptorBuilder_.getMessageOrBuilderList(); } else { - return java.util.Collections.unmodifiableList(kpiList_); + return java.util.Collections.unmodifiableList(alarmDescriptor_); } } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public monitoring.Monitoring.Kpi.Builder addKpiListBuilder() { - return getKpiListFieldBuilder().addBuilder( - monitoring.Monitoring.Kpi.getDefaultInstance()); + public monitoring.Monitoring.AlarmDescriptor.Builder addAlarmDescriptorBuilder() { + return getAlarmDescriptorFieldBuilder().addBuilder( + monitoring.Monitoring.AlarmDescriptor.getDefaultInstance()); } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public monitoring.Monitoring.Kpi.Builder addKpiListBuilder( + public monitoring.Monitoring.AlarmDescriptor.Builder addAlarmDescriptorBuilder( int index) { - return getKpiListFieldBuilder().addBuilder( - index, monitoring.Monitoring.Kpi.getDefaultInstance()); + return getAlarmDescriptorFieldBuilder().addBuilder( + index, monitoring.Monitoring.AlarmDescriptor.getDefaultInstance()); } /** - * repeated .monitoring.Kpi kpi_list = 1; + * repeated .monitoring.AlarmDescriptor alarm_descriptor = 1; */ - public java.util.List - getKpiListBuilderList() { - return getKpiListFieldBuilder().getBuilderList(); + public java.util.List + getAlarmDescriptorBuilderList() { + return getAlarmDescriptorFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - monitoring.Monitoring.Kpi, monitoring.Monitoring.Kpi.Builder, monitoring.Monitoring.KpiOrBuilder> - getKpiListFieldBuilder() { - if (kpiListBuilder_ == null) { - kpiListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - monitoring.Monitoring.Kpi, monitoring.Monitoring.Kpi.Builder, monitoring.Monitoring.KpiOrBuilder>( - kpiList_, + monitoring.Monitoring.AlarmDescriptor, monitoring.Monitoring.AlarmDescriptor.Builder, monitoring.Monitoring.AlarmDescriptorOrBuilder> + getAlarmDescriptorFieldBuilder() { + if (alarmDescriptorBuilder_ == null) { + alarmDescriptorBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + monitoring.Monitoring.AlarmDescriptor, monitoring.Monitoring.AlarmDescriptor.Builder, monitoring.Monitoring.AlarmDescriptorOrBuilder>( + alarmDescriptor_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - kpiList_ = null; + alarmDescriptor_ = null; } - return kpiListBuilder_; + return alarmDescriptorBuilder_; } @java.lang.Override public final Builder setUnknownFields( @@ -5472,41 +21206,41 @@ public final class Monitoring { } - // @@protoc_insertion_point(builder_scope:monitoring.KpiList) + // @@protoc_insertion_point(builder_scope:monitoring.AlarmList) } - // @@protoc_insertion_point(class_scope:monitoring.KpiList) - private static final monitoring.Monitoring.KpiList DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:monitoring.AlarmList) + private static final monitoring.Monitoring.AlarmList DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new monitoring.Monitoring.KpiList(); + DEFAULT_INSTANCE = new monitoring.Monitoring.AlarmList(); } - public static monitoring.Monitoring.KpiList getDefaultInstance() { + public static monitoring.Monitoring.AlarmList getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override - public KpiList parsePartialFrom( + public AlarmList parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new KpiList(input, extensionRegistry); + return new AlarmList(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public monitoring.Monitoring.KpiList getDefaultInstanceForType() { + public monitoring.Monitoring.AlarmList getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -5522,6 +21256,26 @@ public final class Monitoring { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_monitoring_MonitorKpiRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_KpiQuery_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_KpiQuery_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_RawKpi_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_RawKpi_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_RawKpiList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_RawKpiList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_RawKpiTable_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_RawKpiTable_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_monitoring_KpiId_descriptor; private static final @@ -5532,6 +21286,11 @@ public final class Monitoring { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_monitoring_Kpi_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_KpiValueRange_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_KpiValueRange_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_monitoring_KpiValue_descriptor; private static final @@ -5542,6 +21301,56 @@ public final class Monitoring { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_monitoring_KpiList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_KpiDescriptorList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_KpiDescriptorList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_SubsDescriptor_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_SubsDescriptor_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_SubscriptionID_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_SubscriptionID_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_SubsResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_SubsResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_SubsList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_SubsList_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_AlarmDescriptor_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_AlarmDescriptor_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_AlarmID_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_AlarmID_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_AlarmSubscription_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_AlarmSubscription_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_AlarmResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_AlarmResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_monitoring_AlarmList_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_monitoring_AlarmList_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -5552,32 +21361,101 @@ public final class Monitoring { static { java.lang.String[] descriptorData = { "\n\020monitoring.proto\022\nmonitoring\032\rcontext." + - "proto\032\026kpi_sample_types.proto\"\332\001\n\rKpiDes" + - "criptor\022\027\n\017kpi_description\030\001 \001(\t\0228\n\017kpi_" + - "sample_type\030\002 \001(\0162\037.kpi_sample_types.Kpi" + - "SampleType\022$\n\tdevice_id\030\003 \001(\0132\021.context." + - "DeviceId\022(\n\013endpoint_id\030\004 \001(\0132\023.context." + - "EndPointId\022&\n\nservice_id\030\005 \001(\0132\022.context" + - ".ServiceId\"p\n\021MonitorKpiRequest\022!\n\006kpi_i" + - "d\030\001 \001(\0132\021.monitoring.KpiId\022\033\n\023sampling_d" + - "uration_s\030\002 \001(\002\022\033\n\023sampling_interval_s\030\003" + - " \001(\002\"&\n\005KpiId\022\035\n\006kpi_id\030\001 \001(\0132\r.context." + - "Uuid\"d\n\003Kpi\022!\n\006kpi_id\030\001 \001(\0132\021.monitoring" + - ".KpiId\022\021\n\ttimestamp\030\002 \001(\t\022\'\n\tkpi_value\030\004" + - " \001(\0132\024.monitoring.KpiValue\"a\n\010KpiValue\022\020" + - "\n\006intVal\030\001 \001(\rH\000\022\022\n\010floatVal\030\002 \001(\002H\000\022\023\n\t" + - "stringVal\030\003 \001(\tH\000\022\021\n\007boolVal\030\004 \001(\010H\000B\007\n\005" + - "value\",\n\007KpiList\022!\n\010kpi_list\030\001 \003(\0132\017.mon" + - "itoring.Kpi2\363\002\n\021MonitoringService\022;\n\tCre" + - "ateKpi\022\031.monitoring.KpiDescriptor\032\021.moni" + - "toring.KpiId\"\000\022B\n\020GetKpiDescriptor\022\021.mon" + - "itoring.KpiId\032\031.monitoring.KpiDescriptor" + - "\"\000\022/\n\nIncludeKpi\022\017.monitoring.Kpi\032\016.cont" + - "ext.Empty\"\000\022=\n\nMonitorKpi\022\035.monitoring.M" + - "onitorKpiRequest\032\016.context.Empty\"\000\0226\n\014Ge" + - "tStreamKpi\022\021.monitoring.KpiId\032\017.monitori" + - "ng.Kpi\"\0000\001\0225\n\rGetInstantKpi\022\021.monitoring" + - ".KpiId\032\017.monitoring.Kpi\"\000b\006proto3" + "proto\032\026kpi_sample_types.proto\"\367\002\n\rKpiDes" + + "criptor\022!\n\006kpi_id\030\001 \001(\0132\021.monitoring.Kpi" + + "Id\022\027\n\017kpi_description\030\002 \001(\t\022&\n\013kpi_id_li" + + "st\030\003 \003(\0132\021.monitoring.KpiId\0228\n\017kpi_sampl" + + "e_type\030\004 \001(\0162\037.kpi_sample_types.KpiSampl" + + "eType\022$\n\tdevice_id\030\005 \001(\0132\021.context.Devic" + + "eId\022(\n\013endpoint_id\030\006 \001(\0132\023.context.EndPo" + + "intId\022&\n\nservice_id\030\007 \001(\0132\022.context.Serv" + + "iceId\022\"\n\010slice_id\030\010 \001(\0132\020.context.SliceI" + + "d\022,\n\rconnection_id\030\t \001(\0132\025.context.Conne" + + "ctionId\"l\n\021MonitorKpiRequest\022!\n\006kpi_id\030\001" + + " \001(\0132\021.monitoring.KpiId\022\033\n\023monitoring_wi" + + "ndow_s\030\002 \001(\002\022\027\n\017sampling_rate_s\030\003 \001(\002\"\273\001" + + "\n\010KpiQuery\022\"\n\007kpi_ids\030\001 \003(\0132\021.monitoring" + + ".KpiId\022\033\n\023monitoring_window_s\030\002 \001(\002\022\026\n\016l" + + "ast_n_samples\030\003 \001(\r\022+\n\017start_timestamp\030\004" + + " \001(\0132\022.context.Timestamp\022)\n\rend_timestam" + + "p\030\005 \001(\0132\022.context.Timestamp\"X\n\006RawKpi\022%\n" + + "\ttimestamp\030\001 \001(\0132\022.context.Timestamp\022\'\n\t" + + "kpi_value\030\002 \001(\0132\024.monitoring.KpiValue\"U\n" + + "\nRawKpiList\022!\n\006kpi_id\030\001 \001(\0132\021.monitoring" + + ".KpiId\022$\n\010raw_kpis\030\002 \003(\0132\022.monitoring.Ra" + + "wKpi\"<\n\013RawKpiTable\022-\n\rraw_kpi_lists\030\001 \003" + + "(\0132\026.monitoring.RawKpiList\"&\n\005KpiId\022\035\n\006k" + + "pi_id\030\001 \001(\0132\r.context.Uuid\"x\n\003Kpi\022!\n\006kpi" + + "_id\030\001 \001(\0132\021.monitoring.KpiId\022%\n\ttimestam" + + "p\030\002 \001(\0132\022.context.Timestamp\022\'\n\tkpi_value" + + "\030\003 \001(\0132\024.monitoring.KpiValue\"\250\001\n\rKpiValu" + + "eRange\022)\n\013kpiMinValue\030\001 \001(\0132\024.monitoring" + + ".KpiValue\022)\n\013kpiMaxValue\030\002 \001(\0132\024.monitor" + + "ing.KpiValue\022\017\n\007inRange\030\003 \001(\010\022\027\n\017include" + + "MinValue\030\004 \001(\010\022\027\n\017includeMaxValue\030\005 \001(\010\"" + + "\241\001\n\010KpiValue\022\022\n\010int32Val\030\001 \001(\005H\000\022\023\n\tuint" + + "32Val\030\002 \001(\rH\000\022\022\n\010int64Val\030\003 \001(\003H\000\022\023\n\tuin" + + "t64Val\030\004 \001(\004H\000\022\022\n\010floatVal\030\005 \001(\002H\000\022\023\n\tst" + + "ringVal\030\006 \001(\tH\000\022\021\n\007boolVal\030\007 \001(\010H\000B\007\n\005va" + + "lue\"\'\n\007KpiList\022\034\n\003kpi\030\001 \003(\0132\017.monitoring" + + ".Kpi\"K\n\021KpiDescriptorList\0226\n\023kpi_descrip" + + "tor_list\030\001 \003(\0132\031.monitoring.KpiDescripto" + + "r\"\362\001\n\016SubsDescriptor\022+\n\007subs_id\030\001 \001(\0132\032." + + "monitoring.SubscriptionID\022!\n\006kpi_id\030\002 \001(" + + "\0132\021.monitoring.KpiId\022\033\n\023sampling_duratio" + + "n_s\030\003 \001(\002\022\033\n\023sampling_interval_s\030\004 \001(\002\022+" + + "\n\017start_timestamp\030\005 \001(\0132\022.context.Timest" + + "amp\022)\n\rend_timestamp\030\006 \001(\0132\022.context.Tim" + + "estamp\"0\n\016SubscriptionID\022\036\n\007subs_id\030\001 \001(" + + "\0132\r.context.Uuid\"b\n\014SubsResponse\022+\n\007subs" + + "_id\030\001 \001(\0132\032.monitoring.SubscriptionID\022%\n" + + "\010kpi_list\030\002 \001(\0132\023.monitoring.KpiList\"?\n\010" + + "SubsList\0223\n\017subs_descriptor\030\001 \003(\0132\032.moni" + + "toring.SubsDescriptor\"\337\001\n\017AlarmDescripto" + + "r\022%\n\010alarm_id\030\001 \001(\0132\023.monitoring.AlarmID" + + "\022\031\n\021alarm_description\030\002 \001(\t\022\014\n\004name\030\003 \001(" + + "\t\022!\n\006kpi_id\030\004 \001(\0132\021.monitoring.KpiId\0222\n\017" + + "kpi_value_range\030\005 \001(\0132\031.monitoring.KpiVa" + + "lueRange\022%\n\ttimestamp\030\006 \001(\0132\022.context.Ti" + + "mestamp\"*\n\007AlarmID\022\037\n\010alarm_id\030\001 \001(\0132\r.c" + + "ontext.Uuid\"}\n\021AlarmSubscription\022%\n\010alar" + + "m_id\030\001 \001(\0132\023.monitoring.AlarmID\022\036\n\026subsc" + + "ription_timeout_s\030\002 \001(\002\022!\n\031subscription_" + + "frequency_ms\030\003 \001(\002\"k\n\rAlarmResponse\022%\n\010a" + + "larm_id\030\001 \001(\0132\023.monitoring.AlarmID\022\014\n\004te" + + "xt\030\002 \001(\t\022%\n\010kpi_list\030\003 \001(\0132\023.monitoring." + + "KpiList\"B\n\tAlarmList\0225\n\020alarm_descriptor" + + "\030\001 \003(\0132\033.monitoring.AlarmDescriptor2\234\t\n\021" + + "MonitoringService\0228\n\006SetKpi\022\031.monitoring" + + ".KpiDescriptor\032\021.monitoring.KpiId\"\000\0220\n\tD" + + "eleteKpi\022\021.monitoring.KpiId\032\016.context.Em" + + "pty\"\000\022B\n\020GetKpiDescriptor\022\021.monitoring.K" + + "piId\032\031.monitoring.KpiDescriptor\"\000\022G\n\024Get" + + "KpiDescriptorList\022\016.context.Empty\032\035.moni" + + "toring.KpiDescriptorList\"\000\022/\n\nIncludeKpi" + + "\022\017.monitoring.Kpi\032\016.context.Empty\"\000\022=\n\nM" + + "onitorKpi\022\035.monitoring.MonitorKpiRequest" + + "\032\016.context.Empty\"\000\022?\n\014QueryKpiData\022\024.mon" + + "itoring.KpiQuery\032\027.monitoring.RawKpiTabl" + + "e\"\000\022N\n\022SetKpiSubscription\022\032.monitoring.S" + + "ubsDescriptor\032\030.monitoring.SubsResponse\"" + + "\0000\001\022M\n\021GetSubsDescriptor\022\032.monitoring.Su" + + "bscriptionID\032\032.monitoring.SubsDescriptor" + + "\"\000\022:\n\020GetSubscriptions\022\016.context.Empty\032\024" + + ".monitoring.SubsList\"\000\022B\n\022DeleteSubscrip" + + "tion\022\032.monitoring.SubscriptionID\032\016.conte" + + "xt.Empty\"\000\022A\n\013SetKpiAlarm\022\033.monitoring.A" + + "larmDescriptor\032\023.monitoring.AlarmID\"\000\0224\n" + + "\tGetAlarms\022\016.context.Empty\032\025.monitoring." + + "AlarmList\"\000\022H\n\022GetAlarmDescriptor\022\023.moni" + + "toring.AlarmID\032\033.monitoring.AlarmDescrip" + + "tor\"\000\022V\n\026GetAlarmResponseStream\022\035.monito" + + "ring.AlarmSubscription\032\031.monitoring.Alar" + + "mResponse\"\0000\001\0224\n\013DeleteAlarm\022\023.monitorin" + + "g.AlarmID\032\016.context.Empty\"\000\0226\n\014GetStream" + + "Kpi\022\021.monitoring.KpiId\032\017.monitoring.Kpi\"" + + "\0000\001\0225\n\rGetInstantKpi\022\021.monitoring.KpiId\032" + + "\017.monitoring.Kpi\"\000b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -5590,37 +21468,127 @@ public final class Monitoring { internal_static_monitoring_KpiDescriptor_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_monitoring_KpiDescriptor_descriptor, - new java.lang.String[] { "KpiDescription", "KpiSampleType", "DeviceId", "EndpointId", "ServiceId", }); + new java.lang.String[] { "KpiId", "KpiDescription", "KpiIdList", "KpiSampleType", "DeviceId", "EndpointId", "ServiceId", "SliceId", "ConnectionId", }); internal_static_monitoring_MonitorKpiRequest_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_monitoring_MonitorKpiRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_monitoring_MonitorKpiRequest_descriptor, - new java.lang.String[] { "KpiId", "SamplingDurationS", "SamplingIntervalS", }); - internal_static_monitoring_KpiId_descriptor = + new java.lang.String[] { "KpiId", "MonitoringWindowS", "SamplingRateS", }); + internal_static_monitoring_KpiQuery_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_monitoring_KpiQuery_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_KpiQuery_descriptor, + new java.lang.String[] { "KpiIds", "MonitoringWindowS", "LastNSamples", "StartTimestamp", "EndTimestamp", }); + internal_static_monitoring_RawKpi_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_monitoring_RawKpi_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_RawKpi_descriptor, + new java.lang.String[] { "Timestamp", "KpiValue", }); + internal_static_monitoring_RawKpiList_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_monitoring_RawKpiList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_RawKpiList_descriptor, + new java.lang.String[] { "KpiId", "RawKpis", }); + internal_static_monitoring_RawKpiTable_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_monitoring_RawKpiTable_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_RawKpiTable_descriptor, + new java.lang.String[] { "RawKpiLists", }); + internal_static_monitoring_KpiId_descriptor = + getDescriptor().getMessageTypes().get(6); internal_static_monitoring_KpiId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_monitoring_KpiId_descriptor, new java.lang.String[] { "KpiId", }); internal_static_monitoring_Kpi_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(7); internal_static_monitoring_Kpi_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_monitoring_Kpi_descriptor, new java.lang.String[] { "KpiId", "Timestamp", "KpiValue", }); + internal_static_monitoring_KpiValueRange_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_monitoring_KpiValueRange_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_KpiValueRange_descriptor, + new java.lang.String[] { "KpiMinValue", "KpiMaxValue", "InRange", "IncludeMinValue", "IncludeMaxValue", }); internal_static_monitoring_KpiValue_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(9); internal_static_monitoring_KpiValue_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_monitoring_KpiValue_descriptor, - new java.lang.String[] { "IntVal", "FloatVal", "StringVal", "BoolVal", "Value", }); + new java.lang.String[] { "Int32Val", "Uint32Val", "Int64Val", "Uint64Val", "FloatVal", "StringVal", "BoolVal", "Value", }); internal_static_monitoring_KpiList_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(10); internal_static_monitoring_KpiList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_monitoring_KpiList_descriptor, - new java.lang.String[] { "KpiList", }); + new java.lang.String[] { "Kpi", }); + internal_static_monitoring_KpiDescriptorList_descriptor = + getDescriptor().getMessageTypes().get(11); + internal_static_monitoring_KpiDescriptorList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_KpiDescriptorList_descriptor, + new java.lang.String[] { "KpiDescriptorList", }); + internal_static_monitoring_SubsDescriptor_descriptor = + getDescriptor().getMessageTypes().get(12); + internal_static_monitoring_SubsDescriptor_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_SubsDescriptor_descriptor, + new java.lang.String[] { "SubsId", "KpiId", "SamplingDurationS", "SamplingIntervalS", "StartTimestamp", "EndTimestamp", }); + internal_static_monitoring_SubscriptionID_descriptor = + getDescriptor().getMessageTypes().get(13); + internal_static_monitoring_SubscriptionID_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_SubscriptionID_descriptor, + new java.lang.String[] { "SubsId", }); + internal_static_monitoring_SubsResponse_descriptor = + getDescriptor().getMessageTypes().get(14); + internal_static_monitoring_SubsResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_SubsResponse_descriptor, + new java.lang.String[] { "SubsId", "KpiList", }); + internal_static_monitoring_SubsList_descriptor = + getDescriptor().getMessageTypes().get(15); + internal_static_monitoring_SubsList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_SubsList_descriptor, + new java.lang.String[] { "SubsDescriptor", }); + internal_static_monitoring_AlarmDescriptor_descriptor = + getDescriptor().getMessageTypes().get(16); + internal_static_monitoring_AlarmDescriptor_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_AlarmDescriptor_descriptor, + new java.lang.String[] { "AlarmId", "AlarmDescription", "Name", "KpiId", "KpiValueRange", "Timestamp", }); + internal_static_monitoring_AlarmID_descriptor = + getDescriptor().getMessageTypes().get(17); + internal_static_monitoring_AlarmID_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_AlarmID_descriptor, + new java.lang.String[] { "AlarmId", }); + internal_static_monitoring_AlarmSubscription_descriptor = + getDescriptor().getMessageTypes().get(18); + internal_static_monitoring_AlarmSubscription_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_AlarmSubscription_descriptor, + new java.lang.String[] { "AlarmId", "SubscriptionTimeoutS", "SubscriptionFrequencyMs", }); + internal_static_monitoring_AlarmResponse_descriptor = + getDescriptor().getMessageTypes().get(19); + internal_static_monitoring_AlarmResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_AlarmResponse_descriptor, + new java.lang.String[] { "AlarmId", "Text", "KpiList", }); + internal_static_monitoring_AlarmList_descriptor = + getDescriptor().getMessageTypes().get(20); + internal_static_monitoring_AlarmList_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_monitoring_AlarmList_descriptor, + new java.lang.String[] { "AlarmDescriptor", }); context.ContextOuterClass.getDescriptor(); kpi_sample_types.KpiSampleTypes.getDescriptor(); } diff --git a/src/automation/target/generated-sources/grpc/monitoring/MonitoringService.java b/src/automation/target/generated-sources/grpc/monitoring/MonitoringService.java index 480e193125e51851a72e18473c139d71190bab11..0ce30559b2c0a1bb6236431482d6b99b82cf0842 100644 --- a/src/automation/target/generated-sources/grpc/monitoring/MonitoringService.java +++ b/src/automation/target/generated-sources/grpc/monitoring/MonitoringService.java @@ -8,17 +8,41 @@ comments = "Source: monitoring.proto") public interface MonitoringService extends MutinyService { - io.smallrye.mutiny.Uni createKpi(monitoring.Monitoring.KpiDescriptor request); + io.smallrye.mutiny.Uni setKpi(monitoring.Monitoring.KpiDescriptor request); + + io.smallrye.mutiny.Uni deleteKpi(monitoring.Monitoring.KpiId request); io.smallrye.mutiny.Uni getKpiDescriptor(monitoring.Monitoring.KpiId request); + io.smallrye.mutiny.Uni getKpiDescriptorList(context.ContextOuterClass.Empty request); + io.smallrye.mutiny.Uni includeKpi(monitoring.Monitoring.Kpi request); io.smallrye.mutiny.Uni monitorKpi(monitoring.Monitoring.MonitorKpiRequest request); + io.smallrye.mutiny.Uni queryKpiData(monitoring.Monitoring.KpiQuery request); + + io.smallrye.mutiny.Uni getSubsDescriptor(monitoring.Monitoring.SubscriptionID request); + + io.smallrye.mutiny.Uni getSubscriptions(context.ContextOuterClass.Empty request); + + io.smallrye.mutiny.Uni deleteSubscription(monitoring.Monitoring.SubscriptionID request); + + io.smallrye.mutiny.Uni setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request); + + io.smallrye.mutiny.Uni getAlarms(context.ContextOuterClass.Empty request); + + io.smallrye.mutiny.Uni getAlarmDescriptor(monitoring.Monitoring.AlarmID request); + + io.smallrye.mutiny.Uni deleteAlarm(monitoring.Monitoring.AlarmID request); + io.smallrye.mutiny.Uni getInstantKpi(monitoring.Monitoring.KpiId request); + io.smallrye.mutiny.Multi setKpiSubscription(monitoring.Monitoring.SubsDescriptor request); + + io.smallrye.mutiny.Multi getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request); + io.smallrye.mutiny.Multi getStreamKpi(monitoring.Monitoring.KpiId request); diff --git a/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceBean.java b/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceBean.java index b0b2f5abd4144d8f6e41c2613a36c5b78051dd57..cbc984e7132bdbf22c9b99a510106c5c6f4cbda7 100644 --- a/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceBean.java +++ b/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceBean.java @@ -16,9 +16,17 @@ public class MonitoringServiceBean extends MutinyMonitoringServiceGrpc.Monitorin } @Override - public io.smallrye.mutiny.Uni createKpi(monitoring.Monitoring.KpiDescriptor request) { + public io.smallrye.mutiny.Uni setKpi(monitoring.Monitoring.KpiDescriptor request) { try { - return delegate.createKpi(request); + return delegate.setKpi(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni deleteKpi(monitoring.Monitoring.KpiId request) { + try { + return delegate.deleteKpi(request); } catch (UnsupportedOperationException e) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -32,6 +40,14 @@ public class MonitoringServiceBean extends MutinyMonitoringServiceGrpc.Monitorin } } @Override + public io.smallrye.mutiny.Uni getKpiDescriptorList(context.ContextOuterClass.Empty request) { + try { + return delegate.getKpiDescriptorList(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Uni includeKpi(monitoring.Monitoring.Kpi request) { try { return delegate.includeKpi(request); @@ -48,6 +64,70 @@ public class MonitoringServiceBean extends MutinyMonitoringServiceGrpc.Monitorin } } @Override + public io.smallrye.mutiny.Uni queryKpiData(monitoring.Monitoring.KpiQuery request) { + try { + return delegate.queryKpiData(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni getSubsDescriptor(monitoring.Monitoring.SubscriptionID request) { + try { + return delegate.getSubsDescriptor(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni getSubscriptions(context.ContextOuterClass.Empty request) { + try { + return delegate.getSubscriptions(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni deleteSubscription(monitoring.Monitoring.SubscriptionID request) { + try { + return delegate.deleteSubscription(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) { + try { + return delegate.setKpiAlarm(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni getAlarms(context.ContextOuterClass.Empty request) { + try { + return delegate.getAlarms(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni getAlarmDescriptor(monitoring.Monitoring.AlarmID request) { + try { + return delegate.getAlarmDescriptor(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override + public io.smallrye.mutiny.Uni deleteAlarm(monitoring.Monitoring.AlarmID request) { + try { + return delegate.deleteAlarm(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Uni getInstantKpi(monitoring.Monitoring.KpiId request) { try { return delegate.getInstantKpi(request); @@ -56,6 +136,24 @@ public class MonitoringServiceBean extends MutinyMonitoringServiceGrpc.Monitorin } } + @Override + public io.smallrye.mutiny.Multi setKpiSubscription(monitoring.Monitoring.SubsDescriptor request) { + try { + return delegate.setKpiSubscription(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Multi getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request) { + try { + return delegate.getAlarmResponseStream(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Multi getStreamKpi(monitoring.Monitoring.KpiId request) { try { diff --git a/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceClient.java b/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceClient.java index 293a7c418e6e027792e8007234e34225b8c1848a..0e8ff5d1b8929694b49548984cd7d53f9c8f68a4 100644 --- a/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceClient.java +++ b/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceClient.java @@ -21,14 +21,22 @@ public class MonitoringServiceClient implements MonitoringService, MutinyClient< } @Override - public io.smallrye.mutiny.Uni createKpi(monitoring.Monitoring.KpiDescriptor request) { - return stub.createKpi(request); + public io.smallrye.mutiny.Uni setKpi(monitoring.Monitoring.KpiDescriptor request) { + return stub.setKpi(request); + } + @Override + public io.smallrye.mutiny.Uni deleteKpi(monitoring.Monitoring.KpiId request) { + return stub.deleteKpi(request); } @Override public io.smallrye.mutiny.Uni getKpiDescriptor(monitoring.Monitoring.KpiId request) { return stub.getKpiDescriptor(request); } @Override + public io.smallrye.mutiny.Uni getKpiDescriptorList(context.ContextOuterClass.Empty request) { + return stub.getKpiDescriptorList(request); + } + @Override public io.smallrye.mutiny.Uni includeKpi(monitoring.Monitoring.Kpi request) { return stub.includeKpi(request); } @@ -37,10 +45,52 @@ public class MonitoringServiceClient implements MonitoringService, MutinyClient< return stub.monitorKpi(request); } @Override + public io.smallrye.mutiny.Uni queryKpiData(monitoring.Monitoring.KpiQuery request) { + return stub.queryKpiData(request); + } + @Override + public io.smallrye.mutiny.Uni getSubsDescriptor(monitoring.Monitoring.SubscriptionID request) { + return stub.getSubsDescriptor(request); + } + @Override + public io.smallrye.mutiny.Uni getSubscriptions(context.ContextOuterClass.Empty request) { + return stub.getSubscriptions(request); + } + @Override + public io.smallrye.mutiny.Uni deleteSubscription(monitoring.Monitoring.SubscriptionID request) { + return stub.deleteSubscription(request); + } + @Override + public io.smallrye.mutiny.Uni setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) { + return stub.setKpiAlarm(request); + } + @Override + public io.smallrye.mutiny.Uni getAlarms(context.ContextOuterClass.Empty request) { + return stub.getAlarms(request); + } + @Override + public io.smallrye.mutiny.Uni getAlarmDescriptor(monitoring.Monitoring.AlarmID request) { + return stub.getAlarmDescriptor(request); + } + @Override + public io.smallrye.mutiny.Uni deleteAlarm(monitoring.Monitoring.AlarmID request) { + return stub.deleteAlarm(request); + } + @Override public io.smallrye.mutiny.Uni getInstantKpi(monitoring.Monitoring.KpiId request) { return stub.getInstantKpi(request); } + @Override + public io.smallrye.mutiny.Multi setKpiSubscription(monitoring.Monitoring.SubsDescriptor request) { + return stub.setKpiSubscription(request); + } + + @Override + public io.smallrye.mutiny.Multi getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request) { + return stub.getAlarmResponseStream(request); + } + @Override public io.smallrye.mutiny.Multi getStreamKpi(monitoring.Monitoring.KpiId request) { return stub.getStreamKpi(request); diff --git a/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java b/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java index 7749c322a714ed96bc523a6bb77da9d43e54dbca..c5f55b3b44c03ea8f5377ce11e3c3e547da5ef06 100644 --- a/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java +++ b/src/automation/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java @@ -15,34 +15,65 @@ public final class MonitoringServiceGrpc { // Static method descriptors that strictly reflect the proto. private static volatile io.grpc.MethodDescriptor getCreateKpiMethod; + monitoring.Monitoring.KpiId> getSetKpiMethod; @io.grpc.stub.annotations.RpcMethod( - fullMethodName = SERVICE_NAME + '/' + "CreateKpi", + fullMethodName = SERVICE_NAME + '/' + "SetKpi", requestType = monitoring.Monitoring.KpiDescriptor.class, responseType = monitoring.Monitoring.KpiId.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) public static io.grpc.MethodDescriptor getCreateKpiMethod() { - io.grpc.MethodDescriptor getCreateKpiMethod; - if ((getCreateKpiMethod = MonitoringServiceGrpc.getCreateKpiMethod) == null) { + monitoring.Monitoring.KpiId> getSetKpiMethod() { + io.grpc.MethodDescriptor getSetKpiMethod; + if ((getSetKpiMethod = MonitoringServiceGrpc.getSetKpiMethod) == null) { synchronized (MonitoringServiceGrpc.class) { - if ((getCreateKpiMethod = MonitoringServiceGrpc.getCreateKpiMethod) == null) { - MonitoringServiceGrpc.getCreateKpiMethod = getCreateKpiMethod = + if ((getSetKpiMethod = MonitoringServiceGrpc.getSetKpiMethod) == null) { + MonitoringServiceGrpc.getSetKpiMethod = getSetKpiMethod = io.grpc.MethodDescriptor.newBuilder() .setType(io.grpc.MethodDescriptor.MethodType.UNARY) - .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CreateKpi")) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetKpi")) .setSampledToLocalTracing(true) .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( monitoring.Monitoring.KpiDescriptor.getDefaultInstance())) .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( monitoring.Monitoring.KpiId.getDefaultInstance())) - .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("CreateKpi")) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("SetKpi")) .build(); } } } - return getCreateKpiMethod; + return getSetKpiMethod; + } + + private static volatile io.grpc.MethodDescriptor getDeleteKpiMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteKpi", + requestType = monitoring.Monitoring.KpiId.class, + responseType = context.ContextOuterClass.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getDeleteKpiMethod() { + io.grpc.MethodDescriptor getDeleteKpiMethod; + if ((getDeleteKpiMethod = MonitoringServiceGrpc.getDeleteKpiMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getDeleteKpiMethod = MonitoringServiceGrpc.getDeleteKpiMethod) == null) { + MonitoringServiceGrpc.getDeleteKpiMethod = getDeleteKpiMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteKpi")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.KpiId.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("DeleteKpi")) + .build(); + } + } + } + return getDeleteKpiMethod; } private static volatile io.grpc.MethodDescriptor getGetKpiDescriptorListMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetKpiDescriptorList", + requestType = context.ContextOuterClass.Empty.class, + responseType = monitoring.Monitoring.KpiDescriptorList.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetKpiDescriptorListMethod() { + io.grpc.MethodDescriptor getGetKpiDescriptorListMethod; + if ((getGetKpiDescriptorListMethod = MonitoringServiceGrpc.getGetKpiDescriptorListMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getGetKpiDescriptorListMethod = MonitoringServiceGrpc.getGetKpiDescriptorListMethod) == null) { + MonitoringServiceGrpc.getGetKpiDescriptorListMethod = getGetKpiDescriptorListMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetKpiDescriptorList")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.KpiDescriptorList.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("GetKpiDescriptorList")) + .build(); + } + } + } + return getGetKpiDescriptorListMethod; + } + private static volatile io.grpc.MethodDescriptor getIncludeKpiMethod; @@ -138,6 +200,316 @@ public final class MonitoringServiceGrpc { return getMonitorKpiMethod; } + private static volatile io.grpc.MethodDescriptor getQueryKpiDataMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "QueryKpiData", + requestType = monitoring.Monitoring.KpiQuery.class, + responseType = monitoring.Monitoring.RawKpiTable.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getQueryKpiDataMethod() { + io.grpc.MethodDescriptor getQueryKpiDataMethod; + if ((getQueryKpiDataMethod = MonitoringServiceGrpc.getQueryKpiDataMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getQueryKpiDataMethod = MonitoringServiceGrpc.getQueryKpiDataMethod) == null) { + MonitoringServiceGrpc.getQueryKpiDataMethod = getQueryKpiDataMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "QueryKpiData")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.KpiQuery.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.RawKpiTable.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("QueryKpiData")) + .build(); + } + } + } + return getQueryKpiDataMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetKpiSubscriptionMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "SetKpiSubscription", + requestType = monitoring.Monitoring.SubsDescriptor.class, + responseType = monitoring.Monitoring.SubsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + public static io.grpc.MethodDescriptor getSetKpiSubscriptionMethod() { + io.grpc.MethodDescriptor getSetKpiSubscriptionMethod; + if ((getSetKpiSubscriptionMethod = MonitoringServiceGrpc.getSetKpiSubscriptionMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getSetKpiSubscriptionMethod = MonitoringServiceGrpc.getSetKpiSubscriptionMethod) == null) { + MonitoringServiceGrpc.getSetKpiSubscriptionMethod = getSetKpiSubscriptionMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetKpiSubscription")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.SubsDescriptor.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.SubsResponse.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("SetKpiSubscription")) + .build(); + } + } + } + return getSetKpiSubscriptionMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetSubsDescriptorMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSubsDescriptor", + requestType = monitoring.Monitoring.SubscriptionID.class, + responseType = monitoring.Monitoring.SubsDescriptor.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetSubsDescriptorMethod() { + io.grpc.MethodDescriptor getGetSubsDescriptorMethod; + if ((getGetSubsDescriptorMethod = MonitoringServiceGrpc.getGetSubsDescriptorMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getGetSubsDescriptorMethod = MonitoringServiceGrpc.getGetSubsDescriptorMethod) == null) { + MonitoringServiceGrpc.getGetSubsDescriptorMethod = getGetSubsDescriptorMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSubsDescriptor")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.SubscriptionID.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.SubsDescriptor.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("GetSubsDescriptor")) + .build(); + } + } + } + return getGetSubsDescriptorMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetSubscriptionsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSubscriptions", + requestType = context.ContextOuterClass.Empty.class, + responseType = monitoring.Monitoring.SubsList.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetSubscriptionsMethod() { + io.grpc.MethodDescriptor getGetSubscriptionsMethod; + if ((getGetSubscriptionsMethod = MonitoringServiceGrpc.getGetSubscriptionsMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getGetSubscriptionsMethod = MonitoringServiceGrpc.getGetSubscriptionsMethod) == null) { + MonitoringServiceGrpc.getGetSubscriptionsMethod = getGetSubscriptionsMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSubscriptions")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.SubsList.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("GetSubscriptions")) + .build(); + } + } + } + return getGetSubscriptionsMethod; + } + + private static volatile io.grpc.MethodDescriptor getDeleteSubscriptionMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteSubscription", + requestType = monitoring.Monitoring.SubscriptionID.class, + responseType = context.ContextOuterClass.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getDeleteSubscriptionMethod() { + io.grpc.MethodDescriptor getDeleteSubscriptionMethod; + if ((getDeleteSubscriptionMethod = MonitoringServiceGrpc.getDeleteSubscriptionMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getDeleteSubscriptionMethod = MonitoringServiceGrpc.getDeleteSubscriptionMethod) == null) { + MonitoringServiceGrpc.getDeleteSubscriptionMethod = getDeleteSubscriptionMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteSubscription")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.SubscriptionID.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("DeleteSubscription")) + .build(); + } + } + } + return getDeleteSubscriptionMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetKpiAlarmMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "SetKpiAlarm", + requestType = monitoring.Monitoring.AlarmDescriptor.class, + responseType = monitoring.Monitoring.AlarmID.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSetKpiAlarmMethod() { + io.grpc.MethodDescriptor getSetKpiAlarmMethod; + if ((getSetKpiAlarmMethod = MonitoringServiceGrpc.getSetKpiAlarmMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getSetKpiAlarmMethod = MonitoringServiceGrpc.getSetKpiAlarmMethod) == null) { + MonitoringServiceGrpc.getSetKpiAlarmMethod = getSetKpiAlarmMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetKpiAlarm")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmDescriptor.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmID.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("SetKpiAlarm")) + .build(); + } + } + } + return getSetKpiAlarmMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetAlarmsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetAlarms", + requestType = context.ContextOuterClass.Empty.class, + responseType = monitoring.Monitoring.AlarmList.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetAlarmsMethod() { + io.grpc.MethodDescriptor getGetAlarmsMethod; + if ((getGetAlarmsMethod = MonitoringServiceGrpc.getGetAlarmsMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getGetAlarmsMethod = MonitoringServiceGrpc.getGetAlarmsMethod) == null) { + MonitoringServiceGrpc.getGetAlarmsMethod = getGetAlarmsMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetAlarms")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmList.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("GetAlarms")) + .build(); + } + } + } + return getGetAlarmsMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetAlarmDescriptorMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetAlarmDescriptor", + requestType = monitoring.Monitoring.AlarmID.class, + responseType = monitoring.Monitoring.AlarmDescriptor.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetAlarmDescriptorMethod() { + io.grpc.MethodDescriptor getGetAlarmDescriptorMethod; + if ((getGetAlarmDescriptorMethod = MonitoringServiceGrpc.getGetAlarmDescriptorMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getGetAlarmDescriptorMethod = MonitoringServiceGrpc.getGetAlarmDescriptorMethod) == null) { + MonitoringServiceGrpc.getGetAlarmDescriptorMethod = getGetAlarmDescriptorMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetAlarmDescriptor")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmID.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmDescriptor.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("GetAlarmDescriptor")) + .build(); + } + } + } + return getGetAlarmDescriptorMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetAlarmResponseStreamMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetAlarmResponseStream", + requestType = monitoring.Monitoring.AlarmSubscription.class, + responseType = monitoring.Monitoring.AlarmResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + public static io.grpc.MethodDescriptor getGetAlarmResponseStreamMethod() { + io.grpc.MethodDescriptor getGetAlarmResponseStreamMethod; + if ((getGetAlarmResponseStreamMethod = MonitoringServiceGrpc.getGetAlarmResponseStreamMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getGetAlarmResponseStreamMethod = MonitoringServiceGrpc.getGetAlarmResponseStreamMethod) == null) { + MonitoringServiceGrpc.getGetAlarmResponseStreamMethod = getGetAlarmResponseStreamMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetAlarmResponseStream")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmSubscription.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmResponse.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("GetAlarmResponseStream")) + .build(); + } + } + } + return getGetAlarmResponseStreamMethod; + } + + private static volatile io.grpc.MethodDescriptor getDeleteAlarmMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteAlarm", + requestType = monitoring.Monitoring.AlarmID.class, + responseType = context.ContextOuterClass.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getDeleteAlarmMethod() { + io.grpc.MethodDescriptor getDeleteAlarmMethod; + if ((getDeleteAlarmMethod = MonitoringServiceGrpc.getDeleteAlarmMethod) == null) { + synchronized (MonitoringServiceGrpc.class) { + if ((getDeleteAlarmMethod = MonitoringServiceGrpc.getDeleteAlarmMethod) == null) { + MonitoringServiceGrpc.getDeleteAlarmMethod = getDeleteAlarmMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteAlarm")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + monitoring.Monitoring.AlarmID.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + context.ContextOuterClass.Empty.getDefaultInstance())) + .setSchemaDescriptor(new MonitoringServiceMethodDescriptorSupplier("DeleteAlarm")) + .build(); + } + } + } + return getDeleteAlarmMethod; + } + private static volatile io.grpc.MethodDescriptor getGetStreamKpiMethod; @@ -250,9 +622,16 @@ public final class MonitoringServiceGrpc { /** */ - public void createKpi(monitoring.Monitoring.KpiDescriptor request, + public void setKpi(monitoring.Monitoring.KpiDescriptor request, io.grpc.stub.StreamObserver responseObserver) { - io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getCreateKpiMethod(), responseObserver); + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiMethod(), responseObserver); + } + + /** + */ + public void deleteKpi(monitoring.Monitoring.KpiId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteKpiMethod(), responseObserver); } /** @@ -262,6 +641,13 @@ public final class MonitoringServiceGrpc { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetKpiDescriptorMethod(), responseObserver); } + /** + */ + public void getKpiDescriptorList(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetKpiDescriptorListMethod(), responseObserver); + } + /** */ public void includeKpi(monitoring.Monitoring.Kpi request, @@ -276,6 +662,76 @@ public final class MonitoringServiceGrpc { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getMonitorKpiMethod(), responseObserver); } + /** + */ + public void queryKpiData(monitoring.Monitoring.KpiQuery request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getQueryKpiDataMethod(), responseObserver); + } + + /** + */ + public void setKpiSubscription(monitoring.Monitoring.SubsDescriptor request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiSubscriptionMethod(), responseObserver); + } + + /** + */ + public void getSubsDescriptor(monitoring.Monitoring.SubscriptionID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSubsDescriptorMethod(), responseObserver); + } + + /** + */ + public void getSubscriptions(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSubscriptionsMethod(), responseObserver); + } + + /** + */ + public void deleteSubscription(monitoring.Monitoring.SubscriptionID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteSubscriptionMethod(), responseObserver); + } + + /** + */ + public void setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiAlarmMethod(), responseObserver); + } + + /** + */ + public void getAlarms(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmsMethod(), responseObserver); + } + + /** + */ + public void getAlarmDescriptor(monitoring.Monitoring.AlarmID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmDescriptorMethod(), responseObserver); + } + + /** + */ + public void getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmResponseStreamMethod(), responseObserver); + } + + /** + */ + public void deleteAlarm(monitoring.Monitoring.AlarmID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteAlarmMethod(), responseObserver); + } + /** */ public void getStreamKpi(monitoring.Monitoring.KpiId request, @@ -293,12 +749,19 @@ public final class MonitoringServiceGrpc { @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) .addMethod( - getCreateKpiMethod(), + getSetKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( new MethodHandlers< monitoring.Monitoring.KpiDescriptor, monitoring.Monitoring.KpiId>( - this, METHODID_CREATE_KPI))) + this, METHODID_SET_KPI))) + .addMethod( + getDeleteKpiMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.KpiId, + context.ContextOuterClass.Empty>( + this, METHODID_DELETE_KPI))) .addMethod( getGetKpiDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -306,6 +769,13 @@ public final class MonitoringServiceGrpc { monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiDescriptor>( this, METHODID_GET_KPI_DESCRIPTOR))) + .addMethod( + getGetKpiDescriptorListMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + monitoring.Monitoring.KpiDescriptorList>( + this, METHODID_GET_KPI_DESCRIPTOR_LIST))) .addMethod( getIncludeKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -320,6 +790,76 @@ public final class MonitoringServiceGrpc { monitoring.Monitoring.MonitorKpiRequest, context.ContextOuterClass.Empty>( this, METHODID_MONITOR_KPI))) + .addMethod( + getQueryKpiDataMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.KpiQuery, + monitoring.Monitoring.RawKpiTable>( + this, METHODID_QUERY_KPI_DATA))) + .addMethod( + getSetKpiSubscriptionMethod(), + io.grpc.stub.ServerCalls.asyncServerStreamingCall( + new MethodHandlers< + monitoring.Monitoring.SubsDescriptor, + monitoring.Monitoring.SubsResponse>( + this, METHODID_SET_KPI_SUBSCRIPTION))) + .addMethod( + getGetSubsDescriptorMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.SubscriptionID, + monitoring.Monitoring.SubsDescriptor>( + this, METHODID_GET_SUBS_DESCRIPTOR))) + .addMethod( + getGetSubscriptionsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + monitoring.Monitoring.SubsList>( + this, METHODID_GET_SUBSCRIPTIONS))) + .addMethod( + getDeleteSubscriptionMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.SubscriptionID, + context.ContextOuterClass.Empty>( + this, METHODID_DELETE_SUBSCRIPTION))) + .addMethod( + getSetKpiAlarmMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.AlarmDescriptor, + monitoring.Monitoring.AlarmID>( + this, METHODID_SET_KPI_ALARM))) + .addMethod( + getGetAlarmsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + monitoring.Monitoring.AlarmList>( + this, METHODID_GET_ALARMS))) + .addMethod( + getGetAlarmDescriptorMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.AlarmID, + monitoring.Monitoring.AlarmDescriptor>( + this, METHODID_GET_ALARM_DESCRIPTOR))) + .addMethod( + getGetAlarmResponseStreamMethod(), + io.grpc.stub.ServerCalls.asyncServerStreamingCall( + new MethodHandlers< + monitoring.Monitoring.AlarmSubscription, + monitoring.Monitoring.AlarmResponse>( + this, METHODID_GET_ALARM_RESPONSE_STREAM))) + .addMethod( + getDeleteAlarmMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.AlarmID, + context.ContextOuterClass.Empty>( + this, METHODID_DELETE_ALARM))) .addMethod( getGetStreamKpiMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall( @@ -354,10 +894,18 @@ public final class MonitoringServiceGrpc { /** */ - public void createKpi(monitoring.Monitoring.KpiDescriptor request, + public void setKpi(monitoring.Monitoring.KpiDescriptor request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncUnaryCall( - getChannel().newCall(getCreateKpiMethod(), getCallOptions()), request, responseObserver); + getChannel().newCall(getSetKpiMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void deleteKpi(monitoring.Monitoring.KpiId request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteKpiMethod(), getCallOptions()), request, responseObserver); } /** @@ -368,6 +916,14 @@ public final class MonitoringServiceGrpc { getChannel().newCall(getGetKpiDescriptorMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void getKpiDescriptorList(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetKpiDescriptorListMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void includeKpi(monitoring.Monitoring.Kpi request, @@ -384,6 +940,86 @@ public final class MonitoringServiceGrpc { getChannel().newCall(getMonitorKpiMethod(), getCallOptions()), request, responseObserver); } + /** + */ + public void queryKpiData(monitoring.Monitoring.KpiQuery request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getQueryKpiDataMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setKpiSubscription(monitoring.Monitoring.SubsDescriptor request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncServerStreamingCall( + getChannel().newCall(getSetKpiSubscriptionMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getSubsDescriptor(monitoring.Monitoring.SubscriptionID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetSubsDescriptorMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getSubscriptions(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetSubscriptionsMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void deleteSubscription(monitoring.Monitoring.SubscriptionID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteSubscriptionMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getSetKpiAlarmMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getAlarms(context.ContextOuterClass.Empty request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetAlarmsMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getAlarmDescriptor(monitoring.Monitoring.AlarmID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetAlarmDescriptorMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncServerStreamingCall( + getChannel().newCall(getGetAlarmResponseStreamMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void deleteAlarm(monitoring.Monitoring.AlarmID request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteAlarmMethod(), getCallOptions()), request, responseObserver); + } + /** */ public void getStreamKpi(monitoring.Monitoring.KpiId request, @@ -417,9 +1053,16 @@ public final class MonitoringServiceGrpc { /** */ - public monitoring.Monitoring.KpiId createKpi(monitoring.Monitoring.KpiDescriptor request) { + public monitoring.Monitoring.KpiId setKpi(monitoring.Monitoring.KpiDescriptor request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getSetKpiMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Empty deleteKpi(monitoring.Monitoring.KpiId request) { return io.grpc.stub.ClientCalls.blockingUnaryCall( - getChannel(), getCreateKpiMethod(), getCallOptions(), request); + getChannel(), getDeleteKpiMethod(), getCallOptions(), request); } /** @@ -429,6 +1072,13 @@ public final class MonitoringServiceGrpc { getChannel(), getGetKpiDescriptorMethod(), getCallOptions(), request); } + /** + */ + public monitoring.Monitoring.KpiDescriptorList getKpiDescriptorList(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetKpiDescriptorListMethod(), getCallOptions(), request); + } + /** */ public context.ContextOuterClass.Empty includeKpi(monitoring.Monitoring.Kpi request) { @@ -443,6 +1093,78 @@ public final class MonitoringServiceGrpc { getChannel(), getMonitorKpiMethod(), getCallOptions(), request); } + /** + */ + public monitoring.Monitoring.RawKpiTable queryKpiData(monitoring.Monitoring.KpiQuery request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getQueryKpiDataMethod(), getCallOptions(), request); + } + + /** + */ + public java.util.Iterator setKpiSubscription( + monitoring.Monitoring.SubsDescriptor request) { + return io.grpc.stub.ClientCalls.blockingServerStreamingCall( + getChannel(), getSetKpiSubscriptionMethod(), getCallOptions(), request); + } + + /** + */ + public monitoring.Monitoring.SubsDescriptor getSubsDescriptor(monitoring.Monitoring.SubscriptionID request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetSubsDescriptorMethod(), getCallOptions(), request); + } + + /** + */ + public monitoring.Monitoring.SubsList getSubscriptions(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetSubscriptionsMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Empty deleteSubscription(monitoring.Monitoring.SubscriptionID request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteSubscriptionMethod(), getCallOptions(), request); + } + + /** + */ + public monitoring.Monitoring.AlarmID setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getSetKpiAlarmMethod(), getCallOptions(), request); + } + + /** + */ + public monitoring.Monitoring.AlarmList getAlarms(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetAlarmsMethod(), getCallOptions(), request); + } + + /** + */ + public monitoring.Monitoring.AlarmDescriptor getAlarmDescriptor(monitoring.Monitoring.AlarmID request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetAlarmDescriptorMethod(), getCallOptions(), request); + } + + /** + */ + public java.util.Iterator getAlarmResponseStream( + monitoring.Monitoring.AlarmSubscription request) { + return io.grpc.stub.ClientCalls.blockingServerStreamingCall( + getChannel(), getGetAlarmResponseStreamMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Empty deleteAlarm(monitoring.Monitoring.AlarmID request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteAlarmMethod(), getCallOptions(), request); + } + /** */ public java.util.Iterator getStreamKpi( @@ -475,10 +1197,18 @@ public final class MonitoringServiceGrpc { /** */ - public com.google.common.util.concurrent.ListenableFuture createKpi( + public com.google.common.util.concurrent.ListenableFuture setKpi( monitoring.Monitoring.KpiDescriptor request) { return io.grpc.stub.ClientCalls.futureUnaryCall( - getChannel().newCall(getCreateKpiMethod(), getCallOptions()), request); + getChannel().newCall(getSetKpiMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture deleteKpi( + monitoring.Monitoring.KpiId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteKpiMethod(), getCallOptions()), request); } /** @@ -489,6 +1219,14 @@ public final class MonitoringServiceGrpc { getChannel().newCall(getGetKpiDescriptorMethod(), getCallOptions()), request); } + /** + */ + public com.google.common.util.concurrent.ListenableFuture getKpiDescriptorList( + context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetKpiDescriptorListMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture includeKpi( @@ -505,6 +1243,70 @@ public final class MonitoringServiceGrpc { getChannel().newCall(getMonitorKpiMethod(), getCallOptions()), request); } + /** + */ + public com.google.common.util.concurrent.ListenableFuture queryKpiData( + monitoring.Monitoring.KpiQuery request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getQueryKpiDataMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getSubsDescriptor( + monitoring.Monitoring.SubscriptionID request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetSubsDescriptorMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getSubscriptions( + context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetSubscriptionsMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture deleteSubscription( + monitoring.Monitoring.SubscriptionID request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteSubscriptionMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture setKpiAlarm( + monitoring.Monitoring.AlarmDescriptor request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getSetKpiAlarmMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getAlarms( + context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetAlarmsMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getAlarmDescriptor( + monitoring.Monitoring.AlarmID request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetAlarmDescriptorMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture deleteAlarm( + monitoring.Monitoring.AlarmID request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteAlarmMethod(), getCallOptions()), request); + } + /** */ public com.google.common.util.concurrent.ListenableFuture getInstantKpi( @@ -514,12 +1316,24 @@ public final class MonitoringServiceGrpc { } } - private static final int METHODID_CREATE_KPI = 0; - private static final int METHODID_GET_KPI_DESCRIPTOR = 1; - private static final int METHODID_INCLUDE_KPI = 2; - private static final int METHODID_MONITOR_KPI = 3; - private static final int METHODID_GET_STREAM_KPI = 4; - private static final int METHODID_GET_INSTANT_KPI = 5; + private static final int METHODID_SET_KPI = 0; + private static final int METHODID_DELETE_KPI = 1; + private static final int METHODID_GET_KPI_DESCRIPTOR = 2; + private static final int METHODID_GET_KPI_DESCRIPTOR_LIST = 3; + private static final int METHODID_INCLUDE_KPI = 4; + private static final int METHODID_MONITOR_KPI = 5; + private static final int METHODID_QUERY_KPI_DATA = 6; + private static final int METHODID_SET_KPI_SUBSCRIPTION = 7; + private static final int METHODID_GET_SUBS_DESCRIPTOR = 8; + private static final int METHODID_GET_SUBSCRIPTIONS = 9; + private static final int METHODID_DELETE_SUBSCRIPTION = 10; + private static final int METHODID_SET_KPI_ALARM = 11; + private static final int METHODID_GET_ALARMS = 12; + private static final int METHODID_GET_ALARM_DESCRIPTOR = 13; + private static final int METHODID_GET_ALARM_RESPONSE_STREAM = 14; + private static final int METHODID_DELETE_ALARM = 15; + private static final int METHODID_GET_STREAM_KPI = 16; + private static final int METHODID_GET_INSTANT_KPI = 17; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -538,14 +1352,22 @@ public final class MonitoringServiceGrpc { @java.lang.SuppressWarnings("unchecked") public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { switch (methodId) { - case METHODID_CREATE_KPI: - serviceImpl.createKpi((monitoring.Monitoring.KpiDescriptor) request, + case METHODID_SET_KPI: + serviceImpl.setKpi((monitoring.Monitoring.KpiDescriptor) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_DELETE_KPI: + serviceImpl.deleteKpi((monitoring.Monitoring.KpiId) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_GET_KPI_DESCRIPTOR: serviceImpl.getKpiDescriptor((monitoring.Monitoring.KpiId) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_KPI_DESCRIPTOR_LIST: + serviceImpl.getKpiDescriptorList((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_INCLUDE_KPI: serviceImpl.includeKpi((monitoring.Monitoring.Kpi) request, (io.grpc.stub.StreamObserver) responseObserver); @@ -554,6 +1376,46 @@ public final class MonitoringServiceGrpc { serviceImpl.monitorKpi((monitoring.Monitoring.MonitorKpiRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_QUERY_KPI_DATA: + serviceImpl.queryKpiData((monitoring.Monitoring.KpiQuery) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_KPI_SUBSCRIPTION: + serviceImpl.setKpiSubscription((monitoring.Monitoring.SubsDescriptor) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_SUBS_DESCRIPTOR: + serviceImpl.getSubsDescriptor((monitoring.Monitoring.SubscriptionID) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_SUBSCRIPTIONS: + serviceImpl.getSubscriptions((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_SUBSCRIPTION: + serviceImpl.deleteSubscription((monitoring.Monitoring.SubscriptionID) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_KPI_ALARM: + serviceImpl.setKpiAlarm((monitoring.Monitoring.AlarmDescriptor) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_ALARMS: + serviceImpl.getAlarms((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_ALARM_DESCRIPTOR: + serviceImpl.getAlarmDescriptor((monitoring.Monitoring.AlarmID) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_ALARM_RESPONSE_STREAM: + serviceImpl.getAlarmResponseStream((monitoring.Monitoring.AlarmSubscription) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_ALARM: + serviceImpl.deleteAlarm((monitoring.Monitoring.AlarmID) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_GET_STREAM_KPI: serviceImpl.getStreamKpi((monitoring.Monitoring.KpiId) request, (io.grpc.stub.StreamObserver) responseObserver); @@ -623,10 +1485,22 @@ public final class MonitoringServiceGrpc { if (result == null) { serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) .setSchemaDescriptor(new MonitoringServiceFileDescriptorSupplier()) - .addMethod(getCreateKpiMethod()) + .addMethod(getSetKpiMethod()) + .addMethod(getDeleteKpiMethod()) .addMethod(getGetKpiDescriptorMethod()) + .addMethod(getGetKpiDescriptorListMethod()) .addMethod(getIncludeKpiMethod()) .addMethod(getMonitorKpiMethod()) + .addMethod(getQueryKpiDataMethod()) + .addMethod(getSetKpiSubscriptionMethod()) + .addMethod(getGetSubsDescriptorMethod()) + .addMethod(getGetSubscriptionsMethod()) + .addMethod(getDeleteSubscriptionMethod()) + .addMethod(getSetKpiAlarmMethod()) + .addMethod(getGetAlarmsMethod()) + .addMethod(getGetAlarmDescriptorMethod()) + .addMethod(getGetAlarmResponseStreamMethod()) + .addMethod(getDeleteAlarmMethod()) .addMethod(getGetStreamKpiMethod()) .addMethod(getGetInstantKpiMethod()) .build(); diff --git a/src/automation/target/generated-sources/grpc/monitoring/MutinyMonitoringServiceGrpc.java b/src/automation/target/generated-sources/grpc/monitoring/MutinyMonitoringServiceGrpc.java index e5157378c1d8d4608d5da2ec0e429fbb2412c175..f045ecc7ed434ba90bdfda065f18e0d839850a76 100644 --- a/src/automation/target/generated-sources/grpc/monitoring/MutinyMonitoringServiceGrpc.java +++ b/src/automation/target/generated-sources/grpc/monitoring/MutinyMonitoringServiceGrpc.java @@ -36,8 +36,13 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim } - public io.smallrye.mutiny.Uni createKpi(monitoring.Monitoring.KpiDescriptor request) { - return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::createKpi); + public io.smallrye.mutiny.Uni setKpi(monitoring.Monitoring.KpiDescriptor request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::setKpi); + } + + + public io.smallrye.mutiny.Uni deleteKpi(monitoring.Monitoring.KpiId request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::deleteKpi); } @@ -46,6 +51,11 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim } + public io.smallrye.mutiny.Uni getKpiDescriptorList(context.ContextOuterClass.Empty request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getKpiDescriptorList); + } + + public io.smallrye.mutiny.Uni includeKpi(monitoring.Monitoring.Kpi request) { return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::includeKpi); } @@ -56,11 +66,61 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim } + public io.smallrye.mutiny.Uni queryKpiData(monitoring.Monitoring.KpiQuery request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::queryKpiData); + } + + + public io.smallrye.mutiny.Uni getSubsDescriptor(monitoring.Monitoring.SubscriptionID request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getSubsDescriptor); + } + + + public io.smallrye.mutiny.Uni getSubscriptions(context.ContextOuterClass.Empty request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getSubscriptions); + } + + + public io.smallrye.mutiny.Uni deleteSubscription(monitoring.Monitoring.SubscriptionID request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::deleteSubscription); + } + + + public io.smallrye.mutiny.Uni setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::setKpiAlarm); + } + + + public io.smallrye.mutiny.Uni getAlarms(context.ContextOuterClass.Empty request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getAlarms); + } + + + public io.smallrye.mutiny.Uni getAlarmDescriptor(monitoring.Monitoring.AlarmID request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getAlarmDescriptor); + } + + + public io.smallrye.mutiny.Uni deleteAlarm(monitoring.Monitoring.AlarmID request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::deleteAlarm); + } + + public io.smallrye.mutiny.Uni getInstantKpi(monitoring.Monitoring.KpiId request) { return io.quarkus.grpc.runtime.ClientCalls.oneToOne(request, delegateStub::getInstantKpi); } + public io.smallrye.mutiny.Multi setKpiSubscription(monitoring.Monitoring.SubsDescriptor request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToMany(request, delegateStub::setKpiSubscription); + } + + + public io.smallrye.mutiny.Multi getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request) { + return io.quarkus.grpc.runtime.ClientCalls.oneToMany(request, delegateStub::getAlarmResponseStream); + } + + public io.smallrye.mutiny.Multi getStreamKpi(monitoring.Monitoring.KpiId request) { return io.quarkus.grpc.runtime.ClientCalls.oneToMany(request, delegateStub::getStreamKpi); } @@ -83,7 +143,12 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim - public io.smallrye.mutiny.Uni createKpi(monitoring.Monitoring.KpiDescriptor request) { + public io.smallrye.mutiny.Uni setKpi(monitoring.Monitoring.KpiDescriptor request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni deleteKpi(monitoring.Monitoring.KpiId request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -93,6 +158,11 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim } + public io.smallrye.mutiny.Uni getKpiDescriptorList(context.ContextOuterClass.Empty request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni includeKpi(monitoring.Monitoring.Kpi request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -103,11 +173,61 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim } + public io.smallrye.mutiny.Uni queryKpiData(monitoring.Monitoring.KpiQuery request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni getSubsDescriptor(monitoring.Monitoring.SubscriptionID request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni getSubscriptions(context.ContextOuterClass.Empty request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni deleteSubscription(monitoring.Monitoring.SubscriptionID request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni getAlarms(context.ContextOuterClass.Empty request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni getAlarmDescriptor(monitoring.Monitoring.AlarmID request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Uni deleteAlarm(monitoring.Monitoring.AlarmID request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni getInstantKpi(monitoring.Monitoring.KpiId request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } + public io.smallrye.mutiny.Multi setKpiSubscription(monitoring.Monitoring.SubsDescriptor request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + + public io.smallrye.mutiny.Multi getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Multi getStreamKpi(monitoring.Monitoring.KpiId request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -115,12 +235,19 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) .addMethod( - monitoring.MonitoringServiceGrpc.getCreateKpiMethod(), + monitoring.MonitoringServiceGrpc.getSetKpiMethod(), asyncUnaryCall( new MethodHandlers< monitoring.Monitoring.KpiDescriptor, monitoring.Monitoring.KpiId>( - this, METHODID_CREATE_KPI, compression))) + this, METHODID_SET_KPI, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getDeleteKpiMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.KpiId, + context.ContextOuterClass.Empty>( + this, METHODID_DELETE_KPI, compression))) .addMethod( monitoring.MonitoringServiceGrpc.getGetKpiDescriptorMethod(), asyncUnaryCall( @@ -128,6 +255,13 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim monitoring.Monitoring.KpiId, monitoring.Monitoring.KpiDescriptor>( this, METHODID_GET_KPI_DESCRIPTOR, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getGetKpiDescriptorListMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + monitoring.Monitoring.KpiDescriptorList>( + this, METHODID_GET_KPI_DESCRIPTOR_LIST, compression))) .addMethod( monitoring.MonitoringServiceGrpc.getIncludeKpiMethod(), asyncUnaryCall( @@ -142,6 +276,76 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim monitoring.Monitoring.MonitorKpiRequest, context.ContextOuterClass.Empty>( this, METHODID_MONITOR_KPI, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getQueryKpiDataMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.KpiQuery, + monitoring.Monitoring.RawKpiTable>( + this, METHODID_QUERY_KPI_DATA, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getSetKpiSubscriptionMethod(), + asyncServerStreamingCall( + new MethodHandlers< + monitoring.Monitoring.SubsDescriptor, + monitoring.Monitoring.SubsResponse>( + this, METHODID_SET_KPI_SUBSCRIPTION, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getGetSubsDescriptorMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.SubscriptionID, + monitoring.Monitoring.SubsDescriptor>( + this, METHODID_GET_SUBS_DESCRIPTOR, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getGetSubscriptionsMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + monitoring.Monitoring.SubsList>( + this, METHODID_GET_SUBSCRIPTIONS, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getDeleteSubscriptionMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.SubscriptionID, + context.ContextOuterClass.Empty>( + this, METHODID_DELETE_SUBSCRIPTION, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getSetKpiAlarmMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.AlarmDescriptor, + monitoring.Monitoring.AlarmID>( + this, METHODID_SET_KPI_ALARM, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getGetAlarmsMethod(), + asyncUnaryCall( + new MethodHandlers< + context.ContextOuterClass.Empty, + monitoring.Monitoring.AlarmList>( + this, METHODID_GET_ALARMS, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getGetAlarmDescriptorMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.AlarmID, + monitoring.Monitoring.AlarmDescriptor>( + this, METHODID_GET_ALARM_DESCRIPTOR, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getGetAlarmResponseStreamMethod(), + asyncServerStreamingCall( + new MethodHandlers< + monitoring.Monitoring.AlarmSubscription, + monitoring.Monitoring.AlarmResponse>( + this, METHODID_GET_ALARM_RESPONSE_STREAM, compression))) + .addMethod( + monitoring.MonitoringServiceGrpc.getDeleteAlarmMethod(), + asyncUnaryCall( + new MethodHandlers< + monitoring.Monitoring.AlarmID, + context.ContextOuterClass.Empty>( + this, METHODID_DELETE_ALARM, compression))) .addMethod( monitoring.MonitoringServiceGrpc.getGetStreamKpiMethod(), asyncServerStreamingCall( @@ -160,12 +364,24 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim } } - private static final int METHODID_CREATE_KPI = 0; - private static final int METHODID_GET_KPI_DESCRIPTOR = 1; - private static final int METHODID_INCLUDE_KPI = 2; - private static final int METHODID_MONITOR_KPI = 3; - private static final int METHODID_GET_STREAM_KPI = 4; - private static final int METHODID_GET_INSTANT_KPI = 5; + private static final int METHODID_SET_KPI = 0; + private static final int METHODID_DELETE_KPI = 1; + private static final int METHODID_GET_KPI_DESCRIPTOR = 2; + private static final int METHODID_GET_KPI_DESCRIPTOR_LIST = 3; + private static final int METHODID_INCLUDE_KPI = 4; + private static final int METHODID_MONITOR_KPI = 5; + private static final int METHODID_QUERY_KPI_DATA = 6; + private static final int METHODID_SET_KPI_SUBSCRIPTION = 7; + private static final int METHODID_GET_SUBS_DESCRIPTOR = 8; + private static final int METHODID_GET_SUBSCRIPTIONS = 9; + private static final int METHODID_DELETE_SUBSCRIPTION = 10; + private static final int METHODID_SET_KPI_ALARM = 11; + private static final int METHODID_GET_ALARMS = 12; + private static final int METHODID_GET_ALARM_DESCRIPTOR = 13; + private static final int METHODID_GET_ALARM_RESPONSE_STREAM = 14; + private static final int METHODID_DELETE_ALARM = 15; + private static final int METHODID_GET_STREAM_KPI = 16; + private static final int METHODID_GET_INSTANT_KPI = 17; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -186,11 +402,17 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim @java.lang.SuppressWarnings("unchecked") public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { switch (methodId) { - case METHODID_CREATE_KPI: + case METHODID_SET_KPI: io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.KpiDescriptor) request, (io.grpc.stub.StreamObserver) responseObserver, compression, - serviceImpl::createKpi); + serviceImpl::setKpi); + break; + case METHODID_DELETE_KPI: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.KpiId) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::deleteKpi); break; case METHODID_GET_KPI_DESCRIPTOR: io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.KpiId) request, @@ -198,6 +420,12 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim compression, serviceImpl::getKpiDescriptor); break; + case METHODID_GET_KPI_DESCRIPTOR_LIST: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getKpiDescriptorList); + break; case METHODID_INCLUDE_KPI: io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.Kpi) request, (io.grpc.stub.StreamObserver) responseObserver, @@ -210,6 +438,66 @@ public final class MutinyMonitoringServiceGrpc implements io.quarkus.grpc.runtim compression, serviceImpl::monitorKpi); break; + case METHODID_QUERY_KPI_DATA: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.KpiQuery) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::queryKpiData); + break; + case METHODID_SET_KPI_SUBSCRIPTION: + io.quarkus.grpc.runtime.ServerCalls.oneToMany((monitoring.Monitoring.SubsDescriptor) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::setKpiSubscription); + break; + case METHODID_GET_SUBS_DESCRIPTOR: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.SubscriptionID) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getSubsDescriptor); + break; + case METHODID_GET_SUBSCRIPTIONS: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getSubscriptions); + break; + case METHODID_DELETE_SUBSCRIPTION: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.SubscriptionID) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::deleteSubscription); + break; + case METHODID_SET_KPI_ALARM: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.AlarmDescriptor) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::setKpiAlarm); + break; + case METHODID_GET_ALARMS: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((context.ContextOuterClass.Empty) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getAlarms); + break; + case METHODID_GET_ALARM_DESCRIPTOR: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.AlarmID) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getAlarmDescriptor); + break; + case METHODID_GET_ALARM_RESPONSE_STREAM: + io.quarkus.grpc.runtime.ServerCalls.oneToMany((monitoring.Monitoring.AlarmSubscription) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::getAlarmResponseStream); + break; + case METHODID_DELETE_ALARM: + io.quarkus.grpc.runtime.ServerCalls.oneToOne((monitoring.Monitoring.AlarmID) request, + (io.grpc.stub.StreamObserver) responseObserver, + compression, + serviceImpl::deleteAlarm); + break; case METHODID_GET_STREAM_KPI: io.quarkus.grpc.runtime.ServerCalls.oneToMany((monitoring.Monitoring.KpiId) request, (io.grpc.stub.StreamObserver) responseObserver, diff --git a/src/automation/target/kubernetes/kubernetes.yml b/src/automation/target/kubernetes/kubernetes.yml index d8d4dc5449107b29174cfd8fecf660a28b5d558e..8bc14b935b4e4f4a18ed03f10cca0b74f480dcf0 100644 --- a/src/automation/target/kubernetes/kubernetes.yml +++ b/src/automation/target/kubernetes/kubernetes.yml @@ -1,36 +1,21 @@ -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - --- apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 644f8ea4385acb720eab7317de057f9d1d8ebfe6 - app.quarkus.io/build-timestamp: 2022-02-14 - 10:21:58 +0000 + app.quarkus.io/build-timestamp: 2022-09-19 - 10:48:18 +0000 labels: app.kubernetes.io/name: automationservice app: automationservice name: automationservice spec: ports: + - name: grpc + port: 5050 + targetPort: 5050 - name: http port: 8080 targetPort: 8080 - - name: grpc-server - port: 9999 - targetPort: 9999 selector: app.kubernetes.io/name: automationservice type: ClusterIP @@ -39,8 +24,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 644f8ea4385acb720eab7317de057f9d1d8ebfe6 - app.quarkus.io/build-timestamp: 2022-02-14 - 10:21:58 +0000 + app.quarkus.io/build-timestamp: 2022-09-19 - 10:48:18 +0000 labels: app: automationservice app.kubernetes.io/name: automationservice @@ -53,8 +37,7 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 644f8ea4385acb720eab7317de057f9d1d8ebfe6 - app.quarkus.io/build-timestamp: 2022-02-14 - 10:21:58 +0000 + app.quarkus.io/build-timestamp: 2022-09-19 - 10:48:18 +0000 labels: app: automationservice app.kubernetes.io/name: automationservice @@ -65,10 +48,10 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - - name: DEVICE_SERVICE_HOST - value: deviceservice - name: CONTEXT_SERVICE_HOST value: contextservice + - name: DEVICE_SERVICE_HOST + value: deviceservice image: registry.gitlab.com/teraflow-h2020/controller/automation:0.2.0 imagePullPolicy: Always livenessProbe: @@ -83,12 +66,12 @@ spec: timeoutSeconds: 10 name: automationservice ports: + - containerPort: 5050 + name: grpc + protocol: TCP - containerPort: 8080 name: http protocol: TCP - - containerPort: 9999 - name: grpc-server - protocol: TCP readinessProbe: failureThreshold: 3 httpGet: diff --git a/src/common/Constants.py b/src/common/Constants.py index 9d5edc235f582f7df4a274b15bf646413d14b1bd..ffdfbc4e03adaa272ce5b841ea44923409df5cbe 100644 --- a/src/common/Constants.py +++ b/src/common/Constants.py @@ -12,5 +12,76 @@ # See the License for the specific language governing permissions and # limitations under the License. -DEFAULT_CONTEXT_UUID = 'admin' -DEFAULT_TOPOLOGY_UUID = 'admin' +import logging +from enum import Enum + +# Default logging level +DEFAULT_LOG_LEVEL = logging.WARNING + +# Default gRPC server settings +DEFAULT_GRPC_BIND_ADDRESS = '0.0.0.0' +DEFAULT_GRPC_MAX_WORKERS = 200 +DEFAULT_GRPC_GRACE_PERIOD = 60 + +# Default HTTP server settings +DEFAULT_HTTP_BIND_ADDRESS = '0.0.0.0' + +# Default Prometheus settings +DEFAULT_METRICS_PORT = 9192 + +# Default context and topology UUIDs +DEFAULT_CONTEXT_UUID = 'admin' +DEFAULT_TOPOLOGY_UUID = 'admin' # contains the detailed local topology +INTERDOMAIN_TOPOLOGY_UUID = 'inter' # contains the abstract inter-domain topology + +# Default service names +class ServiceNameEnum(Enum): + CONTEXT = 'context' + DEVICE = 'device' + SERVICE = 'service' + SLICE = 'slice' + AUTOMATION = 'automation' + POLICY = 'policy' + MONITORING = 'monitoring' + DLT = 'dlt' + COMPUTE = 'compute' + CYBERSECURITY = 'cybersecurity' + INTERDOMAIN = 'interdomain' + PATHCOMP = 'pathcomp' + WEBUI = 'webui' + + # Used for test and debugging only + DLT_GATEWAY = 'dltgateway' + +# Default gRPC service ports +DEFAULT_SERVICE_GRPC_PORTS = { + ServiceNameEnum.CONTEXT .value : 1010, + ServiceNameEnum.DEVICE .value : 2020, + ServiceNameEnum.SERVICE .value : 3030, + ServiceNameEnum.SLICE .value : 4040, + ServiceNameEnum.AUTOMATION .value : 5050, + ServiceNameEnum.POLICY .value : 6060, + ServiceNameEnum.MONITORING .value : 7070, + ServiceNameEnum.DLT .value : 8080, + ServiceNameEnum.COMPUTE .value : 9090, + ServiceNameEnum.CYBERSECURITY.value : 10000, + ServiceNameEnum.INTERDOMAIN .value : 10010, + ServiceNameEnum.PATHCOMP .value : 10020, + + # Used for test and debugging only + ServiceNameEnum.DLT_GATEWAY .value : 50051, +} + +# Default HTTP/REST-API service ports +DEFAULT_SERVICE_HTTP_PORTS = { + ServiceNameEnum.CONTEXT .value : 8080, + ServiceNameEnum.COMPUTE .value : 8080, + ServiceNameEnum.WEBUI .value : 8004, +} + +# Default HTTP/REST-API service base URLs +DEFAULT_SERVICE_HTTP_BASEURLS = { + ServiceNameEnum.CONTEXT .value : '/api', + ServiceNameEnum.COMPUTE .value : '/restconf/data', + ServiceNameEnum.WEBUI .value : None, +} diff --git a/src/common/DeviceTypes.py b/src/common/DeviceTypes.py index 44f8e3981157d2b77e5450c34efa54ab66a39362..c353708995cd5d8e4a7e2fde8d9bdd03732008eb 100644 --- a/src/common/DeviceTypes.py +++ b/src/common/DeviceTypes.py @@ -15,11 +15,27 @@ from enum import Enum class DeviceTypeEnum(Enum): - EMULATED_OPTICAL_LINE_SYSTEM = 'emu-optical-line-system' - EMULATED_PACKET_ROUTER = 'emu-packet-router' - OPTICAL_ROADM = 'optical-roadm' - OPTICAL_TRANDPONDER = 'optical-trandponder' - OPTICAL_LINE_SYSTEM = 'optical-line-system' - PACKET_ROUTER = 'packet-router' - PACKET_SWITCH = 'packet-switch' - P4_SWITCH = 'p4-switch' + + # Abstractions + NETWORK = 'network' + + # Emulated device types + EMULATED_DATACENTER = 'emu-datacenter' + EMULATED_MICROWAVE_RADIO_SYSTEM = 'emu-microwave-radio-system' + EMULATED_OPEN_LINE_SYSTEM = 'emu-open-line-system' + EMULATED_OPTICAL_ROADM = 'emu-optical-roadm' + EMULATED_OPTICAL_TRANSPONDER = 'emu-optical-transponder' + EMULATED_P4_SWITCH = 'emu-p4-switch' + EMULATED_PACKET_ROUTER = 'emu-packet-router' + EMULATED_PACKET_SWITCH = 'emu-packet-switch' + + # Real device types + DATACENTER = 'datacenter' + MICROWAVE_RADIO_SYSTEM = 'microwave-radio-system' + OPEN_LINE_SYSTEM = 'open-line-system' + OPTICAL_ROADM = 'optical-roadm' + OPTICAL_TRANSPONDER = 'optical-transponder' + P4_SWITCH = 'p4-switch' + PACKET_ROUTER = 'packet-router' + PACKET_SWITCH = 'packet-switch' + XR_CONSTELLATION = 'xr-constellation' \ No newline at end of file diff --git a/src/common/Settings.py b/src/common/Settings.py index f6bc214bf7500227c621b197e2626e09f2dafb93..e9d5f406d2acad0d31ae94b604183c129d28f146 100644 --- a/src/common/Settings.py +++ b/src/common/Settings.py @@ -14,15 +14,33 @@ import logging, os, time from typing import List +from common.Constants import ( + DEFAULT_GRPC_BIND_ADDRESS, DEFAULT_GRPC_GRACE_PERIOD, DEFAULT_GRPC_MAX_WORKERS, DEFAULT_HTTP_BIND_ADDRESS, + DEFAULT_LOG_LEVEL, DEFAULT_METRICS_PORT, DEFAULT_SERVICE_GRPC_PORTS, DEFAULT_SERVICE_HTTP_BASEURLS, + DEFAULT_SERVICE_HTTP_PORTS, ServiceNameEnum +) LOGGER = logging.getLogger(__name__) DEFAULT_RESTART_DELAY = 5.0 # seconds +ENVVAR_KUBERNETES_PORT = 'KUBERNETES_PORT' +ENVVAR_GRPC_BIND_ADDRESS = 'GRPC_BIND_ADDRESS' +ENVVAR_GRPC_MAX_WORKERS = 'GRPC_MAX_WORKERS' +ENVVAR_GRPC_GRACE_PERIOD = 'GRPC_GRACE_PERIOD' +ENVVAR_HTTP_BIND_ADDRESS = 'HTTP_BIND_ADDRESS' +ENVVAR_LOG_LEVEL = 'LOG_LEVEL' +ENVVAR_METRICS_PORT = 'METRICS_PORT' + +ENVVAR_SUFIX_SERVICE_BASEURL_HTTP = 'SERVICE_BASEURL_HTTP' +ENVVAR_SUFIX_SERVICE_HOST = 'SERVICE_HOST' +ENVVAR_SUFIX_SERVICE_PORT_GRPC = 'SERVICE_PORT_GRPC' +ENVVAR_SUFIX_SERVICE_PORT_HTTP = 'SERVICE_PORT_HTTP' + def wait_for_environment_variables( required_environment_variables : List[str] = [], wait_delay_seconds : float = DEFAULT_RESTART_DELAY ): - if 'KUBERNETES_PORT' not in os.environ: return # We're not running in Kubernetes, nothing to wait for + if ENVVAR_KUBERNETES_PORT not in os.environ: return # We're not running in Kubernetes, nothing to wait for missing_variables = set(required_environment_variables).difference(set(os.environ.keys())) if len(missing_variables) == 0: return # We have all environment variables defined msg = 'Variables({:s}) are missing in Environment({:s}), restarting in {:f} seconds...' @@ -36,4 +54,45 @@ def get_setting(name, **kwargs): value = kwargs['settings'].pop(name, value) if value is not None: return value if 'default' in kwargs: return kwargs['default'] - raise Exception('Setting({}) not specified in environment or configuration'.format(name)) + raise Exception('Setting({:s}) not specified in environment or configuration'.format(str(name))) + +def get_env_var_name(service_name : ServiceNameEnum, env_var_group): + return ('{:s}SERVICE_{:s}'.format(service_name.value, env_var_group)).upper() + +def get_service_host(service_name : ServiceNameEnum): + envvar_name = get_env_var_name(service_name, ENVVAR_SUFIX_SERVICE_HOST) + default_value = ('{:s}service'.format(service_name.value)) + return get_setting(envvar_name, default=default_value) + +def get_service_port_grpc(service_name : ServiceNameEnum): + envvar_name = get_env_var_name(service_name, ENVVAR_SUFIX_SERVICE_PORT_GRPC) + default_value = DEFAULT_SERVICE_GRPC_PORTS.get(service_name.value) + return get_setting(envvar_name, default=default_value) + +def get_service_port_http(service_name : ServiceNameEnum): + envvar_name = get_env_var_name(service_name, ENVVAR_SUFIX_SERVICE_PORT_HTTP) + default_value = DEFAULT_SERVICE_HTTP_PORTS.get(service_name.value) + return get_setting(envvar_name, default=default_value) + +def get_service_baseurl_http(service_name : ServiceNameEnum): + envvar_name = get_env_var_name(service_name, ENVVAR_SUFIX_SERVICE_BASEURL_HTTP) + default_value = DEFAULT_SERVICE_HTTP_BASEURLS.get(service_name.value) + return get_setting(envvar_name, default=default_value) + +def get_log_level(): + return get_setting(ENVVAR_LOG_LEVEL, default=DEFAULT_LOG_LEVEL) + +def get_metrics_port(): + return get_setting(ENVVAR_METRICS_PORT, default=DEFAULT_METRICS_PORT) + +def get_grpc_bind_address(): + return get_setting(ENVVAR_GRPC_BIND_ADDRESS, default=DEFAULT_GRPC_BIND_ADDRESS) + +def get_grpc_max_workers(): + return get_setting(ENVVAR_GRPC_MAX_WORKERS, default=DEFAULT_GRPC_MAX_WORKERS) + +def get_grpc_grace_period(): + return get_setting(ENVVAR_GRPC_GRACE_PERIOD, default=DEFAULT_GRPC_GRACE_PERIOD) + +def get_http_bind_address(): + return get_setting(ENVVAR_HTTP_BIND_ADDRESS, default=DEFAULT_HTTP_BIND_ADDRESS) diff --git a/src/common/method_wrappers/Decorator.py b/src/common/method_wrappers/Decorator.py new file mode 100644 index 0000000000000000000000000000000000000000..7ee2a919e10f25104d0fa77caaf8bafa11c2b30f --- /dev/null +++ b/src/common/method_wrappers/Decorator.py @@ -0,0 +1,132 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import grpc, logging, threading +from enum import Enum +from typing import Dict, Tuple +from prometheus_client import Counter, Histogram +from prometheus_client.metrics import MetricWrapperBase, INF +from common.tools.grpc.Tools import grpc_message_to_json_string +from .ServiceExceptions import ServiceException + +class MetricTypeEnum(Enum): + COUNTER_STARTED = 'tfs_{component:s}_{sub_module:s}_{method:s}_counter_requests_started' + COUNTER_COMPLETED = 'tfs_{component:s}_{sub_module:s}_{method:s}_counter_requests_completed' + COUNTER_FAILED = 'tfs_{component:s}_{sub_module:s}_{method:s}_counter_requests_failed' + HISTOGRAM_DURATION = 'tfs_{component:s}_{sub_module:s}_{method:s}_histogram_duration' + +METRIC_TO_CLASS_PARAMS = { + MetricTypeEnum.COUNTER_STARTED : (Counter, {}), + MetricTypeEnum.COUNTER_COMPLETED : (Counter, {}), + MetricTypeEnum.COUNTER_FAILED : (Counter, {}), + MetricTypeEnum.HISTOGRAM_DURATION: (Histogram, { + 'buckets': ( + # .005, .01, .025, .05, .075, .1, .25, .5, .75, 1.0, INF + 0.0010, 0.0025, 0.0050, 0.0075, + 0.0100, 0.0250, 0.0500, 0.0750, + 0.1000, 0.2500, 0.5000, 0.7500, + 1.0000, 2.5000, 5.0000, 7.5000, + INF) + }) +} + +class MetricsPool: + lock = threading.Lock() + metrics : Dict[str, MetricWrapperBase] = dict() + + def __init__( + self, component : str, sub_module : str, labels : Dict[str, str] = {}, + default_metric_params : Dict[MetricTypeEnum, Dict] = dict() + ) -> None: + self._component = component + self._sub_module = sub_module + self._labels = labels + self._default_metric_params = default_metric_params + + def get_or_create(self, method : str, metric_type : MetricTypeEnum, **metric_params) -> MetricWrapperBase: + metric_name = str(metric_type.value).format( + component=self._component, sub_module=self._sub_module, method=method).upper() + with MetricsPool.lock: + if metric_name not in MetricsPool.metrics: + metric_tuple : Tuple[MetricWrapperBase, Dict] = METRIC_TO_CLASS_PARAMS.get(metric_type) + metric_class, default_metric_params = metric_tuple + if len(metric_params) == 0: metric_params = self._default_metric_params.get(metric_type, {}) + if len(metric_params) == 0: metric_params = default_metric_params + labels = sorted(self._labels.keys()) + MetricsPool.metrics[metric_name] = metric_class(metric_name.lower(), '', labels, **metric_params) + return MetricsPool.metrics[metric_name] + + def get_metrics( + self, method : str + ) -> Tuple[MetricWrapperBase, MetricWrapperBase, MetricWrapperBase, MetricWrapperBase]: + histogram_duration : Histogram = self.get_or_create(method, MetricTypeEnum.HISTOGRAM_DURATION) + counter_started : Counter = self.get_or_create(method, MetricTypeEnum.COUNTER_STARTED) + counter_completed : Counter = self.get_or_create(method, MetricTypeEnum.COUNTER_COMPLETED) + counter_failed : Counter = self.get_or_create(method, MetricTypeEnum.COUNTER_FAILED) + + if len(self._labels) > 0: + histogram_duration = histogram_duration.labels(**(self._labels)) + counter_started = counter_started.labels(**(self._labels)) + counter_completed = counter_completed.labels(**(self._labels)) + counter_failed = counter_failed.labels(**(self._labels)) + + return histogram_duration, counter_started, counter_completed, counter_failed + +def metered_subclass_method(metrics_pool : MetricsPool): + def outer_wrapper(func): + metrics = metrics_pool.get_metrics(func.__name__) + histogram_duration, counter_started, counter_completed, counter_failed = metrics + + @histogram_duration.time() + def inner_wrapper(self, *args, **kwargs): + counter_started.inc() + try: + reply = func(self, *args, **kwargs) + counter_completed.inc() + return reply + except KeyboardInterrupt: # pylint: disable=try-except-raise + raise + except Exception: # pylint: disable=broad-except + counter_failed.inc() + + return inner_wrapper + return outer_wrapper + +def safe_and_metered_rpc_method(metrics_pool : MetricsPool, logger : logging.Logger): + def outer_wrapper(func): + method_name = func.__name__ + metrics = metrics_pool.get_metrics(method_name) + histogram_duration, counter_started, counter_completed, counter_failed = metrics + + @histogram_duration.time() + def inner_wrapper(self, request, grpc_context : grpc.ServicerContext): + counter_started.inc() + try: + logger.debug('{:s} request: {:s}'.format(method_name, grpc_message_to_json_string(request))) + reply = func(self, request, grpc_context) + logger.debug('{:s} reply: {:s}'.format(method_name, grpc_message_to_json_string(reply))) + counter_completed.inc() + return reply + except ServiceException as e: # pragma: no cover (ServiceException not thrown) + if e.code not in [grpc.StatusCode.NOT_FOUND, grpc.StatusCode.ALREADY_EXISTS]: + # Assume not found or already exists is just a condition, not an error + logger.exception('{:s} exception'.format(method_name)) + counter_failed.inc() + grpc_context.abort(e.code, e.details) + except Exception as e: # pragma: no cover, pylint: disable=broad-except + logger.exception('{:s} exception'.format(method_name)) + counter_failed.inc() + grpc_context.abort(grpc.StatusCode.INTERNAL, str(e)) + return inner_wrapper + return outer_wrapper diff --git a/src/common/rpc_method_wrapper/ServiceExceptions.py b/src/common/method_wrappers/ServiceExceptions.py similarity index 88% rename from src/common/rpc_method_wrapper/ServiceExceptions.py rename to src/common/method_wrappers/ServiceExceptions.py index f4f0a64cad79c96dc069bd37e8d2c2be5f011c53..e8d5c79acca19117fca53ec216166c01d3f0781d 100644 --- a/src/common/rpc_method_wrapper/ServiceExceptions.py +++ b/src/common/method_wrappers/ServiceExceptions.py @@ -56,3 +56,11 @@ class OperationFailedException(ServiceException): details = 'Operation({:s}) failed'.format(str(operation)) super().__init__(grpc.StatusCode.INTERNAL, details, extra_details=extra_details) + +class NotImplementedException(ServiceException): + def __init__( + self, operation : str, extra_details : Union[str, Iterable[str]] = None + ) -> None: + + details = 'Operation({:s}) not implemented'.format(str(operation)) + super().__init__(grpc.StatusCode.UNIMPLEMENTED, details, extra_details=extra_details) diff --git a/src/compute/tests/mock_osm/__init__.py b/src/common/method_wrappers/__init__.py similarity index 100% rename from src/compute/tests/mock_osm/__init__.py rename to src/common/method_wrappers/__init__.py diff --git a/src/common/method_wrappers/results-perf-eval/MW/dev-drv-mw.png b/src/common/method_wrappers/results-perf-eval/MW/dev-drv-mw.png new file mode 100644 index 0000000000000000000000000000000000000000..a5732f8d162182a014497f219b510baa3d5ac105 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/MW/dev-drv-mw.png differ diff --git a/src/common/method_wrappers/results-perf-eval/MW/generate.sh b/src/common/method_wrappers/results-perf-eval/MW/generate.sh new file mode 100755 index 0000000000000000000000000000000000000000..bb86e747580cc48cfd93d9091584ebe66a2586fc --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/MW/generate.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +python generate_plot.py "DEVICE_DRIVER_MW" +python generate_plot.py "SERVICE_HANDLER_MW" diff --git a/src/common/method_wrappers/results-perf-eval/MW/generate_plot.py b/src/common/method_wrappers/results-perf-eval/MW/generate_plot.py new file mode 100644 index 0000000000000000000000000000000000000000..beae663f671b73b685e5ac8ec2048df35771c862 --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/MW/generate_plot.py @@ -0,0 +1,69 @@ +import enum, sys +import numpy as np +import matplotlib.pyplot as plt + +class PlotName(enum.Enum): + DEVICE_DRIVER_MW = 'dev-drv-mw' + SERVICE_HANDLER_MW = 'srv-hlr-mw' + +plot_name = PlotName.__members__.get(sys.argv[1]) +if plot_name is None: raise Exception('Unsupported plot: {:s}'.format(str(plot_name))) + +PLOTS = { + PlotName.DEVICE_DRIVER_MW: ( + #'Device Driver - MicroWave', '0.0001-100', [ + # ('GetConfig', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,10,172,0,1,0,0,0,0,0,0]), + # ('SetConfig', [89,1,0,0,0,0,0,0,0,0,0,0,0,0,0,6,34,50,1,0,0,0,0,0,0,0]), + # ('DeleteConfig', [90,1,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,4,72,12,0,0,0,0,0,0]), + #]), + 'Device Driver - MicroWave', '0.1-10', [ + ('GetConfig', [0,1,0,10,172,0,1,0]), + ('SetConfig', [0,0,6,34,50,1,0,0]), + ('DeleteConfig', [0,2,3,0,4,72,12,0]), + ]), + PlotName.SERVICE_HANDLER_MW: ( + 'Service Handler - L2NM MicroWave', '1-100', [ + ('SetEndpoint', [0,1,0,1,5,75,6,0]), + ('DeleteEndpoint', [0,0,0,0,1,77,17,0]), + ]), +} + +BINS_RANGES = { + '0.0001-100' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, + 25, 50, 75, 100, 200], + '0.1-10' : [0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10], + '0.0001-1' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1], + '0.0001-0.25' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25], + '1-100' : [1, 2.5, 5, 7.5, 10, 25, 50, 75, 100], + '0.001-100' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 25, 50, 75, 100, 200], + '0.001-7.5' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10], + '0.01-5' : [0, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5], +} + +# plot the cumulative histogram +fig, ax = plt.subplots(figsize=(8, 8)) + +bins = PLOTS[plot_name][1] +if isinstance(bins, str): bins = BINS_RANGES[PLOTS[plot_name][1]] +bins = np.array(bins).astype(float) + +for label, counts in PLOTS[plot_name][2]: + counts = np.array(counts).astype(float) + assert len(bins) == len(counts) + 1 + centroids = (bins[1:] + bins[:-1]) / 2 + ax.hist(centroids, bins=bins, weights=counts, range=(min(bins), max(bins)), density=True, + histtype='step', cumulative=True, label=label) + +ax.grid(True) +ax.legend(loc='upper left') +ax.set_title(PLOTS[plot_name][0]) +ax.set_xlabel('seconds') +ax.set_ylabel('Likelihood of occurrence') +plt.xscale('log') +plt.savefig('{:s}.png'.format(plot_name.value), dpi = (600)) +plt.show() diff --git a/src/common/method_wrappers/results-perf-eval/MW/srv-hlr-mw.png b/src/common/method_wrappers/results-perf-eval/MW/srv-hlr-mw.png new file mode 100644 index 0000000000000000000000000000000000000000..70368ade484fd07310b521b6ea8182b223604922 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/MW/srv-hlr-mw.png differ diff --git a/src/common/method_wrappers/results-perf-eval/OpenConfig/dev-drv-openconfig.png b/src/common/method_wrappers/results-perf-eval/OpenConfig/dev-drv-openconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..7130d5cc721a5b3dd419f0eba1217664aab064d4 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/OpenConfig/dev-drv-openconfig.png differ diff --git a/src/common/method_wrappers/results-perf-eval/OpenConfig/generate.sh b/src/common/method_wrappers/results-perf-eval/OpenConfig/generate.sh new file mode 100755 index 0000000000000000000000000000000000000000..0ecd000fd52dc8b5d40b0b115f09b4e957582240 --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/OpenConfig/generate.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +python generate_plot.py "DEVICE_DRIVER_OPENCONFIG" +python generate_plot.py "SERVICE_HANDLER_OPENCONFIG_L2NM" +python generate_plot.py "SERVICE_HANDLER_OPENCONFIG_L3NM" diff --git a/src/common/method_wrappers/results-perf-eval/OpenConfig/generate_plot.py b/src/common/method_wrappers/results-perf-eval/OpenConfig/generate_plot.py new file mode 100644 index 0000000000000000000000000000000000000000..c6fda331d7782acefd47759d28d7e1d82508efef --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/OpenConfig/generate_plot.py @@ -0,0 +1,74 @@ +import enum, sys +import numpy as np +import matplotlib.pyplot as plt + +class PlotName(enum.Enum): + DEVICE_DRIVER_OPENCONFIG = 'dev-drv-openconfig' + SERVICE_HANDLER_OPENCONFIG_L2NM = 'srv-hlr-openconfig-l2nm' + SERVICE_HANDLER_OPENCONFIG_L3NM = 'srv-hlr-openconfig-l3nm' + +plot_name = PlotName.__members__.get(sys.argv[1]) +if plot_name is None: raise Exception('Unsupported plot: {:s}'.format(str(plot_name))) + +PLOTS = { + PlotName.DEVICE_DRIVER_OPENCONFIG: ( + 'Device Driver - OpenConfig', '0.0001-100', [ + #('GetConfig', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,0,0,0,0]), + #('SetConfig', [127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,43,19,0,0,0,0,0,0]), + #('DeleteConfig', [92,1,0,0,0,0,0,0,0,0,0,0,0,0,5,2,8,71,14,0,0,0,0,0,0,0]), + + ('GetConfig', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,0,0,0,0]), + ('SetConfig', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,43,19,0,0,0,0,0,0]), + ('DeleteConfig', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,8,71,14,0,0,0,0,0,0,0]), + ]), + PlotName.SERVICE_HANDLER_OPENCONFIG_L2NM: ( + 'Service Handler - L2NM OpenConfig', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,10]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14]), + ]), + PlotName.SERVICE_HANDLER_OPENCONFIG_L3NM: ( + 'Service Handler - L3NM OpenConfig', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,17]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20]), + ]), +} + +BINS_RANGES = { + '0.0001-100' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, + 25, 50, 75, 100, 200], + '0.1-10' : [0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10], + '0.0001-1' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1], + '0.0001-0.25' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25], + '1-100' : [1, 2.5, 5, 7.5, 10, 25, 50, 75, 100], + '0.001-100' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 25, 50, 75, 100, 200], + '0.001-7.5' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10], + '0.01-5' : [0, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5], +} + +# plot the cumulative histogram +fig, ax = plt.subplots(figsize=(8, 8)) + +bins = PLOTS[plot_name][1] +if isinstance(bins, str): bins = BINS_RANGES[PLOTS[plot_name][1]] +bins = np.array(bins).astype(float) + +for label, counts in PLOTS[plot_name][2]: + counts = np.array(counts).astype(float) + assert len(bins) == len(counts) + 1 + centroids = (bins[1:] + bins[:-1]) / 2 + ax.hist(centroids, bins=bins, weights=counts, range=(min(bins), max(bins)), density=True, + histtype='step', cumulative=True, label=label) + +ax.grid(True) +ax.legend(loc='upper left') +ax.set_title(PLOTS[plot_name][0]) +ax.set_xlabel('seconds') +ax.set_ylabel('Likelihood of occurrence') +plt.xscale('log') +plt.savefig('{:s}.png'.format(plot_name.value), dpi = (600)) +plt.show() diff --git a/src/common/method_wrappers/results-perf-eval/OpenConfig/srv-hlr-openconfig-l2nm.png b/src/common/method_wrappers/results-perf-eval/OpenConfig/srv-hlr-openconfig-l2nm.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4393a0ee713b0232b2e4eb5bba75f30159f6e9 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/OpenConfig/srv-hlr-openconfig-l2nm.png differ diff --git a/src/common/method_wrappers/results-perf-eval/OpenConfig/srv-hlr-openconfig-l3nm.png b/src/common/method_wrappers/results-perf-eval/OpenConfig/srv-hlr-openconfig-l3nm.png new file mode 100644 index 0000000000000000000000000000000000000000..e4b2d83685dc983cbd2738eecf7064eba74c8e13 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/OpenConfig/srv-hlr-openconfig-l3nm.png differ diff --git a/src/common/method_wrappers/results-perf-eval/TE/te-cdf.py b/src/common/method_wrappers/results-perf-eval/TE/te-cdf.py new file mode 100644 index 0000000000000000000000000000000000000000..60919ba8bb2a1e5976d14bafd727e176cf86b0cd --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/TE/te-cdf.py @@ -0,0 +1,30 @@ +import matplotlib.pyplot as plt + +flow_creation_us = [ + 3.007065,3.007783,3.010780,3.007374,3.006519,3.006668,3.006303,3.006463,3.006758,3.007992,3.012198,3.001413, + 3.007289,3.006241,3.007523,3.007569,3.006643,3.006255,3.007058,3.006111,3.006918,3.007972,3.006829,3.007378, + 3.007666,3.003071,3.006774,3.006060,3.006731,3.005812 +] + +flow_update_us = [ + 3.005123,3.004228,3.003897,3.006692,3.003767,3.003749,3.004626,3.004333,3.004449,3.003895,3.004092,3.003979, + 3.005099,3.213206,3.004625,3.004707,3.004187,3.004609,3.003885,3.004064,3.004308,3.004280,3.004423,3.211980, + 3.004138,3.004394,3.004018,3.004747,3.005719,3.003656 +] + +n_bins = 10 +fig, ax = plt.subplots(figsize=(8, 8)) + +# plot the cumulative histograms +n, bins, _ = ax.hist(flow_creation_us, n_bins, density=True, histtype='step', cumulative=True, label='FlowCreate') +print(n, bins) +n, bins, _ = ax.hist(flow_update_us, n_bins, density=True, histtype='step', cumulative=True, label='FlowUpdate') +print(n, bins) + +ax.grid(True) +ax.legend(loc='lower center') +ax.set_title('TE Flow Management Delay') +ax.set_xlabel('seconds') +ax.set_ylabel('Likelihood of occurrence') +plt.savefig('te-perf-eval.png', dpi = (600)) +plt.show() diff --git a/src/common/method_wrappers/results-perf-eval/TE/te-perf-eval.png b/src/common/method_wrappers/results-perf-eval/TE/te-perf-eval.png new file mode 100644 index 0000000000000000000000000000000000000000..5b2fd8160bddb4322d8fbb22dac950598bf2115b Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/TE/te-perf-eval.png differ diff --git a/src/common/method_wrappers/results-perf-eval/XR/dev-drv-xr-with-outliers.png b/src/common/method_wrappers/results-perf-eval/XR/dev-drv-xr-with-outliers.png new file mode 100644 index 0000000000000000000000000000000000000000..9607ce0436ee962b7fa5b7ed333ca219ef097884 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/XR/dev-drv-xr-with-outliers.png differ diff --git a/src/common/method_wrappers/results-perf-eval/XR/dev-drv-xr.png b/src/common/method_wrappers/results-perf-eval/XR/dev-drv-xr.png new file mode 100644 index 0000000000000000000000000000000000000000..61f7d3e394676a05f240d032ce62124a70d8b8bb Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/XR/dev-drv-xr.png differ diff --git a/src/common/method_wrappers/results-perf-eval/XR/generate.sh b/src/common/method_wrappers/results-perf-eval/XR/generate.sh new file mode 100755 index 0000000000000000000000000000000000000000..eae3eb6d6e615f3be97b2df9f44ce544523ddb72 --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/XR/generate.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +python generate_plot.py "DEVICE_DRIVER_XR" diff --git a/src/common/method_wrappers/results-perf-eval/XR/generate_plot.py b/src/common/method_wrappers/results-perf-eval/XR/generate_plot.py new file mode 100644 index 0000000000000000000000000000000000000000..66110b44400719a796bc86bf6ea1b0c7a1d44224 --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/XR/generate_plot.py @@ -0,0 +1,61 @@ +import enum, sys +import numpy as np +import matplotlib.pyplot as plt + +class PlotName(enum.Enum): + DEVICE_DRIVER_XR = 'dev-drv-xr' + +plot_name = PlotName.__members__.get(sys.argv[1]) +if plot_name is None: raise Exception('Unsupported plot: {:s}'.format(str(plot_name))) + +PLOTS = { + PlotName.DEVICE_DRIVER_XR: ( + #'Device Driver - XR', '0.0001-0.25', [ + # ('GetConfig', [0,0,0,0,0,0,0,0,0,77,1,1,0,0]), + # ('SetConfig', [0,15,17,7,0,0,0,0,0,0,34,3,2,0]), + # ('DeleteConfig', [23,16,0,0,0,0,0,0,0,1,32,5,1,0]), + #]), + 'Device Driver - XR', '0.0001-0.25', [ + ('GetConfig', [0,0,0,0,0,0,0,0,0,77,1,1,0,0]), + ('SetConfig', [0,0,0,0,0,0,0,0,0,0,34,3,2,0]), + ('DeleteConfig', [0,0,0,0,0,0,0,0,0,1,32,5,1,0]), + ]), +} + +BINS_RANGES = { + '0.0001-100' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, + 25, 50, 75, 100, 200], + '0.0001-1' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1], + '0.0001-0.25' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25], + '0.001-100' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 25, 50, 75, 100, 200], + '0.001-7.5' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10], + '0.01-5' : [0, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5], +} + +# plot the cumulative histogram +fig, ax = plt.subplots(figsize=(8, 8)) + +bins = PLOTS[plot_name][1] +if isinstance(bins, str): bins = BINS_RANGES[PLOTS[plot_name][1]] +bins = np.array(bins).astype(float) + +for label, counts in PLOTS[plot_name][2]: + counts = np.array(counts).astype(float) + assert len(bins) == len(counts) + 1 + centroids = (bins[1:] + bins[:-1]) / 2 + ax.hist(centroids, bins=bins, weights=counts, range=(min(bins), max(bins)), density=True, + histtype='step', cumulative=True, label=label) + +ax.grid(True) +ax.legend(loc='upper left') +ax.set_title(PLOTS[plot_name][0]) +ax.set_xlabel('seconds') +ax.set_ylabel('Likelihood of occurrence') +plt.xscale('log') +plt.savefig('{:s}.png'.format(plot_name.value), dpi = (600)) +plt.show() diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-emu-l2nm.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-emu-l2nm.png new file mode 100644 index 0000000000000000000000000000000000000000..84ab8747e2a6ca5153e4b6e02483030ab891a421 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-emu-l2nm.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-emu-l3nm.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-emu-l3nm.png new file mode 100644 index 0000000000000000000000000000000000000000..d37827794618024ddaa553de8d2134b455aa31a0 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-emu-l3nm.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-tapi.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-tapi.png new file mode 100644 index 0000000000000000000000000000000000000000..70b51e144e259191d9d174abfebd5a6ff3a52e57 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-dev-drv-tapi.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-pathcomp-rpc-compute.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-pathcomp-rpc-compute.png new file mode 100644 index 0000000000000000000000000000000000000000..af84e7e9d5866671e9441c1a93b9d2a66a9218c9 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-pathcomp-rpc-compute.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-l2nm-emu.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-l2nm-emu.png new file mode 100644 index 0000000000000000000000000000000000000000..3e58fcbb8d8a25c7bbbd2094a28dad419afbeb02 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-l2nm-emu.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-l3nm-emu.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-l3nm-emu.png new file mode 100644 index 0000000000000000000000000000000000000000..317af9ca13267f313cab9e6d67a3ba068a3993a4 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-l3nm-emu.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-tapi.png b/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-tapi.png new file mode 100644 index 0000000000000000000000000000000000000000..764b4f6cc64db88512b449e91b2ff31d6b260f91 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp1-svc-hdl-tapi.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-connection-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-connection-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..4caa6681993a1850c9e561fed300a16a0d333a87 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-connection-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-device-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-device-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..188d784b68cbc1abb2ea90eaa305863b36cb838a Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-device-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-link-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-link-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3b5ea36e7a278b670699baf7fddf12447510dc Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-link-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-service-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-service-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..74e639b85b70d35c2f0830aa837497646d6b3666 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-service-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-slice-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-slice-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..4060b8ae9b9d2a901b8d0cc2b009ce888f34fab9 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-slice-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-topology-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-topology-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..aae9d07ef4420e53ee4ba3d715f5bf37eae924dd Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-context-topology-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-device-driver-emu.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-device-driver-emu.png new file mode 100644 index 0000000000000000000000000000000000000000..9b6e4d2a47d09f884a1c6e95e5ae27c4df56d55a Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-device-driver-emu.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-device-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-device-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..70182fad226d4a387a13991cfba80a6cbd7d57fe Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-device-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-dlt-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-dlt-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..dae5e567c7395d5e6972a55b5e7053a551da624f Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-dlt-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-pathcomp-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-pathcomp-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..1c48c875f19b3a49238ee473bc265b9358cfbf6a Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-pathcomp-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-service-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-service-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..2c50e199195dec26ac29abf6901103d66d3bca33 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-service-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-slice-rpcs.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-slice-rpcs.png new file mode 100644 index 0000000000000000000000000000000000000000..1292bc5e717634807ce835d481bd08424ef19f2b Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-slice-rpcs.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-svc-hdl-l2nm-emu.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-svc-hdl-l2nm-emu.png new file mode 100644 index 0000000000000000000000000000000000000000..403baefa0ccd07a70c7fd08db964ae30c3a56301 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-svc-hdl-l2nm-emu.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/exp2-svc-hdl-l3nm-emu.png b/src/common/method_wrappers/results-perf-eval/emulated/exp2-svc-hdl-l3nm-emu.png new file mode 100644 index 0000000000000000000000000000000000000000..9c45a0ddf886369fc50a828ded57c26ac6691634 Binary files /dev/null and b/src/common/method_wrappers/results-perf-eval/emulated/exp2-svc-hdl-l3nm-emu.png differ diff --git a/src/common/method_wrappers/results-perf-eval/emulated/generate.sh b/src/common/method_wrappers/results-perf-eval/emulated/generate.sh new file mode 100755 index 0000000000000000000000000000000000000000..f7ed1e31f0382ce1f3b1c89e1ab7de465692614c --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/emulated/generate.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +#python generate_plot.py "EXP1_DEVICE_DRIVER_EMU_L2NM" +#python generate_plot.py "EXP1_DEVICE_DRIVER_EMU_L3NM" +python generate_plot.py "EXP1_DEVICE_DRIVER_TAPI" +#python generate_plot.py "EXP2_DEVICE_DRIVER_EMU" + +# ----- All ------------------------------------------------------------ +#python generate_plot.py "EXP1_DEVICE_DRIVER_EMU_L2NM" +#python generate_plot.py "EXP1_DEVICE_DRIVER_EMU_L3NM" +#python generate_plot.py "EXP1_DEVICE_DRIVER_TAPI" +#python generate_plot.py "EXP1_SERVICE_HANDLER_EMU_L2NM" +#python generate_plot.py "EXP1_SERVICE_HANDLER_EMU_L3NM" +#python generate_plot.py "EXP1_SERVICE_HANDLER_TAPI" +#python generate_plot.py "EXP1_COMP_PATHCOMP_RPC_COMPUTE" +#python generate_plot.py "EXP2_DEVICE_DRIVER_EMU" +#python generate_plot.py "EXP2_SERVICE_HANDLER_EMU_L2NM" +#python generate_plot.py "EXP2_SERVICE_HANDLER_EMU_L3NM" +#python generate_plot.py "EXP2_COMP_CONTEXT_DEVICE_RPCS" +#python generate_plot.py "EXP2_COMP_CONTEXT_LINK_RPCS" +#python generate_plot.py "EXP2_COMP_CONTEXT_SERVICE_RPCS" +#python generate_plot.py "EXP2_COMP_CONTEXT_SLICE_RPCS" +#python generate_plot.py "EXP2_COMP_CONTEXT_TOPOLOGY_RPCS" +#python generate_plot.py "EXP2_COMP_CONTEXT_CONNECTION_RPCS" +#python generate_plot.py "EXP2_COMP_DEVICE_RPCS" +#python generate_plot.py "EXP2_COMP_SERVICE_RPCS" +#python generate_plot.py "EXP2_COMP_SLICE_RPCS" +#python generate_plot.py "EXP2_COMP_PATHCOMP_RPCS" +#python generate_plot.py "EXP2_COMP_DLT_RPCS" diff --git a/src/common/method_wrappers/results-perf-eval/emulated/generate_plot.py b/src/common/method_wrappers/results-perf-eval/emulated/generate_plot.py new file mode 100644 index 0000000000000000000000000000000000000000..74ae49c26b56cae22d812496633a96ea1b595405 --- /dev/null +++ b/src/common/method_wrappers/results-perf-eval/emulated/generate_plot.py @@ -0,0 +1,219 @@ +import enum, sys +import numpy as np +import matplotlib.pyplot as plt + +class PlotName(enum.Enum): + EXP1_DEVICE_DRIVER_EMU_L2NM = 'exp1-dev-drv-emu-l2nm' + EXP1_DEVICE_DRIVER_EMU_L3NM = 'exp1-dev-drv-emu-l3nm' + EXP1_DEVICE_DRIVER_TAPI = 'exp1-dev-drv-tapi' + EXP1_SERVICE_HANDLER_EMU_L2NM = 'exp1-svc-hdl-l2nm-emu' + EXP1_SERVICE_HANDLER_EMU_L3NM = 'exp1-svc-hdl-l3nm-emu' + EXP1_SERVICE_HANDLER_TAPI = 'exp1-svc-hdl-tapi' + EXP1_COMP_PATHCOMP_RPC_COMPUTE = 'exp1-pathcomp-rpc-compute' + + EXP2_DEVICE_DRIVER_EMU = 'exp2-device-driver-emu' + EXP2_SERVICE_HANDLER_EMU_L2NM = 'exp2-svc-hdl-l2nm-emu' + EXP2_SERVICE_HANDLER_EMU_L3NM = 'exp2-svc-hdl-l3nm-emu' + + EXP2_COMP_CONTEXT_DEVICE_RPCS = 'exp2-context-device-rpcs' + EXP2_COMP_CONTEXT_LINK_RPCS = 'exp2-context-link-rpcs' + EXP2_COMP_CONTEXT_SERVICE_RPCS = 'exp2-context-service-rpcs' + EXP2_COMP_CONTEXT_SLICE_RPCS = 'exp2-context-slice-rpcs' + EXP2_COMP_CONTEXT_TOPOLOGY_RPCS = 'exp2-context-topology-rpcs' + EXP2_COMP_CONTEXT_CONNECTION_RPCS = 'exp2-context-connection-rpcs' + EXP2_COMP_DEVICE_RPCS = 'exp2-device-rpcs' + EXP2_COMP_SERVICE_RPCS = 'exp2-service-rpcs' + EXP2_COMP_SLICE_RPCS = 'exp2-slice-rpcs' + EXP2_COMP_PATHCOMP_RPCS = 'exp2-pathcomp-rpcs' + EXP2_COMP_DLT_RPCS = 'exp2-dlt-rpcs' + +plot_name = PlotName.__members__.get(sys.argv[1]) +if plot_name is None: raise Exception('Unsupported plot: {:s}'.format(str(plot_name))) + +PLOTS = { + PlotName.EXP1_DEVICE_DRIVER_EMU_L2NM: ( + 'Device Driver - Emulated (using L2NM services)', '0.0001-1', [ + ('GetConfig', [0,27,252,212,160,261,26,2,3,9,19,11,2,1,0,0,0]), + ('SetConfig', [575,56,112,78,61,82,8,0,2,5,5,0,1, 0,0,0,0]), + ('DeleteConfig', [606,96,150,66,29,31,5,0,0,1,1,0, 0,0,0,0,0]), + ]), + + PlotName.EXP1_DEVICE_DRIVER_EMU_L3NM: ( + 'Device Driver - Emulated (using L3NM services)', '0.0001-1', [ + ('GetConfig', [0,1,40,83,127,460,132,24,13,39,36,31,9,5,1,0,0]), + ('SetConfig', [487,29,110,52,55,171,48,6,6,15,12,8,0,1, 0,0,0]), + ('DeleteConfig', [510,86,79,43,26,120,70,20,6,9,15,8,5,3, 0,0,0]), + ]), + + PlotName.EXP1_DEVICE_DRIVER_TAPI: ( + #'Device Driver - TAPI', '0.0001-1', [ + # ('GetConfig', [0,0,0,0,0,0,0,0,0,1,1,3,10,159,14, 0,0]), + # ('SetConfig', [92,3,1,0,0,0,0,6,11,47,13,13,0,0,0,0,0]), + # ('DeleteConfig', [90,0,0,0,0,0,3,14,25,35,6,11,2,0,0,0,0]), + #]), + 'Device Driver - TAPI', '0.0001-1', [ + ('GetConfig', [0,0,0,0,0,0,0,0,0,1,1,3,10,159,14, 0,0]), + ('SetConfig', [0,0,0,0,0,0,0,6,11,47,13,13,0,0,0,0,0]), + ('DeleteConfig', [0,0,0,0,0,0,3,14,25,35,6,11,2,0,0,0,0]), + ]), + + PlotName.EXP1_SERVICE_HANDLER_EMU_L2NM: ( + 'Service Handler - L2NM Emulated', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,41,35,12,1,0]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,3,29,45,7,0,0]), + ]), + + PlotName.EXP1_SERVICE_HANDLER_EMU_L3NM: ( + 'Service Handler - L3NM Emulated', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,8,27,29,15,11]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,6,22,29,18,11]), + ]), + + PlotName.EXP1_SERVICE_HANDLER_TAPI: ( + 'Service Handler - TAPI', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,79,2,0,0,0,0]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,5,0,3,1,73,12,0,0,0,0]), + ]), + + PlotName.EXP1_COMP_PATHCOMP_RPC_COMPUTE: ( + 'PathComp - Compute RPC', '0.01-5', [ + ('Compute (using L2NM services)', [0,0,20,32,14,22,0]), + ('Compute (using L3NM services)', [0,1,1,10,17,59,2]), + ('Compute (using TAPI services)', [3,70,10,3,2,6,0]), + ]), + + PlotName.EXP2_DEVICE_DRIVER_EMU: ( + 'Device Driver - Emulated', '0.0001-0.25', [ + ('GetConfig', [0,21,198,247,190,332,28,5,3,7,14,8,0,0]), + ('SetConfig', [558,61,139,85,57,117,22,1,2,4,1,5,1,0]), + ('DeleteConfig', [573,123,142,63,30,78,24,2,2,8,5,2,0,0]), + ]), + + PlotName.EXP2_SERVICE_HANDLER_EMU_L2NM: ( + 'Service Handler - L2NM Emulated', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,2,18,15,4,1,2,2,0,0,0]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,1,0,20,20,5,1,0,0,0,0,0]), + ]), + + PlotName.EXP2_SERVICE_HANDLER_EMU_L3NM: ( + 'Service Handler - L3NM Emulated', '0.001-100', [ + ('SetEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,13,24,2,5,4,1,0,0,0]), + ('DeleteEndpoint', [0,0,0,0,0,0,0,0,0,0,0,0,0,11,27,7,3,1,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_CONTEXT_DEVICE_RPCS: ( + 'Context RPCs', '0.001-7.5', [ + ('GetDevice', [0,0,0,0,6,130,348,305,382,578,76,7,6,0,0,0,0]), + ('ListDevices', [0,0,0,0,0,0,0,0,0,4,37,43,8,2,0,0,0]), + ('SetDevice', [0,0,0,0,0,42,236,158,179,380,46,9,0,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_CONTEXT_LINK_RPCS: ( + 'Context RPCs', '0.001-7.5', [ + ('GetLink', [0,1,9,5,1,1,0,0,0,0,0,0,0,0,0,0,0]), + ('ListLinks', [0,0,0,0,0,5,20,23,27,17,2,0,0,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_CONTEXT_SERVICE_RPCS: ( + 'Context RPCs', '0.001-7.5', [ + ('GetService', [124,120,42,55,80,167,62,34,14,33,9,2,1,0,0,0,0]), + ('ListServices', [0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0]), + ('RemoveService', [0,0,3,18,15,29,13,5,1,4,1,0,0,0,0,0,0]), + ('SetService', [6,90,59,51,63,165,70,32,5,12,8,2,0,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_CONTEXT_SLICE_RPCS: ( + 'Context RPCs', '0.001-7.5', [ + ('GetSlice', [30,75,48,24,32,118,56,34,12,19,8,2,0,0,0,0,0]), + ('ListSlices', [0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0]), + ('RemoveSlice', [0,0,2,10,8,14,8,2,1,2,0,0,0,0,0,0,0]), + ('SetSlice', [6,29,22,18,21,70,25,12,11,13,1,0,0,0,0,0,0]), + ('UnsetSlice', [0,12,12,8,1,3,6,3,1,2,0,0,0,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_CONTEXT_TOPOLOGY_RPCS: ( + 'Context RPCs', '0.001-7.5', [ + ('GetTopology', [72,11,0,0,0,2,6,1,0,1,1,0,0,0,0,0,0]), + ('ListTopologies', [0,0,0,0,5,38,25,10,6,10,0,0,0,0,0,0,0]), + ('ListTopologyIds', [1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_CONTEXT_CONNECTION_RPCS: ( + 'Context RPCs', '0.001-7.5', [ + ('ListConnections', [13,21,5,19,23,145,46,27,10,15,4,2,0,1,0,0,0]), + ('ListContextIds', [1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]), + ('RemoveConnection', [0,0,17,17,12,23,11,2,2,6,0,0,0,0,0,0,0]), + ('SetConnection', [0,0,17,26,9,18,4,7,2,5,4,2,0,0,0,0,0]), + ]), + + PlotName.EXP2_COMP_DEVICE_RPCS: ( + 'Device RPCs', '0.001-7.5', [ + ('AddDevice', [0,0,0,0,0,0,0,1,2,4,0,0,0,0,0,0,0]), + ('ConfigureDevice', [0,0,0,0,0,0,0,0,2,140,367,243,127,143,19,9,5]), + ]), + + PlotName.EXP2_COMP_SERVICE_RPCS: ( + 'Service RPCs', '0.001-7.5', [ + ('CreateService', [0,0,0,9,11,32,13,10,4,7,3,2,1,0,0,0,0]), + ('UpdateService', [0,0,0,0,0,0,0,0,0,0,0,0,0,19,41,15,18]), + ('DeleteService', [0,0,0,0,0,0,0,0,0,0,0,0,1,23,45,21,6]), + ]), + + PlotName.EXP2_COMP_SLICE_RPCS: ( + 'Slice RPCs', '0.001-7.5', [ + ('CreateSlice', [0,0,0,0,0,4,5,4,10,11,6,2,1,0,0,0,0]), + ('UpdateSlice', [0,0,0,0,0,0,0,0,0,0,0,0,0,6,20,10,10]), + ('DeleteSice', [0,0,0,0,0,0,0,0,0,0,0,0,0,9,21,15,2]), + ]), + + PlotName.EXP2_COMP_PATHCOMP_RPCS: ( + 'PathComp RPCs', '0.001-7.5', [ + ('Compute', [0,0,0,0,0,0,0,0,0,0,13,43,22,14,0,0,0]), + ]), + + PlotName.EXP2_COMP_DLT_RPCS: ( + 'DLT RPCs', '0.001-7.5', [ + ('RecordDevice', [0,0,0,0,0,0,0,1,4,5,6,6,0,26,71,94,306]), + ('RecordLink', [0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0]), + ('RecordService', [0,0,0,0,0,0,0,0,0,0,0,0,0,5,15,30,184]), + ('RecordSlice', [0,0,0,0,0,0,0,0,2,3,1,2,1,6,19,23,82]), + ]), +} + +BINS_RANGES = { + '0.0001-100' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, + 25, 50, 75, 100, 200], + '0.0001-1' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1], + '0.0001-0.25' : [0, 0.0001, 0.00025, 0.0005, 0.00075, 0.001, 0.0025, 0.005, 0.0075, + 0.01, 0.025, 0.05, 0.075, 0.1, 0.25], + '0.001-100' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 25, 50, 75, 100, 200], + '0.001-7.5' : [0, 0.001, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075, + 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10], + '0.01-5' : [0, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5], +} + +# plot the cumulative histogram +fig, ax = plt.subplots(figsize=(8, 8)) + +bins = PLOTS[plot_name][1] +if isinstance(bins, str): bins = BINS_RANGES[PLOTS[plot_name][1]] +bins = np.array(bins).astype(float) + +for label, counts in PLOTS[plot_name][2]: + counts = np.array(counts).astype(float) + assert len(bins) == len(counts) + 1 + centroids = (bins[1:] + bins[:-1]) / 2 + ax.hist(centroids, bins=bins, weights=counts, range=(min(bins), max(bins)), density=True, + histtype='step', cumulative=True, label=label) + +ax.grid(True) +ax.legend(loc='best') +ax.set_title(PLOTS[plot_name][0]) +ax.set_xlabel('seconds') +ax.set_ylabel('Likelihood of occurrence') +plt.xscale('log') +plt.savefig('{:s}.png'.format(plot_name.value), dpi = (600)) +plt.show() diff --git a/src/common/method_wrappers/tests/DummyDeviceDriver.py b/src/common/method_wrappers/tests/DummyDeviceDriver.py new file mode 100644 index 0000000000000000000000000000000000000000..f4fe1169e8b59f1fd11ee3d7dd1fa85198c43374 --- /dev/null +++ b/src/common/method_wrappers/tests/DummyDeviceDriver.py @@ -0,0 +1,39 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import random, time +from common.perf_eval_method_wrapper.Decorator import MetricsPool, meter_method + +EXCEPTION_RATIO = 0.05 + +METRICS_POOL = MetricsPool(labels={'driver': 'dummy'}) + +class DummyDeviceDriver: + def __init__(self) -> None: + pass + + @meter_method(METRICS_POOL) + def get_config(self): + if random.random() < EXCEPTION_RATIO: raise Exception() + time.sleep(random.random()) + + @meter_method(METRICS_POOL) + def set_config(self): + if random.random() < EXCEPTION_RATIO: raise Exception() + time.sleep(random.random()) + + @meter_method(METRICS_POOL) + def del_config(self): + if random.random() < EXCEPTION_RATIO: raise Exception() + time.sleep(random.random()) diff --git a/src/common/method_wrappers/tests/README.md b/src/common/method_wrappers/tests/README.md new file mode 100644 index 0000000000000000000000000000000000000000..db9c0687098981d5410326c1330294931f496e3c --- /dev/null +++ b/src/common/method_wrappers/tests/README.md @@ -0,0 +1,63 @@ +# Performance Evaluation Method Wrapper + +## Description: + +- enable prometheus addon: +``` +tfs@tfs-vm:~/tfs-ctrl$ microk8s.enable prometheus +``` + +- wait till prometheus becomes enabled (when enabled, press Ctrl+C): +``` +tfs@tfs-vm:~/tfs-ctrl$ watch -n 1 microk8s.status --wait-ready +``` + +- wait till all pods in the monitoring namespace have STATE=Running and READY=X/X (when done, press Ctrl+C): +``` +tfs@tfs-vm:~/tfs-ctrl$ watch -n 1 kubectl get pods --all-namespaces +``` + +- deploy as: +``` +tfs@tfs-vm:~/tfs-ctrl$ source src/common/method_wrappers/tests/deploy_specs.sh +tfs@tfs-vm:~/tfs-ctrl$ ./deploy.sh +``` + +- expose prometheus and grafana + - (required) terminal 1 (grafana UI): `kubectl port-forward -n monitoring service/grafana --address 0.0.0.0 3001:3000` + - (optional) terminal 2 (prometheus UI): `kubectl port-forward -n monitoring service/prometheus-k8s --address 0.0.0.0 9090:9090` + - (optional) terminal 3 (alertmanager UI): `kubectl port-forward -n monitoring service/alertmanager-main --address 0.0.0.0 9093:9093` + +- if using remote server/VM for running MicroK8s and VSCode, forward ports 3001, 9090, 9093 + +- (only used for internal framework debugging) run manual tests over the performance evaluation framework + - terminal 4: + ``` + export PYTHONPATH=/home/tfs/tfs-ctrl/src + python -m common.method_wrappers.tests + ``` + +- log into grafana: + - browse: http://127.0.0.1:3000 + - user/pass: admin/admin + - upload dashboards through "left menu > Dashboards > Manage > Import" + - upload grafana_prometheus_component_rpc.json + - upload grafana_prometheus_device_driver.json + - upload grafana_prometheus_service_handler.json + - watch in real time the dashboard + +- upload topology through WebUI and navigate + - should see histogram changing in Grafana + +## References: +- [Prometheus - Tutorials - Getting Started](https://prometheus.io/docs/tutorials/getting_started/) +- [Prometheus - Tutorials - Understanding metric types](https://prometheus.io/docs/tutorials/understanding_metric_types/) +- [Prometheus - Tutorials - Instrumenting HTTP server in Go](https://prometheus.io/docs/tutorials/instrumenting_http_server_in_go/) +- [Prometheus - Tutorials - Visualizing metrics using Grafana](https://prometheus.io/docs/tutorials/visualizing_metrics_using_grafana/) +- [Prometheus - Tutorials - Alerting based on metrics](https://prometheus.io/docs/tutorials/alerting_based_on_metrics/) +- [Prometheus Operator - Guide](https://www.infracloud.io/blogs/prometheus-operator-helm-guide/) +- [Prometheus Operator - ServiceMonitor definition](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.ServiceMonitor) +- [Prometheus Operator - ServiceMonitor example 1](https://stackoverflow.com/questions/45613660/how-do-you-add-scrape-targets-to-a-prometheus-server-that-was-installed-with-kub) +- [Prometheus Operator - ServiceMonitor example 2](https://stackoverflow.com/questions/52991038/how-to-create-a-servicemonitor-for-prometheus-operator) +- [How to visualize Prometheus histograms in Grafana](https://grafana.com/blog/2020/06/23/how-to-visualize-prometheus-histograms-in-grafana/) +- [Prometheus Histograms with Grafana Heatmaps](https://towardsdatascience.com/prometheus-histograms-with-grafana-heatmaps-d556c28612c7) diff --git a/src/context/proto/__init__.py b/src/common/method_wrappers/tests/__init__.py similarity index 100% rename from src/context/proto/__init__.py rename to src/common/method_wrappers/tests/__init__.py diff --git a/src/common/method_wrappers/tests/__main__.py b/src/common/method_wrappers/tests/__main__.py new file mode 100644 index 0000000000000000000000000000000000000000..505991f61ddb955196218230bfd533d8ea6ddf0d --- /dev/null +++ b/src/common/method_wrappers/tests/__main__.py @@ -0,0 +1,32 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import logging, random +from prometheus_client import start_http_server +from .DummyDeviceDriver import DummyDeviceDriver + +logging.basicConfig(level=logging.DEBUG) +LOGGER = logging.getLogger(__name__) + +def main(): + # Start up the server to expose the metrics + start_http_server(8000) + + ddd = DummyDeviceDriver() + while True: + func = random.choice([ddd.get_config, ddd.set_config, ddd.del_config]) + func() + +if __name__ == '__main__': + main() diff --git a/src/common/method_wrappers/tests/deploy_specs.sh b/src/common/method_wrappers/tests/deploy_specs.sh new file mode 100644 index 0000000000000000000000000000000000000000..238918480ae857e64efb52f652b20ab08a21c2df --- /dev/null +++ b/src/common/method_wrappers/tests/deploy_specs.sh @@ -0,0 +1,26 @@ +# Set the URL of your local Docker registry where the images will be uploaded to. +export TFS_REGISTRY_IMAGE="http://localhost:32000/tfs/" + +# Set the list of components, separated by spaces, you want to build images for, and deploy. +# Supported components are: +# context device automation policy service compute monitoring webui +# interdomain slice pathcomp dlt +# dbscanserving opticalattackmitigator opticalattackdetector +# l3_attackmitigator l3_centralizedattackdetector l3_distributedattackdetector +export TFS_COMPONENTS="context device pathcomp service slice webui" # automation monitoring compute + +# Set the tag you want to use for your images. +export TFS_IMAGE_TAG="dev" + +# Set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE="tfs" + +# Set additional manifest files to be applied after the deployment +export TFS_EXTRA_MANIFESTS="manifests/nginx_ingress_http.yaml manifests/servicemonitors.yaml" + +# Set the new Grafana admin password +export TFS_GRAFANA_PASSWORD="admin123+" + +# If not already set, disable skip-build flag. +# If TFS_SKIP_BUILD is "YES", the containers are not rebuilt-retagged-repushed and existing ones are used. +export TFS_SKIP_BUILD="NO" #${TFS_SKIP_BUILD:-"YES"} diff --git a/src/common/method_wrappers/tests/grafana_prometheus_component_rpc.json b/src/common/method_wrappers/tests/grafana_prometheus_component_rpc.json new file mode 100644 index 0000000000000000000000000000000000000000..b5b857e7573264f26289ba9a72ec5444e4ac71a4 --- /dev/null +++ b/src/common/method_wrappers/tests/grafana_prometheus_component_rpc.json @@ -0,0 +1,426 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 25, + "iteration": 1671297223428, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(tfs_[[component]]_rpc_[[method]]_counter_requests_started_total{pod=~\"[[pod]]\"})", + "interval": "", + "legendFormat": "started", + "queryType": "randomWalk", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(tfs_[[component]]_rpc_[[method]]_counter_requests_completed_total{pod=~\"[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "completed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(tfs_[[component]]_rpc_[[method]]_counter_requests_started_total{pod=~\"[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "failed", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Requests", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:935", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:936", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cards": { + "cardPadding": null, + "cardRound": null + }, + "color": { + "cardColor": "#b4ff00", + "colorScale": "linear", + "colorScheme": "interpolateRdYlGn", + "exponent": 0.5, + "max": null, + "min": 0, + "mode": "opacity" + }, + "dataFormat": "tsbuckets", + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 6 + }, + "heatmap": {}, + "hideZeroBuckets": true, + "highlightCards": true, + "id": 2, + "interval": "60s", + "legend": { + "show": true + }, + "pluginVersion": "7.5.4", + "reverseYBuckets": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(\r\n max_over_time(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket{pod=~\"[[pod]]\"}[1m]) -\r\n min_over_time(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket{pod=~\"[[pod]]\"}[1m])\r\n) by (le)", + "format": "heatmap", + "instant": false, + "interval": "1m", + "intervalFactor": 1, + "legendFormat": "{{le}}", + "queryType": "randomWalk", + "refId": "A" + } + ], + "title": "Histogram", + "tooltip": { + "show": true, + "showHistogram": true + }, + "type": "heatmap", + "xAxis": { + "show": true + }, + "xBucketNumber": null, + "xBucketSize": null, + "yAxis": { + "decimals": null, + "format": "s", + "logBase": 1, + "max": null, + "min": null, + "show": true, + "splitFactor": null + }, + "yBucketBound": "auto", + "yBucketNumber": null, + "yBucketSize": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 14 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(tfs_[[component]]_rpc_[[method]]_histogram_duration_sum{pod=~\"[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "total time", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Exec Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:407", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:408", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5s", + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "selected": false, + "text": "context", + "value": "context" + }, + "datasource": "prometheus", + "definition": "metrics(tfs_)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Component", + "multi": false, + "name": "component", + "options": [], + "query": { + "query": "metrics(tfs_)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "/tfs_(.+)_rpc_.*/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": "", + "current": { + "selected": false, + "text": "getcontext", + "value": "getcontext" + }, + "datasource": "prometheus", + "definition": "metrics(tfs_[[component]]_rpc_)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Method", + "multi": false, + "name": "method", + "options": [], + "query": { + "query": "metrics(tfs_[[component]]_rpc_)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "/tfs_[[component]]_rpc_(.+)_histogram_duration_bucket/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "prometheus", + "definition": "label_values(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket, pod)", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Pod", + "multi": true, + "name": "pod", + "options": [], + "query": { + "query": "label_values(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket, pod)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "TFS / Component RPCs", + "uid": "KKxzxIFVz", + "version": 21 +} \ No newline at end of file diff --git a/src/common/method_wrappers/tests/grafana_prometheus_device_driver.json b/src/common/method_wrappers/tests/grafana_prometheus_device_driver.json new file mode 100644 index 0000000000000000000000000000000000000000..2926a409b3b77b16c4e7b5d86ecd7d56f6acdebc --- /dev/null +++ b/src/common/method_wrappers/tests/grafana_prometheus_device_driver.json @@ -0,0 +1,431 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 26, + "iteration": 1671318718779, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(tfs_device_driver_[[method]]_counter_requests_started_total{driver=~\"[[driver]]\", pod=~\"deviceservice-[[pod]]\"})", + "interval": "", + "legendFormat": "started", + "queryType": "randomWalk", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(tfs_device_driver_[[method]]_counter_requests_completed_total{driver=~\"[[driver]]\", pod=~\"deviceservice-[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "completed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(tfs_device_driver_[[method]]_counter_requests_failed_total{driver=~\"[[driver]]\", pod=~\"deviceservice-[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "failed", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Requests", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:864", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:865", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cards": { + "cardPadding": null, + "cardRound": null + }, + "color": { + "cardColor": "#b4ff00", + "colorScale": "linear", + "colorScheme": "interpolateRdYlGn", + "exponent": 0.5, + "max": null, + "min": 0, + "mode": "opacity" + }, + "dataFormat": "tsbuckets", + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 6 + }, + "heatmap": {}, + "hideZeroBuckets": true, + "highlightCards": true, + "id": 2, + "interval": "60s", + "legend": { + "show": true + }, + "pluginVersion": "7.5.4", + "reverseYBuckets": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(\r\n max_over_time(tfs_device_driver_[[method]]_histogram_duration_bucket{driver=~\"[[driver]]\", pod=~\"deviceservice-[[pod]]\"}[1m]) -\r\n min_over_time(tfs_device_driver_[[method]]_histogram_duration_bucket{driver=~\"[[driver]]\", pod=~\"deviceservice-[[pod]]\"}[1m])\r\n) by (le)", + "format": "heatmap", + "instant": false, + "interval": "60s", + "intervalFactor": 1, + "legendFormat": "{{le}}", + "queryType": "randomWalk", + "refId": "A" + } + ], + "timeFrom": null, + "title": "Histogram", + "tooltip": { + "show": true, + "showHistogram": true + }, + "type": "heatmap", + "xAxis": { + "show": true + }, + "xBucketNumber": null, + "xBucketSize": null, + "yAxis": { + "decimals": null, + "format": "s", + "logBase": 1, + "max": null, + "min": null, + "show": true, + "splitFactor": null + }, + "yBucketBound": "auto", + "yBucketNumber": null, + "yBucketSize": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 14 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(tfs_device_driver_[[method]]_histogram_duration_sum{driver=~\"[[driver]]\", pod=~\"deviceservice-[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "total time", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Exec Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:407", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:408", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5s", + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": "", + "current": { + "selected": false, + "text": "setconfig", + "value": "setconfig" + }, + "datasource": "prometheus", + "definition": "metrics(tfs_device_driver_.+)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Method", + "multi": false, + "name": "method", + "options": [], + "query": { + "query": "metrics(tfs_device_driver_.+)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "/tfs_device_driver_(.+config)_histogram_duration_bucket/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "prometheus", + "definition": "label_values(tfs_device_driver_[[method]]_histogram_duration_bucket, driver)", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Driver", + "multi": true, + "name": "driver", + "options": [], + "query": { + "query": "label_values(tfs_device_driver_[[method]]_histogram_duration_bucket, driver)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "prometheus", + "definition": "label_values(tfs_device_driver_[[method]]_histogram_duration_bucket, pod)", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Pod", + "multi": true, + "name": "pod", + "options": [], + "query": { + "query": "label_values(tfs_device_driver_[[method]]_histogram_duration_bucket, pod)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "/deviceservice-(.*)/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "TFS / Device / Driver", + "uid": "eAg-wsOVk", + "version": 30 +} \ No newline at end of file diff --git a/src/common/method_wrappers/tests/grafana_prometheus_service_handler.json b/src/common/method_wrappers/tests/grafana_prometheus_service_handler.json new file mode 100644 index 0000000000000000000000000000000000000000..48e770afe4bba9c2eb5df76d3532bf35d6cfe192 --- /dev/null +++ b/src/common/method_wrappers/tests/grafana_prometheus_service_handler.json @@ -0,0 +1,432 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 27, + "iteration": 1671319012315, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(tfs_service_handler_[[method]]_counter_requests_started_total{handler=~\"[[handler]]\", pod=~\"serviceservice-[[pod]]\"})", + "instant": false, + "interval": "", + "legendFormat": "started", + "queryType": "randomWalk", + "refId": "A" + }, + { + "exemplar": true, + "expr": "sum(tfs_service_handler_[[method]]_counter_requests_completed_total{handler=~\"[[handler]]\", pod=~\"serviceservice-[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "completed", + "refId": "B" + }, + { + "exemplar": true, + "expr": "sum(tfs_service_handler_[[method]]_counter_requests_failed_total{handler=~\"[[handler]]\", pod=~\"serviceservice-[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "failed", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Requests", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:935", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:936", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cards": { + "cardPadding": null, + "cardRound": null + }, + "color": { + "cardColor": "#b4ff00", + "colorScale": "linear", + "colorScheme": "interpolateRdYlGn", + "exponent": 0.5, + "max": null, + "min": 0, + "mode": "opacity" + }, + "dataFormat": "tsbuckets", + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 6 + }, + "heatmap": {}, + "hideZeroBuckets": true, + "highlightCards": true, + "id": 2, + "interval": "60s", + "legend": { + "show": true + }, + "pluginVersion": "7.5.4", + "reverseYBuckets": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(\r\n max_over_time(tfs_service_handler_[[method]]_histogram_duration_bucket{handler=~\"[[handler]]\", pod=~\"serviceservice-[[pod]]\"}[1m]) -\r\n min_over_time(tfs_service_handler_[[method]]_histogram_duration_bucket{handler=~\"[[handler]]\", pod=~\"serviceservice-[[pod]]\"}[1m])\r\n) by (le)", + "format": "heatmap", + "instant": false, + "interval": "1m", + "intervalFactor": 1, + "legendFormat": "{{le}}", + "queryType": "randomWalk", + "refId": "A" + } + ], + "timeFrom": null, + "title": "Histogram", + "tooltip": { + "show": true, + "showHistogram": true + }, + "type": "heatmap", + "xAxis": { + "show": true + }, + "xBucketNumber": null, + "xBucketSize": null, + "yAxis": { + "decimals": null, + "format": "s", + "logBase": 1, + "max": null, + "min": null, + "show": true, + "splitFactor": null + }, + "yBucketBound": "auto", + "yBucketNumber": null, + "yBucketSize": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prometheus", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 14 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(tfs_service_handler_[[method]]_histogram_duration_sum{handler=~\"[[handler]]\", pod=~\"serviceservice-[[pod]]\"})", + "hide": false, + "interval": "", + "legendFormat": "total time", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Exec Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:407", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:408", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5s", + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": "", + "current": { + "selected": false, + "text": "setendpoint", + "value": "setendpoint" + }, + "datasource": "prometheus", + "definition": "metrics(tfs_service_handler_.+)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Method", + "multi": false, + "name": "method", + "options": [], + "query": { + "query": "metrics(tfs_service_handler_.+)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "/tfs_service_handler_(.+)_histogram_duration_bucket/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "prometheus", + "definition": "label_values(tfs_service_handler_[[method]]_histogram_duration_bucket, handler)", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Handler", + "multi": true, + "name": "handler", + "options": [], + "query": { + "query": "label_values(tfs_service_handler_[[method]]_histogram_duration_bucket, handler)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "prometheus", + "definition": "label_values(tfs_service_handler_[[method]]_histogram_duration_bucket, pod)", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Pod", + "multi": true, + "name": "pod", + "options": [], + "query": { + "query": "label_values(tfs_service_handler_[[method]]_histogram_duration_bucket, pod)", + "refId": "StandardVariableQuery" + }, + "refresh": 2, + "regex": "/serviceservice-(.*)/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "TFS / Service / Handler", + "uid": "DNOhOIF4k", + "version": 16 +} \ No newline at end of file diff --git a/src/common/method_wrappers/tests/old/docker_grafana.sh b/src/common/method_wrappers/tests/old/docker_grafana.sh new file mode 100644 index 0000000000000000000000000000000000000000..2a1484d5504c69f08b23d652879f4c6bace44548 --- /dev/null +++ b/src/common/method_wrappers/tests/old/docker_grafana.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +docker create -it --name=prometheus -p 9090:9090 \ + -v /home/tfs/tfs-ctrl/test-prom-cli/prometheus.yml:/etc/prometheus/prometheus.yml \ + prom/prometheus + +docker create -it --name=grafana -p 3000:3000 \ + grafana/grafana diff --git a/src/common/method_wrappers/tests/old/prometheus.yml b/src/common/method_wrappers/tests/old/prometheus.yml new file mode 100644 index 0000000000000000000000000000000000000000..af2849209ab75eef57d41d0489bf695baa6d5fde --- /dev/null +++ b/src/common/method_wrappers/tests/old/prometheus.yml @@ -0,0 +1,23 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +global: + scrape_interval: 15s # when Prometheus is pulling data from exporters etc + evaluation_interval: 30s # time between each evaluation of Prometheus' alerting rules + +scrape_configs: +- job_name: ddd # your project name + static_configs: + - targets: + - 172.17.0.1:8000 diff --git a/src/common/method_wrappers/tests/prometheus_queries.txt b/src/common/method_wrappers/tests/prometheus_queries.txt new file mode 100644 index 0000000000000000000000000000000000000000..9eb69e970aa1daffc0a491734dad5b381051e994 --- /dev/null +++ b/src/common/method_wrappers/tests/prometheus_queries.txt @@ -0,0 +1,63 @@ +TFS/Components: +--------------- + +variables: +name=component + query=metrics(tfs_) + regex=/tfs_(.+)_rpc_.*/ +name=method + query=metrics(tfs_[[component]]_rpc_) + regex=/tfs_[[component]]_rpc_(.+)_histogram_duration_bucket/ + +plots: +tfs_[[component]]_rpc_[[method]]_counter_requests_started_total +tfs_[[component]]_rpc_[[method]]_counter_requests_completed_total +tfs_[[component]]_rpc_[[method]]_counter_requests_failed_total +tfs_[[component]]_rpc_[[method]]_histogram_duration_sum +#sum(increase(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket[$__rate_interval])) by (le) +sum( + max_over_time(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket{pod=~"[[pod]]"}[1m]) - + min_over_time(tfs_[[component]]_rpc_[[method]]_histogram_duration_bucket{pod=~"[[pod]]"}[1m]) +) by (le) + + +TFS/Device/Driver: +------------------ + +variables: +name=method + query=metrics(tfs_device_driver_.+) + regex=/tfs_device_driver_(.+config)_histogram_duration_bucket/ +name=driver + query=label_values(tfs_device_driver_[[method]]_histogram_duration_bucket, driver) + regex= + +plots: +tfs_device_driver_[[method]]_counter_requests_started_total{driver="[[driver]]"} +tfs_device_driver_[[method]]_counter_requests_completed_total{driver="[[driver]]"} +tfs_device_driver_[[method]]_counter_requests_failed_total{driver="[[driver]]"} +tfs_device_driver_[[method]]_histogram_duration_sum{driver="[[driver]]"} +#sum(increase(tfs_device_driver_[[method]]_histogram_duration_bucket{driver="[[driver]]"}[$__rate_interval])) by (le) +sum( + max_over_time(tfs_device_driver_[[method]]_histogram_duration_bucket{driver="[[driver]]", pod=~"deviceservice-[[pod]]"}[1m]) - + min_over_time(tfs_device_driver_[[method]]_histogram_duration_bucket{driver="[[driver]]", pod=~"deviceservice-[[pod]]"}[1m]) +) by (le) + +variables: +name=method + query=metrics(tfs_service_handler_.+) + regex=/tfs_service_handler_(.+config)_histogram_duration_bucket/ +name=driver + query=label_values(tfs_service_handler_[[method]]_histogram_duration_bucket, handler) + regex= + +plots: +tfs_service_handler_[[method]]_counter_requests_started_total{handler="[[handler]]"} +tfs_service_handler_[[method]]_counter_requests_completed_total{handler="[[handler]]"} +tfs_service_handler_[[method]]_counter_requests_failed_total{handler="[[handler]]"} +tfs_service_handler_[[method]]_histogram_duration_sum{handler="[[handler]]"} +#sum(increase(tfs_service_handler_[[method]]_histogram_duration_bucket{handler="[[handler]]"}[$__rate_interval])) by (le) +sum( + max_over_time(tfs_service_handler_[[method]]_histogram_duration_bucket{handler=~"[[handler]]", pod=~"serviceservice-[[pod]]"}[1m]) - + min_over_time(tfs_service_handler_[[method]]_histogram_duration_bucket{handler=~"[[handler]]", pod=~"serviceservice-[[pod]]"}[1m]) +) by (le) diff --git a/src/common/rpc_method_wrapper/tests/test_unitary.py b/src/common/method_wrappers/tests/test_unitary.py similarity index 50% rename from src/common/rpc_method_wrapper/tests/test_unitary.py rename to src/common/method_wrappers/tests/test_unitary.py index c8fc7a2aa187dcb905a8c230b047ffb1171d2ccd..95e40f6411f9ced557f79dca8f907d1d44ed0fac 100644 --- a/src/common/rpc_method_wrapper/tests/test_unitary.py +++ b/src/common/method_wrappers/tests/test_unitary.py @@ -13,24 +13,15 @@ # limitations under the License. import grpc, logging, time -from common.rpc_method_wrapper.Decorator import create_metrics, safe_and_metered_rpc_method +from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method logging.basicConfig(level=logging.DEBUG) LOGGER = logging.getLogger(__name__) +METRICS_POOL = MetricsPool('Context', 'RPC') def test_database_instantiation(): - SERVICE_NAME = 'Context' - METHOD_NAMES = [ - 'ListContextIds', 'ListContexts', 'GetContext', 'SetContext', 'RemoveContext', 'GetContextEvents', - 'ListTopologyIds', 'ListTopologies', 'GetTopology', 'SetTopology', 'RemoveTopology', 'GetTopologyEvents', - 'ListDeviceIds', 'ListDevices', 'GetDevice', 'SetDevice', 'RemoveDevice', 'GetDeviceEvents', - 'ListLinkIds', 'ListLinks', 'GetLink', 'SetLink', 'RemoveLink', 'GetLinkEvents', - 'ListServiceIds', 'ListServices', 'GetService', 'SetService', 'RemoveService', 'GetServiceEvents', - ] - METRICS = create_metrics(SERVICE_NAME, METHOD_NAMES) - class TestServiceServicerImpl: - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetTopology(self, request, grpc_context : grpc.ServicerContext): print('doing funny things') time.sleep(0.1) @@ -39,6 +30,7 @@ def test_database_instantiation(): tssi = TestServiceServicerImpl() tssi.GetTopology(1, 2) - for metric_name,metric in METRICS.items(): - if 'GETTOPOLOGY_' not in metric_name: continue - print(metric_name, metric._child_samples()) # pylint: disable=protected-access + for metric_name,metric in METRICS_POOL.metrics.items(): + if 'TFS_CONTEXT_RPC_GETTOPOLOGY_' not in metric_name: continue + print(metric_name, metric._child_samples()) + raise Exception() diff --git a/src/common/orm/HighLevel.py b/src/common/orm/HighLevel.py index a5bdeae3e9607767b5215f6ff87cb0d8624918d0..3a4b0d6618d4b6ddc8ba185d65b796533a8bbc10 100644 --- a/src/common/orm/HighLevel.py +++ b/src/common/orm/HighLevel.py @@ -13,7 +13,7 @@ # limitations under the License. from typing import Any, Dict, List, Optional, Set, Tuple -from common.rpc_method_wrapper.ServiceExceptions import NotFoundException +from common.method_wrappers.ServiceExceptions import NotFoundException from common.orm.Database import Database from common.orm.backend.Tools import key_to_str from common.orm.fields.ForeignKeyField import ForeignKeyField diff --git a/src/common/proto b/src/common/proto new file mode 120000 index 0000000000000000000000000000000000000000..0ae252a7824cad03d85fa60224b87d8c779f1588 --- /dev/null +++ b/src/common/proto @@ -0,0 +1 @@ +../../proto/src/python \ No newline at end of file diff --git a/src/common/rpc_method_wrapper/Decorator.py b/src/common/rpc_method_wrapper/Decorator.py deleted file mode 100644 index 31dc4b82bdaa8762b1dee5af247b3f8b7b9af2af..0000000000000000000000000000000000000000 --- a/src/common/rpc_method_wrapper/Decorator.py +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -import grpc, logging -from enum import Enum -from typing import Dict, List -from prometheus_client import Counter, Histogram -from prometheus_client.metrics import MetricWrapperBase -from common.tools.grpc.Tools import grpc_message_to_json_string -from .ServiceExceptions import ServiceException - -class RequestConditionEnum(Enum): - STARTED = 'started' - COMPLETED = 'completed' - FAILED = 'failed' - -def get_counter_requests(method_name : str, request_condition : RequestConditionEnum) -> Counter: - str_request_condition = request_condition.value - name = '{:s}_counter_requests_{:s}'.format(method_name.replace(':', '_'), str_request_condition) - description = '{:s} counter of requests {:s}'.format(method_name, str_request_condition) - return Counter(name, description) - -def get_histogram_duration(method_name : str) -> Histogram: - name = '{:s}_histogram_duration'.format(method_name.replace(':', '_')) - description = '{:s} histogram of request duration'.format(method_name) - return Histogram(name, description) - -METRIC_TEMPLATES = { - '{:s}_COUNTER_STARTED' : lambda method_name: get_counter_requests (method_name, RequestConditionEnum.STARTED), - '{:s}_COUNTER_COMPLETED' : lambda method_name: get_counter_requests (method_name, RequestConditionEnum.COMPLETED), - '{:s}_COUNTER_FAILED' : lambda method_name: get_counter_requests (method_name, RequestConditionEnum.FAILED), - '{:s}_HISTOGRAM_DURATION': lambda method_name: get_histogram_duration(method_name), -} - -def create_metrics(service_name : str, method_names : List[str]) -> Dict[str, MetricWrapperBase]: - metrics = {} - for method_name in method_names: - for template_name, template_generator_function in METRIC_TEMPLATES.items(): - metric_name = template_name.format(method_name).upper() - metrics[metric_name] = template_generator_function('{:s}:{:s}'.format(service_name, method_name)) - return metrics - -def safe_and_metered_rpc_method(metrics : Dict[str, MetricWrapperBase], logger : logging.Logger): - def outer_wrapper(func): - function_name = func.__name__ - HISTOGRAM_DURATION : Histogram = metrics.get('{:s}_HISTOGRAM_DURATION'.format(function_name).upper()) - COUNTER_STARTED : Counter = metrics.get('{:s}_COUNTER_STARTED' .format(function_name).upper()) - COUNTER_COMPLETED : Counter = metrics.get('{:s}_COUNTER_COMPLETED' .format(function_name).upper()) - COUNTER_FAILED : Counter = metrics.get('{:s}_COUNTER_FAILED' .format(function_name).upper()) - - @HISTOGRAM_DURATION.time() - def inner_wrapper(self, request, grpc_context : grpc.ServicerContext): - COUNTER_STARTED.inc() - try: - logger.debug('{:s} request: {:s}'.format(function_name, grpc_message_to_json_string(request))) - reply = func(self, request, grpc_context) - logger.debug('{:s} reply: {:s}'.format(function_name, grpc_message_to_json_string(reply))) - COUNTER_COMPLETED.inc() - return reply - except ServiceException as e: # pragma: no cover (ServiceException not thrown) - if e.code not in [grpc.StatusCode.NOT_FOUND, grpc.StatusCode.ALREADY_EXISTS]: - # Assume not found or already exists is just a condition, not an error - logger.exception('{:s} exception'.format(function_name)) - COUNTER_FAILED.inc() - grpc_context.abort(e.code, e.details) - except Exception as e: # pragma: no cover, pylint: disable=broad-except - logger.exception('{:s} exception'.format(function_name)) - COUNTER_FAILED.inc() - grpc_context.abort(grpc.StatusCode.INTERNAL, str(e)) - return inner_wrapper - return outer_wrapper diff --git a/src/common/tests/EventTools.py b/src/common/tests/EventTools.py index 0b994fc858aafe61b6e99458e84af1e4feb36da2..d0f82841395ea77a7c2483099458760769f8c535 100644 --- a/src/common/tests/EventTools.py +++ b/src/common/tests/EventTools.py @@ -14,10 +14,10 @@ import json, logging from typing import Dict, List, Tuple +from common.proto.context_pb2 import ( + ConnectionEvent, ContextEvent, DeviceEvent, EventTypeEnum, LinkEvent, ServiceEvent, SliceEvent, TopologyEvent) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.EventsCollector import EventsCollector -from context.proto.context_pb2 import ( - ConnectionEvent, ContextEvent, DeviceEvent, EventTypeEnum, LinkEvent, ServiceEvent, TopologyEvent) LOGGER = logging.getLogger(__name__) @@ -32,6 +32,7 @@ CLASSNAME_CONTEXT_EVENT = class_to_classname(ContextEvent) CLASSNAME_TOPOLOGY_EVENT = class_to_classname(TopologyEvent) CLASSNAME_DEVICE_EVENT = class_to_classname(DeviceEvent) CLASSNAME_LINK_EVENT = class_to_classname(LinkEvent) +CLASSNAME_SLICE_EVENT = class_to_classname(SliceEvent) CLASSNAME_SERVICE_EVENT = class_to_classname(ServiceEvent) CLASSNAME_CONNECTION_EVENT = class_to_classname(ConnectionEvent) @@ -40,6 +41,7 @@ EVENT_CLASS_NAME__TO__ENTITY_ID_SELECTOR = { CLASSNAME_TOPOLOGY_EVENT : lambda event: event.topology_id, CLASSNAME_DEVICE_EVENT : lambda event: event.device_id, CLASSNAME_LINK_EVENT : lambda event: event.link_id, + CLASSNAME_SLICE_EVENT : lambda event: event.slice_id, CLASSNAME_SERVICE_EVENT : lambda event: event.service_id, CLASSNAME_CONNECTION_EVENT: lambda event: event.connection_id, } diff --git a/src/common/tests/LoadScenario.py b/src/common/tests/LoadScenario.py new file mode 100644 index 0000000000000000000000000000000000000000..3c3940e67b5772f3ba3ec0634c49f26b92bbc571 --- /dev/null +++ b/src/common/tests/LoadScenario.py @@ -0,0 +1,50 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import logging +from common.tools.descriptor.Loader import DescriptorLoader, compose_notifications +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient +from slice.client.SliceClient import SliceClient + +LOGGER = logging.getLogger(__name__) +LOGGERS = { + 'success': LOGGER.info, + 'danger' : LOGGER.error, + 'error' : LOGGER.error, +} + +def load_scenario_from_descriptor( + descriptor_file : str, context_client : ContextClient, device_client : DeviceClient, + service_client : ServiceClient, slice_client : SliceClient +) -> DescriptorLoader: + with open(descriptor_file, 'r', encoding='UTF-8') as f: + descriptors = f.read() + + descriptor_loader = DescriptorLoader( + descriptors, + context_client=context_client, device_client=device_client, + service_client=service_client, slice_client=slice_client) + results = descriptor_loader.process() + + num_errors = 0 + for message,level in compose_notifications(results): + LOGGERS.get(level)(message) + if level != 'success': num_errors += 1 + if num_errors > 0: + MSG = 'Failed to load descriptors in file {:s}' + raise Exception(MSG.format(str(descriptor_file))) + + return descriptor_loader \ No newline at end of file diff --git a/src/common/tests/MockMessageBroker.py b/src/common/tests/MockMessageBroker.py new file mode 100644 index 0000000000000000000000000000000000000000..851c06766fd705bee746840f3d4ce9c4f4ac404d --- /dev/null +++ b/src/common/tests/MockMessageBroker.py @@ -0,0 +1,61 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import json, logging, threading, time +from queue import Queue, Empty +from typing import Dict, Iterator, NamedTuple, Set + +LOGGER = logging.getLogger(__name__) +CONSUME_TIMEOUT = 0.1 # seconds + +class Message(NamedTuple): + topic: str + content: str + +class MockMessageBroker: + def __init__(self): + self._terminate = threading.Event() + self._topic__to__queues : Dict[str, Set[Queue]] = {} + + def publish(self, message : Message) -> None: + queues = self._topic__to__queues.get(message.topic, None) + if queues is None: return + for queue in queues: queue.put_nowait((message.topic, message.content)) + + def consume( + self, topic_names : Set[str], block : bool = True, consume_timeout : float = CONSUME_TIMEOUT + ) -> Iterator[Message]: + queue = Queue() + for topic_name in topic_names: + self._topic__to__queues.setdefault(topic_name, set()).add(queue) + + while not self._terminate.is_set(): + try: + message = queue.get(block=block, timeout=consume_timeout) + except Empty: + continue + if message is None: continue + yield Message(*message) + + for topic_name in topic_names: + self._topic__to__queues.get(topic_name, set()).discard(queue) + + def terminate(self): + self._terminate.set() + +def notify_event(messagebroker, topic_name, event_type, fields) -> None: + event = {'event': {'timestamp': time.time(), 'event_type': event_type}} + for field_name, field_value in fields.items(): + event[field_name] = field_value + messagebroker.publish(Message(topic_name, json.dumps(event))) diff --git a/src/common/tests/MockService.py b/src/common/tests/MockService.py deleted file mode 100644 index 25f36e009be3a65c1ba9c18c7707742a75253a75..0000000000000000000000000000000000000000 --- a/src/common/tests/MockService.py +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -import grpc, logging -from concurrent import futures - -GRPC_MAX_WORKERS = 10 -GRPC_GRACE_PERIOD = 60 - -class MockService: - def __init__(self, address, port, max_workers=GRPC_MAX_WORKERS, grace_period=GRPC_GRACE_PERIOD, cls_name=__name__): - self.logger = logging.getLogger(cls_name) - self.address = address - self.port = port - self.endpoint = None - self.max_workers = max_workers - self.grace_period = grace_period - self.pool = None - self.server = None - - def install_servicers(self): - pass - - def start(self): - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(self.port)) - self.logger.info('Starting Service (tentative endpoint: {:s}, max_workers: {:s})...'.format( - str(self.endpoint), str(self.max_workers))) - - self.pool = futures.ThreadPoolExecutor(max_workers=self.max_workers) - self.server = grpc.server(self.pool) # , interceptors=(tracer_interceptor,)) - - self.install_servicers() - - port = self.server.add_insecure_port(self.endpoint) - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(port)) - self.logger.info('Listening on {:s}...'.format(str(self.endpoint))) - self.server.start() - - self.logger.debug('Service started') - - def stop(self): - self.logger.debug('Stopping service (grace period {:s} seconds)...'.format(str(self.grace_period))) - self.server.stop(self.grace_period) - self.logger.debug('Service stopped') diff --git a/src/common/tests/MockServicerImpl_Context.py b/src/common/tests/MockServicerImpl_Context.py index 38f932f4dc9638abf3e526e6867800dd01cca154..27ff45fc58c675fe28090a186059244e2f1178c1 100644 --- a/src/common/tests/MockServicerImpl_Context.py +++ b/src/common/tests/MockServicerImpl_Context.py @@ -12,18 +12,31 @@ # See the License for the specific language governing permissions and # limitations under the License. -import grpc, logging +import grpc, json, logging from typing import Any, Dict, Iterator, List -from common.tools.grpc.Tools import grpc_message_to_json_string -from context.proto.context_pb2 import ( - Connection, ConnectionEvent, ConnectionId, ConnectionIdList, ConnectionList, Context, ContextEvent, ContextId, - ContextIdList, ContextList, Device, DeviceEvent, DeviceId, DeviceIdList, DeviceList, Empty, Link, LinkEvent, - LinkId, LinkIdList, LinkList, Service, ServiceEvent, ServiceId, ServiceIdList, ServiceList, Topology, - TopologyEvent, TopologyId, TopologyIdList, TopologyList) -from context.proto.context_pb2_grpc import ContextServiceServicer +from common.proto.context_pb2 import ( + Connection, ConnectionEvent, ConnectionId, ConnectionIdList, ConnectionList, + Context, ContextEvent, ContextId, ContextIdList, ContextList, + Device, DeviceEvent, DeviceId, DeviceIdList, DeviceList, + Empty, EventTypeEnum, + Link, LinkEvent, LinkId, LinkIdList, LinkList, + Service, ServiceEvent, ServiceId, ServiceIdList, ServiceList, + Slice, SliceEvent, SliceId, SliceIdList, SliceList, + Topology, TopologyEvent, TopologyId, TopologyIdList, TopologyList) +from common.proto.context_pb2_grpc import ContextServiceServicer +from common.tests.MockMessageBroker import MockMessageBroker, notify_event +from common.tools.grpc.Tools import grpc_message_to_json, grpc_message_to_json_string LOGGER = logging.getLogger(__name__) +TOPIC_CONNECTION = 'connection' +TOPIC_CONTEXT = 'context' +TOPIC_TOPOLOGY = 'topology' +TOPIC_DEVICE = 'device' +TOPIC_LINK = 'link' +TOPIC_SERVICE = 'service' +TOPIC_SLICE = 'slice' + def get_container(database : Dict[str, Dict[str, Any]], container_name : str) -> Dict[str, Any]: return database.setdefault(container_name, {}) @@ -31,10 +44,15 @@ def get_entries(database : Dict[str, Dict[str, Any]], container_name : str) -> L container = get_container(database, container_name) return [container[entry_uuid] for entry_uuid in sorted(container.keys())] +def has_entry(database : Dict[str, Dict[str, Any]], container_name : str, entry_uuid : str) -> Any: + LOGGER.debug('[has_entry] BEFORE database={:s}'.format(str(database))) + container = get_container(database, container_name) + return entry_uuid in container + def get_entry( context : grpc.ServicerContext, database : Dict[str, Dict[str, Any]], container_name : str, entry_uuid : str ) -> Any: - LOGGER.debug('[get_entry] AFTER database={:s}'.format(str(database))) + LOGGER.debug('[get_entry] BEFORE database={:s}'.format(str(database))) container = get_container(database, container_name) if entry_uuid not in container: context.abort(grpc.StatusCode.NOT_FOUND, str('{:s}({:s}) not found'.format(container_name, entry_uuid))) @@ -60,8 +78,27 @@ class MockServicerImpl_Context(ContextServiceServicer): def __init__(self): LOGGER.info('[__init__] Creating Servicer...') self.database : Dict[str, Any] = {} + self.msg_broker = MockMessageBroker() LOGGER.info('[__init__] Servicer Created') + # ----- Common ----------------------------------------------------------------------------------------------------- + + def _set(self, request, container_name, entry_uuid, entry_id_field_name, topic_name): + exists = has_entry(self.database, container_name, entry_uuid) + entry = set_entry(self.database, container_name, entry_uuid, request) + event_type = EventTypeEnum.EVENTTYPE_UPDATE if exists else EventTypeEnum.EVENTTYPE_CREATE + entry_id = getattr(entry, entry_id_field_name) + dict_entry_id = grpc_message_to_json(entry_id) + notify_event(self.msg_broker, topic_name, event_type, {entry_id_field_name: dict_entry_id}) + return entry_id + + def _del(self, request, container_name, entry_uuid, entry_id_field_name, topic_name, grpc_context): + empty = del_entry(grpc_context, self.database, container_name, entry_uuid) + event_type = EventTypeEnum.EVENTTYPE_REMOVE + dict_entry_id = grpc_message_to_json(request) + notify_event(self.msg_broker, topic_name, event_type, {entry_id_field_name: dict_entry_id}) + return empty + # ----- Context ---------------------------------------------------------------------------------------------------- def ListContextIds(self, request: Empty, context : grpc.ServicerContext) -> ContextIdList: @@ -78,26 +115,27 @@ class MockServicerImpl_Context(ContextServiceServicer): def SetContext(self, request: Context, context : grpc.ServicerContext) -> ContextId: LOGGER.info('[SetContext] request={:s}'.format(grpc_message_to_json_string(request))) - return set_entry(self.database, 'context', request.context_id.context_uuid.uuid, request).context_id + return self._set(request, 'context', request.context_id.context_uuid.uuid, 'context_id', TOPIC_CONTEXT) def RemoveContext(self, request: ContextId, context : grpc.ServicerContext) -> Empty: LOGGER.info('[RemoveContext] request={:s}'.format(grpc_message_to_json_string(request))) - return del_entry(context, self.database, 'context', request.context_uuid.uuid) + return self._del(request, 'context', request.context_uuid.uuid, 'context_id', TOPIC_CONTEXT, context) def GetContextEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[ContextEvent]: LOGGER.info('[GetContextEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_CONTEXT}): yield ContextEvent(**json.loads(message.content)) # ----- Topology --------------------------------------------------------------------------------------------------- def ListTopologyIds(self, request: ContextId, context : grpc.ServicerContext) -> TopologyIdList: LOGGER.info('[ListTopologyIds] request={:s}'.format(grpc_message_to_json_string(request))) - topologies = get_entries(self.database, 'topology[{:s}]'.format(str(request.context_id.context_uuid.uuid))) + topologies = get_entries(self.database, 'topology[{:s}]'.format(str(request.context_uuid.uuid))) return TopologyIdList(topology_ids=[topology.topology_id for topology in topologies]) def ListTopologies(self, request: ContextId, context : grpc.ServicerContext) -> TopologyList: LOGGER.info('[ListTopologies] request={:s}'.format(grpc_message_to_json_string(request))) - topologies = get_entries(self.database, 'topology[{:s}]'.format(str(request.context_id.context_uuid.uuid))) + topologies = get_entries(self.database, 'topology[{:s}]'.format(str(request.context_uuid.uuid))) return TopologyList(topologies=[topology for topology in topologies]) def GetTopology(self, request: TopologyId, context : grpc.ServicerContext) -> Topology: @@ -108,15 +146,18 @@ class MockServicerImpl_Context(ContextServiceServicer): def SetTopology(self, request: Topology, context : grpc.ServicerContext) -> TopologyId: LOGGER.info('[SetTopology] request={:s}'.format(grpc_message_to_json_string(request))) container_name = 'topology[{:s}]'.format(str(request.topology_id.context_id.context_uuid.uuid)) - return set_entry(self.database, container_name, request.topology_id.topology_uuid.uuid, request).topology_id + topology_uuid = request.topology_id.topology_uuid.uuid + return self._set(request, container_name, topology_uuid, 'topology_id', TOPIC_TOPOLOGY) def RemoveTopology(self, request: TopologyId, context : grpc.ServicerContext) -> Empty: LOGGER.info('[RemoveTopology] request={:s}'.format(grpc_message_to_json_string(request))) container_name = 'topology[{:s}]'.format(str(request.context_id.context_uuid.uuid)) - return del_entry(context, self.database, container_name, request.topology_uuid.uuid) + topology_uuid = request.topology_uuid.uuid + return self._del(request, container_name, topology_uuid, 'topology_id', TOPIC_TOPOLOGY, context) def GetTopologyEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[TopologyEvent]: LOGGER.info('[GetTopologyEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_TOPOLOGY}): yield TopologyEvent(**json.loads(message.content)) # ----- Device ----------------------------------------------------------------------------------------------------- @@ -135,14 +176,15 @@ class MockServicerImpl_Context(ContextServiceServicer): def SetDevice(self, request: Context, context : grpc.ServicerContext) -> DeviceId: LOGGER.info('[SetDevice] request={:s}'.format(grpc_message_to_json_string(request))) - return set_entry(self.database, 'device', request.device_id.device_uuid.uuid, request).device_id + return self._set(request, 'device', request.device_id.device_uuid.uuid, 'device_id', TOPIC_DEVICE) def RemoveDevice(self, request: DeviceId, context : grpc.ServicerContext) -> Empty: LOGGER.info('[RemoveDevice] request={:s}'.format(grpc_message_to_json_string(request))) - return del_entry(context, self.database, 'device', request.device_uuid.uuid) + return self._del(request, 'device', request.device_uuid.uuid, 'device_id', TOPIC_DEVICE, context) def GetDeviceEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[DeviceEvent]: LOGGER.info('[GetDeviceEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_DEVICE}): yield DeviceEvent(**json.loads(message.content)) # ----- Link ------------------------------------------------------------------------------------------------------- @@ -161,26 +203,61 @@ class MockServicerImpl_Context(ContextServiceServicer): def SetLink(self, request: Context, context : grpc.ServicerContext) -> LinkId: LOGGER.info('[SetLink] request={:s}'.format(grpc_message_to_json_string(request))) - return set_entry(self.database, 'link', request.link_id.link_uuid.uuid, request).link_id + return self._set(request, 'link', request.link_id.link_uuid.uuid, 'link_id', TOPIC_LINK) def RemoveLink(self, request: LinkId, context : grpc.ServicerContext) -> Empty: LOGGER.info('[RemoveLink] request={:s}'.format(grpc_message_to_json_string(request))) - return del_entry(context, self.database, 'link', request.link_uuid.uuid) + return self._del(request, 'link', request.link_uuid.uuid, 'link_id', TOPIC_LINK, context) def GetLinkEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[LinkEvent]: LOGGER.info('[GetLinkEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_LINK}): yield LinkEvent(**json.loads(message.content)) + + + # ----- Slice ------------------------------------------------------------------------------------------------------ + + def ListSliceIds(self, request: ContextId, context : grpc.ServicerContext) -> SliceIdList: + LOGGER.info('[ListSliceIds] request={:s}'.format(grpc_message_to_json_string(request))) + slices = get_entries(self.database, 'slice[{:s}]'.format(str(request.context_uuid.uuid))) + return SliceIdList(slice_ids=[slice.slice_id for slice in slices]) + + def ListSlices(self, request: ContextId, context : grpc.ServicerContext) -> SliceList: + LOGGER.info('[ListSlices] request={:s}'.format(grpc_message_to_json_string(request))) + slices = get_entries(self.database, 'slice[{:s}]'.format(str(request.context_uuid.uuid))) + return SliceList(slices=[slice for slice in slices]) + + def GetSlice(self, request: SliceId, context : grpc.ServicerContext) -> Slice: + LOGGER.info('[GetSlice] request={:s}'.format(grpc_message_to_json_string(request))) + container_name = 'slice[{:s}]'.format(str(request.context_id.context_uuid.uuid)) + return get_entry(context, self.database, container_name, request.slice_uuid.uuid) + + def SetSlice(self, request: Slice, context : grpc.ServicerContext) -> SliceId: + LOGGER.info('[SetSlice] request={:s}'.format(grpc_message_to_json_string(request))) + container_name = 'slice[{:s}]'.format(str(request.slice_id.context_id.context_uuid.uuid)) + slice_uuid = request.slice_id.slice_uuid.uuid + return self._set(request, container_name, slice_uuid, 'slice_id', TOPIC_SLICE) + + def RemoveSlice(self, request: SliceId, context : grpc.ServicerContext) -> Empty: + LOGGER.info('[RemoveSlice] request={:s}'.format(grpc_message_to_json_string(request))) + container_name = 'slice[{:s}]'.format(str(request.context_id.context_uuid.uuid)) + slice_uuid = request.slice_uuid.uuid + return self._del(request, container_name, slice_uuid, 'slice_id', TOPIC_SLICE, context) + + def GetSliceEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[SliceEvent]: + LOGGER.info('[GetSliceEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_SLICE}): yield SliceEvent(**json.loads(message.content)) # ----- Service ---------------------------------------------------------------------------------------------------- def ListServiceIds(self, request: ContextId, context : grpc.ServicerContext) -> ServiceIdList: LOGGER.info('[ListServiceIds] request={:s}'.format(grpc_message_to_json_string(request))) - services = get_entries(self.database, 'service[{:s}]'.format(str(request.context_id.context_uuid.uuid))) + services = get_entries(self.database, 'service[{:s}]'.format(str(request.context_uuid.uuid))) return ServiceIdList(service_ids=[service.service_id for service in services]) def ListServices(self, request: ContextId, context : grpc.ServicerContext) -> ServiceList: LOGGER.info('[ListServices] request={:s}'.format(grpc_message_to_json_string(request))) - services = get_entries(self.database, 'service[{:s}]'.format(str(request.context_id.context_uuid.uuid))) + services = get_entries(self.database, 'service[{:s}]'.format(str(request.context_uuid.uuid))) return ServiceList(services=[service for service in services]) def GetService(self, request: ServiceId, context : grpc.ServicerContext) -> Service: @@ -190,17 +267,19 @@ class MockServicerImpl_Context(ContextServiceServicer): def SetService(self, request: Service, context : grpc.ServicerContext) -> ServiceId: LOGGER.info('[SetService] request={:s}'.format(grpc_message_to_json_string(request))) - return set_entry( - self.database, 'service[{:s}]'.format(str(request.service_id.context_id.context_uuid.uuid)), - request.service_id.service_uuid.uuid, request).service_id + container_name = 'service[{:s}]'.format(str(request.service_id.context_id.context_uuid.uuid)) + service_uuid = request.service_id.service_uuid.uuid + return self._set(request, container_name, service_uuid, 'service_id', TOPIC_SERVICE) def RemoveService(self, request: ServiceId, context : grpc.ServicerContext) -> Empty: LOGGER.info('[RemoveService] request={:s}'.format(grpc_message_to_json_string(request))) container_name = 'service[{:s}]'.format(str(request.context_id.context_uuid.uuid)) - return del_entry(context, self.database, container_name, request.service_uuid.uuid) + service_uuid = request.service_uuid.uuid + return self._del(request, container_name, service_uuid, 'service_id', TOPIC_SERVICE, context) def GetServiceEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[ServiceEvent]: LOGGER.info('[GetServiceEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_SERVICE}): yield ServiceEvent(**json.loads(message.content)) # ----- Connection ------------------------------------------------------------------------------------------------- @@ -223,21 +302,21 @@ class MockServicerImpl_Context(ContextServiceServicer): def SetConnection(self, request: Connection, context : grpc.ServicerContext) -> ConnectionId: LOGGER.info('[SetConnection] request={:s}'.format(grpc_message_to_json_string(request))) - service_connection__container_name = 'service_connection[{:s}/{:s}]'.format( + container_name = 'service_connection[{:s}/{:s}]'.format( str(request.service_id.context_id.context_uuid.uuid), str(request.service_id.service_uuid.uuid)) - set_entry( - self.database, service_connection__container_name, request.connection_id.connection_uuid.uuid, request) - return set_entry( - self.database, 'connection', request.connection_id.connection_uuid.uuid, request).connection_id + connection_uuid = request.connection_id.connection_uuid.uuid + set_entry(self.database, container_name, connection_uuid, request) + return self._set(request, 'connection', connection_uuid, 'connection_id', TOPIC_CONNECTION) def RemoveConnection(self, request: ConnectionId, context : grpc.ServicerContext) -> Empty: LOGGER.info('[RemoveConnection] request={:s}'.format(grpc_message_to_json_string(request))) connection = get_entry(context, self.database, 'connection', request.connection_uuid.uuid) - service_id = connection.service_id - service_connection__container_name = 'service_connection[{:s}/{:s}]'.format( - str(service_id.context_id.context_uuid.uuid), str(service_id.service_uuid.uuid)) - del_entry(context, self.database, service_connection__container_name, request.connection_uuid.uuid) - return del_entry(context, self.database, 'connection', request.connection_uuid.uuid) + container_name = 'service_connection[{:s}/{:s}]'.format( + str(connection.service_id.context_id.context_uuid.uuid), str(connection.service_id.service_uuid.uuid)) + connection_uuid = request.connection_uuid.uuid + del_entry(context, self.database, container_name, connection_uuid) + return self._del(request, 'connection', connection_uuid, 'connection_id', TOPIC_CONNECTION, context) def GetConnectionEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[ConnectionEvent]: LOGGER.info('[GetConnectionEvents] request={:s}'.format(grpc_message_to_json_string(request))) + for message in self.msg_broker.consume({TOPIC_CONNECTION}): yield ConnectionEvent(**json.loads(message.content)) diff --git a/src/common/tests/MockServicerImpl_Device.py b/src/common/tests/MockServicerImpl_Device.py index 34c9d7fdb528c5ee1ad4d8956b9b3069ac7b37f3..efb809b3c027800e9ebe38c7b18f79b5caca9ade 100644 --- a/src/common/tests/MockServicerImpl_Device.py +++ b/src/common/tests/MockServicerImpl_Device.py @@ -14,11 +14,11 @@ import grpc, logging from common.Settings import get_setting +from common.proto.context_pb2 import Device, DeviceConfig, DeviceId, Empty +from common.proto.device_pb2 import MonitoringSettings +from common.proto.device_pb2_grpc import DeviceServiceServicer from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient -from context.proto.context_pb2 import Device, DeviceConfig, DeviceId, Empty -from device.proto.device_pb2 import MonitoringSettings -from device.proto.device_pb2_grpc import DeviceServiceServicer LOGGER = logging.getLogger(__name__) diff --git a/src/common/tests/MockServicerImpl_DltGateway.py b/src/common/tests/MockServicerImpl_DltGateway.py new file mode 100644 index 0000000000000000000000000000000000000000..f106519b2695cda519e95a79e7b559dd24818108 --- /dev/null +++ b/src/common/tests/MockServicerImpl_DltGateway.py @@ -0,0 +1,166 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import grpc, itertools, json, logging, time +from typing import Any, Dict, Iterator, Optional, Tuple +from common.tests.MockMessageBroker import Message, MockMessageBroker +from common.tools.grpc.Tools import grpc_message_to_json_string +from common.proto.context_pb2 import EVENTTYPE_CREATE, EVENTTYPE_REMOVE, EVENTTYPE_UPDATE, Empty, TeraFlowController +from common.proto.dlt_gateway_pb2 import ( + DLTRECORDOPERATION_ADD, DLTRECORDOPERATION_DELETE, DLTRECORDOPERATION_UNDEFINED, DLTRECORDOPERATION_UPDATE, + DLTRECORDSTATUS_FAILED, DLTRECORDSTATUS_SUCCEEDED, DLTRECORDTYPE_CONTEXT, DLTRECORDTYPE_DEVICE, DLTRECORDTYPE_LINK, + DLTRECORDTYPE_SERVICE, DLTRECORDTYPE_SLICE, DLTRECORDTYPE_TOPOLOGY, DLTRECORDTYPE_UNDEFINED, + DltPeerStatus, DltPeerStatusList, DltRecord, DltRecordEvent, DltRecordId, DltRecordOperationEnum, DltRecordStatus, + DltRecordSubscription, DltRecordTypeEnum) +from common.proto.dlt_gateway_pb2_grpc import DltGatewayServiceServicer + +LOGGER = logging.getLogger(__name__) + +DltRecordKey = Tuple[str, Any, str] # domain_uuid, DltRecordOperationEnum, record_uuid +DltRecordDict = Dict[DltRecordKey, DltRecord] # dlt_record_key => dlt_record + +class AlreadyExistsException(Exception): + pass + +class DoesNotExistException(Exception): + pass + +MSG_NOT_EXISTS = 'RecordId({:s}, {:s}, {:s}) Does Not Exist' +MSG_ALREADY_EXISTS = 'RecordId({:s}, {:s}, {:s}) Already Exists' +MSG_OPERATION_NOT_IMPLEMENTED = 'DltRecordOperationEnum({:s}) Not Implemented' + +class MockServicerImpl_DltGateway(DltGatewayServiceServicer): + def __init__(self): + LOGGER.info('[__init__] Creating Servicer...') + self.records : DltRecordDict = {} + self.msg_broker = MockMessageBroker() + LOGGER.info('[__init__] Servicer Created') + + def __get_record(self, record_id : DltRecordId) -> Optional[Dict]: + domain_uuid, record_uuid = record_id.domain_uuid.uuid, record_id.record_uuid.uuid + str_type = DltRecordTypeEnum.Name(record_id.type).upper().replace('DLTRECORDTYPE_', '') + records_domain : Dict[str, Dict] = self.records.setdefault(domain_uuid, {}) + records_type : Dict[str, Dict] = records_domain.setdefault(str_type, {}) + record : Optional[Dict] = records_type.get(record_uuid) + return record + + def __set_record(self, record_id : DltRecordId, should_exist : bool, data_json : str) -> None: + domain_uuid, record_uuid = record_id.domain_uuid.uuid, record_id.record_uuid.uuid + str_type = DltRecordTypeEnum.Name(record_id.type).upper().replace('DLTRECORDTYPE_', '') + records_domain : Dict[str, Dict] = self.records.setdefault(domain_uuid, {}) + records_type : Dict[str, Dict] = records_domain.setdefault(str_type, {}) + record : Optional[Dict] = records_type.get(record_uuid) + if should_exist and record is None: + raise DoesNotExistException(MSG_NOT_EXISTS.format(domain_uuid, str_type, record_uuid)) + elif not should_exist and record is not None: + raise AlreadyExistsException(MSG_ALREADY_EXISTS.format(domain_uuid, str_type, record_uuid)) + records_type[record_uuid] = data_json + + def __del_record(self, record_id : DltRecordId) -> None: + domain_uuid, record_uuid = record_id.domain_uuid.uuid, record_id.record_uuid.uuid + str_type = DltRecordTypeEnum.Name(record_id.type).upper().replace('DLTRECORDTYPE_', '') + records_domain : Dict[str, Dict] = self.records.setdefault(domain_uuid, {}) + records_type : Dict[str, Dict] = records_domain.setdefault(str_type, {}) + record : Optional[Dict] = records_type.get(record_uuid) + if record is None: + raise DoesNotExistException(MSG_NOT_EXISTS.format(domain_uuid, str_type, record_uuid)) + records_type.discard(record_uuid) + + def __publish(self, operation : DltRecordOperationEnum, record_id : DltRecordId) -> None: + str_operation = DltRecordOperationEnum.Name(operation).upper().replace('DLTRECORDOPERATION_', '') + str_type = DltRecordTypeEnum.Name(record_id.type).upper().replace('DLTRECORDTYPE_', '') + topic = '{:s}:{:s}'.format(str_type, str_operation) + event = DltRecordEvent() + event.event.timestamp.timestamp = time.time() # pylint: disable=no-member + event.event.event_type = { # pylint: disable=no-member + DLTRECORDOPERATION_ADD : EVENTTYPE_CREATE, + DLTRECORDOPERATION_UPDATE: EVENTTYPE_UPDATE, + DLTRECORDOPERATION_DELETE: EVENTTYPE_REMOVE, + }.get(operation) + event.record_id.CopyFrom(record_id) # pylint: disable=no-member + self.msg_broker.publish(Message(topic=topic, content=grpc_message_to_json_string(event))) + + def RecordToDlt(self, request : DltRecord, context : grpc.ServicerContext) -> DltRecordStatus: + LOGGER.info('[RecordToDlt] request={:s}'.format(grpc_message_to_json_string(request))) + record_id = request.record_id + response = DltRecordStatus() + response.record_id.CopyFrom(record_id) # pylint: disable=no-member + try: + operation : DltRecordOperationEnum = request.operation + if operation == DLTRECORDOPERATION_ADD: + self.__set_record(record_id, False, json.loads(request.data_json)) + elif operation == DLTRECORDOPERATION_UPDATE: + self.__set_record(record_id, True, json.loads(request.data_json)) + elif operation == DLTRECORDOPERATION_DELETE: + self.__del_record(record_id) + else: + str_operation = DltRecordOperationEnum.Name(operation).upper().replace('DLTRECORDOPERATION_', '') + raise NotImplementedError(MSG_OPERATION_NOT_IMPLEMENTED.format(str_operation)) + self.__publish(operation, record_id) + response.status = DLTRECORDSTATUS_SUCCEEDED + except Exception as e: # pylint: disable=broad-except + response.status = DLTRECORDSTATUS_FAILED + response.error_message = str(e) + LOGGER.info('[RecordToDlt] response={:s}'.format(grpc_message_to_json_string(response))) + return response + + def GetFromDlt(self, request : DltRecordId, context : grpc.ServicerContext) -> DltRecord: + LOGGER.info('[GetFromDlt] request={:s}'.format(grpc_message_to_json_string(request))) + record = self.__get_record(request) + response = DltRecord() + if record is not None: + response.record_id.CopyFrom(request) # pylint: disable=no-member + response.operation = DLTRECORDOPERATION_UNDEFINED + response.data_json = json.dumps(record, sort_keys=True) + LOGGER.info('[GetFromDlt] response={:s}'.format(grpc_message_to_json_string(response))) + return response + + def SubscribeToDlt( + self, request: DltRecordSubscription, context : grpc.ServicerContext + ) -> Iterator[DltRecordEvent]: + LOGGER.info('[SubscribeToDlt] request={:s}'.format(grpc_message_to_json_string(request))) + types = request.type + if len(types) == 0: + types = [ + DLTRECORDTYPE_UNDEFINED, DLTRECORDTYPE_CONTEXT, DLTRECORDTYPE_TOPOLOGY, DLTRECORDTYPE_DEVICE, + DLTRECORDTYPE_LINK, DLTRECORDTYPE_SERVICE, DLTRECORDTYPE_SLICE + ] + str_types = [ + DltRecordTypeEnum.Name(_type).upper().replace('DLTRECORDTYPE_', '') + for _type in types + ] + operations = request.operation + if len(operations) == 0: + operations = [ + DLTRECORDOPERATION_UNDEFINED, DLTRECORDOPERATION_ADD, DLTRECORDOPERATION_UPDATE, + DLTRECORDOPERATION_DELETE + ] + str_operations = [ + DltRecordOperationEnum.Name(_operation).upper().replace('DLTRECORDOPERATION_', '') + for _operation in operations + ] + topics = { + '{:s}:{:s}'.format(*type_operation) + for type_operation in itertools.product(str_types, str_operations) + } + for message in self.msg_broker.consume(topics): + yield DltRecordEvent(**json.loads(message.content)) + + def GetDltStatus(self, request : TeraFlowController, context : grpc.ServicerContext) -> DltPeerStatus: + LOGGER.info('[GetDltStatus] request={:s}'.format(grpc_message_to_json_string(request))) + raise NotImplementedError() + + def GetDltPeers(self, request : Empty, context : grpc.ServicerContext) -> DltPeerStatusList: + LOGGER.info('[GetDltPeers] request={:s}'.format(grpc_message_to_json_string(request))) + raise NotImplementedError() diff --git a/src/device/tests/MockMonitoringServiceServicerImpl.py b/src/common/tests/MockServicerImpl_Monitoring.py similarity index 58% rename from src/device/tests/MockMonitoringServiceServicerImpl.py rename to src/common/tests/MockServicerImpl_Monitoring.py index 05ca43dda0418df151bc3dfe255a90d75b50a088..3f82f22e300e6ddae15816da69de63c96d0fdd5b 100644 --- a/src/device/tests/MockMonitoringServiceServicerImpl.py +++ b/src/common/tests/MockServicerImpl_Monitoring.py @@ -12,18 +12,23 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging + +import grpc, logging from queue import Queue -from monitoring.proto.context_pb2 import Empty -from monitoring.proto.monitoring_pb2 import Kpi -from monitoring.proto.monitoring_pb2_grpc import MonitoringServiceServicer +from common.proto.context_pb2 import Empty +from common.proto.monitoring_pb2 import Kpi +from common.proto.monitoring_pb2_grpc import MonitoringServiceServicer +from common.tools.grpc.Tools import grpc_message_to_json_string LOGGER = logging.getLogger(__name__) -class MockMonitoringServiceServicerImpl(MonitoringServiceServicer): +class MockServicerImpl_Monitoring(MonitoringServiceServicer): def __init__(self, queue_samples : Queue): + LOGGER.info('[__init__] Creating Servicer...') self.queue_samples = queue_samples + LOGGER.info('[__init__] Servicer Created') - def IncludeKpi(self, request : Kpi, context) -> Empty: + def IncludeKpi(self, request : Kpi, context : grpc.ServicerContext) -> Empty: + LOGGER.info('[IncludeKpi] request={:s}'.format(grpc_message_to_json_string(request))) self.queue_samples.put(request) return Empty() diff --git a/src/common/tests/MockServicerImpl_Service.py b/src/common/tests/MockServicerImpl_Service.py index 849d153c39edc53afa154cb930c668836f5978a3..39ddc1119e2294b2b62c40da58b151648b25051c 100644 --- a/src/common/tests/MockServicerImpl_Service.py +++ b/src/common/tests/MockServicerImpl_Service.py @@ -14,10 +14,10 @@ import grpc, logging from common.Settings import get_setting +from common.proto.context_pb2 import Empty, Service, ServiceId, ServiceStatusEnum +from common.proto.service_pb2_grpc import ServiceServiceServicer from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient -from service.proto.context_pb2 import Empty, Service, ServiceId, ServiceStatusEnum -from service.proto.service_pb2_grpc import ServiceServiceServicer LOGGER = logging.getLogger(__name__) @@ -37,7 +37,7 @@ class MockServicerImpl_Service(ServiceServiceServicer): LOGGER.info('[UpdateService] request={:s}'.format(grpc_message_to_json_string(request))) service = Service() service.CopyFrom(request) - service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE + service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE #pylint: disable=no-member return self.context_client.SetService(service) def DeleteService(self, request : ServiceId, context : grpc.ServicerContext) -> Empty: diff --git a/src/common/tests/MockServicerImpl_Slice.py b/src/common/tests/MockServicerImpl_Slice.py index 5fd349ee1f395d8299c0c4a41bd8d9f842ac08f5..f6be3dd62dbbe0b3c307d88f27c0400a977f8adb 100644 --- a/src/common/tests/MockServicerImpl_Slice.py +++ b/src/common/tests/MockServicerImpl_Slice.py @@ -14,10 +14,10 @@ import grpc, logging from common.Settings import get_setting +from common.proto.context_pb2 import Empty, Slice, SliceId, SliceStatusEnum +from common.proto.slice_pb2_grpc import SliceServiceServicer from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient -from slice.proto.context_pb2 import Empty, Slice, SliceId, SliceStatusEnum -from slice.proto.slice_pb2_grpc import SliceServiceServicer LOGGER = logging.getLogger(__name__) diff --git a/src/common/tools/context_queries/CheckType.py b/src/common/tools/context_queries/CheckType.py new file mode 100644 index 0000000000000000000000000000000000000000..f53ad16906336182311d1d98fec428f1472bf748 --- /dev/null +++ b/src/common/tools/context_queries/CheckType.py @@ -0,0 +1,28 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +from typing import Union +from common.DeviceTypes import DeviceTypeEnum + +def device_type_is_datacenter(device_type : Union[str, DeviceTypeEnum]) -> bool: + return device_type in { + DeviceTypeEnum.DATACENTER, DeviceTypeEnum.DATACENTER.value, + DeviceTypeEnum.EMULATED_DATACENTER, DeviceTypeEnum.EMULATED_DATACENTER.value + } + +def device_type_is_network(device_type : Union[str, DeviceTypeEnum]) -> bool: + return device_type in {DeviceTypeEnum.NETWORK, DeviceTypeEnum.NETWORK.value} + +def endpoint_type_is_border(endpoint_type : str) -> bool: + return str(endpoint_type).endswith('/border') diff --git a/src/common/tools/context_queries/Context.py b/src/common/tools/context_queries/Context.py new file mode 100644 index 0000000000000000000000000000000000000000..cf0d3be2b7c1890e486492ad55add19a17591353 --- /dev/null +++ b/src/common/tools/context_queries/Context.py @@ -0,0 +1,25 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +from common.proto.context_pb2 import Context, Empty +from common.tools.object_factory.Context import json_context +from context.client.ContextClient import ContextClient + +def create_context( + context_client : ContextClient, context_uuid : str +) -> None: + existing_context_ids = context_client.ListContextIds(Empty()) + existing_context_uuids = {context_id.context_uuid.uuid for context_id in existing_context_ids.context_ids} + if context_uuid in existing_context_uuids: return + context_client.SetContext(Context(**json_context(context_uuid))) diff --git a/src/common/tools/context_queries/Device.py b/src/common/tools/context_queries/Device.py new file mode 100644 index 0000000000000000000000000000000000000000..e5b205d46185e12fa51a2cbd8146342abe5bed38 --- /dev/null +++ b/src/common/tools/context_queries/Device.py @@ -0,0 +1,59 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +from typing import List, Set +from common.proto.context_pb2 import ContextId, Device, Empty, Topology, TopologyId +from common.tools.object_factory.Topology import json_topology_id +from context.client.ContextClient import ContextClient + +def get_existing_device_uuids(context_client : ContextClient) -> Set[str]: + existing_device_ids = context_client.ListDeviceIds(Empty()) + existing_device_uuids = {device_id.device_uuid.uuid for device_id in existing_device_ids.device_ids} + return existing_device_uuids + +def add_device_to_topology( + context_client : ContextClient, context_id : ContextId, topology_uuid : str, device_uuid : str +) -> bool: + topology_id = TopologyId(**json_topology_id(topology_uuid, context_id=context_id)) + topology_ro = context_client.GetTopology(topology_id) + device_uuids = {device_id.device_uuid.uuid for device_id in topology_ro.device_ids} + if device_uuid in device_uuids: return False # already existed + + topology_rw = Topology() + topology_rw.CopyFrom(topology_ro) + topology_rw.device_ids.add().device_uuid.uuid = device_uuid # pylint: disable=no-member + context_client.SetTopology(topology_rw) + return True + +def get_uuids_of_devices_in_topology( + context_client : ContextClient, context_id : ContextId, topology_uuid : str +) -> List[str]: + topology_id = TopologyId(**json_topology_id(topology_uuid, context_id=context_id)) + topology = context_client.GetTopology(topology_id) + device_uuids = [device_id.device_uuid.uuid for device_id in topology.device_ids] + return device_uuids + +def get_devices_in_topology( + context_client : ContextClient, context_id : ContextId, topology_uuid : str +) -> List[Device]: + device_uuids = get_uuids_of_devices_in_topology(context_client, context_id, topology_uuid) + + all_devices = context_client.ListDevices(Empty()) + devices_in_topology = list() + for device in all_devices.devices: + device_uuid = device.device_id.device_uuid.uuid + if device_uuid not in device_uuids: continue + devices_in_topology.append(device) + + return devices_in_topology diff --git a/src/common/tools/context_queries/InterDomain.py b/src/common/tools/context_queries/InterDomain.py new file mode 100644 index 0000000000000000000000000000000000000000..0a202ccd810ed50beca4bb9a7b4441305623f1ed --- /dev/null +++ b/src/common/tools/context_queries/InterDomain.py @@ -0,0 +1,256 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import logging +from typing import Dict, List, Set, Tuple +from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID, INTERDOMAIN_TOPOLOGY_UUID +from common.DeviceTypes import DeviceTypeEnum +from common.proto.context_pb2 import ContextId, Device, Empty, EndPointId, ServiceTypeEnum, Slice +from common.proto.pathcomp_pb2 import PathCompRequest +from common.tools.context_queries.CheckType import device_type_is_network +from common.tools.context_queries.Device import get_devices_in_topology +from common.tools.context_queries.Topology import get_topology +from common.tools.grpc.Tools import grpc_message_to_json_string +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from pathcomp.frontend.client.PathCompClient import PathCompClient + +LOGGER = logging.getLogger(__name__) + +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_UUID)) +DATACENTER_DEVICE_TYPES = {DeviceTypeEnum.DATACENTER, DeviceTypeEnum.EMULATED_DATACENTER} + +def get_local_device_uuids(context_client : ContextClient) -> Set[str]: + topologies = context_client.ListTopologies(ADMIN_CONTEXT_ID) + topologies = {topology.topology_id.topology_uuid.uuid : topology for topology in topologies.topologies} + LOGGER.info('[get_local_device_uuids] topologies.keys()={:s}'.format(str(topologies.keys()))) + + local_topology_uuids = set(topologies.keys()) + local_topology_uuids.discard(INTERDOMAIN_TOPOLOGY_UUID) + LOGGER.info('[get_local_device_uuids] local_topology_uuids={:s}'.format(str(local_topology_uuids))) + + local_device_uuids = set() + + # add topology names except DEFAULT_TOPOLOGY_UUID and INTERDOMAIN_TOPOLOGY_UUID; they are abstracted as a + # local device in inter-domain and the name of the topology is used as abstract device name + for local_topology_uuid in local_topology_uuids: + if local_topology_uuid == DEFAULT_TOPOLOGY_UUID: continue + local_device_uuids.add(local_topology_uuid) + + # add physical devices in the local topologies + for local_topology_uuid in local_topology_uuids: + topology_device_ids = topologies[local_topology_uuid].device_ids + topology_device_uuids = {device_id.device_uuid.uuid for device_id in topology_device_ids} + LOGGER.info('[get_local_device_uuids] [loop] local_topology_uuid={:s} topology_device_uuids={:s}'.format( + str(local_topology_uuid), str(topology_device_uuids))) + local_device_uuids.update(topology_device_uuids) + + LOGGER.info('[get_local_device_uuids] local_device_uuids={:s}'.format(str(local_device_uuids))) + return local_device_uuids + +def get_interdomain_device_uuids(context_client : ContextClient) -> Set[str]: + context_uuid = DEFAULT_CONTEXT_UUID + topology_uuid = INTERDOMAIN_TOPOLOGY_UUID + interdomain_topology = get_topology(context_client, topology_uuid, context_uuid=context_uuid) + if interdomain_topology is None: + MSG = '[get_interdomain_device_uuids] {:s}/{:s} topology not found' + LOGGER.warning(MSG.format(context_uuid, topology_uuid)) + return set() + + # add abstracted devices in the interdomain topology + interdomain_device_ids = interdomain_topology.device_ids + interdomain_device_uuids = {device_id.device_uuid.uuid for device_id in interdomain_device_ids} + LOGGER.info('[get_interdomain_device_uuids] interdomain_device_uuids={:s}'.format(str(interdomain_device_uuids))) + return interdomain_device_uuids + +def get_local_domain_devices(context_client : ContextClient) -> List[Device]: + local_device_uuids = get_local_device_uuids(context_client) + all_devices = context_client.ListDevices(Empty()) + local_domain_devices = list() + for device in all_devices.devices: + if not device_type_is_network(device.device_type): continue + device_uuid = device.device_id.device_uuid.uuid + if device_uuid not in local_device_uuids: continue + local_domain_devices.append(device) + return local_domain_devices + +def is_inter_domain(context_client : ContextClient, endpoint_ids : List[EndPointId]) -> bool: + interdomain_device_uuids = get_interdomain_device_uuids(context_client) + LOGGER.info('[is_inter_domain] interdomain_device_uuids={:s}'.format(str(interdomain_device_uuids))) + non_interdomain_endpoint_ids = [ + endpoint_id + for endpoint_id in endpoint_ids + if endpoint_id.device_id.device_uuid.uuid not in interdomain_device_uuids + ] + str_non_interdomain_endpoint_ids = [ + (endpoint_id.device_id.device_uuid.uuid, endpoint_id.endpoint_uuid.uuid) + for endpoint_id in non_interdomain_endpoint_ids + ] + LOGGER.info('[is_inter_domain] non_interdomain_endpoint_ids={:s}'.format(str(str_non_interdomain_endpoint_ids))) + is_inter_domain_ = len(non_interdomain_endpoint_ids) == 0 + LOGGER.info('[is_inter_domain] is_inter_domain={:s}'.format(str(is_inter_domain_))) + return is_inter_domain_ + +def is_multi_domain(context_client : ContextClient, endpoint_ids : List[EndPointId]) -> bool: + local_device_uuids = get_local_device_uuids(context_client) + LOGGER.info('[is_multi_domain] local_device_uuids={:s}'.format(str(local_device_uuids))) + remote_endpoint_ids = [ + endpoint_id + for endpoint_id in endpoint_ids + if endpoint_id.device_id.device_uuid.uuid not in local_device_uuids + ] + str_remote_endpoint_ids = [ + (endpoint_id.device_id.device_uuid.uuid, endpoint_id.endpoint_uuid.uuid) + for endpoint_id in remote_endpoint_ids + ] + LOGGER.info('[is_multi_domain] remote_endpoint_ids={:s}'.format(str(str_remote_endpoint_ids))) + is_multi_domain_ = len(remote_endpoint_ids) > 0 + LOGGER.info('[is_multi_domain] is_multi_domain={:s}'.format(str(is_multi_domain_))) + return is_multi_domain_ + +def compute_interdomain_path( + pathcomp_client : PathCompClient, slice_ : Slice +) -> List[Tuple[str, List[EndPointId]]]: + context_uuid = slice_.slice_id.context_id.context_uuid.uuid + slice_uuid = slice_.slice_id.slice_uuid.uuid + + pathcomp_req = PathCompRequest() + pathcomp_req.shortest_path.Clear() # pylint: disable=no-member + pathcomp_req_svc = pathcomp_req.services.add() # pylint: disable=no-member + pathcomp_req_svc.service_id.context_id.context_uuid.uuid = context_uuid + pathcomp_req_svc.service_id.service_uuid.uuid = slice_uuid + pathcomp_req_svc.service_type = ServiceTypeEnum.SERVICETYPE_L2NM + + for endpoint_id in slice_.slice_endpoint_ids: + service_endpoint_id = pathcomp_req_svc.service_endpoint_ids.add() + service_endpoint_id.CopyFrom(endpoint_id) + + constraint_bw = pathcomp_req_svc.service_constraints.add() + constraint_bw.custom.constraint_type = 'bandwidth[gbps]' + constraint_bw.custom.constraint_value = '10.0' + + constraint_lat = pathcomp_req_svc.service_constraints.add() + constraint_lat.custom.constraint_type = 'latency[ms]' + constraint_lat.custom.constraint_value = '100.0' + + LOGGER.info('pathcomp_req = {:s}'.format(grpc_message_to_json_string(pathcomp_req))) + pathcomp_rep = pathcomp_client.Compute(pathcomp_req) + LOGGER.info('pathcomp_rep = {:s}'.format(grpc_message_to_json_string(pathcomp_rep))) + + service = next(iter([ + service + for service in pathcomp_rep.services + if service.service_id == pathcomp_req_svc.service_id + ]), None) + if service is None: + str_service_id = grpc_message_to_json_string(pathcomp_req_svc.service_id) + raise Exception('Service({:s}) not found'.format(str_service_id)) + + connection = next(iter([ + connection + for connection in pathcomp_rep.connections + if connection.service_id == pathcomp_req_svc.service_id + ]), None) + if connection is None: + str_service_id = grpc_message_to_json_string(pathcomp_req_svc.service_id) + raise Exception('Connection for Service({:s}) not found'.format(str_service_id)) + + domain_list : List[str] = list() + domain_to_endpoint_ids : Dict[str, List[EndPointId]] = dict() + for endpoint_id in connection.path_hops_endpoint_ids: + device_uuid = endpoint_id.device_id.device_uuid.uuid + #endpoint_uuid = endpoint_id.endpoint_uuid.uuid + if device_uuid not in domain_to_endpoint_ids: domain_list.append(device_uuid) + domain_to_endpoint_ids.setdefault(device_uuid, []).append(endpoint_id) + + return [ + (domain_uuid, domain_to_endpoint_ids.get(domain_uuid)) + for domain_uuid in domain_list + ] + +def get_device_to_domain_map(context_client : ContextClient) -> Dict[str, str]: + devices_to_domains : Dict[str, str] = dict() + contexts = context_client.ListContexts(Empty()) + for context in contexts.contexts: + context_id = context.context_id + context_uuid = context_id.context_uuid.uuid + topologies = context_client.ListTopologies(context_id) + if context_uuid == DEFAULT_CONTEXT_UUID: + for topology in topologies.topologies: + topology_id = topology.topology_id + topology_uuid = topology_id.topology_uuid.uuid + if topology_uuid in {DEFAULT_TOPOLOGY_UUID, INTERDOMAIN_TOPOLOGY_UUID}: continue + + # add topology names except DEFAULT_TOPOLOGY_UUID and INTERDOMAIN_TOPOLOGY_UUID; they are + # abstracted as a local device in inter-domain and the name of the topology is used as + # abstract device name + devices_to_domains[topology_uuid] = topology_uuid + + # add physical devices in the local topology + for device_id in topology.device_ids: + device_uuid = device_id.device_uuid.uuid + devices_to_domains[device_uuid] = topology_uuid + else: + # for each topology in a remote context + for topology in topologies.topologies: + topology_id = topology.topology_id + topology_uuid = topology_id.topology_uuid.uuid + + # if topology is not interdomain + if topology_uuid in {INTERDOMAIN_TOPOLOGY_UUID}: continue + + # add devices to the remote domain list + for device_id in topology.device_ids: + device_uuid = device_id.device_uuid.uuid + devices_to_domains[device_uuid] = context_uuid + + return devices_to_domains + +def compute_traversed_domains( + context_client : ContextClient, interdomain_path : List[Tuple[str, List[EndPointId]]] +) -> List[Tuple[str, bool, List[EndPointId]]]: + + local_device_uuids = get_local_device_uuids(context_client) + LOGGER.info('[compute_traversed_domains] local_device_uuids={:s}'.format(str(local_device_uuids))) + + interdomain_devices = get_devices_in_topology(context_client, ADMIN_CONTEXT_ID, INTERDOMAIN_TOPOLOGY_UUID) + interdomain_devices = { + device.device_id.device_uuid.uuid : device + for device in interdomain_devices + } + + devices_to_domains = get_device_to_domain_map(context_client) + LOGGER.info('[compute_traversed_domains] devices_to_domains={:s}'.format(str(devices_to_domains))) + + traversed_domains : List[Tuple[str, bool, List[EndPointId]]] = list() + domains_dict : Dict[str, Tuple[str, bool, List[EndPointId]]] = dict() + for device_uuid, endpoint_ids in interdomain_path: + domain_uuid = devices_to_domains.get(device_uuid, '---') + domain = domains_dict.get(domain_uuid) + if domain is None: + is_local_domain = domain_uuid in local_device_uuids + domain = (domain_uuid, is_local_domain, []) + traversed_domains.append(domain) + domains_dict[domain_uuid] = domain + domain[2].extend(endpoint_ids) + + str_traversed_domains = [ + (domain_uuid, is_local_domain, [ + (endpoint_id.device_id.device_uuid.uuid, endpoint_id.endpoint_uuid.uuid) + for endpoint_id in endpoint_ids + ]) + for domain_uuid,is_local_domain,endpoint_ids in traversed_domains + ] + LOGGER.info('[compute_traversed_domains] devices_to_domains={:s}'.format(str(str_traversed_domains))) + return traversed_domains diff --git a/src/common/tools/context_queries/Link.py b/src/common/tools/context_queries/Link.py new file mode 100644 index 0000000000000000000000000000000000000000..abc5fa91af8d24c8a3cdf18fda0e7680da9143a7 --- /dev/null +++ b/src/common/tools/context_queries/Link.py @@ -0,0 +1,59 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +from typing import List, Set +from common.proto.context_pb2 import ContextId, Empty, Link, Topology, TopologyId +from common.tools.object_factory.Topology import json_topology_id +from context.client.ContextClient import ContextClient + +def get_existing_link_uuids(context_client : ContextClient) -> Set[str]: + existing_link_ids = context_client.ListLinkIds(Empty()) + existing_link_uuids = {link_id.link_uuid.uuid for link_id in existing_link_ids.link_ids} + return existing_link_uuids + +def add_link_to_topology( + context_client : ContextClient, context_id : ContextId, topology_uuid : str, link_uuid : str +) -> bool: + topology_id = TopologyId(**json_topology_id(topology_uuid, context_id=context_id)) + topology_ro = context_client.GetTopology(topology_id) + link_uuids = {link_id.link_uuid.uuid for link_id in topology_ro.link_ids} + if link_uuid in link_uuids: return False # already existed + + topology_rw = Topology() + topology_rw.CopyFrom(topology_ro) + topology_rw.link_ids.add().link_uuid.uuid = link_uuid # pylint: disable=no-member + context_client.SetTopology(topology_rw) + return True + +def get_uuids_of_links_in_topology( + context_client : ContextClient, context_id : ContextId, topology_uuid : str +) -> List[str]: + topology_id = TopologyId(**json_topology_id(topology_uuid, context_id=context_id)) + topology = context_client.GetTopology(topology_id) + link_uuids = [link_id.link_uuid.uuid for link_id in topology.link_ids] + return link_uuids + +def get_links_in_topology( + context_client : ContextClient, context_id : ContextId, topology_uuid : str +) -> List[Link]: + link_uuids = get_uuids_of_links_in_topology(context_client, context_id, topology_uuid) + + all_links = context_client.ListLinks(Empty()) + links_in_topology = list() + for link in all_links.links: + link_uuid = link.link_id.link_uuid.uuid + if link_uuid not in link_uuids: continue + links_in_topology.append(link) + + return links_in_topology diff --git a/src/common/tools/context_queries/Service.py b/src/common/tools/context_queries/Service.py new file mode 100644 index 0000000000000000000000000000000000000000..15b201e731760068457683d9e30f79ab12d231d7 --- /dev/null +++ b/src/common/tools/context_queries/Service.py @@ -0,0 +1,39 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import grpc, logging +from typing import Optional +from common.Constants import DEFAULT_CONTEXT_UUID +from common.proto.context_pb2 import Service, ServiceId +from context.client.ContextClient import ContextClient + +LOGGER = logging.getLogger(__name__) + +def get_service( + context_client : ContextClient, service_uuid : str, context_uuid : str = DEFAULT_CONTEXT_UUID, + rw_copy : bool = False + ) -> Optional[Service]: + try: + # pylint: disable=no-member + service_id = ServiceId() + service_id.context_id.context_uuid.uuid = context_uuid + service_id.service_uuid.uuid = service_uuid + ro_service = context_client.GetService(service_id) + if not rw_copy: return ro_service + rw_service = Service() + rw_service.CopyFrom(ro_service) + return rw_service + except grpc.RpcError: + #LOGGER.exception('Unable to get service({:s} / {:s})'.format(str(context_uuid), str(service_uuid))) + return None diff --git a/src/common/tools/context_queries/Slice.py b/src/common/tools/context_queries/Slice.py new file mode 100644 index 0000000000000000000000000000000000000000..9f884aa94990c28ad786b3243aed948ddc7f9f34 --- /dev/null +++ b/src/common/tools/context_queries/Slice.py @@ -0,0 +1,39 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import grpc, logging +from typing import Optional +from common.Constants import DEFAULT_CONTEXT_UUID +from common.proto.context_pb2 import Slice, SliceId +from context.client.ContextClient import ContextClient + +LOGGER = logging.getLogger(__name__) + +def get_slice( + context_client : ContextClient, slice_uuid : str, context_uuid : str = DEFAULT_CONTEXT_UUID, + rw_copy : bool = False + ) -> Optional[Slice]: + try: + # pylint: disable=no-member + slice_id = SliceId() + slice_id.context_id.context_uuid.uuid = context_uuid + slice_id.slice_uuid.uuid = slice_uuid + ro_slice = context_client.GetSlice(slice_id) + if not rw_copy: return ro_slice + rw_slice = Slice() + rw_slice.CopyFrom(ro_slice) + return rw_slice + except grpc.RpcError: + #LOGGER.exception('Unable to get slice({:s} / {:s})'.format(str(context_uuid), str(slice_uuid))) + return None diff --git a/src/common/tools/context_queries/Topology.py b/src/common/tools/context_queries/Topology.py new file mode 100644 index 0000000000000000000000000000000000000000..3d2077e965efb3e78ad9febbe54b4f0aaea5aef6 --- /dev/null +++ b/src/common/tools/context_queries/Topology.py @@ -0,0 +1,63 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import grpc, logging +from typing import List, Optional +from common.Constants import DEFAULT_CONTEXT_UUID +from common.proto.context_pb2 import ContextId, Topology, TopologyId +from common.tools.object_factory.Context import json_context_id +from common.tools.object_factory.Topology import json_topology +from context.client.ContextClient import ContextClient + +LOGGER = logging.getLogger(__name__) + +def create_topology( + context_client : ContextClient, context_uuid : str, topology_uuid : str +) -> None: + context_id = ContextId(**json_context_id(context_uuid)) + existing_topology_ids = context_client.ListTopologyIds(context_id) + existing_topology_uuids = {topology_id.topology_uuid.uuid for topology_id in existing_topology_ids.topology_ids} + if topology_uuid in existing_topology_uuids: return + context_client.SetTopology(Topology(**json_topology(topology_uuid, context_id=context_id))) + +def create_missing_topologies( + context_client : ContextClient, context_id : ContextId, topology_uuids : List[str] +) -> None: + # Find existing topologies within own context + existing_topology_ids = context_client.ListTopologyIds(context_id) + existing_topology_uuids = {topology_id.topology_uuid.uuid for topology_id in existing_topology_ids.topology_ids} + + # Create topologies within provided context + for topology_uuid in topology_uuids: + if topology_uuid in existing_topology_uuids: continue + grpc_topology = Topology(**json_topology(topology_uuid, context_id=context_id)) + context_client.SetTopology(grpc_topology) + +def get_topology( + context_client : ContextClient, topology_uuid : str, context_uuid : str = DEFAULT_CONTEXT_UUID, + rw_copy : bool = False + ) -> Optional[Topology]: + try: + # pylint: disable=no-member + topology_id = TopologyId() + topology_id.context_id.context_uuid.uuid = context_uuid + topology_id.topology_uuid.uuid = topology_uuid + ro_topology = context_client.GetTopology(topology_id) + if not rw_copy: return ro_topology + rw_topology = Topology() + rw_topology.CopyFrom(ro_topology) + return rw_topology + except grpc.RpcError: + #LOGGER.exception('Unable to get topology({:s} / {:s})'.format(str(context_uuid), str(topology_uuid))) + return None diff --git a/src/device/proto/__init__.py b/src/common/tools/context_queries/__init__.py similarity index 100% rename from src/device/proto/__init__.py rename to src/common/tools/context_queries/__init__.py diff --git a/src/common/tools/descriptor/Loader.py b/src/common/tools/descriptor/Loader.py new file mode 100644 index 0000000000000000000000000000000000000000..e3fc86c0538ae71008c15fd41e70f4f0f3c23763 --- /dev/null +++ b/src/common/tools/descriptor/Loader.py @@ -0,0 +1,253 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# SDN controller descriptor loader + +# Usage example (WebUI): +# descriptors = json.loads(descriptors_data_from_client) +# descriptor_loader = DescriptorLoader(descriptors) +# results = descriptor_loader.process() +# for message,level in compose_notifications(results): +# flash(message, level) + +# Usage example (pytest): +# with open('path/to/descriptor.json', 'r', encoding='UTF-8') as f: +# descriptors = json.loads(f.read()) +# descriptor_loader = DescriptorLoader( +# descriptors, context_client=..., device_client=..., service_client=..., slice_client=...) +# results = descriptor_loader.process() +# loggers = {'success': LOGGER.info, 'danger': LOGGER.error, 'error': LOGGER.error} +# for message,level in compose_notifications(results): +# loggers.get(level)(message) + +import json +from typing import Dict, List, Optional, Tuple, Union +from common.proto.context_pb2 import Connection, Context, Device, Link, Service, Slice, Topology +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient +from slice.client.SliceClient import SliceClient +from .Tools import ( + format_device_custom_config_rules, format_service_custom_config_rules, format_slice_custom_config_rules, + get_descriptors_add_contexts, get_descriptors_add_services, get_descriptors_add_slices, + get_descriptors_add_topologies, split_devices_by_rules) + +ENTITY_TO_TEXT = { + # name => singular, plural + 'context' : ('Context', 'Contexts' ), + 'topology' : ('Topology', 'Topologies' ), + 'device' : ('Device', 'Devices' ), + 'link' : ('Link', 'Links' ), + 'service' : ('Service', 'Services' ), + 'slice' : ('Slice', 'Slices' ), + 'connection': ('Connection', 'Connections'), +} + +ACTION_TO_TEXT = { + # action => infinitive, past + 'add' : ('Add', 'Added'), + 'update' : ('Update', 'Updated'), + 'config' : ('Configure', 'Configured'), +} + +TypeResults = List[Tuple[str, str, int, List[str]]] # entity_name, action, num_ok, list[error] +TypeNotification = Tuple[str, str] # message, level +TypeNotificationList = List[TypeNotification] + +def compose_notifications(results : TypeResults) -> TypeNotificationList: + notifications = [] + for entity_name, action_name, num_ok, error_list in results: + entity_name_singluar,entity_name_plural = ENTITY_TO_TEXT[entity_name] + action_infinitive, action_past = ACTION_TO_TEXT[action_name] + num_err = len(error_list) + for error in error_list: + notifications.append((f'Unable to {action_infinitive} {entity_name_singluar} {error}', 'error')) + if num_ok : notifications.append((f'{str(num_ok)} {entity_name_plural} {action_past}', 'success')) + if num_err: notifications.append((f'{str(num_err)} {entity_name_plural} failed', 'danger')) + return notifications + +class DescriptorLoader: + def __init__( + self, descriptors : Union[str, Dict], + context_client : Optional[ContextClient] = None, device_client : Optional[DeviceClient] = None, + service_client : Optional[ServiceClient] = None, slice_client : Optional[SliceClient] = None + ) -> None: + self.__descriptors = json.loads(descriptors) if isinstance(descriptors, str) else descriptors + self.__dummy_mode = self.__descriptors.get('dummy_mode' , False) + self.__contexts = self.__descriptors.get('contexts' , []) + self.__topologies = self.__descriptors.get('topologies' , []) + self.__devices = self.__descriptors.get('devices' , []) + self.__links = self.__descriptors.get('links' , []) + self.__services = self.__descriptors.get('services' , []) + self.__slices = self.__descriptors.get('slices' , []) + self.__connections = self.__descriptors.get('connections', []) + + self.__contexts_add = None + self.__topologies_add = None + self.__devices_add = None + self.__devices_config = None + self.__services_add = None + self.__slices_add = None + + self.__ctx_cli = ContextClient() if context_client is None else context_client + self.__dev_cli = DeviceClient() if device_client is None else device_client + self.__svc_cli = ServiceClient() if service_client is None else service_client + self.__slc_cli = SliceClient() if slice_client is None else slice_client + + self.__results : TypeResults = list() + + @property + def contexts(self) -> List[Dict]: return self.__contexts + + @property + def num_contexts(self) -> int: return len(self.__contexts) + + @property + def topologies(self) -> Dict[str, List[Dict]]: + _topologies = {} + for topology in self.__topologies: + context_uuid = topology['topology_id']['context_id']['context_uuid']['uuid'] + _topologies.setdefault(context_uuid, []).append(topology) + return _topologies + + @property + def num_topologies(self) -> Dict[str, int]: + _num_topologies = {} + for topology in self.__topologies: + context_uuid = topology['topology_id']['context_id']['context_uuid']['uuid'] + _num_topologies[context_uuid] = _num_topologies.get(context_uuid, 0) + 1 + return _num_topologies + + @property + def devices(self) -> List[Dict]: return self.__devices + + @property + def num_devices(self) -> int: return len(self.__devices) + + @property + def links(self) -> List[Dict]: return self.__links + + @property + def num_links(self) -> int: return len(self.__links) + + @property + def services(self) -> Dict[str, List[Dict]]: + _services = {} + for service in self.__services: + context_uuid = service['service_id']['context_id']['context_uuid']['uuid'] + _services.setdefault(context_uuid, []).append(service) + return _services + + @property + def num_services(self) -> Dict[str, int]: + _num_services = {} + for service in self.__services: + context_uuid = service['service_id']['context_id']['context_uuid']['uuid'] + _num_services[context_uuid] = _num_services.get(context_uuid, 0) + 1 + return _num_services + + @property + def slices(self) -> Dict[str, List[Dict]]: + _slices = {} + for slice_ in self.__slices: + context_uuid = slice_['slice_id']['context_id']['context_uuid']['uuid'] + _slices.setdefault(context_uuid, []).append(slice_) + return _slices + + @property + def num_slices(self) -> Dict[str, int]: + _num_slices = {} + for slice_ in self.__slices: + context_uuid = slice_['slice_id']['context_id']['context_uuid']['uuid'] + _num_slices[context_uuid] = _num_slices.get(context_uuid, 0) + 1 + return _num_slices + + @property + def connections(self) -> List[Dict]: return self.__connections + + @property + def num_connections(self) -> int: return len(self.__connections) + + def process(self) -> TypeResults: + # Format CustomConfigRules in Devices, Services and Slices provided in JSON format + self.__devices = [format_device_custom_config_rules (device ) for device in self.__devices ] + self.__services = [format_service_custom_config_rules(service) for service in self.__services] + self.__slices = [format_slice_custom_config_rules (slice_ ) for slice_ in self.__slices ] + + # Context and Topology require to create the entity first, and add devices, links, services, + # slices, etc. in a second stage. + self.__contexts_add = get_descriptors_add_contexts(self.__contexts) + self.__topologies_add = get_descriptors_add_topologies(self.__topologies) + + if self.__dummy_mode: + self._dummy_mode() + else: + self._normal_mode() + + return self.__results + + def _dummy_mode(self) -> None: + # Dummy Mode: used to pre-load databases (WebUI debugging purposes) with no smart or automated tasks. + self.__ctx_cli.connect() + self._process_descr('context', 'add', self.__ctx_cli.SetContext, Context, self.__contexts_add ) + self._process_descr('topology', 'add', self.__ctx_cli.SetTopology, Topology, self.__topologies_add) + self._process_descr('device', 'add', self.__ctx_cli.SetDevice, Device, self.__devices ) + self._process_descr('link', 'add', self.__ctx_cli.SetLink, Link, self.__links ) + self._process_descr('service', 'add', self.__ctx_cli.SetService, Service, self.__services ) + self._process_descr('slice', 'add', self.__ctx_cli.SetSlice, Slice, self.__slices ) + self._process_descr('connection', 'add', self.__ctx_cli.SetConnection, Connection, self.__connections ) + self._process_descr('context', 'update', self.__ctx_cli.SetContext, Context, self.__contexts ) + self._process_descr('topology', 'update', self.__ctx_cli.SetTopology, Topology, self.__topologies ) + #self.__ctx_cli.close() + + def _normal_mode(self) -> None: + # Normal mode: follows the automated workflows in the different components + assert len(self.__connections) == 0, 'in normal mode, connections should not be set' + + # Device, Service and Slice require to first create the entity and the configure it + self.__devices_add, self.__devices_config = split_devices_by_rules(self.__devices) + self.__services_add = get_descriptors_add_services(self.__services) + self.__slices_add = get_descriptors_add_slices(self.__slices) + + self.__ctx_cli.connect() + self.__dev_cli.connect() + self.__svc_cli.connect() + self.__slc_cli.connect() + + self._process_descr('context', 'add', self.__ctx_cli.SetContext, Context, self.__contexts_add ) + self._process_descr('topology', 'add', self.__ctx_cli.SetTopology, Topology, self.__topologies_add) + self._process_descr('device', 'add', self.__dev_cli.AddDevice, Device, self.__devices_add ) + self._process_descr('device', 'config', self.__dev_cli.ConfigureDevice, Device, self.__devices_config) + self._process_descr('link', 'add', self.__ctx_cli.SetLink, Link, self.__links ) + self._process_descr('service', 'add', self.__svc_cli.CreateService, Service, self.__services_add ) + self._process_descr('service', 'update', self.__svc_cli.UpdateService, Service, self.__services ) + self._process_descr('slice', 'add', self.__slc_cli.CreateSlice, Slice, self.__slices_add ) + self._process_descr('slice', 'update', self.__slc_cli.UpdateSlice, Slice, self.__slices ) + self._process_descr('context', 'update', self.__ctx_cli.SetContext, Context, self.__contexts ) + self._process_descr('topology', 'update', self.__ctx_cli.SetTopology, Topology, self.__topologies ) + + #self.__slc_cli.close() + #self.__svc_cli.close() + #self.__dev_cli.close() + #self.__ctx_cli.close() + + def _process_descr(self, entity_name, action_name, grpc_method, grpc_class, entities) -> None: + num_ok, error_list = 0, [] + for entity in entities: + try: + grpc_method(grpc_class(**entity)) + num_ok += 1 + except Exception as e: # pylint: disable=broad-except + error_list.append(f'{str(entity)}: {str(e)}') + self.__results.append((entity_name, action_name, num_ok, error_list)) diff --git a/src/common/tools/descriptor/Tools.py b/src/common/tools/descriptor/Tools.py new file mode 100644 index 0000000000000000000000000000000000000000..cc7fa37577ec7b490756078a90aff959658274b4 --- /dev/null +++ b/src/common/tools/descriptor/Tools.py @@ -0,0 +1,103 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy, json +from typing import Dict, List, Optional, Tuple, Union + +def get_descriptors_add_contexts(contexts : List[Dict]) -> List[Dict]: + contexts_add = copy.deepcopy(contexts) + for context in contexts_add: + context['topology_ids'] = [] + context['service_ids'] = [] + return contexts_add + +def get_descriptors_add_topologies(topologies : List[Dict]) -> List[Dict]: + topologies_add = copy.deepcopy(topologies) + for topology in topologies_add: + topology['device_ids'] = [] + topology['link_ids'] = [] + return topologies_add + +def get_descriptors_add_services(services : List[Dict]) -> List[Dict]: + services_add = [] + for service in services: + service_copy = copy.deepcopy(service) + service_copy['service_endpoint_ids'] = [] + service_copy['service_constraints'] = [] + service_copy['service_config'] = {'config_rules': []} + services_add.append(service_copy) + return services_add + +def get_descriptors_add_slices(slices : List[Dict]) -> List[Dict]: + slices_add = [] + for slice_ in slices: + slice_copy = copy.deepcopy(slice_) + slice_copy['slice_endpoint_ids'] = [] + slice_copy['slice_constraints'] = [] + slice_copy['slice_config'] = {'config_rules': []} + slices_add.append(slice_copy) + return slices_add + +TypeResourceValue = Union[str, int, bool, float, dict, list] +def format_custom_config_rules(config_rules : List[Dict]) -> List[Dict]: + for config_rule in config_rules: + if 'custom' not in config_rule: continue + custom_resource_value : TypeResourceValue = config_rule['custom']['resource_value'] + if isinstance(custom_resource_value, (dict, list)): + custom_resource_value = json.dumps(custom_resource_value, sort_keys=True, indent=0) + config_rule['custom']['resource_value'] = custom_resource_value + return config_rules + +def format_device_custom_config_rules(device : Dict) -> Dict: + config_rules = device.get('device_config', {}).get('config_rules', []) + config_rules = format_custom_config_rules(config_rules) + device['device_config']['config_rules'] = config_rules + return device + +def format_service_custom_config_rules(service : Dict) -> Dict: + config_rules = service.get('service_config', {}).get('config_rules', []) + config_rules = format_custom_config_rules(config_rules) + service['service_config']['config_rules'] = config_rules + return service + +def format_slice_custom_config_rules(slice_ : Dict) -> Dict: + config_rules = slice_.get('service_config', {}).get('config_rules', []) + config_rules = format_custom_config_rules(config_rules) + slice_['slice_config']['config_rules'] = config_rules + return slice_ + +def split_devices_by_rules(devices : List[Dict]) -> Tuple[List[Dict], List[Dict]]: + devices_add = [] + devices_config = [] + for device in devices: + connect_rules = [] + config_rules = [] + for config_rule in device.get('device_config', {}).get('config_rules', []): + custom_resource_key : Optional[str] = config_rule.get('custom', {}).get('resource_key') + if custom_resource_key is not None and custom_resource_key.startswith('_connect/'): + connect_rules.append(config_rule) + else: + config_rules.append(config_rule) + + if len(connect_rules) > 0: + device_add = copy.deepcopy(device) + device_add['device_endpoints'] = [] + device_add['device_config'] = {'config_rules': connect_rules} + devices_add.append(device_add) + + if len(config_rules) > 0: + device['device_config'] = {'config_rules': config_rules} + devices_config.append(device) + + return devices_add, devices_config diff --git a/src/l3_attackmitigator/proto/__init__.py b/src/common/tools/descriptor/__init__.py similarity index 100% rename from src/l3_attackmitigator/proto/__init__.py rename to src/common/tools/descriptor/__init__.py diff --git a/src/common/tools/descriptor/context_pb2.py b/src/common/tools/descriptor/context_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/common/tools/descriptor/kpi_sample_types_pb2.py b/src/common/tools/descriptor/kpi_sample_types_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/common/tools/descriptor/old/BuildDescriptors.py b/src/common/tools/descriptor/old/BuildDescriptors.py new file mode 100644 index 0000000000000000000000000000000000000000..5c5419190487eb5089e4a30f523dca43fa3870f2 --- /dev/null +++ b/src/common/tools/descriptor/old/BuildDescriptors.py @@ -0,0 +1,35 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy, json, sys +from .Objects import CONTEXTS, DEVICES, LINKS, TOPOLOGIES + +def main(): + with open('tests/ofc22/descriptors_emulated.json', 'w', encoding='UTF-8') as f: + devices = [] + for device,connect_rules in DEVICES: + device = copy.deepcopy(device) + device['device_config']['config_rules'].extend(connect_rules) + devices.append(device) + + f.write(json.dumps({ + 'contexts': CONTEXTS, + 'topologies': TOPOLOGIES, + 'devices': devices, + 'links': LINKS + })) + return 0 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/src/common/tools/descriptor/old/LoadDescriptors.py b/src/common/tools/descriptor/old/LoadDescriptors.py new file mode 100644 index 0000000000000000000000000000000000000000..f0b19196afbcd67c1f20263791d20820489b9cf5 --- /dev/null +++ b/src/common/tools/descriptor/old/LoadDescriptors.py @@ -0,0 +1,40 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import json, logging, sys +from common.Settings import get_setting +from common.proto.context_pb2 import Context, Device, Link, Topology +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +def main(): + context_client = ContextClient( + get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) + device_client = DeviceClient( + get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC')) + + with open('tests/ofc22/descriptors.json', 'r', encoding='UTF-8') as f: + descriptors = json.loads(f.read()) + + for context in descriptors['contexts' ]: context_client.SetContext (Context (**context )) + for topology in descriptors['topologies']: context_client.SetTopology(Topology(**topology)) + for device in descriptors['devices' ]: device_client .AddDevice (Device (**device )) + for link in descriptors['links' ]: context_client.SetLink (Link (**link )) + return 0 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/src/common/tools/grpc/ConfigRules.py b/src/common/tools/grpc/ConfigRules.py new file mode 100644 index 0000000000000000000000000000000000000000..e109cb7a00086da8530c7677967d86e57df1457a --- /dev/null +++ b/src/common/tools/grpc/ConfigRules.py @@ -0,0 +1,62 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# RFC 8466 - L2VPN Service Model (L2SM) +# Ref: https://datatracker.ietf.org/doc/html/rfc8466 + + +import json +from typing import Any, Dict, Tuple +from common.proto.context_pb2 import ConfigActionEnum, ConfigRule +from common.tools.grpc.Tools import grpc_message_to_json_string + +def update_config_rule_custom(config_rules, resource_key : str, fields : Dict[str, Tuple[Any, bool]]) -> ConfigRule: + # fields: Dict[field_name : str, Tuple[field_value : Any, raise_if_differs : bool]] + + for config_rule in config_rules: + if config_rule.WhichOneof('config_rule') != 'custom': continue + if config_rule.custom.resource_key != resource_key: continue + json_resource_value = json.loads(config_rule.custom.resource_value) + break # found, end loop + else: + # not found, add it + config_rule = config_rules.add() # pylint: disable=no-member + config_rule.action = ConfigActionEnum.CONFIGACTION_SET + config_rule.custom.resource_key = resource_key + json_resource_value = {} + + for field_name,(field_value, raise_if_differs) in fields.items(): + if (field_name not in json_resource_value) or not raise_if_differs: + # missing or raise_if_differs=False, add/update it + json_resource_value[field_name] = field_value + elif json_resource_value[field_name] != field_value: + # exists, differs, and raise_if_differs=True + msg = 'Specified {:s}({:s}) differs existing value({:s})' + raise Exception(msg.format(str(field_name), str(field_value), str(json_resource_value[field_name]))) + + config_rule.custom.resource_value = json.dumps(json_resource_value, sort_keys=True) + +def copy_config_rules(source_config_rules, target_config_rules): + for source_config_rule in source_config_rules: + config_rule_kind = source_config_rule.WhichOneof('config_rule') + if config_rule_kind == 'custom': + custom = source_config_rule.custom + resource_key = custom.resource_key + resource_value = json.loads(custom.resource_value) + raise_if_differs = True + fields = {name:(value, raise_if_differs) for name,value in resource_value.items()} + update_config_rule_custom(target_config_rules, resource_key, fields) + + else: + raise NotImplementedError('ConfigRule({:s})'.format(grpc_message_to_json_string(source_config_rule))) diff --git a/src/common/tools/grpc/Constraints.py b/src/common/tools/grpc/Constraints.py new file mode 100644 index 0000000000000000000000000000000000000000..aa95767ab2807e4ac7ac331c47622a8ece0e88ff --- /dev/null +++ b/src/common/tools/grpc/Constraints.py @@ -0,0 +1,199 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# RFC 8466 - L2VPN Service Model (L2SM) +# Ref: https://datatracker.ietf.org/doc/html/rfc8466 + + +import json +from typing import Any, Dict, Optional, Tuple +from common.proto.context_pb2 import Constraint, EndPointId +from common.tools.grpc.Tools import grpc_message_to_json_string + +def update_constraint_custom_scalar( + constraints, constraint_type : str, value : Any, raise_if_differs : bool = False +) -> Constraint: + + for constraint in constraints: + if constraint.WhichOneof('constraint') != 'custom': continue + if constraint.custom.constraint_type != constraint_type: continue + json_constraint_value = json.loads(constraint.custom.constraint_value) + break # found, end loop + else: + # not found, add it + constraint = constraints.add() # pylint: disable=no-member + constraint.custom.constraint_type = constraint_type + json_constraint_value = None + + if (json_constraint_value is None) or not raise_if_differs: + # missing or raise_if_differs=False, add/update it + json_constraint_value = value + elif json_constraint_value != value: + # exists, differs, and raise_if_differs=True + msg = 'Specified value({:s}) differs existing value({:s})' + raise Exception(msg.format(str(value), str(json_constraint_value))) + + constraint.custom.constraint_value = json.dumps(json_constraint_value, sort_keys=True) + return constraint + +def update_constraint_custom_dict(constraints, constraint_type : str, fields : Dict[str, Tuple[Any, bool]]) -> Constraint: + # fields: Dict[field_name : str, Tuple[field_value : Any, raise_if_differs : bool]] + + for constraint in constraints: + if constraint.WhichOneof('constraint') != 'custom': continue + if constraint.custom.constraint_type != constraint_type: continue + json_constraint_value = json.loads(constraint.custom.constraint_value) + break # found, end loop + else: + # not found, add it + constraint = constraints.add() # pylint: disable=no-member + constraint.custom.constraint_type = constraint_type + json_constraint_value = {} + + for field_name,(field_value, raise_if_differs) in fields.items(): + if (field_name not in json_constraint_value) or not raise_if_differs: + # missing or raise_if_differs=False, add/update it + json_constraint_value[field_name] = field_value + elif json_constraint_value[field_name] != field_value: + # exists, differs, and raise_if_differs=True + msg = 'Specified {:s}({:s}) differs existing value({:s})' + raise Exception(msg.format(str(field_name), str(field_value), str(json_constraint_value[field_name]))) + + constraint.custom.constraint_value = json.dumps(json_constraint_value, sort_keys=True) + return constraint + +def update_constraint_endpoint_location( + constraints, endpoint_id : EndPointId, + region : Optional[str] = None, gps_position : Optional[Tuple[float, float]] = None +) -> Constraint: + # gps_position: (latitude, longitude) + if region is not None and gps_position is not None: + raise Exception('Only one of region/gps_position can be provided') + + endpoint_uuid = endpoint_id.endpoint_uuid.uuid + device_uuid = endpoint_id.device_id.device_uuid.uuid + topology_uuid = endpoint_id.topology_id.topology_uuid.uuid + context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid + + for constraint in constraints: + if constraint.WhichOneof('constraint') != 'endpoint_location': continue + _endpoint_id = constraint.endpoint_location.endpoint_id + if _endpoint_id.endpoint_uuid.uuid != endpoint_uuid: continue + if _endpoint_id.device_id.device_uuid.uuid != device_uuid: continue + if _endpoint_id.topology_id.topology_uuid.uuid != topology_uuid: continue + if _endpoint_id.topology_id.context_id.context_uuid.uuid != context_uuid: continue + break # found, end loop + else: + # not found, add it + constraint = constraints.add() # pylint: disable=no-member + _endpoint_id = constraint.endpoint_location.endpoint_id + _endpoint_id.endpoint_uuid.uuid = endpoint_uuid + _endpoint_id.device_id.device_uuid.uuid = device_uuid + _endpoint_id.topology_id.topology_uuid.uuid = topology_uuid + _endpoint_id.topology_id.context_id.context_uuid.uuid = context_uuid + + location = constraint.endpoint_location.location + if region is not None: + location.region = region + elif gps_position is not None: + location.gps_position.latitude = gps_position[0] + location.gps_position.longitude = gps_position[1] + return constraint + +def update_constraint_endpoint_priority(constraints, endpoint_id : EndPointId, priority : int) -> Constraint: + endpoint_uuid = endpoint_id.endpoint_uuid.uuid + device_uuid = endpoint_id.device_id.device_uuid.uuid + topology_uuid = endpoint_id.topology_id.topology_uuid.uuid + context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid + + for constraint in constraints: + if constraint.WhichOneof('constraint') != 'endpoint_priority': continue + _endpoint_id = constraint.endpoint_priority.endpoint_id + if _endpoint_id.endpoint_uuid.uuid != endpoint_uuid: continue + if _endpoint_id.device_id.device_uuid.uuid != device_uuid: continue + if _endpoint_id.topology_id.topology_uuid.uuid != topology_uuid: continue + if _endpoint_id.topology_id.context_id.context_uuid.uuid != context_uuid: continue + break # found, end loop + else: + # not found, add it + constraint = constraints.add() # pylint: disable=no-member + _endpoint_id = constraint.endpoint_priority.endpoint_id + _endpoint_id.endpoint_uuid.uuid = endpoint_uuid + _endpoint_id.device_id.device_uuid.uuid = device_uuid + _endpoint_id.topology_id.topology_uuid.uuid = topology_uuid + _endpoint_id.topology_id.context_id.context_uuid.uuid = context_uuid + + constraint.endpoint_priority.priority = priority + return constraint + +def update_constraint_sla_availability(constraints, num_disjoint_paths : int, all_active : bool) -> Constraint: + for constraint in constraints: + if constraint.WhichOneof('constraint') != 'sla_availability': continue + break # found, end loop + else: + # not found, add it + constraint = constraints.add() # pylint: disable=no-member + + constraint.sla_availability.num_disjoint_paths = num_disjoint_paths + constraint.sla_availability.all_active = all_active + return constraint + + +def copy_constraints(source_constraints, target_constraints): + for source_constraint in source_constraints: + constraint_kind = source_constraint.WhichOneof('constraint') + if constraint_kind == 'custom': + custom = source_constraint.custom + constraint_type = custom.constraint_type + try: + constraint_value = json.loads(custom.constraint_value) + except: # pylint: disable=bare-except + constraint_value = custom.constraint_value + if isinstance(constraint_value, dict): + raise_if_differs = True + fields = {name:(value, raise_if_differs) for name,value in constraint_value.items()} + update_constraint_custom_dict(target_constraints, constraint_type, fields) + else: + raise_if_differs = True + update_constraint_custom_scalar( + target_constraints, constraint_type, constraint_value, raise_if_differs=raise_if_differs) + + elif constraint_kind == 'endpoint_location': + endpoint_id = source_constraint.endpoint_location.endpoint_id + location = source_constraint.endpoint_location.location + location_kind = location.WhichOneof('location') + if location_kind == 'region': + region = location.region + update_constraint_endpoint_location(target_constraints, endpoint_id, region=region) + elif location_kind == 'gps_position': + gps_position = location.gps_position + gps_position = (gps_position.latitude, gps_position.longitude) + update_constraint_endpoint_location(target_constraints, endpoint_id, gps_position=gps_position) + else: + str_constraint = grpc_message_to_json_string(source_constraint) + raise NotImplementedError('Constraint({:s}): Location({:s})'.format(str_constraint, constraint_kind)) + + elif constraint_kind == 'endpoint_priority': + endpoint_id = source_constraint.endpoint_priority.endpoint_id + priority = source_constraint.endpoint_priority.priority + update_constraint_endpoint_priority(target_constraints, endpoint_id, priority) + + elif constraint_kind == 'sla_availability': + sla_availability = source_constraint.sla_availability + num_disjoint_paths = sla_availability.num_disjoint_paths + all_active = sla_availability.all_active + update_constraint_sla_availability(target_constraints, num_disjoint_paths, all_active) + + else: + raise NotImplementedError('Constraint({:s})'.format(grpc_message_to_json_string(source_constraint))) diff --git a/src/common/tools/grpc/EndPointIds.py b/src/common/tools/grpc/EndPointIds.py new file mode 100644 index 0000000000000000000000000000000000000000..b3830d4c809bb6dc065e58bc8af0f1ad56c610f4 --- /dev/null +++ b/src/common/tools/grpc/EndPointIds.py @@ -0,0 +1,50 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# RFC 8466 - L2VPN Service Model (L2SM) +# Ref: https://datatracker.ietf.org/doc/html/rfc8466 + + +from typing import Optional +from common.proto.context_pb2 import EndPointId + +def update_endpoint_ids( + endpoint_ids, device_uuid : str, endpoint_uuid : str, + context_uuid : Optional[str] = None, topology_uuid : Optional[str] = None +) -> EndPointId: + for endpoint_id in endpoint_ids: + if endpoint_id.endpoint_uuid.uuid != endpoint_uuid: continue + if endpoint_id.device_id.device_uuid.uuid != device_uuid: continue + topology_id = endpoint_id.topology_id + if topology_uuid is not None and topology_id.topology_uuid.uuid != topology_uuid: continue + if context_uuid is not None and topology_id.context_id.context_uuid.uuid != context_uuid: continue + break # found, do nothing + else: + # not found, add it + endpoint_id = endpoint_ids.add() # pylint: disable=no-member + endpoint_id.endpoint_uuid.uuid = endpoint_uuid + endpoint_id.device_id.device_uuid.uuid = device_uuid + if topology_uuid is not None: endpoint_id.topology_id.topology_uuid.uuid = topology_uuid + if context_uuid is not None: endpoint_id.topology_id.context_id.context_uuid.uuid = context_uuid + return endpoint_id + +def copy_endpoint_ids(source_endpoint_ids, target_endpoint_ids): + for source_endpoint_id in source_endpoint_ids: + device_uuid = source_endpoint_id.device_id.device_uuid.uuid + endpoint_uuid = source_endpoint_id.endpoint_uuid.uuid + source_topology_id = source_endpoint_id.topology_id + context_uuid = source_topology_id.context_id.context_uuid.uuid + topology_uuid = source_topology_id.topology_uuid.uuid + update_endpoint_ids( + target_endpoint_ids, device_uuid, endpoint_uuid, context_uuid=context_uuid, topology_uuid=topology_uuid) diff --git a/src/common/tools/grpc/ServiceIds.py b/src/common/tools/grpc/ServiceIds.py new file mode 100644 index 0000000000000000000000000000000000000000..0e1073cab7c4e82e0f21584f2831d94a0b8a23ba --- /dev/null +++ b/src/common/tools/grpc/ServiceIds.py @@ -0,0 +1,37 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# RFC 8466 - L2VPN Service Model (L2SM) +# Ref: https://datatracker.ietf.org/doc/html/rfc8466 + + +from common.proto.context_pb2 import ServiceId + +def update_service_ids(service_ids, context_uuid : str, service_uuid : str) -> ServiceId: + for service_id in service_ids: + if service_id.service_uuid.uuid != service_uuid: continue + if service_id.context_id.context_uuid.uuid != context_uuid: continue + break # found, do nothing + else: + # not found, add it + service_id = service_ids.add() # pylint: disable=no-member + service_id.service_uuid.uuid = service_uuid + service_id.context_id.context_uuid.uuid = context_uuid + return service_id + +def copy_service_ids(source_service_ids, target_service_ids): + for source_service_id in source_service_ids: + context_uuid = source_service_id.context_id.context_uuid.uuid + service_uuid = source_service_id.service_uuid.uuid + update_service_ids(target_service_ids, context_uuid, service_uuid) diff --git a/src/common/tools/mutex_queues/MutexQueues.py b/src/common/tools/mutex_queues/MutexQueues.py new file mode 100644 index 0000000000000000000000000000000000000000..c3ab760f281c73ae2f308044d67b2d2b81aef142 --- /dev/null +++ b/src/common/tools/mutex_queues/MutexQueues.py @@ -0,0 +1,78 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +# MutexQueues: +# ------------ +# This class enables to schedule and serialize operations concurrently issued +# over a number of resources. For instance, when multiple components want to +# configure devices through the Device component, configuration operations +# have to be serialized to prevent data corruptions, and race conditions, etc. +# Usage Example: +# class Servicer(): +# def __init__(self): +# # init other stuff +# self.drivers = dict() +# self.mutex_queues = MutexQueues() +# +# def configure_device(self, device_uuid, settings): +# self.mutex_queues.wait_my_turn(device_uuid) +# driver = self.drivers.get(device_uuid) +# if driver is None: +# driver = Driver(device_uuid) +# self.drivers[device_uuid] = driver +# driver.configure(settings) +# self.mutex_queues.signal_done(device_uuid) + +import threading +from queue import Queue +from typing import Dict + +class MutexQueues: + def __init__(self) -> None: + # lock to protect dictionary updates + self.lock = threading.Lock() + + # dictionaty of queues of mutexes: queue_name => queue[mutex] + # first mutex is the running one + self.mutex_queues : Dict[str, Queue[threading.Event]] = dict() + + def wait_my_turn(self, queue_name : str) -> None: + # create my mutex and enqueue it + mutex = threading.Event() + with self.lock: + queue : Queue = self.mutex_queues.setdefault(queue_name, Queue()) + first_in_queue = (queue.qsize() == 0) + queue.put_nowait(mutex) + + # if I'm the first in the queue upon addition, means there are no running tasks + # directly return without waiting + if first_in_queue: return + + # otherwise, wait for my turn in the queue + mutex.wait() + + def signal_done(self, queue_name : str) -> None: + # I'm done with my work + with self.lock: + queue : Queue = self.mutex_queues.setdefault(queue_name, Queue()) + + # remove muself from the queue + queue.get_nowait() + + # if there are no other tasks queued, return + if queue.qsize() == 0: return + + # otherwise, signal the next task in the queue to start + next_mutex : threading.Event = queue.queue[0] + next_mutex.set() diff --git a/src/l3_centralizedattackdetector/proto/__init__.py b/src/common/tools/mutex_queues/__init__.py similarity index 100% rename from src/l3_centralizedattackdetector/proto/__init__.py rename to src/common/tools/mutex_queues/__init__.py diff --git a/src/common/tools/mutex_queues/context_pb2.py b/src/common/tools/mutex_queues/context_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/common/tools/mutex_queues/kpi_sample_types_pb2.py b/src/common/tools/mutex_queues/kpi_sample_types_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/common/tools/object_factory/ConfigRule.py b/src/common/tools/object_factory/ConfigRule.py index 8f65d7123d64f093ec2229de05dbb71bec93ed86..5d889ee7ef3a38f1e43c74addc75d95291370491 100644 --- a/src/common/tools/object_factory/ConfigRule.py +++ b/src/common/tools/object_factory/ConfigRule.py @@ -14,11 +14,11 @@ import json from typing import Any, Dict, Union -from context.proto.context_pb2 import ConfigActionEnum +from common.proto.context_pb2 import ConfigActionEnum def json_config_rule(action : ConfigActionEnum, resource_key : str, resource_value : Union[str, Dict[str, Any]]): if not isinstance(resource_value, str): resource_value = json.dumps(resource_value, sort_keys=True) - return {'action': action, 'resource_key': resource_key, 'resource_value': resource_value} + return {'action': action, 'custom': {'resource_key': resource_key, 'resource_value': resource_value}} def json_config_rule_set(resource_key : str, resource_value : Union[str, Dict[str, Any]]): return json_config_rule(ConfigActionEnum.CONFIGACTION_SET, resource_key, resource_value) diff --git a/src/common/tools/object_factory/Constraint.py b/src/common/tools/object_factory/Constraint.py index de6e159c3f58af1dd3c53b61b290b2b57aadf672..757531daf65b60c5f5b6c90ee67ef00488f91590 100644 --- a/src/common/tools/object_factory/Constraint.py +++ b/src/common/tools/object_factory/Constraint.py @@ -15,6 +15,19 @@ import json from typing import Any, Dict, Union -def json_constraint(constraint_type : str, constraint_value : Union[str, Dict[str, Any]]): +def json_constraint_custom(constraint_type : str, constraint_value : Union[str, Dict[str, Any]]) -> Dict: if not isinstance(constraint_value, str): constraint_value = json.dumps(constraint_value, sort_keys=True) - return {'constraint_type': constraint_type, 'constraint_value': constraint_value} + return {'custom': {'constraint_type': constraint_type, 'constraint_value': constraint_value}} + +def json_constraint_endpoint_location_region(endpoint_id : Dict, region : str) -> Dict: + return {'endpoint_location': {'endpoint_id': endpoint_id, 'location': {'region': region}}} + +def json_constraint_endpoint_location_gps(endpoint_id : Dict, latitude : float, longitude : float) -> Dict: + gps_position = {'latitude': latitude, 'longitude': longitude} + return {'endpoint_location': {'endpoint_id': endpoint_id, 'location': {'gps_position': gps_position}}} + +def json_constraint_endpoint_priority(endpoint_id : Dict, priority : int) -> Dict: + return {'endpoint_priority': {'endpoint_id': endpoint_id, 'priority': priority}} + +def json_constraint_sla_availability(num_disjoint_paths : int, all_active : bool) -> Dict: + return {'sla_availability': {'num_disjoint_paths': num_disjoint_paths, 'all_active': all_active}} diff --git a/src/common/tools/object_factory/Device.py b/src/common/tools/object_factory/Device.py index ae065e9c03127bf26b4e15710431cc1cfad67208..666d65f1e739b4cca8b665846f1775dcd6130e1c 100644 --- a/src/common/tools/object_factory/Device.py +++ b/src/common/tools/object_factory/Device.py @@ -15,13 +15,14 @@ import copy from typing import Dict, List, Tuple from common.DeviceTypes import DeviceTypeEnum +from common.proto.context_pb2 import DeviceDriverEnum, DeviceOperationalStatusEnum from common.tools.object_factory.ConfigRule import json_config_rule_set -from context.proto.context_pb2 import DeviceDriverEnum, DeviceOperationalStatusEnum DEVICE_DISABLED = DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_DISABLED +DEVICE_EMUDC_TYPE = DeviceTypeEnum.EMULATED_DATACENTER.value +DEVICE_EMUOLS_TYPE = DeviceTypeEnum.EMULATED_OPEN_LINE_SYSTEM.value DEVICE_EMUPR_TYPE = DeviceTypeEnum.EMULATED_PACKET_ROUTER.value -DEVICE_EMUOLS_TYPE = DeviceTypeEnum.EMULATED_OPTICAL_LINE_SYSTEM.value DEVICE_EMU_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_UNDEFINED] DEVICE_EMU_ADDRESS = '127.0.0.1' DEVICE_EMU_PORT = '0' @@ -29,9 +30,16 @@ DEVICE_EMU_PORT = '0' DEVICE_PR_TYPE = DeviceTypeEnum.PACKET_ROUTER.value DEVICE_PR_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_OPENCONFIG] -DEVICE_TAPI_TYPE = DeviceTypeEnum.OPTICAL_LINE_SYSTEM.value +DEVICE_TAPI_TYPE = DeviceTypeEnum.OPEN_LINE_SYSTEM.value DEVICE_TAPI_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_TRANSPORT_API] +DEVICE_XR_CONSTELLATION_TYPE = DeviceTypeEnum.XR_CONSTELLATION.value +DEVICE_XR_CONSTELLATION_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_XR] + +# check which enum type and value assign to microwave device +DEVICE_MICROWAVE_TYPE = DeviceTypeEnum.MICROWAVE_RADIO_SYSTEM.value +DEVICE_MICROWAVE_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_IETF_NETWORK_TOPOLOGY] + DEVICE_P4_TYPE = DeviceTypeEnum.P4_SWITCH.value DEVICE_P4_DRIVERS = [DeviceDriverEnum.DEVICEDRIVER_P4] @@ -67,6 +75,14 @@ def json_device_emulated_tapi_disabled( device_uuid, DEVICE_EMUOLS_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, drivers=drivers) +def json_device_emulated_datacenter_disabled( + device_uuid : str, endpoints : List[Dict] = [], config_rules : List[Dict] = [], + drivers : List[Dict] = DEVICE_EMU_DRIVERS + ): + return json_device( + device_uuid, DEVICE_EMUDC_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, + drivers=drivers) + def json_device_packetrouter_disabled( device_uuid : str, endpoints : List[Dict] = [], config_rules : List[Dict] = [], drivers : List[Dict] = DEVICE_PR_DRIVERS @@ -81,6 +97,22 @@ def json_device_tapi_disabled( return json_device( device_uuid, DEVICE_TAPI_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, drivers=drivers) +def json_device_xr_constellation_disabled( + device_uuid : str, endpoints : List[Dict] = [], config_rules : List[Dict] = [], + drivers : List[Dict] = DEVICE_XR_CONSTELLATION_DRIVERS + ): + return json_device( + device_uuid, DEVICE_XR_CONSTELLATION_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, + drivers=drivers) + +def json_device_microwave_disabled( + device_uuid : str, endpoints : List[Dict] = [], config_rules : List[Dict] = [], + drivers : List[Dict] = DEVICE_MICROWAVE_DRIVERS + ): + return json_device( + device_uuid, DEVICE_MICROWAVE_TYPE, DEVICE_DISABLED, endpoints=endpoints, config_rules=config_rules, + drivers=drivers) + def json_device_p4_disabled( device_uuid : str, endpoints : List[Dict] = [], config_rules : List[Dict] = [], drivers : List[Dict] = DEVICE_P4_DRIVERS diff --git a/src/common/tools/object_factory/EndPoint.py b/src/common/tools/object_factory/EndPoint.py index d750604365fc616536374dd3541a17613da4746f..9eca5e96371713d1e095eba4666ee806ad6cf71e 100644 --- a/src/common/tools/object_factory/EndPoint.py +++ b/src/common/tools/object_factory/EndPoint.py @@ -13,13 +13,21 @@ # limitations under the License. import copy -from typing import Dict, List, Optional +from typing import Dict, List, Optional, Tuple def json_endpoint_id(device_id : Dict, endpoint_uuid : str, topology_id : Optional[Dict] = None): result = {'device_id': copy.deepcopy(device_id), 'endpoint_uuid': {'uuid': endpoint_uuid}} if topology_id is not None: result['topology_id'] = copy.deepcopy(topology_id) return result +def json_endpoint_ids( + device_id : Dict, endpoint_descriptors : List[Tuple[str, str, List[int]]], topology_id : Optional[Dict] = None + ): + return [ + json_endpoint_id(device_id, endpoint_uuid, topology_id=topology_id) + for endpoint_uuid, _, _ in endpoint_descriptors + ] + def json_endpoint( device_id : Dict, endpoint_uuid : str, endpoint_type : str, topology_id : Optional[Dict] = None, kpi_sample_types : List[int] = [] @@ -31,3 +39,13 @@ def json_endpoint( } if len(kpi_sample_types) > 0: result['kpi_sample_types'] = copy.deepcopy(kpi_sample_types) return result + +def json_endpoints( + device_id : Dict, endpoint_descriptors : List[Tuple[str, str, List[int]]], topology_id : Optional[Dict] = None + ): + return [ + json_endpoint( + device_id, endpoint_uuid, endpoint_type, topology_id=topology_id, + kpi_sample_types=endpoint_sample_types) + for endpoint_uuid, endpoint_type, endpoint_sample_types in endpoint_descriptors + ] diff --git a/src/common/tools/object_factory/Link.py b/src/common/tools/object_factory/Link.py index fac27945912be6ee24b3808f567ea160e017fb37..12c233464f575fefdaa13afe457ca1ae500f15b6 100644 --- a/src/common/tools/object_factory/Link.py +++ b/src/common/tools/object_factory/Link.py @@ -13,10 +13,21 @@ # limitations under the License. import copy -from typing import Dict, List +from typing import Dict, List, Tuple -def json_link_id(link_uuid : str): +def get_link_uuid(a_endpoint_id : Dict, z_endpoint_id : Dict) -> str: + return '{:s}/{:s}=={:s}/{:s}'.format( + a_endpoint_id['device_id']['device_uuid']['uuid'], a_endpoint_id['endpoint_uuid']['uuid'], + z_endpoint_id['device_id']['device_uuid']['uuid'], z_endpoint_id['endpoint_uuid']['uuid']) + +def json_link_id(link_uuid : str) -> Dict: return {'link_uuid': {'uuid': link_uuid}} -def json_link(link_uuid : str, endpoint_ids : List[Dict]): +def json_link(link_uuid : str, endpoint_ids : List[Dict]) -> Dict: return {'link_id': json_link_id(link_uuid), 'link_endpoint_ids': copy.deepcopy(endpoint_ids)} + +def compose_link(endpoint_a, endpoint_z) -> Tuple[Dict, Dict]: + link_uuid = get_link_uuid(endpoint_a['endpoint_id'], endpoint_z['endpoint_id']) + link_id = json_link_id(link_uuid) + link = json_link(link_uuid, [endpoint_a['endpoint_id'], endpoint_z['endpoint_id']]) + return link_id, link diff --git a/src/common/tools/object_factory/PolicyRule.py b/src/common/tools/object_factory/PolicyRule.py new file mode 100644 index 0000000000000000000000000000000000000000..8702f931dfffef175ce6c25de24a10de8286effc --- /dev/null +++ b/src/common/tools/object_factory/PolicyRule.py @@ -0,0 +1,48 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import logging +from typing import Dict, List, Optional +from common.proto.policy_condition_pb2 import BooleanOperator + +LOGGER = logging.getLogger(__name__) + +def json_policy_rule_id(policy_rule_uuid : str) -> Dict: + return {'uuid': {'uuid': policy_rule_uuid}} + +def json_policy_rule( + policy_rule_uuid : str, policy_priority : int = 1, + boolean_operator : BooleanOperator = BooleanOperator.POLICYRULE_CONDITION_BOOLEAN_AND, + condition_list : List[Dict] = [], action_list : List[Dict] = [], + service_id : Optional[Dict] = None, device_id_list : List[Dict] = [] +) -> Dict: + basic = { + 'policyRuleId': json_policy_rule_id(policy_rule_uuid), + 'priority': policy_priority, + 'conditionList': condition_list, + 'booleanOperator': boolean_operator, + 'actionList': action_list, + } + + result = {} + if service_id is not None: + policy_rule_type = 'service' + result[policy_rule_type] = {'policyRuleBasic': basic} + result[policy_rule_type]['serviceId'] = service_id + else: + policy_rule_type = 'device' + result[policy_rule_type] = {'policyRuleBasic': basic} + + result[policy_rule_type]['deviceList'] = device_id_list + return result diff --git a/src/common/tools/object_factory/Service.py b/src/common/tools/object_factory/Service.py index a84953926bed1a479d9c832025e580286353630b..0b5ad820c565c50607180e0933795774fd5c2035 100644 --- a/src/common/tools/object_factory/Service.py +++ b/src/common/tools/object_factory/Service.py @@ -15,8 +15,13 @@ import copy from typing import Dict, List, Optional from common.Constants import DEFAULT_CONTEXT_UUID +from common.proto.context_pb2 import ServiceStatusEnum, ServiceTypeEnum from common.tools.object_factory.Context import json_context_id -from context.proto.context_pb2 import ServiceStatusEnum, ServiceTypeEnum + +def get_service_uuid(a_endpoint_id : Dict, z_endpoint_id : Dict) -> str: + return 'svc:{:s}/{:s}=={:s}/{:s}'.format( + a_endpoint_id['device_id']['device_uuid']['uuid'], a_endpoint_id['endpoint_uuid']['uuid'], + z_endpoint_id['device_id']['device_uuid']['uuid'], z_endpoint_id['endpoint_uuid']['uuid']) def json_service_id(service_uuid : str, context_id : Optional[Dict] = None): result = {'service_uuid': {'uuid': service_uuid}} @@ -37,12 +42,42 @@ def json_service( 'service_config' : {'config_rules': copy.deepcopy(config_rules)}, } +def json_service_l2nm_planned( + service_uuid : str, endpoint_ids : List[Dict] = [], constraints : List[Dict] = [], + config_rules : List[Dict] = [], context_uuid : str = DEFAULT_CONTEXT_UUID + ): + + return json_service( + service_uuid, ServiceTypeEnum.SERVICETYPE_L2NM, context_id=json_context_id(context_uuid), + status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, + config_rules=config_rules) + def json_service_l3nm_planned( service_uuid : str, endpoint_ids : List[Dict] = [], constraints : List[Dict] = [], - config_rules : List[Dict] = [] + config_rules : List[Dict] = [], context_uuid : str = DEFAULT_CONTEXT_UUID ): return json_service( - service_uuid, ServiceTypeEnum.SERVICETYPE_L3NM, context_id=json_context_id(DEFAULT_CONTEXT_UUID), + service_uuid, ServiceTypeEnum.SERVICETYPE_L3NM, context_id=json_context_id(context_uuid), status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, config_rules=config_rules) + +def json_service_tapi_planned( + service_uuid : str, endpoint_ids : List[Dict] = [], constraints : List[Dict] = [], + config_rules : List[Dict] = [], context_uuid : str = DEFAULT_CONTEXT_UUID + ): + + return json_service( + service_uuid, ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE, context_id=json_context_id(context_uuid), + status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, + config_rules=config_rules) + +def json_service_p4_planned( + service_uuid : str, endpoint_ids : List[Dict] = [], constraints : List[Dict] = [], + config_rules : List[Dict] = [], context_uuid : str = DEFAULT_CONTEXT_UUID + ): + + return json_service( + service_uuid, ServiceTypeEnum.SERVICETYPE_L2NM, context_id=json_context_id(context_uuid), + status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, + config_rules=config_rules) \ No newline at end of file diff --git a/src/common/tools/object_factory/Slice.py b/src/common/tools/object_factory/Slice.py new file mode 100644 index 0000000000000000000000000000000000000000..2376784e3237992ab3d18d9d70db41b3a3f23560 --- /dev/null +++ b/src/common/tools/object_factory/Slice.py @@ -0,0 +1,50 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import copy +from typing import Dict, List, Optional +from common.Constants import DEFAULT_CONTEXT_UUID +from common.proto.context_pb2 import SliceStatusEnum +from common.tools.object_factory.Context import json_context_id + +def get_slice_uuid(a_endpoint_id : Dict, z_endpoint_id : Dict) -> str: + return 'slc:{:s}/{:s}=={:s}/{:s}'.format( + a_endpoint_id['device_id']['device_uuid']['uuid'], a_endpoint_id['endpoint_uuid']['uuid'], + z_endpoint_id['device_id']['device_uuid']['uuid'], z_endpoint_id['endpoint_uuid']['uuid']) + +def json_slice_id(slice_uuid : str, context_id : Optional[Dict] = None) -> Dict: + result = {'slice_uuid': {'uuid': slice_uuid}} + if context_id is not None: result['context_id'] = copy.deepcopy(context_id) + return result + +def json_slice_owner(owner_uuid : str, owner_string : str) -> Dict: + return {'owner_uuid': {'uuid': owner_uuid}, 'owner_string': owner_string} + +def json_slice( + slice_uuid : str, context_uuid : str = DEFAULT_CONTEXT_UUID, + status : SliceStatusEnum = SliceStatusEnum.SLICESTATUS_PLANNED, endpoint_ids : List[Dict] = [], + constraints : List[Dict] = [], config_rules : List[Dict] = [], service_ids : List[Dict] = [], + subslice_ids : List[Dict] = [], owner : Optional[Dict] = None): + + result = { + 'slice_id' : json_slice_id(slice_uuid, context_id=json_context_id(context_uuid)), + 'slice_status' : {'slice_status': status}, + 'slice_endpoint_ids': copy.deepcopy(endpoint_ids), + 'slice_constraints' : copy.deepcopy(constraints), + 'slice_config' : {'config_rules': copy.deepcopy(config_rules)}, + 'slice_service_ids' : copy.deepcopy(service_ids), + 'slice_subslice_ids': copy.deepcopy(subslice_ids), + } + if owner is not None: result['slice_owner'] = owner + return result diff --git a/src/common/tools/timestamp/Converters.py b/src/common/tools/timestamp/Converters.py new file mode 100644 index 0000000000000000000000000000000000000000..46a1bcb01a83f1ff4fc2d54cd8fb606dbe7f2bcc --- /dev/null +++ b/src/common/tools/timestamp/Converters.py @@ -0,0 +1,26 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + + +import dateutil.parser +from datetime import datetime, timezone + +def timestamp_string_to_float(str_timestamp : str) -> float: + return datetime.timestamp(dateutil.parser.isoparse(str_timestamp)) + +def timestamp_float_to_string(flt_timestamp : float) -> str: + return datetime.utcfromtimestamp(flt_timestamp).isoformat() + 'Z' + +def timestamp_utcnow_to_float() -> float: + return datetime.timestamp(datetime.now(tz=timezone.utc)) diff --git a/src/l3_distributedattackdetector/proto/__init__.py b/src/common/tools/timestamp/__init__.py similarity index 100% rename from src/l3_distributedattackdetector/proto/__init__.py rename to src/common/tools/timestamp/__init__.py diff --git a/src/common/type_checkers/Assertions.py b/src/common/type_checkers/Assertions.py index 5e30b75b67355965bd1d4fdd8cc7b7e662beb98d..aa9ede33303fca73d033ee2a40dec587882a5bb1 100644 --- a/src/common/type_checkers/Assertions.py +++ b/src/common/type_checkers/Assertions.py @@ -12,8 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -# ----- Enumerations --------------------------------------------------------------------------------------------------- +from typing import Dict +# ----- Enumerations --------------------------------------------------------------------------------------------------- def validate_config_action_enum(message): assert isinstance(message, str) assert message in [ @@ -31,6 +32,7 @@ def validate_device_driver_enum(message): 'DEVICEDRIVER_P4', 'DEVICEDRIVER_IETF_NETWORK_TOPOLOGY', 'DEVICEDRIVER_ONF_TR_352', + 'DEVICEDRIVER_XR', ] def validate_device_operational_status_enum(message): @@ -79,15 +81,26 @@ def validate_uuid(message, allow_empty=False): if allow_empty: return assert len(message['uuid']) > 1 +CONFIG_RULE_TYPES = { + 'custom', + 'acl', +} def validate_config_rule(message): assert isinstance(message, dict) - assert len(message.keys()) == 3 + assert len(message.keys()) == 2 assert 'action' in message validate_config_action_enum(message['action']) - assert 'resource_key' in message - assert isinstance(message['resource_key'], str) - assert 'resource_value' in message - assert isinstance(message['resource_value'], str) + other_keys = set(list(message.keys())) + other_keys.discard('action') + config_rule_type = other_keys.pop() + assert config_rule_type in CONFIG_RULE_TYPES + assert config_rule_type == 'custom', 'ConfigRule Type Validator for {:s} not implemented'.format(config_rule_type) + custom : Dict = message['custom'] + assert len(custom.keys()) == 2 + assert 'resource_key' in custom + assert isinstance(custom['resource_key'], str) + assert 'resource_value' in custom + assert isinstance(custom['resource_value'], str) def validate_config_rules(message): assert isinstance(message, dict) @@ -95,13 +108,28 @@ def validate_config_rules(message): assert 'config_rules' in message for config_rule in message['config_rules']: validate_config_rule(config_rule) +CONSTRAINT_TYPES = { + 'custom', + 'schedule', + 'endpoint_location', + 'sla_capacity', + 'sla_latency', + 'sla_availability', + 'sla_isolation', +} def validate_constraint(message): assert isinstance(message, dict) - assert len(message.keys()) == 2 - assert 'constraint_type' in message - assert isinstance(message['constraint_type'], str) - assert 'constraint_value' in message - assert isinstance(message['constraint_value'], str) + assert len(message.keys()) == 1 + other_keys = list(message.keys()) + constraint_type = other_keys[0] + assert constraint_type in CONSTRAINT_TYPES + assert constraint_type == 'custom', 'Constraint Type Validator for {:s} not implemented'.format(constraint_type) + custom : Dict = message['custom'] + assert len(custom.keys()) == 2 + assert 'constraint_type' in custom + assert isinstance(custom['constraint_type'], str) + assert 'constraint_value' in custom + assert isinstance(custom['constraint_value'], str) # ----- Identifiers ---------------------------------------------------------------------------------------------------- diff --git a/src/compute/.gitlab-ci.yml b/src/compute/.gitlab-ci.yml index 7daa1764a9c10a79df3cc1b2aadb270b982c1224..52b36e8196822c35503f3e644a0d57691fc5f5f0 100644 --- a/src/compute/.gitlab-ci.yml +++ b/src/compute/.gitlab-ci.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Build, tag and push the Docker image to the GitLab registry +# Build, tag, and push the Docker image to the GitLab Docker registry build compute: variables: IMAGE_NAME: 'compute' # name of the microservice @@ -21,16 +21,17 @@ build compute: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ + - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: + - src/common/**/*.py + - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py @@ -56,7 +57,6 @@ unit test compute: - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - - docker exec -i $IMAGE_NAME bash -c "coverage xml -o /opt/results/${IMAGE_NAME}_coverage.xml" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: @@ -64,8 +64,10 @@ unit test compute: - docker network rm teraflowbridge rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: + - src/common/**/*.py + - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py @@ -76,7 +78,6 @@ unit test compute: when: always reports: junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml - cobertura: src/$IMAGE_NAME/tests/${IMAGE_NAME}_coverage.xml # Deployment of the service in Kubernetes Cluster deploy compute: diff --git a/src/compute/Config.py b/src/compute/Config.py index c568be4476326be0080aad9f88be0183d82ef833..341ae77f506ce1d2488c3d494262ee26ca6dd7eb 100644 --- a/src/compute/Config.py +++ b/src/compute/Config.py @@ -12,23 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging from werkzeug.security import generate_password_hash -# General settings -LOG_LEVEL = logging.WARNING - -# gRPC settings -GRPC_SERVICE_PORT = 9090 -GRPC_MAX_WORKERS = 10 -GRPC_GRACE_PERIOD = 60 - -# REST-API settings -RESTAPI_SERVICE_PORT = 8080 -RESTAPI_BASE_URL = '/restconf/data' +# REST-API users RESTAPI_USERS = { # TODO: implement a database of credentials and permissions 'admin': generate_password_hash('admin'), } - -# Prometheus settings -METRICS_PORT = 9192 diff --git a/src/compute/Dockerfile b/src/compute/Dockerfile index bb10332d155101f708019cb6b8b99c7c6bef45a6..90a69c0f503724fd1098608d85ad5eca874e3f8b 100644 --- a/src/compute/Dockerfile +++ b/src/compute/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM python:3-slim +FROM python:3.9-slim # Install dependencies RUN apt-get --yes --quiet --quiet update && \ @@ -28,25 +28,46 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ chmod +x /bin/grpc_health_probe # Get generic Python packages -RUN python3 -m pip install --upgrade pip setuptools wheel pip-tools +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install --upgrade setuptools wheel +RUN python3 -m pip install --upgrade pip-tools -# Set working directory +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components WORKDIR /var/teraflow +COPY common_requirements.in common_requirements.in +RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in +RUN python3 -m pip install -r common_requirements.txt -# Create module sub-folders -RUN mkdir -p /var/teraflow/compute +# Add common files into working directory +WORKDIR /var/teraflow/common +COPY src/common/. ./ +RUN rm -rf proto + +# Create proto sub-folder, copy .proto files, and generate Python code +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto +RUN touch __init__.py +COPY proto/*.proto ./ +RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto +RUN rm *.proto +RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; -# Get Python packages per module -COPY compute/requirements.in compute/requirements.in -RUN pip-compile --output-file=compute/requirements.txt compute/requirements.in -RUN python3 -m pip install -r compute/requirements.txt +# Create component sub-folder, get specific Python packages +RUN mkdir -p /var/teraflow/compute +WORKDIR /var/teraflow/compute +COPY src/compute/requirements.in requirements.in +RUN pip-compile --quiet --output-file=requirements.txt requirements.in +RUN python3 -m pip install -r requirements.txt -# Add files into working directory -COPY common/. common -COPY compute/. compute -COPY context/. context -COPY service/. service -COPY slice/. slice +# Add component files into working directory +WORKDIR /var/teraflow +COPY src/compute/. compute/ +COPY src/context/. context/ +COPY src/service/. service/ +COPY src/slice/. slice/ +RUN mkdir -p /var/teraflow/tests/tools +COPY src/tests/tools/mock_osm/. tests/tools/mock_osm/ -# Start compute service +# Start the service ENTRYPOINT ["python", "-m", "compute.service"] diff --git a/src/compute/client/ComputeClient.py b/src/compute/client/ComputeClient.py index ac85500294f0288e7d0e86f77cd7c415f28ef5e5..2ee1ecd9769791257bb9423203ef1408f383df07 100644 --- a/src/compute/client/ComputeClient.py +++ b/src/compute/client/ComputeClient.py @@ -13,10 +13,13 @@ # limitations under the License. import grpc, logging -from common.tools.client.RetryDecorator import retry, delay_exponential -from compute.proto.compute_pb2_grpc import ComputeServiceStub -from compute.proto.context_pb2 import ( +from common.Constants import ServiceNameEnum +from common.Settings import get_service_host, get_service_port_grpc +from common.proto.compute_pb2_grpc import ComputeServiceStub +from common.proto.context_pb2 import ( AuthenticationResult, Empty, Service, ServiceId, ServiceIdList, ServiceStatus, TeraFlowController) +from common.tools.client.RetryDecorator import retry, delay_exponential +from common.tools.grpc.Tools import grpc_message_to_json_string LOGGER = logging.getLogger(__name__) MAX_RETRIES = 15 @@ -24,8 +27,10 @@ DELAY_FUNCTION = delay_exponential(initial=0.01, increment=2.0, maximum=5.0) RETRY_DECORATOR = retry(max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') class ComputeClient: - def __init__(self, address, port): - self.endpoint = '{:s}:{:s}'.format(str(address), str(port)) + def __init__(self, host=None, port=None): + if not host: host = get_service_host(ServiceNameEnum.COMPUTE) + if not port: port = get_service_port_grpc(ServiceNameEnum.COMPUTE) + self.endpoint = '{:s}:{:s}'.format(str(host), str(port)) LOGGER.debug('Creating channel to {:s}...'.format(str(self.endpoint))) self.channel = None self.stub = None @@ -37,55 +42,55 @@ class ComputeClient: self.stub = ComputeServiceStub(self.channel) def close(self): - if(self.channel is not None): self.channel.close() + if self.channel is not None: self.channel.close() self.channel = None self.stub = None @RETRY_DECORATOR def CheckCredentials(self, request : TeraFlowController) -> AuthenticationResult: - LOGGER.debug('CheckCredentials request: {:s}'.format(str(request))) + LOGGER.debug('CheckCredentials request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CheckCredentials(request) - LOGGER.debug('CheckCredentials result: {:s}'.format(str(response))) + LOGGER.debug('CheckCredentials result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def GetConnectivityServiceStatus(self, request : ServiceId) -> ServiceStatus: - LOGGER.debug('GetConnectivityServiceStatus request: {:s}'.format(str(request))) + LOGGER.debug('GetConnectivityServiceStatus request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.GetConnectivityServiceStatus(request) - LOGGER.debug('GetConnectivityServiceStatus result: {:s}'.format(str(response))) + LOGGER.debug('GetConnectivityServiceStatus result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def CreateConnectivityService(self, request : Service) -> ServiceId: - LOGGER.debug('CreateConnectivityService request: {:s}'.format(str(request))) + LOGGER.debug('CreateConnectivityService request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateConnectivityService(request) - LOGGER.debug('CreateConnectivityService result: {:s}'.format(str(response))) + LOGGER.debug('CreateConnectivityService result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def EditConnectivityService(self, request : Service) -> ServiceId: - LOGGER.debug('EditConnectivityService request: {:s}'.format(str(request))) + LOGGER.debug('EditConnectivityService request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.EditConnectivityService(request) - LOGGER.debug('EditConnectivityService result: {:s}'.format(str(response))) + LOGGER.debug('EditConnectivityService result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def DeleteConnectivityService(self, request : Service) -> Empty: - LOGGER.debug('DeleteConnectivityService request: {:s}'.format(str(request))) + LOGGER.debug('DeleteConnectivityService request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.DeleteConnectivityService(request) - LOGGER.debug('DeleteConnectivityService result: {:s}'.format(str(response))) + LOGGER.debug('DeleteConnectivityService result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def GetAllActiveConnectivityServices(self, request : Empty) -> ServiceIdList: - LOGGER.debug('GetAllActiveConnectivityServices request: {:s}'.format(str(request))) + LOGGER.debug('GetAllActiveConnectivityServices request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.GetAllActiveConnectivityServices(request) - LOGGER.debug('GetAllActiveConnectivityServices result: {:s}'.format(str(response))) + LOGGER.debug('GetAllActiveConnectivityServices result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def ClearAllConnectivityServices(self, request : Empty) -> Empty: - LOGGER.debug('ClearAllConnectivityServices request: {:s}'.format(str(request))) + LOGGER.debug('ClearAllConnectivityServices request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.ClearAllConnectivityServices(request) - LOGGER.debug('ClearAllConnectivityServices result: {:s}'.format(str(response))) + LOGGER.debug('ClearAllConnectivityServices result: {:s}'.format(grpc_message_to_json_string(response))) return response diff --git a/src/compute/genproto.sh b/src/compute/genproto.sh deleted file mode 100755 index 0c0245c3e42e7dbf1fa1a2e49ea1dcd3f3191bd7..0000000000000000000000000000000000000000 --- a/src/compute/genproto.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -eu -# -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -# Make folder containing the script the root folder for its execution -cd $(dirname $0) - -rm -rf proto/*.py -rm -rf proto/__pycache__ -tee proto/__init__.py << EOF > /dev/null -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -EOF - -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto context.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto service.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto compute.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto kpi_sample_types.proto - -rm proto/context_pb2_grpc.py -rm proto/service_pb2_grpc.py -rm proto/kpi_sample_types_pb2_grpc.py - -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/context_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/service_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/compute_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/compute_pb2_grpc.py diff --git a/src/compute/proto/compute_pb2.py b/src/compute/proto/compute_pb2.py deleted file mode 100644 index 364e0978e204730462c8aa8dbf6fab0ebc9e5d29..0000000000000000000000000000000000000000 --- a/src/compute/proto/compute_pb2.py +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: compute.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import context_pb2 as context__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='compute.proto', - package='compute', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\rcompute.proto\x12\x07\x63ompute\x1a\rcontext.proto2\x89\x04\n\x0e\x43omputeService\x12P\n\x10\x43heckCredentials\x12\x1b.context.TeraFlowController\x1a\x1d.context.AuthenticationResult\"\x00\x12L\n\x1cGetConnectivityServiceStatus\x12\x12.context.ServiceId\x1a\x16.context.ServiceStatus\"\x00\x12\x43\n\x19\x43reateConnectivityService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12\x41\n\x17\x45\x64itConnectivityService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12?\n\x19\x44\x65leteConnectivityService\x12\x10.context.Service\x1a\x0e.context.Empty\"\x00\x12L\n GetAllActiveConnectivityServices\x12\x0e.context.Empty\x1a\x16.context.ServiceIdList\"\x00\x12@\n\x1c\x43learAllConnectivityServices\x12\x0e.context.Empty\x1a\x0e.context.Empty\"\x00\x62\x06proto3' - , - dependencies=[context__pb2.DESCRIPTOR,]) - - - -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - -_COMPUTESERVICE = _descriptor.ServiceDescriptor( - name='ComputeService', - full_name='compute.ComputeService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=42, - serialized_end=563, - methods=[ - _descriptor.MethodDescriptor( - name='CheckCredentials', - full_name='compute.ComputeService.CheckCredentials', - index=0, - containing_service=None, - input_type=context__pb2._TERAFLOWCONTROLLER, - output_type=context__pb2._AUTHENTICATIONRESULT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnectivityServiceStatus', - full_name='compute.ComputeService.GetConnectivityServiceStatus', - index=1, - containing_service=None, - input_type=context__pb2._SERVICEID, - output_type=context__pb2._SERVICESTATUS, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='CreateConnectivityService', - full_name='compute.ComputeService.CreateConnectivityService', - index=2, - containing_service=None, - input_type=context__pb2._SERVICE, - output_type=context__pb2._SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='EditConnectivityService', - full_name='compute.ComputeService.EditConnectivityService', - index=3, - containing_service=None, - input_type=context__pb2._SERVICE, - output_type=context__pb2._SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='DeleteConnectivityService', - full_name='compute.ComputeService.DeleteConnectivityService', - index=4, - containing_service=None, - input_type=context__pb2._SERVICE, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetAllActiveConnectivityServices', - full_name='compute.ComputeService.GetAllActiveConnectivityServices', - index=5, - containing_service=None, - input_type=context__pb2._EMPTY, - output_type=context__pb2._SERVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ClearAllConnectivityServices', - full_name='compute.ComputeService.ClearAllConnectivityServices', - index=6, - containing_service=None, - input_type=context__pb2._EMPTY, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_COMPUTESERVICE) - -DESCRIPTOR.services_by_name['ComputeService'] = _COMPUTESERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/compute/proto/compute_pb2_grpc.py b/src/compute/proto/compute_pb2_grpc.py deleted file mode 100644 index c882034b4c4e17e5252c679e3822a93b5659c5de..0000000000000000000000000000000000000000 --- a/src/compute/proto/compute_pb2_grpc.py +++ /dev/null @@ -1,264 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from . import context_pb2 as context__pb2 - - -class ComputeServiceStub(object): - """Missing associated documentation comment in .proto file.""" - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.CheckCredentials = channel.unary_unary( - '/compute.ComputeService/CheckCredentials', - request_serializer=context__pb2.TeraFlowController.SerializeToString, - response_deserializer=context__pb2.AuthenticationResult.FromString, - ) - self.GetConnectivityServiceStatus = channel.unary_unary( - '/compute.ComputeService/GetConnectivityServiceStatus', - request_serializer=context__pb2.ServiceId.SerializeToString, - response_deserializer=context__pb2.ServiceStatus.FromString, - ) - self.CreateConnectivityService = channel.unary_unary( - '/compute.ComputeService/CreateConnectivityService', - request_serializer=context__pb2.Service.SerializeToString, - response_deserializer=context__pb2.ServiceId.FromString, - ) - self.EditConnectivityService = channel.unary_unary( - '/compute.ComputeService/EditConnectivityService', - request_serializer=context__pb2.Service.SerializeToString, - response_deserializer=context__pb2.ServiceId.FromString, - ) - self.DeleteConnectivityService = channel.unary_unary( - '/compute.ComputeService/DeleteConnectivityService', - request_serializer=context__pb2.Service.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetAllActiveConnectivityServices = channel.unary_unary( - '/compute.ComputeService/GetAllActiveConnectivityServices', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.ServiceIdList.FromString, - ) - self.ClearAllConnectivityServices = channel.unary_unary( - '/compute.ComputeService/ClearAllConnectivityServices', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - - -class ComputeServiceServicer(object): - """Missing associated documentation comment in .proto file.""" - - def CheckCredentials(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetConnectivityServiceStatus(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateConnectivityService(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def EditConnectivityService(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteConnectivityService(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetAllActiveConnectivityServices(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ClearAllConnectivityServices(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_ComputeServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'CheckCredentials': grpc.unary_unary_rpc_method_handler( - servicer.CheckCredentials, - request_deserializer=context__pb2.TeraFlowController.FromString, - response_serializer=context__pb2.AuthenticationResult.SerializeToString, - ), - 'GetConnectivityServiceStatus': grpc.unary_unary_rpc_method_handler( - servicer.GetConnectivityServiceStatus, - request_deserializer=context__pb2.ServiceId.FromString, - response_serializer=context__pb2.ServiceStatus.SerializeToString, - ), - 'CreateConnectivityService': grpc.unary_unary_rpc_method_handler( - servicer.CreateConnectivityService, - request_deserializer=context__pb2.Service.FromString, - response_serializer=context__pb2.ServiceId.SerializeToString, - ), - 'EditConnectivityService': grpc.unary_unary_rpc_method_handler( - servicer.EditConnectivityService, - request_deserializer=context__pb2.Service.FromString, - response_serializer=context__pb2.ServiceId.SerializeToString, - ), - 'DeleteConnectivityService': grpc.unary_unary_rpc_method_handler( - servicer.DeleteConnectivityService, - request_deserializer=context__pb2.Service.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetAllActiveConnectivityServices': grpc.unary_unary_rpc_method_handler( - servicer.GetAllActiveConnectivityServices, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.ServiceIdList.SerializeToString, - ), - 'ClearAllConnectivityServices': grpc.unary_unary_rpc_method_handler( - servicer.ClearAllConnectivityServices, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'compute.ComputeService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class ComputeService(object): - """Missing associated documentation comment in .proto file.""" - - @staticmethod - def CheckCredentials(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/CheckCredentials', - context__pb2.TeraFlowController.SerializeToString, - context__pb2.AuthenticationResult.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetConnectivityServiceStatus(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/GetConnectivityServiceStatus', - context__pb2.ServiceId.SerializeToString, - context__pb2.ServiceStatus.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def CreateConnectivityService(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/CreateConnectivityService', - context__pb2.Service.SerializeToString, - context__pb2.ServiceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def EditConnectivityService(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/EditConnectivityService', - context__pb2.Service.SerializeToString, - context__pb2.ServiceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def DeleteConnectivityService(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/DeleteConnectivityService', - context__pb2.Service.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetAllActiveConnectivityServices(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/GetAllActiveConnectivityServices', - context__pb2.Empty.SerializeToString, - context__pb2.ServiceIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ClearAllConnectivityServices(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/compute.ComputeService/ClearAllConnectivityServices', - context__pb2.Empty.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/compute/proto/context_pb2.py b/src/compute/proto/context_pb2.py deleted file mode 100644 index 50d501d3ac053ad644554331af26e3c40cd426a1..0000000000000000000000000000000000000000 --- a/src/compute/proto/context_pb2.py +++ /dev/null @@ -1,3071 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: context.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import kpi_sample_types_pb2 as kpi__sample__types__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='context.proto', - package='context', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\rcontext.proto\x12\x07\x63ontext\x1a\x16kpi_sample_types.proto\"\x07\n\x05\x45mpty\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"F\n\x05\x45vent\x12\x11\n\ttimestamp\x18\x01 \x01(\x01\x12*\n\nevent_type\x18\x02 \x01(\x0e\x32\x16.context.EventTypeEnum\"0\n\tContextId\x12#\n\x0c\x63ontext_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\xb6\x01\n\x07\x43ontext\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12)\n\x0ctopology_ids\x18\x02 \x03(\x0b\x32\x13.context.TopologyId\x12\'\n\x0bservice_ids\x18\x03 \x03(\x0b\x32\x12.context.ServiceId\x12/\n\ncontroller\x18\x04 \x01(\x0b\x32\x1b.context.TeraFlowController\"8\n\rContextIdList\x12\'\n\x0b\x63ontext_ids\x18\x01 \x03(\x0b\x32\x12.context.ContextId\"1\n\x0b\x43ontextList\x12\"\n\x08\x63ontexts\x18\x01 \x03(\x0b\x32\x10.context.Context\"U\n\x0c\x43ontextEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12&\n\ncontext_id\x18\x02 \x01(\x0b\x32\x12.context.ContextId\"Z\n\nTopologyId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12$\n\rtopology_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"~\n\x08Topology\x12(\n\x0btopology_id\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12%\n\ndevice_ids\x18\x02 \x03(\x0b\x32\x11.context.DeviceId\x12!\n\x08link_ids\x18\x03 \x03(\x0b\x32\x0f.context.LinkId\";\n\x0eTopologyIdList\x12)\n\x0ctopology_ids\x18\x01 \x03(\x0b\x32\x13.context.TopologyId\"5\n\x0cTopologyList\x12%\n\ntopologies\x18\x01 \x03(\x0b\x32\x11.context.Topology\"X\n\rTopologyEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12(\n\x0btopology_id\x18\x02 \x01(\x0b\x32\x13.context.TopologyId\".\n\x08\x44\x65viceId\x12\"\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\x9a\x02\n\x06\x44\x65vice\x12$\n\tdevice_id\x18\x01 \x01(\x0b\x32\x11.context.DeviceId\x12\x13\n\x0b\x64\x65vice_type\x18\x02 \x01(\t\x12,\n\rdevice_config\x18\x03 \x01(\x0b\x32\x15.context.DeviceConfig\x12G\n\x19\x64\x65vice_operational_status\x18\x04 \x01(\x0e\x32$.context.DeviceOperationalStatusEnum\x12\x31\n\x0e\x64\x65vice_drivers\x18\x05 \x03(\x0e\x32\x19.context.DeviceDriverEnum\x12+\n\x10\x64\x65vice_endpoints\x18\x06 \x03(\x0b\x32\x11.context.EndPoint\"9\n\x0c\x44\x65viceConfig\x12)\n\x0c\x63onfig_rules\x18\x01 \x03(\x0b\x32\x13.context.ConfigRule\"5\n\x0c\x44\x65viceIdList\x12%\n\ndevice_ids\x18\x01 \x03(\x0b\x32\x11.context.DeviceId\".\n\nDeviceList\x12 \n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x0f.context.Device\"R\n\x0b\x44\x65viceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"*\n\x06LinkId\x12 \n\tlink_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"X\n\x04Link\x12 \n\x07link_id\x18\x01 \x01(\x0b\x32\x0f.context.LinkId\x12.\n\x11link_endpoint_ids\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\"/\n\nLinkIdList\x12!\n\x08link_ids\x18\x01 \x03(\x0b\x32\x0f.context.LinkId\"(\n\x08LinkList\x12\x1c\n\x05links\x18\x01 \x03(\x0b\x32\r.context.Link\"L\n\tLinkEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12 \n\x07link_id\x18\x02 \x01(\x0b\x32\x0f.context.LinkId\"X\n\tServiceId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12#\n\x0cservice_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"\xa6\x02\n\x07Service\x12&\n\nservice_id\x18\x01 \x01(\x0b\x32\x12.context.ServiceId\x12.\n\x0cservice_type\x18\x02 \x01(\x0e\x32\x18.context.ServiceTypeEnum\x12\x31\n\x14service_endpoint_ids\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12\x30\n\x13service_constraints\x18\x04 \x03(\x0b\x32\x13.context.Constraint\x12.\n\x0eservice_status\x18\x05 \x01(\x0b\x32\x16.context.ServiceStatus\x12.\n\x0eservice_config\x18\x06 \x01(\x0b\x32\x16.context.ServiceConfig\"C\n\rServiceStatus\x12\x32\n\x0eservice_status\x18\x01 \x01(\x0e\x32\x1a.context.ServiceStatusEnum\":\n\rServiceConfig\x12)\n\x0c\x63onfig_rules\x18\x01 \x03(\x0b\x32\x13.context.ConfigRule\"8\n\rServiceIdList\x12\'\n\x0bservice_ids\x18\x01 \x03(\x0b\x32\x12.context.ServiceId\"1\n\x0bServiceList\x12\"\n\x08services\x18\x01 \x03(\x0b\x32\x10.context.Service\"U\n\x0cServiceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12&\n\nservice_id\x18\x02 \x01(\x0b\x32\x12.context.ServiceId\"T\n\x07SliceId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12!\n\nslice_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"\x95\x02\n\x05Slice\x12\"\n\x08slice_id\x18\x01 \x01(\x0b\x32\x10.context.SliceId\x12/\n\x12slice_endpoint_ids\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\x12.\n\x11slice_constraints\x18\x03 \x03(\x0b\x32\x13.context.Constraint\x12-\n\x11slice_service_ids\x18\x04 \x03(\x0b\x32\x12.context.ServiceId\x12,\n\x12slice_subslice_ids\x18\x05 \x03(\x0b\x32\x10.context.SliceId\x12*\n\x0cslice_status\x18\x06 \x01(\x0b\x32\x14.context.SliceStatus\"=\n\x0bSliceStatus\x12.\n\x0cslice_status\x18\x01 \x01(\x0e\x32\x18.context.SliceStatusEnum\"2\n\x0bSliceIdList\x12#\n\tslice_ids\x18\x01 \x03(\x0b\x32\x10.context.SliceId\"+\n\tSliceList\x12\x1e\n\x06slices\x18\x01 \x03(\x0b\x32\x0e.context.Slice\"O\n\nSliceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12\"\n\x08slice_id\x18\x02 \x01(\x0b\x32\x10.context.SliceId\"6\n\x0c\x43onnectionId\x12&\n\x0f\x63onnection_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\xc4\x01\n\nConnection\x12,\n\rconnection_id\x18\x01 \x01(\x0b\x32\x15.context.ConnectionId\x12&\n\nservice_id\x18\x02 \x01(\x0b\x32\x12.context.ServiceId\x12\x33\n\x16path_hops_endpoint_ids\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12+\n\x0fsub_service_ids\x18\x04 \x03(\x0b\x32\x12.context.ServiceId\"A\n\x10\x43onnectionIdList\x12-\n\x0e\x63onnection_ids\x18\x01 \x03(\x0b\x32\x15.context.ConnectionId\":\n\x0e\x43onnectionList\x12(\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x13.context.Connection\"^\n\x0f\x43onnectionEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12,\n\rconnection_id\x18\x02 \x01(\x0b\x32\x15.context.ConnectionId\"\x82\x01\n\nEndPointId\x12(\n\x0btopology_id\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\x12$\n\rendpoint_uuid\x18\x03 \x01(\x0b\x32\r.context.Uuid\"\x86\x01\n\x08\x45ndPoint\x12(\n\x0b\x65ndpoint_id\x18\x01 \x01(\x0b\x32\x13.context.EndPointId\x12\x15\n\rendpoint_type\x18\x02 \x01(\t\x12\x39\n\x10kpi_sample_types\x18\x03 \x03(\x0e\x32\x1f.kpi_sample_types.KpiSampleType\"e\n\nConfigRule\x12)\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x19.context.ConfigActionEnum\x12\x14\n\x0cresource_key\x18\x02 \x01(\t\x12\x16\n\x0eresource_value\x18\x03 \x01(\t\"?\n\nConstraint\x12\x17\n\x0f\x63onstraint_type\x18\x01 \x01(\t\x12\x18\n\x10\x63onstraint_value\x18\x02 \x01(\t\"^\n\x12TeraFlowController\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x12\n\nip_address\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"U\n\x14\x41uthenticationResult\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x15\n\rauthenticated\x18\x02 \x01(\x08*j\n\rEventTypeEnum\x12\x17\n\x13\x45VENTTYPE_UNDEFINED\x10\x00\x12\x14\n\x10\x45VENTTYPE_CREATE\x10\x01\x12\x14\n\x10\x45VENTTYPE_UPDATE\x10\x02\x12\x14\n\x10\x45VENTTYPE_REMOVE\x10\x03*\xc5\x01\n\x10\x44\x65viceDriverEnum\x12\x1a\n\x16\x44\x45VICEDRIVER_UNDEFINED\x10\x00\x12\x1b\n\x17\x44\x45VICEDRIVER_OPENCONFIG\x10\x01\x12\x1e\n\x1a\x44\x45VICEDRIVER_TRANSPORT_API\x10\x02\x12\x13\n\x0f\x44\x45VICEDRIVER_P4\x10\x03\x12&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOLOGY\x10\x04\x12\x1b\n\x17\x44\x45VICEDRIVER_ONF_TR_352\x10\x05*\x8f\x01\n\x1b\x44\x65viceOperationalStatusEnum\x12%\n!DEVICEOPERATIONALSTATUS_UNDEFINED\x10\x00\x12$\n DEVICEOPERATIONALSTATUS_DISABLED\x10\x01\x12#\n\x1f\x44\x45VICEOPERATIONALSTATUS_ENABLED\x10\x02*\x81\x01\n\x0fServiceTypeEnum\x12\x17\n\x13SERVICETYPE_UNKNOWN\x10\x00\x12\x14\n\x10SERVICETYPE_L3NM\x10\x01\x12\x14\n\x10SERVICETYPE_L2NM\x10\x02\x12)\n%SERVICETYPE_TAPI_CONNECTIVITY_SERVICE\x10\x03*\x88\x01\n\x11ServiceStatusEnum\x12\x1b\n\x17SERVICESTATUS_UNDEFINED\x10\x00\x12\x19\n\x15SERVICESTATUS_PLANNED\x10\x01\x12\x18\n\x14SERVICESTATUS_ACTIVE\x10\x02\x12!\n\x1dSERVICESTATUS_PENDING_REMOVAL\x10\x03*\x8b\x01\n\x0fSliceStatusEnum\x12\x19\n\x15SLICESTATUS_UNDEFINED\x10\x00\x12\x17\n\x13SLICESTATUS_PLANNED\x10\x01\x12\x14\n\x10SLICESTATUS_INIT\x10\x02\x12\x16\n\x12SLICESTATUS_ACTIVE\x10\x03\x12\x16\n\x12SLICESTATUS_DEINIT\x10\x04*]\n\x10\x43onfigActionEnum\x12\x1a\n\x16\x43ONFIGACTION_UNDEFINED\x10\x00\x12\x14\n\x10\x43ONFIGACTION_SET\x10\x01\x12\x17\n\x13\x43ONFIGACTION_DELETE\x10\x02\x32\xef\x12\n\x0e\x43ontextService\x12:\n\x0eListContextIds\x12\x0e.context.Empty\x1a\x16.context.ContextIdList\"\x00\x12\x36\n\x0cListContexts\x12\x0e.context.Empty\x1a\x14.context.ContextList\"\x00\x12\x34\n\nGetContext\x12\x12.context.ContextId\x1a\x10.context.Context\"\x00\x12\x34\n\nSetContext\x12\x10.context.Context\x1a\x12.context.ContextId\"\x00\x12\x35\n\rRemoveContext\x12\x12.context.ContextId\x1a\x0e.context.Empty\"\x00\x12=\n\x10GetContextEvents\x12\x0e.context.Empty\x1a\x15.context.ContextEvent\"\x00\x30\x01\x12@\n\x0fListTopologyIds\x12\x12.context.ContextId\x1a\x17.context.TopologyIdList\"\x00\x12=\n\x0eListTopologies\x12\x12.context.ContextId\x1a\x15.context.TopologyList\"\x00\x12\x37\n\x0bGetTopology\x12\x13.context.TopologyId\x1a\x11.context.Topology\"\x00\x12\x37\n\x0bSetTopology\x12\x11.context.Topology\x1a\x13.context.TopologyId\"\x00\x12\x37\n\x0eRemoveTopology\x12\x13.context.TopologyId\x1a\x0e.context.Empty\"\x00\x12?\n\x11GetTopologyEvents\x12\x0e.context.Empty\x1a\x16.context.TopologyEvent\"\x00\x30\x01\x12\x38\n\rListDeviceIds\x12\x0e.context.Empty\x1a\x15.context.DeviceIdList\"\x00\x12\x34\n\x0bListDevices\x12\x0e.context.Empty\x1a\x13.context.DeviceList\"\x00\x12\x31\n\tGetDevice\x12\x11.context.DeviceId\x1a\x0f.context.Device\"\x00\x12\x31\n\tSetDevice\x12\x0f.context.Device\x1a\x11.context.DeviceId\"\x00\x12\x33\n\x0cRemoveDevice\x12\x11.context.DeviceId\x1a\x0e.context.Empty\"\x00\x12;\n\x0fGetDeviceEvents\x12\x0e.context.Empty\x1a\x14.context.DeviceEvent\"\x00\x30\x01\x12\x34\n\x0bListLinkIds\x12\x0e.context.Empty\x1a\x13.context.LinkIdList\"\x00\x12\x30\n\tListLinks\x12\x0e.context.Empty\x1a\x11.context.LinkList\"\x00\x12+\n\x07GetLink\x12\x0f.context.LinkId\x1a\r.context.Link\"\x00\x12+\n\x07SetLink\x12\r.context.Link\x1a\x0f.context.LinkId\"\x00\x12/\n\nRemoveLink\x12\x0f.context.LinkId\x1a\x0e.context.Empty\"\x00\x12\x37\n\rGetLinkEvents\x12\x0e.context.Empty\x1a\x12.context.LinkEvent\"\x00\x30\x01\x12>\n\x0eListServiceIds\x12\x12.context.ContextId\x1a\x16.context.ServiceIdList\"\x00\x12:\n\x0cListServices\x12\x12.context.ContextId\x1a\x14.context.ServiceList\"\x00\x12\x34\n\nGetService\x12\x12.context.ServiceId\x1a\x10.context.Service\"\x00\x12\x34\n\nSetService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12\x35\n\rRemoveService\x12\x12.context.ServiceId\x1a\x0e.context.Empty\"\x00\x12=\n\x10GetServiceEvents\x12\x0e.context.Empty\x1a\x15.context.ServiceEvent\"\x00\x30\x01\x12:\n\x0cListSliceIds\x12\x12.context.ContextId\x1a\x14.context.SliceIdList\"\x00\x12\x36\n\nListSlices\x12\x12.context.ContextId\x1a\x12.context.SliceList\"\x00\x12.\n\x08GetSlice\x12\x10.context.SliceId\x1a\x0e.context.Slice\"\x00\x12.\n\x08SetSlice\x12\x0e.context.Slice\x1a\x10.context.SliceId\"\x00\x12\x31\n\x0bRemoveSlice\x12\x10.context.SliceId\x1a\x0e.context.Empty\"\x00\x12\x39\n\x0eGetSliceEvents\x12\x0e.context.Empty\x1a\x13.context.SliceEvent\"\x00\x30\x01\x12\x44\n\x11ListConnectionIds\x12\x12.context.ServiceId\x1a\x19.context.ConnectionIdList\"\x00\x12@\n\x0fListConnections\x12\x12.context.ServiceId\x1a\x17.context.ConnectionList\"\x00\x12=\n\rGetConnection\x12\x15.context.ConnectionId\x1a\x13.context.Connection\"\x00\x12=\n\rSetConnection\x12\x13.context.Connection\x1a\x15.context.ConnectionId\"\x00\x12;\n\x10RemoveConnection\x12\x15.context.ConnectionId\x1a\x0e.context.Empty\"\x00\x12\x43\n\x13GetConnectionEvents\x12\x0e.context.Empty\x1a\x18.context.ConnectionEvent\"\x00\x30\x01\x62\x06proto3' - , - dependencies=[kpi__sample__types__pb2.DESCRIPTOR,]) - -_EVENTTYPEENUM = _descriptor.EnumDescriptor( - name='EventTypeEnum', - full_name='context.EventTypeEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_CREATE', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_UPDATE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_REMOVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4310, - serialized_end=4416, -) -_sym_db.RegisterEnumDescriptor(_EVENTTYPEENUM) - -EventTypeEnum = enum_type_wrapper.EnumTypeWrapper(_EVENTTYPEENUM) -_DEVICEDRIVERENUM = _descriptor.EnumDescriptor( - name='DeviceDriverEnum', - full_name='context.DeviceDriverEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_OPENCONFIG', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_TRANSPORT_API', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_P4', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_IETF_NETWORK_TOPOLOGY', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_ONF_TR_352', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4419, - serialized_end=4616, -) -_sym_db.RegisterEnumDescriptor(_DEVICEDRIVERENUM) - -DeviceDriverEnum = enum_type_wrapper.EnumTypeWrapper(_DEVICEDRIVERENUM) -_DEVICEOPERATIONALSTATUSENUM = _descriptor.EnumDescriptor( - name='DeviceOperationalStatusEnum', - full_name='context.DeviceOperationalStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_DISABLED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_ENABLED', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4619, - serialized_end=4762, -) -_sym_db.RegisterEnumDescriptor(_DEVICEOPERATIONALSTATUSENUM) - -DeviceOperationalStatusEnum = enum_type_wrapper.EnumTypeWrapper(_DEVICEOPERATIONALSTATUSENUM) -_SERVICETYPEENUM = _descriptor.EnumDescriptor( - name='ServiceTypeEnum', - full_name='context.ServiceTypeEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_UNKNOWN', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_L3NM', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_L2NM', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_TAPI_CONNECTIVITY_SERVICE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4765, - serialized_end=4894, -) -_sym_db.RegisterEnumDescriptor(_SERVICETYPEENUM) - -ServiceTypeEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICETYPEENUM) -_SERVICESTATUSENUM = _descriptor.EnumDescriptor( - name='ServiceStatusEnum', - full_name='context.ServiceStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_ACTIVE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_PENDING_REMOVAL', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4897, - serialized_end=5033, -) -_sym_db.RegisterEnumDescriptor(_SERVICESTATUSENUM) - -ServiceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICESTATUSENUM) -_SLICESTATUSENUM = _descriptor.EnumDescriptor( - name='SliceStatusEnum', - full_name='context.SliceStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_INIT', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_ACTIVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_DEINIT', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5036, - serialized_end=5175, -) -_sym_db.RegisterEnumDescriptor(_SLICESTATUSENUM) - -SliceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SLICESTATUSENUM) -_CONFIGACTIONENUM = _descriptor.EnumDescriptor( - name='ConfigActionEnum', - full_name='context.ConfigActionEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_SET', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_DELETE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5177, - serialized_end=5270, -) -_sym_db.RegisterEnumDescriptor(_CONFIGACTIONENUM) - -ConfigActionEnum = enum_type_wrapper.EnumTypeWrapper(_CONFIGACTIONENUM) -EVENTTYPE_UNDEFINED = 0 -EVENTTYPE_CREATE = 1 -EVENTTYPE_UPDATE = 2 -EVENTTYPE_REMOVE = 3 -DEVICEDRIVER_UNDEFINED = 0 -DEVICEDRIVER_OPENCONFIG = 1 -DEVICEDRIVER_TRANSPORT_API = 2 -DEVICEDRIVER_P4 = 3 -DEVICEDRIVER_IETF_NETWORK_TOPOLOGY = 4 -DEVICEDRIVER_ONF_TR_352 = 5 -DEVICEOPERATIONALSTATUS_UNDEFINED = 0 -DEVICEOPERATIONALSTATUS_DISABLED = 1 -DEVICEOPERATIONALSTATUS_ENABLED = 2 -SERVICETYPE_UNKNOWN = 0 -SERVICETYPE_L3NM = 1 -SERVICETYPE_L2NM = 2 -SERVICETYPE_TAPI_CONNECTIVITY_SERVICE = 3 -SERVICESTATUS_UNDEFINED = 0 -SERVICESTATUS_PLANNED = 1 -SERVICESTATUS_ACTIVE = 2 -SERVICESTATUS_PENDING_REMOVAL = 3 -SLICESTATUS_UNDEFINED = 0 -SLICESTATUS_PLANNED = 1 -SLICESTATUS_INIT = 2 -SLICESTATUS_ACTIVE = 3 -SLICESTATUS_DEINIT = 4 -CONFIGACTION_UNDEFINED = 0 -CONFIGACTION_SET = 1 -CONFIGACTION_DELETE = 2 - - - -_EMPTY = _descriptor.Descriptor( - name='Empty', - full_name='context.Empty', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=50, - serialized_end=57, -) - - -_UUID = _descriptor.Descriptor( - name='Uuid', - full_name='context.Uuid', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='uuid', full_name='context.Uuid.uuid', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=59, - serialized_end=79, -) - - -_EVENT = _descriptor.Descriptor( - name='Event', - full_name='context.Event', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='context.Event.timestamp', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='event_type', full_name='context.Event.event_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=81, - serialized_end=151, -) - - -_CONTEXTID = _descriptor.Descriptor( - name='ContextId', - full_name='context.ContextId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_uuid', full_name='context.ContextId.context_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=153, - serialized_end=201, -) - - -_CONTEXT = _descriptor.Descriptor( - name='Context', - full_name='context.Context', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.Context.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_ids', full_name='context.Context.topology_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_ids', full_name='context.Context.service_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='controller', full_name='context.Context.controller', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=204, - serialized_end=386, -) - - -_CONTEXTIDLIST = _descriptor.Descriptor( - name='ContextIdList', - full_name='context.ContextIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_ids', full_name='context.ContextIdList.context_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=388, - serialized_end=444, -) - - -_CONTEXTLIST = _descriptor.Descriptor( - name='ContextList', - full_name='context.ContextList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='contexts', full_name='context.ContextList.contexts', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=446, - serialized_end=495, -) - - -_CONTEXTEVENT = _descriptor.Descriptor( - name='ContextEvent', - full_name='context.ContextEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ContextEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='context_id', full_name='context.ContextEvent.context_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=497, - serialized_end=582, -) - - -_TOPOLOGYID = _descriptor.Descriptor( - name='TopologyId', - full_name='context.TopologyId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.TopologyId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_uuid', full_name='context.TopologyId.topology_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=584, - serialized_end=674, -) - - -_TOPOLOGY = _descriptor.Descriptor( - name='Topology', - full_name='context.Topology', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.Topology.topology_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_ids', full_name='context.Topology.device_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_ids', full_name='context.Topology.link_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=676, - serialized_end=802, -) - - -_TOPOLOGYIDLIST = _descriptor.Descriptor( - name='TopologyIdList', - full_name='context.TopologyIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_ids', full_name='context.TopologyIdList.topology_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=804, - serialized_end=863, -) - - -_TOPOLOGYLIST = _descriptor.Descriptor( - name='TopologyList', - full_name='context.TopologyList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topologies', full_name='context.TopologyList.topologies', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=865, - serialized_end=918, -) - - -_TOPOLOGYEVENT = _descriptor.Descriptor( - name='TopologyEvent', - full_name='context.TopologyEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.TopologyEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.TopologyEvent.topology_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=920, - serialized_end=1008, -) - - -_DEVICEID = _descriptor.Descriptor( - name='DeviceId', - full_name='context.DeviceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_uuid', full_name='context.DeviceId.device_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1010, - serialized_end=1056, -) - - -_DEVICE = _descriptor.Descriptor( - name='Device', - full_name='context.Device', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_id', full_name='context.Device.device_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_type', full_name='context.Device.device_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_config', full_name='context.Device.device_config', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_operational_status', full_name='context.Device.device_operational_status', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_drivers', full_name='context.Device.device_drivers', index=4, - number=5, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_endpoints', full_name='context.Device.device_endpoints', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1059, - serialized_end=1341, -) - - -_DEVICECONFIG = _descriptor.Descriptor( - name='DeviceConfig', - full_name='context.DeviceConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_rules', full_name='context.DeviceConfig.config_rules', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1343, - serialized_end=1400, -) - - -_DEVICEIDLIST = _descriptor.Descriptor( - name='DeviceIdList', - full_name='context.DeviceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_ids', full_name='context.DeviceIdList.device_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1402, - serialized_end=1455, -) - - -_DEVICELIST = _descriptor.Descriptor( - name='DeviceList', - full_name='context.DeviceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='devices', full_name='context.DeviceList.devices', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1457, - serialized_end=1503, -) - - -_DEVICEEVENT = _descriptor.Descriptor( - name='DeviceEvent', - full_name='context.DeviceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.DeviceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='context.DeviceEvent.device_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1505, - serialized_end=1587, -) - - -_LINKID = _descriptor.Descriptor( - name='LinkId', - full_name='context.LinkId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_uuid', full_name='context.LinkId.link_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1589, - serialized_end=1631, -) - - -_LINK = _descriptor.Descriptor( - name='Link', - full_name='context.Link', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_id', full_name='context.Link.link_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_endpoint_ids', full_name='context.Link.link_endpoint_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1633, - serialized_end=1721, -) - - -_LINKIDLIST = _descriptor.Descriptor( - name='LinkIdList', - full_name='context.LinkIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_ids', full_name='context.LinkIdList.link_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1723, - serialized_end=1770, -) - - -_LINKLIST = _descriptor.Descriptor( - name='LinkList', - full_name='context.LinkList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='links', full_name='context.LinkList.links', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1772, - serialized_end=1812, -) - - -_LINKEVENT = _descriptor.Descriptor( - name='LinkEvent', - full_name='context.LinkEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.LinkEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_id', full_name='context.LinkEvent.link_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1814, - serialized_end=1890, -) - - -_SERVICEID = _descriptor.Descriptor( - name='ServiceId', - full_name='context.ServiceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.ServiceId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_uuid', full_name='context.ServiceId.service_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1892, - serialized_end=1980, -) - - -_SERVICE = _descriptor.Descriptor( - name='Service', - full_name='context.Service', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_id', full_name='context.Service.service_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_type', full_name='context.Service.service_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_endpoint_ids', full_name='context.Service.service_endpoint_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_constraints', full_name='context.Service.service_constraints', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_status', full_name='context.Service.service_status', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_config', full_name='context.Service.service_config', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1983, - serialized_end=2277, -) - - -_SERVICESTATUS = _descriptor.Descriptor( - name='ServiceStatus', - full_name='context.ServiceStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_status', full_name='context.ServiceStatus.service_status', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2279, - serialized_end=2346, -) - - -_SERVICECONFIG = _descriptor.Descriptor( - name='ServiceConfig', - full_name='context.ServiceConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_rules', full_name='context.ServiceConfig.config_rules', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2348, - serialized_end=2406, -) - - -_SERVICEIDLIST = _descriptor.Descriptor( - name='ServiceIdList', - full_name='context.ServiceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_ids', full_name='context.ServiceIdList.service_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2408, - serialized_end=2464, -) - - -_SERVICELIST = _descriptor.Descriptor( - name='ServiceList', - full_name='context.ServiceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='services', full_name='context.ServiceList.services', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2466, - serialized_end=2515, -) - - -_SERVICEEVENT = _descriptor.Descriptor( - name='ServiceEvent', - full_name='context.ServiceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ServiceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='context.ServiceEvent.service_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2517, - serialized_end=2602, -) - - -_SLICEID = _descriptor.Descriptor( - name='SliceId', - full_name='context.SliceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.SliceId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_uuid', full_name='context.SliceId.slice_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2604, - serialized_end=2688, -) - - -_SLICE = _descriptor.Descriptor( - name='Slice', - full_name='context.Slice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_id', full_name='context.Slice.slice_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_endpoint_ids', full_name='context.Slice.slice_endpoint_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_constraints', full_name='context.Slice.slice_constraints', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_service_ids', full_name='context.Slice.slice_service_ids', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_subslice_ids', full_name='context.Slice.slice_subslice_ids', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_status', full_name='context.Slice.slice_status', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2691, - serialized_end=2968, -) - - -_SLICESTATUS = _descriptor.Descriptor( - name='SliceStatus', - full_name='context.SliceStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_status', full_name='context.SliceStatus.slice_status', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2970, - serialized_end=3031, -) - - -_SLICEIDLIST = _descriptor.Descriptor( - name='SliceIdList', - full_name='context.SliceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_ids', full_name='context.SliceIdList.slice_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3033, - serialized_end=3083, -) - - -_SLICELIST = _descriptor.Descriptor( - name='SliceList', - full_name='context.SliceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slices', full_name='context.SliceList.slices', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3085, - serialized_end=3128, -) - - -_SLICEEVENT = _descriptor.Descriptor( - name='SliceEvent', - full_name='context.SliceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.SliceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_id', full_name='context.SliceEvent.slice_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3130, - serialized_end=3209, -) - - -_CONNECTIONID = _descriptor.Descriptor( - name='ConnectionId', - full_name='context.ConnectionId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_uuid', full_name='context.ConnectionId.connection_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3211, - serialized_end=3265, -) - - -_CONNECTION = _descriptor.Descriptor( - name='Connection', - full_name='context.Connection', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_id', full_name='context.Connection.connection_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='context.Connection.service_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='path_hops_endpoint_ids', full_name='context.Connection.path_hops_endpoint_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sub_service_ids', full_name='context.Connection.sub_service_ids', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3268, - serialized_end=3464, -) - - -_CONNECTIONIDLIST = _descriptor.Descriptor( - name='ConnectionIdList', - full_name='context.ConnectionIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_ids', full_name='context.ConnectionIdList.connection_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3466, - serialized_end=3531, -) - - -_CONNECTIONLIST = _descriptor.Descriptor( - name='ConnectionList', - full_name='context.ConnectionList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connections', full_name='context.ConnectionList.connections', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3533, - serialized_end=3591, -) - - -_CONNECTIONEVENT = _descriptor.Descriptor( - name='ConnectionEvent', - full_name='context.ConnectionEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ConnectionEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='connection_id', full_name='context.ConnectionEvent.connection_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3593, - serialized_end=3687, -) - - -_ENDPOINTID = _descriptor.Descriptor( - name='EndPointId', - full_name='context.EndPointId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.EndPointId.topology_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='context.EndPointId.device_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_uuid', full_name='context.EndPointId.endpoint_uuid', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3690, - serialized_end=3820, -) - - -_ENDPOINT = _descriptor.Descriptor( - name='EndPoint', - full_name='context.EndPoint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='endpoint_id', full_name='context.EndPoint.endpoint_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_type', full_name='context.EndPoint.endpoint_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='kpi_sample_types', full_name='context.EndPoint.kpi_sample_types', index=2, - number=3, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3823, - serialized_end=3957, -) - - -_CONFIGRULE = _descriptor.Descriptor( - name='ConfigRule', - full_name='context.ConfigRule', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='action', full_name='context.ConfigRule.action', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='resource_key', full_name='context.ConfigRule.resource_key', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='resource_value', full_name='context.ConfigRule.resource_value', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3959, - serialized_end=4060, -) - - -_CONSTRAINT = _descriptor.Descriptor( - name='Constraint', - full_name='context.Constraint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='constraint_type', full_name='context.Constraint.constraint_type', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='constraint_value', full_name='context.Constraint.constraint_value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4062, - serialized_end=4125, -) - - -_TERAFLOWCONTROLLER = _descriptor.Descriptor( - name='TeraFlowController', - full_name='context.TeraFlowController', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.TeraFlowController.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='ip_address', full_name='context.TeraFlowController.ip_address', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='port', full_name='context.TeraFlowController.port', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4127, - serialized_end=4221, -) - - -_AUTHENTICATIONRESULT = _descriptor.Descriptor( - name='AuthenticationResult', - full_name='context.AuthenticationResult', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.AuthenticationResult.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='authenticated', full_name='context.AuthenticationResult.authenticated', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4223, - serialized_end=4308, -) - -_EVENT.fields_by_name['event_type'].enum_type = _EVENTTYPEENUM -_CONTEXTID.fields_by_name['context_uuid'].message_type = _UUID -_CONTEXT.fields_by_name['context_id'].message_type = _CONTEXTID -_CONTEXT.fields_by_name['topology_ids'].message_type = _TOPOLOGYID -_CONTEXT.fields_by_name['service_ids'].message_type = _SERVICEID -_CONTEXT.fields_by_name['controller'].message_type = _TERAFLOWCONTROLLER -_CONTEXTIDLIST.fields_by_name['context_ids'].message_type = _CONTEXTID -_CONTEXTLIST.fields_by_name['contexts'].message_type = _CONTEXT -_CONTEXTEVENT.fields_by_name['event'].message_type = _EVENT -_CONTEXTEVENT.fields_by_name['context_id'].message_type = _CONTEXTID -_TOPOLOGYID.fields_by_name['context_id'].message_type = _CONTEXTID -_TOPOLOGYID.fields_by_name['topology_uuid'].message_type = _UUID -_TOPOLOGY.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_TOPOLOGY.fields_by_name['device_ids'].message_type = _DEVICEID -_TOPOLOGY.fields_by_name['link_ids'].message_type = _LINKID -_TOPOLOGYIDLIST.fields_by_name['topology_ids'].message_type = _TOPOLOGYID -_TOPOLOGYLIST.fields_by_name['topologies'].message_type = _TOPOLOGY -_TOPOLOGYEVENT.fields_by_name['event'].message_type = _EVENT -_TOPOLOGYEVENT.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_DEVICEID.fields_by_name['device_uuid'].message_type = _UUID -_DEVICE.fields_by_name['device_id'].message_type = _DEVICEID -_DEVICE.fields_by_name['device_config'].message_type = _DEVICECONFIG -_DEVICE.fields_by_name['device_operational_status'].enum_type = _DEVICEOPERATIONALSTATUSENUM -_DEVICE.fields_by_name['device_drivers'].enum_type = _DEVICEDRIVERENUM -_DEVICE.fields_by_name['device_endpoints'].message_type = _ENDPOINT -_DEVICECONFIG.fields_by_name['config_rules'].message_type = _CONFIGRULE -_DEVICEIDLIST.fields_by_name['device_ids'].message_type = _DEVICEID -_DEVICELIST.fields_by_name['devices'].message_type = _DEVICE -_DEVICEEVENT.fields_by_name['event'].message_type = _EVENT -_DEVICEEVENT.fields_by_name['device_id'].message_type = _DEVICEID -_LINKID.fields_by_name['link_uuid'].message_type = _UUID -_LINK.fields_by_name['link_id'].message_type = _LINKID -_LINK.fields_by_name['link_endpoint_ids'].message_type = _ENDPOINTID -_LINKIDLIST.fields_by_name['link_ids'].message_type = _LINKID -_LINKLIST.fields_by_name['links'].message_type = _LINK -_LINKEVENT.fields_by_name['event'].message_type = _EVENT -_LINKEVENT.fields_by_name['link_id'].message_type = _LINKID -_SERVICEID.fields_by_name['context_id'].message_type = _CONTEXTID -_SERVICEID.fields_by_name['service_uuid'].message_type = _UUID -_SERVICE.fields_by_name['service_id'].message_type = _SERVICEID -_SERVICE.fields_by_name['service_type'].enum_type = _SERVICETYPEENUM -_SERVICE.fields_by_name['service_endpoint_ids'].message_type = _ENDPOINTID -_SERVICE.fields_by_name['service_constraints'].message_type = _CONSTRAINT -_SERVICE.fields_by_name['service_status'].message_type = _SERVICESTATUS -_SERVICE.fields_by_name['service_config'].message_type = _SERVICECONFIG -_SERVICESTATUS.fields_by_name['service_status'].enum_type = _SERVICESTATUSENUM -_SERVICECONFIG.fields_by_name['config_rules'].message_type = _CONFIGRULE -_SERVICEIDLIST.fields_by_name['service_ids'].message_type = _SERVICEID -_SERVICELIST.fields_by_name['services'].message_type = _SERVICE -_SERVICEEVENT.fields_by_name['event'].message_type = _EVENT -_SERVICEEVENT.fields_by_name['service_id'].message_type = _SERVICEID -_SLICEID.fields_by_name['context_id'].message_type = _CONTEXTID -_SLICEID.fields_by_name['slice_uuid'].message_type = _UUID -_SLICE.fields_by_name['slice_id'].message_type = _SLICEID -_SLICE.fields_by_name['slice_endpoint_ids'].message_type = _ENDPOINTID -_SLICE.fields_by_name['slice_constraints'].message_type = _CONSTRAINT -_SLICE.fields_by_name['slice_service_ids'].message_type = _SERVICEID -_SLICE.fields_by_name['slice_subslice_ids'].message_type = _SLICEID -_SLICE.fields_by_name['slice_status'].message_type = _SLICESTATUS -_SLICESTATUS.fields_by_name['slice_status'].enum_type = _SLICESTATUSENUM -_SLICEIDLIST.fields_by_name['slice_ids'].message_type = _SLICEID -_SLICELIST.fields_by_name['slices'].message_type = _SLICE -_SLICEEVENT.fields_by_name['event'].message_type = _EVENT -_SLICEEVENT.fields_by_name['slice_id'].message_type = _SLICEID -_CONNECTIONID.fields_by_name['connection_uuid'].message_type = _UUID -_CONNECTION.fields_by_name['connection_id'].message_type = _CONNECTIONID -_CONNECTION.fields_by_name['service_id'].message_type = _SERVICEID -_CONNECTION.fields_by_name['path_hops_endpoint_ids'].message_type = _ENDPOINTID -_CONNECTION.fields_by_name['sub_service_ids'].message_type = _SERVICEID -_CONNECTIONIDLIST.fields_by_name['connection_ids'].message_type = _CONNECTIONID -_CONNECTIONLIST.fields_by_name['connections'].message_type = _CONNECTION -_CONNECTIONEVENT.fields_by_name['event'].message_type = _EVENT -_CONNECTIONEVENT.fields_by_name['connection_id'].message_type = _CONNECTIONID -_ENDPOINTID.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_ENDPOINTID.fields_by_name['device_id'].message_type = _DEVICEID -_ENDPOINTID.fields_by_name['endpoint_uuid'].message_type = _UUID -_ENDPOINT.fields_by_name['endpoint_id'].message_type = _ENDPOINTID -_ENDPOINT.fields_by_name['kpi_sample_types'].enum_type = kpi__sample__types__pb2._KPISAMPLETYPE -_CONFIGRULE.fields_by_name['action'].enum_type = _CONFIGACTIONENUM -_TERAFLOWCONTROLLER.fields_by_name['context_id'].message_type = _CONTEXTID -_AUTHENTICATIONRESULT.fields_by_name['context_id'].message_type = _CONTEXTID -DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY -DESCRIPTOR.message_types_by_name['Uuid'] = _UUID -DESCRIPTOR.message_types_by_name['Event'] = _EVENT -DESCRIPTOR.message_types_by_name['ContextId'] = _CONTEXTID -DESCRIPTOR.message_types_by_name['Context'] = _CONTEXT -DESCRIPTOR.message_types_by_name['ContextIdList'] = _CONTEXTIDLIST -DESCRIPTOR.message_types_by_name['ContextList'] = _CONTEXTLIST -DESCRIPTOR.message_types_by_name['ContextEvent'] = _CONTEXTEVENT -DESCRIPTOR.message_types_by_name['TopologyId'] = _TOPOLOGYID -DESCRIPTOR.message_types_by_name['Topology'] = _TOPOLOGY -DESCRIPTOR.message_types_by_name['TopologyIdList'] = _TOPOLOGYIDLIST -DESCRIPTOR.message_types_by_name['TopologyList'] = _TOPOLOGYLIST -DESCRIPTOR.message_types_by_name['TopologyEvent'] = _TOPOLOGYEVENT -DESCRIPTOR.message_types_by_name['DeviceId'] = _DEVICEID -DESCRIPTOR.message_types_by_name['Device'] = _DEVICE -DESCRIPTOR.message_types_by_name['DeviceConfig'] = _DEVICECONFIG -DESCRIPTOR.message_types_by_name['DeviceIdList'] = _DEVICEIDLIST -DESCRIPTOR.message_types_by_name['DeviceList'] = _DEVICELIST -DESCRIPTOR.message_types_by_name['DeviceEvent'] = _DEVICEEVENT -DESCRIPTOR.message_types_by_name['LinkId'] = _LINKID -DESCRIPTOR.message_types_by_name['Link'] = _LINK -DESCRIPTOR.message_types_by_name['LinkIdList'] = _LINKIDLIST -DESCRIPTOR.message_types_by_name['LinkList'] = _LINKLIST -DESCRIPTOR.message_types_by_name['LinkEvent'] = _LINKEVENT -DESCRIPTOR.message_types_by_name['ServiceId'] = _SERVICEID -DESCRIPTOR.message_types_by_name['Service'] = _SERVICE -DESCRIPTOR.message_types_by_name['ServiceStatus'] = _SERVICESTATUS -DESCRIPTOR.message_types_by_name['ServiceConfig'] = _SERVICECONFIG -DESCRIPTOR.message_types_by_name['ServiceIdList'] = _SERVICEIDLIST -DESCRIPTOR.message_types_by_name['ServiceList'] = _SERVICELIST -DESCRIPTOR.message_types_by_name['ServiceEvent'] = _SERVICEEVENT -DESCRIPTOR.message_types_by_name['SliceId'] = _SLICEID -DESCRIPTOR.message_types_by_name['Slice'] = _SLICE -DESCRIPTOR.message_types_by_name['SliceStatus'] = _SLICESTATUS -DESCRIPTOR.message_types_by_name['SliceIdList'] = _SLICEIDLIST -DESCRIPTOR.message_types_by_name['SliceList'] = _SLICELIST -DESCRIPTOR.message_types_by_name['SliceEvent'] = _SLICEEVENT -DESCRIPTOR.message_types_by_name['ConnectionId'] = _CONNECTIONID -DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION -DESCRIPTOR.message_types_by_name['ConnectionIdList'] = _CONNECTIONIDLIST -DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST -DESCRIPTOR.message_types_by_name['ConnectionEvent'] = _CONNECTIONEVENT -DESCRIPTOR.message_types_by_name['EndPointId'] = _ENDPOINTID -DESCRIPTOR.message_types_by_name['EndPoint'] = _ENDPOINT -DESCRIPTOR.message_types_by_name['ConfigRule'] = _CONFIGRULE -DESCRIPTOR.message_types_by_name['Constraint'] = _CONSTRAINT -DESCRIPTOR.message_types_by_name['TeraFlowController'] = _TERAFLOWCONTROLLER -DESCRIPTOR.message_types_by_name['AuthenticationResult'] = _AUTHENTICATIONRESULT -DESCRIPTOR.enum_types_by_name['EventTypeEnum'] = _EVENTTYPEENUM -DESCRIPTOR.enum_types_by_name['DeviceDriverEnum'] = _DEVICEDRIVERENUM -DESCRIPTOR.enum_types_by_name['DeviceOperationalStatusEnum'] = _DEVICEOPERATIONALSTATUSENUM -DESCRIPTOR.enum_types_by_name['ServiceTypeEnum'] = _SERVICETYPEENUM -DESCRIPTOR.enum_types_by_name['ServiceStatusEnum'] = _SERVICESTATUSENUM -DESCRIPTOR.enum_types_by_name['SliceStatusEnum'] = _SLICESTATUSENUM -DESCRIPTOR.enum_types_by_name['ConfigActionEnum'] = _CONFIGACTIONENUM -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), { - 'DESCRIPTOR' : _EMPTY, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Empty) - }) -_sym_db.RegisterMessage(Empty) - -Uuid = _reflection.GeneratedProtocolMessageType('Uuid', (_message.Message,), { - 'DESCRIPTOR' : _UUID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Uuid) - }) -_sym_db.RegisterMessage(Uuid) - -Event = _reflection.GeneratedProtocolMessageType('Event', (_message.Message,), { - 'DESCRIPTOR' : _EVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Event) - }) -_sym_db.RegisterMessage(Event) - -ContextId = _reflection.GeneratedProtocolMessageType('ContextId', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextId) - }) -_sym_db.RegisterMessage(ContextId) - -Context = _reflection.GeneratedProtocolMessageType('Context', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Context) - }) -_sym_db.RegisterMessage(Context) - -ContextIdList = _reflection.GeneratedProtocolMessageType('ContextIdList', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextIdList) - }) -_sym_db.RegisterMessage(ContextIdList) - -ContextList = _reflection.GeneratedProtocolMessageType('ContextList', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextList) - }) -_sym_db.RegisterMessage(ContextList) - -ContextEvent = _reflection.GeneratedProtocolMessageType('ContextEvent', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextEvent) - }) -_sym_db.RegisterMessage(ContextEvent) - -TopologyId = _reflection.GeneratedProtocolMessageType('TopologyId', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyId) - }) -_sym_db.RegisterMessage(TopologyId) - -Topology = _reflection.GeneratedProtocolMessageType('Topology', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGY, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Topology) - }) -_sym_db.RegisterMessage(Topology) - -TopologyIdList = _reflection.GeneratedProtocolMessageType('TopologyIdList', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyIdList) - }) -_sym_db.RegisterMessage(TopologyIdList) - -TopologyList = _reflection.GeneratedProtocolMessageType('TopologyList', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyList) - }) -_sym_db.RegisterMessage(TopologyList) - -TopologyEvent = _reflection.GeneratedProtocolMessageType('TopologyEvent', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyEvent) - }) -_sym_db.RegisterMessage(TopologyEvent) - -DeviceId = _reflection.GeneratedProtocolMessageType('DeviceId', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceId) - }) -_sym_db.RegisterMessage(DeviceId) - -Device = _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), { - 'DESCRIPTOR' : _DEVICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Device) - }) -_sym_db.RegisterMessage(Device) - -DeviceConfig = _reflection.GeneratedProtocolMessageType('DeviceConfig', (_message.Message,), { - 'DESCRIPTOR' : _DEVICECONFIG, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceConfig) - }) -_sym_db.RegisterMessage(DeviceConfig) - -DeviceIdList = _reflection.GeneratedProtocolMessageType('DeviceIdList', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceIdList) - }) -_sym_db.RegisterMessage(DeviceIdList) - -DeviceList = _reflection.GeneratedProtocolMessageType('DeviceList', (_message.Message,), { - 'DESCRIPTOR' : _DEVICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceList) - }) -_sym_db.RegisterMessage(DeviceList) - -DeviceEvent = _reflection.GeneratedProtocolMessageType('DeviceEvent', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceEvent) - }) -_sym_db.RegisterMessage(DeviceEvent) - -LinkId = _reflection.GeneratedProtocolMessageType('LinkId', (_message.Message,), { - 'DESCRIPTOR' : _LINKID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkId) - }) -_sym_db.RegisterMessage(LinkId) - -Link = _reflection.GeneratedProtocolMessageType('Link', (_message.Message,), { - 'DESCRIPTOR' : _LINK, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Link) - }) -_sym_db.RegisterMessage(Link) - -LinkIdList = _reflection.GeneratedProtocolMessageType('LinkIdList', (_message.Message,), { - 'DESCRIPTOR' : _LINKIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkIdList) - }) -_sym_db.RegisterMessage(LinkIdList) - -LinkList = _reflection.GeneratedProtocolMessageType('LinkList', (_message.Message,), { - 'DESCRIPTOR' : _LINKLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkList) - }) -_sym_db.RegisterMessage(LinkList) - -LinkEvent = _reflection.GeneratedProtocolMessageType('LinkEvent', (_message.Message,), { - 'DESCRIPTOR' : _LINKEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkEvent) - }) -_sym_db.RegisterMessage(LinkEvent) - -ServiceId = _reflection.GeneratedProtocolMessageType('ServiceId', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceId) - }) -_sym_db.RegisterMessage(ServiceId) - -Service = _reflection.GeneratedProtocolMessageType('Service', (_message.Message,), { - 'DESCRIPTOR' : _SERVICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Service) - }) -_sym_db.RegisterMessage(Service) - -ServiceStatus = _reflection.GeneratedProtocolMessageType('ServiceStatus', (_message.Message,), { - 'DESCRIPTOR' : _SERVICESTATUS, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceStatus) - }) -_sym_db.RegisterMessage(ServiceStatus) - -ServiceConfig = _reflection.GeneratedProtocolMessageType('ServiceConfig', (_message.Message,), { - 'DESCRIPTOR' : _SERVICECONFIG, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceConfig) - }) -_sym_db.RegisterMessage(ServiceConfig) - -ServiceIdList = _reflection.GeneratedProtocolMessageType('ServiceIdList', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceIdList) - }) -_sym_db.RegisterMessage(ServiceIdList) - -ServiceList = _reflection.GeneratedProtocolMessageType('ServiceList', (_message.Message,), { - 'DESCRIPTOR' : _SERVICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceList) - }) -_sym_db.RegisterMessage(ServiceList) - -ServiceEvent = _reflection.GeneratedProtocolMessageType('ServiceEvent', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceEvent) - }) -_sym_db.RegisterMessage(ServiceEvent) - -SliceId = _reflection.GeneratedProtocolMessageType('SliceId', (_message.Message,), { - 'DESCRIPTOR' : _SLICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceId) - }) -_sym_db.RegisterMessage(SliceId) - -Slice = _reflection.GeneratedProtocolMessageType('Slice', (_message.Message,), { - 'DESCRIPTOR' : _SLICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Slice) - }) -_sym_db.RegisterMessage(Slice) - -SliceStatus = _reflection.GeneratedProtocolMessageType('SliceStatus', (_message.Message,), { - 'DESCRIPTOR' : _SLICESTATUS, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceStatus) - }) -_sym_db.RegisterMessage(SliceStatus) - -SliceIdList = _reflection.GeneratedProtocolMessageType('SliceIdList', (_message.Message,), { - 'DESCRIPTOR' : _SLICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceIdList) - }) -_sym_db.RegisterMessage(SliceIdList) - -SliceList = _reflection.GeneratedProtocolMessageType('SliceList', (_message.Message,), { - 'DESCRIPTOR' : _SLICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceList) - }) -_sym_db.RegisterMessage(SliceList) - -SliceEvent = _reflection.GeneratedProtocolMessageType('SliceEvent', (_message.Message,), { - 'DESCRIPTOR' : _SLICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceEvent) - }) -_sym_db.RegisterMessage(SliceEvent) - -ConnectionId = _reflection.GeneratedProtocolMessageType('ConnectionId', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionId) - }) -_sym_db.RegisterMessage(ConnectionId) - -Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTION, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Connection) - }) -_sym_db.RegisterMessage(Connection) - -ConnectionIdList = _reflection.GeneratedProtocolMessageType('ConnectionIdList', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionIdList) - }) -_sym_db.RegisterMessage(ConnectionIdList) - -ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionList) - }) -_sym_db.RegisterMessage(ConnectionList) - -ConnectionEvent = _reflection.GeneratedProtocolMessageType('ConnectionEvent', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionEvent) - }) -_sym_db.RegisterMessage(ConnectionEvent) - -EndPointId = _reflection.GeneratedProtocolMessageType('EndPointId', (_message.Message,), { - 'DESCRIPTOR' : _ENDPOINTID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.EndPointId) - }) -_sym_db.RegisterMessage(EndPointId) - -EndPoint = _reflection.GeneratedProtocolMessageType('EndPoint', (_message.Message,), { - 'DESCRIPTOR' : _ENDPOINT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.EndPoint) - }) -_sym_db.RegisterMessage(EndPoint) - -ConfigRule = _reflection.GeneratedProtocolMessageType('ConfigRule', (_message.Message,), { - 'DESCRIPTOR' : _CONFIGRULE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConfigRule) - }) -_sym_db.RegisterMessage(ConfigRule) - -Constraint = _reflection.GeneratedProtocolMessageType('Constraint', (_message.Message,), { - 'DESCRIPTOR' : _CONSTRAINT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Constraint) - }) -_sym_db.RegisterMessage(Constraint) - -TeraFlowController = _reflection.GeneratedProtocolMessageType('TeraFlowController', (_message.Message,), { - 'DESCRIPTOR' : _TERAFLOWCONTROLLER, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TeraFlowController) - }) -_sym_db.RegisterMessage(TeraFlowController) - -AuthenticationResult = _reflection.GeneratedProtocolMessageType('AuthenticationResult', (_message.Message,), { - 'DESCRIPTOR' : _AUTHENTICATIONRESULT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.AuthenticationResult) - }) -_sym_db.RegisterMessage(AuthenticationResult) - - - -_CONTEXTSERVICE = _descriptor.ServiceDescriptor( - name='ContextService', - full_name='context.ContextService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=5273, - serialized_end=7688, - methods=[ - _descriptor.MethodDescriptor( - name='ListContextIds', - full_name='context.ContextService.ListContextIds', - index=0, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListContexts', - full_name='context.ContextService.ListContexts', - index=1, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetContext', - full_name='context.ContextService.GetContext', - index=2, - containing_service=None, - input_type=_CONTEXTID, - output_type=_CONTEXT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetContext', - full_name='context.ContextService.SetContext', - index=3, - containing_service=None, - input_type=_CONTEXT, - output_type=_CONTEXTID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveContext', - full_name='context.ContextService.RemoveContext', - index=4, - containing_service=None, - input_type=_CONTEXTID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetContextEvents', - full_name='context.ContextService.GetContextEvents', - index=5, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListTopologyIds', - full_name='context.ContextService.ListTopologyIds', - index=6, - containing_service=None, - input_type=_CONTEXTID, - output_type=_TOPOLOGYIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListTopologies', - full_name='context.ContextService.ListTopologies', - index=7, - containing_service=None, - input_type=_CONTEXTID, - output_type=_TOPOLOGYLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetTopology', - full_name='context.ContextService.GetTopology', - index=8, - containing_service=None, - input_type=_TOPOLOGYID, - output_type=_TOPOLOGY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetTopology', - full_name='context.ContextService.SetTopology', - index=9, - containing_service=None, - input_type=_TOPOLOGY, - output_type=_TOPOLOGYID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveTopology', - full_name='context.ContextService.RemoveTopology', - index=10, - containing_service=None, - input_type=_TOPOLOGYID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetTopologyEvents', - full_name='context.ContextService.GetTopologyEvents', - index=11, - containing_service=None, - input_type=_EMPTY, - output_type=_TOPOLOGYEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListDeviceIds', - full_name='context.ContextService.ListDeviceIds', - index=12, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListDevices', - full_name='context.ContextService.ListDevices', - index=13, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetDevice', - full_name='context.ContextService.GetDevice', - index=14, - containing_service=None, - input_type=_DEVICEID, - output_type=_DEVICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetDevice', - full_name='context.ContextService.SetDevice', - index=15, - containing_service=None, - input_type=_DEVICE, - output_type=_DEVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveDevice', - full_name='context.ContextService.RemoveDevice', - index=16, - containing_service=None, - input_type=_DEVICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetDeviceEvents', - full_name='context.ContextService.GetDeviceEvents', - index=17, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListLinkIds', - full_name='context.ContextService.ListLinkIds', - index=18, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListLinks', - full_name='context.ContextService.ListLinks', - index=19, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetLink', - full_name='context.ContextService.GetLink', - index=20, - containing_service=None, - input_type=_LINKID, - output_type=_LINK, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetLink', - full_name='context.ContextService.SetLink', - index=21, - containing_service=None, - input_type=_LINK, - output_type=_LINKID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveLink', - full_name='context.ContextService.RemoveLink', - index=22, - containing_service=None, - input_type=_LINKID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetLinkEvents', - full_name='context.ContextService.GetLinkEvents', - index=23, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListServiceIds', - full_name='context.ContextService.ListServiceIds', - index=24, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SERVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListServices', - full_name='context.ContextService.ListServices', - index=25, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SERVICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetService', - full_name='context.ContextService.GetService', - index=26, - containing_service=None, - input_type=_SERVICEID, - output_type=_SERVICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetService', - full_name='context.ContextService.SetService', - index=27, - containing_service=None, - input_type=_SERVICE, - output_type=_SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveService', - full_name='context.ContextService.RemoveService', - index=28, - containing_service=None, - input_type=_SERVICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetServiceEvents', - full_name='context.ContextService.GetServiceEvents', - index=29, - containing_service=None, - input_type=_EMPTY, - output_type=_SERVICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListSliceIds', - full_name='context.ContextService.ListSliceIds', - index=30, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SLICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListSlices', - full_name='context.ContextService.ListSlices', - index=31, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SLICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetSlice', - full_name='context.ContextService.GetSlice', - index=32, - containing_service=None, - input_type=_SLICEID, - output_type=_SLICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetSlice', - full_name='context.ContextService.SetSlice', - index=33, - containing_service=None, - input_type=_SLICE, - output_type=_SLICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveSlice', - full_name='context.ContextService.RemoveSlice', - index=34, - containing_service=None, - input_type=_SLICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetSliceEvents', - full_name='context.ContextService.GetSliceEvents', - index=35, - containing_service=None, - input_type=_EMPTY, - output_type=_SLICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListConnectionIds', - full_name='context.ContextService.ListConnectionIds', - index=36, - containing_service=None, - input_type=_SERVICEID, - output_type=_CONNECTIONIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListConnections', - full_name='context.ContextService.ListConnections', - index=37, - containing_service=None, - input_type=_SERVICEID, - output_type=_CONNECTIONLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnection', - full_name='context.ContextService.GetConnection', - index=38, - containing_service=None, - input_type=_CONNECTIONID, - output_type=_CONNECTION, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetConnection', - full_name='context.ContextService.SetConnection', - index=39, - containing_service=None, - input_type=_CONNECTION, - output_type=_CONNECTIONID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveConnection', - full_name='context.ContextService.RemoveConnection', - index=40, - containing_service=None, - input_type=_CONNECTIONID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnectionEvents', - full_name='context.ContextService.GetConnectionEvents', - index=41, - containing_service=None, - input_type=_EMPTY, - output_type=_CONNECTIONEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_CONTEXTSERVICE) - -DESCRIPTOR.services_by_name['ContextService'] = _CONTEXTSERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/compute/proto/kpi_sample_types_pb2.py b/src/compute/proto/kpi_sample_types_pb2.py deleted file mode 100644 index ea7fd2f82757d4c3db02d7e2c7817e2787b0b490..0000000000000000000000000000000000000000 --- a/src/compute/proto/kpi_sample_types_pb2.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: kpi_sample_types.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='kpi_sample_types.proto', - package='kpi_sample_types', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x16kpi_sample_types.proto\x12\x10kpi_sample_types*\xbe\x01\n\rKpiSampleType\x12\x19\n\x15KPISAMPLETYPE_UNKNOWN\x10\x00\x12%\n!KPISAMPLETYPE_PACKETS_TRANSMITTED\x10\x65\x12\"\n\x1eKPISAMPLETYPE_PACKETS_RECEIVED\x10\x66\x12$\n\x1fKPISAMPLETYPE_BYTES_TRANSMITTED\x10\xc9\x01\x12!\n\x1cKPISAMPLETYPE_BYTES_RECEIVED\x10\xca\x01\x62\x06proto3' -) - -_KPISAMPLETYPE = _descriptor.EnumDescriptor( - name='KpiSampleType', - full_name='kpi_sample_types.KpiSampleType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_UNKNOWN', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_PACKETS_TRANSMITTED', index=1, number=101, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_PACKETS_RECEIVED', index=2, number=102, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_BYTES_TRANSMITTED', index=3, number=201, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_BYTES_RECEIVED', index=4, number=202, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=45, - serialized_end=235, -) -_sym_db.RegisterEnumDescriptor(_KPISAMPLETYPE) - -KpiSampleType = enum_type_wrapper.EnumTypeWrapper(_KPISAMPLETYPE) -KPISAMPLETYPE_UNKNOWN = 0 -KPISAMPLETYPE_PACKETS_TRANSMITTED = 101 -KPISAMPLETYPE_PACKETS_RECEIVED = 102 -KPISAMPLETYPE_BYTES_TRANSMITTED = 201 -KPISAMPLETYPE_BYTES_RECEIVED = 202 - - -DESCRIPTOR.enum_types_by_name['KpiSampleType'] = _KPISAMPLETYPE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - -# @@protoc_insertion_point(module_scope) diff --git a/src/compute/proto/service_pb2.py b/src/compute/proto/service_pb2.py deleted file mode 100644 index 8e2806c7685e24ab90a3d59a19f1e4f99ebc9712..0000000000000000000000000000000000000000 --- a/src/compute/proto/service_pb2.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: service.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import context_pb2 as context__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='service.proto', - package='service', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\rservice.proto\x12\x07service\x1a\rcontext.proto2\xb9\x01\n\x0eServiceService\x12\x37\n\rCreateService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12\x37\n\rUpdateService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12\x35\n\rDeleteService\x12\x12.context.ServiceId\x1a\x0e.context.Empty\"\x00\x62\x06proto3' - , - dependencies=[context__pb2.DESCRIPTOR,]) - - - -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - - -_SERVICESERVICE = _descriptor.ServiceDescriptor( - name='ServiceService', - full_name='service.ServiceService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=42, - serialized_end=227, - methods=[ - _descriptor.MethodDescriptor( - name='CreateService', - full_name='service.ServiceService.CreateService', - index=0, - containing_service=None, - input_type=context__pb2._SERVICE, - output_type=context__pb2._SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='UpdateService', - full_name='service.ServiceService.UpdateService', - index=1, - containing_service=None, - input_type=context__pb2._SERVICE, - output_type=context__pb2._SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='DeleteService', - full_name='service.ServiceService.DeleteService', - index=2, - containing_service=None, - input_type=context__pb2._SERVICEID, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_SERVICESERVICE) - -DESCRIPTOR.services_by_name['ServiceService'] = _SERVICESERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/compute/requirements.in b/src/compute/requirements.in index fcf7e912cc6902bc8547a2a91fc3797b1b7c3db1..906615e54488056e3f8e8801bbfd333eab1c23b7 100644 --- a/src/compute/requirements.in +++ b/src/compute/requirements.in @@ -1,12 +1,5 @@ -Flask==2.0.2 +Flask==2.1.3 Flask-HTTPAuth==4.5.0 Flask-RESTful==0.3.9 -grpcio==1.43.0 -grpcio-health-checking==1.43.0 jsonschema==4.4.0 -prometheus-client==0.13.0 -protobuf==3.19.3 -pytest==6.2.5 -pytest-benchmark==3.4.1 requests==2.27.1 -coverage==6.3 diff --git a/src/compute/service/ComputeService.py b/src/compute/service/ComputeService.py index 1f523793d28526bdce1dd50cba7677aa04481171..e8d038c43b58a3adae4871cc7f5397fe60461727 100644 --- a/src/compute/service/ComputeService.py +++ b/src/compute/service/ComputeService.py @@ -12,56 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -import grpc, logging -from concurrent import futures -from grpc_health.v1.health import HealthServicer, OVERALL_HEALTH -from grpc_health.v1.health_pb2 import HealthCheckResponse -from grpc_health.v1.health_pb2_grpc import add_HealthServicer_to_server -from compute.proto.compute_pb2_grpc import add_ComputeServiceServicer_to_server +from common.Constants import ServiceNameEnum +from common.Settings import get_service_port_grpc +from common.proto.compute_pb2_grpc import add_ComputeServiceServicer_to_server +from common.tools.service.GenericGrpcService import GenericGrpcService from compute.service.ComputeServiceServicerImpl import ComputeServiceServicerImpl -from compute.Config import GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD - -BIND_ADDRESS = '0.0.0.0' -LOGGER = logging.getLogger(__name__) - -class ComputeService: - def __init__(self, address=BIND_ADDRESS, port=GRPC_SERVICE_PORT, max_workers=GRPC_MAX_WORKERS, - grace_period=GRPC_GRACE_PERIOD): - self.address = address - self.port = port - self.endpoint = None - self.max_workers = max_workers - self.grace_period = grace_period - self.compute_servicer = None - self.health_servicer = None - self.pool = None - self.server = None - - def start(self): - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(self.port)) - LOGGER.debug('Starting Service (tentative endpoint: {:s}, max_workers: {:s})...'.format( - str(self.endpoint), str(self.max_workers))) - - self.pool = futures.ThreadPoolExecutor(max_workers=self.max_workers) - self.server = grpc.server(self.pool) # , interceptors=(tracer_interceptor,)) +class ComputeService(GenericGrpcService): + def __init__(self, cls_name: str = __name__) -> None: + port = get_service_port_grpc(ServiceNameEnum.COMPUTE) + super().__init__(port, cls_name=cls_name) self.compute_servicer = ComputeServiceServicerImpl() - add_ComputeServiceServicer_to_server(self.compute_servicer, self.server) - self.health_servicer = HealthServicer( - experimental_non_blocking=True, experimental_thread_pool=futures.ThreadPoolExecutor(max_workers=1)) - add_HealthServicer_to_server(self.health_servicer, self.server) - - port = self.server.add_insecure_port(self.endpoint) - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(port)) - LOGGER.info('Listening on {:s}...'.format(str(self.endpoint))) - self.server.start() - self.health_servicer.set(OVERALL_HEALTH, HealthCheckResponse.SERVING) # pylint: disable=maybe-no-member - - LOGGER.debug('Service started') - - def stop(self): - LOGGER.debug('Stopping service (grace period {:s} seconds)...'.format(str(self.grace_period))) - self.health_servicer.enter_graceful_shutdown() - self.server.stop(self.grace_period) - LOGGER.debug('Service stopped') + def install_servicers(self): + add_ComputeServiceServicer_to_server(self.compute_servicer, self.server) diff --git a/src/compute/service/ComputeServiceServicerImpl.py b/src/compute/service/ComputeServiceServicerImpl.py index f5850c1ccc5706a58ffbc13ad9ce2fa2b705d09b..a47a1db6c6fd7ffea16ab23be2997e3c929fb68b 100644 --- a/src/compute/service/ComputeServiceServicerImpl.py +++ b/src/compute/service/ComputeServiceServicerImpl.py @@ -13,56 +13,51 @@ # limitations under the License. import grpc, logging -from common.rpc_method_wrapper.Decorator import create_metrics, safe_and_metered_rpc_method -from compute.proto.compute_pb2_grpc import ComputeServiceServicer -from compute.proto.context_pb2 import ( +from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method +from common.proto.context_pb2 import ( AuthenticationResult, Empty, Service, ServiceId, ServiceIdList, ServiceStatus, TeraFlowController) +from common.proto.compute_pb2_grpc import ComputeServiceServicer LOGGER = logging.getLogger(__name__) -SERVICE_NAME = 'Compute' -METHOD_NAMES = [ - 'CheckCredentials', 'GetConnectivityServiceStatus', 'CreateConnectivityService', 'EditConnectivityService', - 'DeleteConnectivityService', 'GetAllActiveConnectivityServices', 'ClearAllConnectivityServices' -] -METRICS = create_metrics(SERVICE_NAME, METHOD_NAMES) +METRICS_POOL = MetricsPool('Compute', 'RPC') class ComputeServiceServicerImpl(ComputeServiceServicer): def __init__(self): LOGGER.info('Creating Servicer...') LOGGER.info('Servicer Created') - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def CheckCredentials(self, request : TeraFlowController, context : grpc.ServicerContext) -> AuthenticationResult: LOGGER.warning('NOT IMPLEMENTED') return AuthenticationResult() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetConnectivityServiceStatus(self, request : ServiceId, context : grpc.ServicerContext) -> ServiceStatus: LOGGER.warning('NOT IMPLEMENTED') return ServiceStatus() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def CreateConnectivityService(self, request : Service, context : grpc.ServicerContext) -> ServiceId: LOGGER.warning('NOT IMPLEMENTED') return ServiceId() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def EditConnectivityService(self, request : Service, context : grpc.ServicerContext) -> ServiceId: LOGGER.warning('NOT IMPLEMENTED') return ServiceId() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def DeleteConnectivityService(self, request : Service, context : grpc.ServicerContext) -> Empty: LOGGER.warning('NOT IMPLEMENTED') return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetAllActiveConnectivityServices(self, request : Empty, context : grpc.ServicerContext) -> ServiceIdList: LOGGER.warning('NOT IMPLEMENTED') return ServiceIdList() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ClearAllConnectivityServices(self, request : Empty, context : grpc.ServicerContext) -> Empty: LOGGER.warning('NOT IMPLEMENTED') return Empty() diff --git a/src/compute/service/__main__.py b/src/compute/service/__main__.py index cf6f8241010d26d8aff9718b8bc531c2f7f43d22..e80681e177f0f0def3dbe75d76e7e65ceaca1e87 100644 --- a/src/compute/service/__main__.py +++ b/src/compute/service/__main__.py @@ -14,10 +14,10 @@ import logging, signal, sys, threading from prometheus_client import start_http_server -from common.Settings import get_setting, wait_for_environment_variables -from compute.Config import ( - GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD, LOG_LEVEL, RESTAPI_SERVICE_PORT, RESTAPI_BASE_URL, - METRICS_PORT) +from common.Constants import ServiceNameEnum +from common.Settings import ( + ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_log_level, get_metrics_port, + wait_for_environment_variables) from .ComputeService import ComputeService from .rest_server.RestServer import RestServer from .rest_server.nbi_plugins.ietf_l2vpn import register_ietf_l2vpn @@ -32,20 +32,15 @@ def signal_handler(signal, frame): # pylint: disable=redefined-outer-name def main(): global LOGGER # pylint: disable=global-statement - grpc_service_port = get_setting('COMPUTESERVICE_SERVICE_PORT_GRPC', default=GRPC_SERVICE_PORT ) - max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS ) - grace_period = get_setting('GRACE_PERIOD', default=GRPC_GRACE_PERIOD ) - log_level = get_setting('LOG_LEVEL', default=LOG_LEVEL ) - restapi_service_port = get_setting('RESTAPI_SERVICE_PORT', default=RESTAPI_SERVICE_PORT) - restapi_base_url = get_setting('RESTAPI_BASE_URL', default=RESTAPI_BASE_URL ) - metrics_port = get_setting('METRICS_PORT', default=METRICS_PORT ) - + log_level = get_log_level() logging.basicConfig(level=log_level) LOGGER = logging.getLogger(__name__) wait_for_environment_variables([ - 'CONTEXTSERVICE_SERVICE_HOST', 'CONTEXTSERVICE_SERVICE_PORT_GRPC', - 'SERVICESERVICE_SERVICE_HOST', 'SERVICESERVICE_SERVICE_PORT_GRPC' + get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_HOST ), + get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_GRPC), + get_env_var_name(ServiceNameEnum.SLICE, ENVVAR_SUFIX_SERVICE_HOST ), + get_env_var_name(ServiceNameEnum.SLICE, ENVVAR_SUFIX_SERVICE_PORT_GRPC), ]) signal.signal(signal.SIGINT, signal_handler) @@ -54,13 +49,14 @@ def main(): LOGGER.info('Starting...') # Start metrics server + metrics_port = get_metrics_port() start_http_server(metrics_port) # Starting compute service - grpc_service = ComputeService(port=grpc_service_port, max_workers=max_workers, grace_period=grace_period) + grpc_service = ComputeService() grpc_service.start() - rest_server = RestServer(port=restapi_service_port, base_url=restapi_base_url) + rest_server = RestServer() register_ietf_l2vpn(rest_server) rest_server.start() diff --git a/src/compute/service/rest_server/RestServer.py b/src/compute/service/rest_server/RestServer.py index 26055f8dfa319ae715e96241a13860fd8283a5aa..d9b6cd9157a77f61f6e3349de690e3314a2b41d9 100644 --- a/src/compute/service/rest_server/RestServer.py +++ b/src/compute/service/rest_server/RestServer.py @@ -12,45 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging, threading, time -from flask import Flask, request -from flask_restful import Api, Resource -from werkzeug.serving import make_server -from compute.Config import RESTAPI_BASE_URL, RESTAPI_SERVICE_PORT - -logging.getLogger('werkzeug').setLevel(logging.WARNING) - -BIND_ADDRESS = '0.0.0.0' -LOGGER = logging.getLogger(__name__) - -def log_request(response): - timestamp = time.strftime('[%Y-%b-%d %H:%M]') - LOGGER.info('%s %s %s %s %s', timestamp, request.remote_addr, request.method, request.full_path, response.status) - return response - -class RestServer(threading.Thread): - def __init__(self, host=BIND_ADDRESS, port=RESTAPI_SERVICE_PORT, base_url=RESTAPI_BASE_URL): - threading.Thread.__init__(self, daemon=True) - self.host = host - self.port = port - self.base_url = base_url - self.srv = None - self.ctx = None - self.app = Flask(__name__) - self.app.after_request(log_request) - self.api = Api(self.app, prefix=self.base_url) - - def add_resource(self, resource : Resource, *urls, **kwargs): - self.api.add_resource(resource, *urls, **kwargs) - - def run(self): - self.srv = make_server(self.host, self.port, self.app, threaded=True) - self.ctx = self.app.app_context() - self.ctx.push() - - endpoint = 'http://{:s}:{:s}{:s}'.format(str(self.host), str(self.port), str(self.base_url)) - LOGGER.info('Listening on {:s}...'.format(str(endpoint))) - self.srv.serve_forever() - - def shutdown(self): - self.srv.shutdown() +from common.Constants import ServiceNameEnum +from common.Settings import get_service_baseurl_http, get_service_port_http +from common.tools.service.GenericRestServer import GenericRestServer + +class RestServer(GenericRestServer): + def __init__(self, cls_name: str = __name__) -> None: + bind_port = get_service_port_http(ServiceNameEnum.COMPUTE) + base_url = get_service_baseurl_http(ServiceNameEnum.COMPUTE) + super().__init__(bind_port, base_url, cls_name=cls_name) diff --git a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/Constants.py b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/Constants.py index b7f377254f3bec36ce407ee2e25f63adba22baa7..a6c8f27720bee0286995a9104f9599dbe99405e7 100644 --- a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/Constants.py +++ b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/Constants.py @@ -17,38 +17,61 @@ DEFAULT_ADDRESS_FAMILIES = ['IPV4'] DEFAULT_BGP_AS = 65000 DEFAULT_BGP_ROUTE_TARGET = '{:d}:{:d}'.format(DEFAULT_BGP_AS, 333) +# TODO: improve definition of bearer mappings + # Bearer mappings: # device_uuid:endpoint_uuid => ( -# device_uuid, endpoint_uuid, router_id, route_distinguisher, sub_if_index, address_ip, address_prefix) +# device_uuid, endpoint_uuid, router_id, route_dist, sub_if_index, +# address_ip, address_prefix, remote_router, circuit_id) + BEARER_MAPPINGS = { - 'R1-INF:13/2/1': ('R1-INF', '13/2/1', '10.10.10.1', '65000:100', 400, '3.3.2.1', 24), - 'R2-EMU:13/2/1': ('R2-EMU', '13/2/1', '12.12.12.1', '65000:120', 450, '3.4.2.1', 24), - 'R3-INF:13/2/1': ('R3-INF', '13/2/1', '20.20.20.1', '65000:200', 500, '3.3.1.1', 24), - 'R4-EMU:13/2/1': ('R4-EMU', '13/2/1', '22.22.22.1', '65000:220', 550, '3.4.1.1', 24), - - 'R1@D1:3/1': ('R1@D1', '3/1', '10.0.1.1', '65001:101', 100, '1.1.3.1', 24), - 'R1@D1:3/2': ('R1@D1', '3/2', '10.0.1.1', '65001:101', 100, '1.1.3.2', 24), - 'R1@D1:3/3': ('R1@D1', '3/3', '10.0.1.1', '65001:101', 100, '1.1.3.3', 24), - 'R2@D1:3/1': ('R2@D1', '3/1', '10.0.1.2', '65001:102', 100, '1.2.3.1', 24), - 'R2@D1:3/2': ('R2@D1', '3/2', '10.0.1.2', '65001:102', 100, '1.2.3.2', 24), - 'R2@D1:3/3': ('R2@D1', '3/3', '10.0.1.2', '65001:102', 100, '1.2.3.3', 24), - 'R3@D1:3/1': ('R3@D1', '3/1', '10.0.1.3', '65001:103', 100, '1.3.3.1', 24), - 'R3@D1:3/2': ('R3@D1', '3/2', '10.0.1.3', '65001:103', 100, '1.3.3.2', 24), - 'R3@D1:3/3': ('R3@D1', '3/3', '10.0.1.3', '65001:103', 100, '1.3.3.3', 24), - 'R4@D1:3/1': ('R4@D1', '3/1', '10.0.1.4', '65001:104', 100, '1.4.3.1', 24), - 'R4@D1:3/2': ('R4@D1', '3/2', '10.0.1.4', '65001:104', 100, '1.4.3.2', 24), - 'R4@D1:3/3': ('R4@D1', '3/3', '10.0.1.4', '65001:104', 100, '1.4.3.3', 24), - - 'R1@D2:3/1': ('R1@D2', '3/1', '10.0.2.1', '65002:101', 100, '2.1.3.1', 24), - 'R1@D2:3/2': ('R1@D2', '3/2', '10.0.2.1', '65002:101', 100, '2.1.3.2', 24), - 'R1@D2:3/3': ('R1@D2', '3/3', '10.0.2.1', '65002:101', 100, '2.1.3.3', 24), - 'R2@D2:3/1': ('R2@D2', '3/1', '10.0.2.2', '65002:102', 100, '2.2.3.1', 24), - 'R2@D2:3/2': ('R2@D2', '3/2', '10.0.2.2', '65002:102', 100, '2.2.3.2', 24), - 'R2@D2:3/3': ('R2@D2', '3/3', '10.0.2.2', '65002:102', 100, '2.2.3.3', 24), - 'R3@D2:3/1': ('R3@D2', '3/1', '10.0.2.3', '65002:103', 100, '2.3.3.1', 24), - 'R3@D2:3/2': ('R3@D2', '3/2', '10.0.2.3', '65002:103', 100, '2.3.3.2', 24), - 'R3@D2:3/3': ('R3@D2', '3/3', '10.0.2.3', '65002:103', 100, '2.3.3.3', 24), - 'R4@D2:3/1': ('R4@D2', '3/1', '10.0.2.4', '65002:104', 100, '2.4.3.1', 24), - 'R4@D2:3/2': ('R4@D2', '3/2', '10.0.2.4', '65002:104', 100, '2.4.3.2', 24), - 'R4@D2:3/3': ('R4@D2', '3/3', '10.0.2.4', '65002:104', 100, '2.4.3.3', 24), + # OFC'22 + 'R1-EMU:13/1/2': ('R1-EMU', '13/1/2', '10.10.10.1', '65000:100', 400, '3.3.2.1', 24, None, None), + 'R2-EMU:13/1/2': ('R2-EMU', '13/1/2', '12.12.12.1', '65000:120', 450, '3.4.2.1', 24, None, None), + 'R3-EMU:13/1/2': ('R3-EMU', '13/1/2', '20.20.20.1', '65000:200', 500, '3.3.1.1', 24, None, None), + 'R4-EMU:13/1/2': ('R4-EMU', '13/1/2', '22.22.22.1', '65000:220', 550, '3.4.1.1', 24, None, None), + + # OECC/PSC'22 - domain 1 + 'R1@D1:3/1' : ('R1@D1', '3/1', '10.0.1.1', '65001:101', 100, '1.1.3.1', 24, None, None), + 'R1@D1:3/2' : ('R1@D1', '3/2', '10.0.1.1', '65001:101', 100, '1.1.3.2', 24, None, None), + 'R1@D1:3/3' : ('R1@D1', '3/3', '10.0.1.1', '65001:101', 100, '1.1.3.3', 24, None, None), + 'R2@D1:3/1' : ('R2@D1', '3/1', '10.0.1.2', '65001:102', 100, '1.2.3.1', 24, None, None), + 'R2@D1:3/2' : ('R2@D1', '3/2', '10.0.1.2', '65001:102', 100, '1.2.3.2', 24, None, None), + 'R2@D1:3/3' : ('R2@D1', '3/3', '10.0.1.2', '65001:102', 100, '1.2.3.3', 24, None, None), + 'R3@D1:3/1' : ('R3@D1', '3/1', '10.0.1.3', '65001:103', 100, '1.3.3.1', 24, None, None), + 'R3@D1:3/2' : ('R3@D1', '3/2', '10.0.1.3', '65001:103', 100, '1.3.3.2', 24, None, None), + 'R3@D1:3/3' : ('R3@D1', '3/3', '10.0.1.3', '65001:103', 100, '1.3.3.3', 24, None, None), + 'R4@D1:3/1' : ('R4@D1', '3/1', '10.0.1.4', '65001:104', 100, '1.4.3.1', 24, None, None), + 'R4@D1:3/2' : ('R4@D1', '3/2', '10.0.1.4', '65001:104', 100, '1.4.3.2', 24, None, None), + 'R4@D1:3/3' : ('R4@D1', '3/3', '10.0.1.4', '65001:104', 100, '1.4.3.3', 24, None, None), + + # OECC/PSC'22 - domain 2 + 'R1@D2:3/1' : ('R1@D2', '3/1', '10.0.2.1', '65002:101', 100, '2.1.3.1', 24, None, None), + 'R1@D2:3/2' : ('R1@D2', '3/2', '10.0.2.1', '65002:101', 100, '2.1.3.2', 24, None, None), + 'R1@D2:3/3' : ('R1@D2', '3/3', '10.0.2.1', '65002:101', 100, '2.1.3.3', 24, None, None), + 'R2@D2:3/1' : ('R2@D2', '3/1', '10.0.2.2', '65002:102', 100, '2.2.3.1', 24, None, None), + 'R2@D2:3/2' : ('R2@D2', '3/2', '10.0.2.2', '65002:102', 100, '2.2.3.2', 24, None, None), + 'R2@D2:3/3' : ('R2@D2', '3/3', '10.0.2.2', '65002:102', 100, '2.2.3.3', 24, None, None), + 'R3@D2:3/1' : ('R3@D2', '3/1', '10.0.2.3', '65002:103', 100, '2.3.3.1', 24, None, None), + 'R3@D2:3/2' : ('R3@D2', '3/2', '10.0.2.3', '65002:103', 100, '2.3.3.2', 24, None, None), + 'R3@D2:3/3' : ('R3@D2', '3/3', '10.0.2.3', '65002:103', 100, '2.3.3.3', 24, None, None), + 'R4@D2:3/1' : ('R4@D2', '3/1', '10.0.2.4', '65002:104', 100, '2.4.3.1', 24, None, None), + 'R4@D2:3/2' : ('R4@D2', '3/2', '10.0.2.4', '65002:104', 100, '2.4.3.2', 24, None, None), + 'R4@D2:3/3' : ('R4@D2', '3/3', '10.0.2.4', '65002:104', 100, '2.4.3.3', 24, None, None), + + # ECOC'22 + 'DC1-GW:CS1-GW1': ('CS1-GW1', '10/1', '5.5.1.1', None, 0, None, None, '5.5.2.1', 111), + 'DC1-GW:CS1-GW2': ('CS1-GW2', '10/1', '5.5.1.2', None, 0, None, None, '5.5.2.2', 222), + 'DC2-GW:CS2-GW1': ('CS2-GW1', '10/1', '5.5.2.1', None, 0, None, None, '5.5.1.1', 111), + 'DC2-GW:CS2-GW2': ('CS2-GW2', '10/1', '5.5.2.2', None, 0, None, None, '5.5.1.2', 222), + + # NetworkX'22 + 'R1:1/2': ('R1', '1/2', '5.1.1.2', None, 0, None, None, None, None), + 'R1:1/3': ('R1', '1/3', '5.1.1.3', None, 0, None, None, None, None), + 'R2:1/2': ('R2', '1/2', '5.2.1.2', None, 0, None, None, None, None), + 'R2:1/3': ('R2', '1/3', '5.2.1.3', None, 0, None, None, None, None), + 'R3:1/2': ('R3', '1/2', '5.3.1.2', None, 0, None, None, None, None), + 'R3:1/3': ('R3', '1/3', '5.3.1.3', None, 0, None, None, None, None), + 'R4:1/2': ('R4', '1/2', '5.4.1.2', None, 0, None, None, None, None), + 'R4:1/3': ('R4', '1/3', '5.4.1.3', None, 0, None, None, None, None), } diff --git a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Service.py b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Service.py index 27489410f5f0d00b74042f0f4b9da5115b82e782..f6fd7d518197b20c0b29a53240dbcd08f7173857 100644 --- a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Service.py +++ b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Service.py @@ -16,12 +16,10 @@ import logging from flask import request from flask.json import jsonify from flask_restful import Resource -from common.Constants import DEFAULT_CONTEXT_UUID -from common.Settings import get_setting +from common.proto.context_pb2 import SliceStatusEnum +from common.tools.context_queries.Slice import get_slice from context.client.ContextClient import ContextClient -from context.proto.context_pb2 import ServiceId, SliceStatusEnum -from service.client.ServiceClient import ServiceClient -from service.proto.context_pb2 import ServiceStatusEnum +from slice.client.SliceClient import SliceClient from .tools.Authentication import HTTP_AUTH from .tools.ContextMethods import get_service, get_slice from .tools.HttpStatusCodes import HTTP_GATEWAYTIMEOUT, HTTP_NOCONTENT, HTTP_OK, HTTP_SERVERERROR @@ -29,42 +27,27 @@ from .tools.HttpStatusCodes import HTTP_GATEWAYTIMEOUT, HTTP_NOCONTENT, HTTP_OK, LOGGER = logging.getLogger(__name__) class L2VPN_Service(Resource): - def __init__(self) -> None: - super().__init__() - self.context_client = ContextClient( - get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) - self.service_client = ServiceClient( - get_setting('SERVICESERVICE_SERVICE_HOST'), get_setting('SERVICESERVICE_SERVICE_PORT_GRPC')) - @HTTP_AUTH.login_required def get(self, vpn_id : str): LOGGER.debug('VPN_Id: {:s}'.format(str(vpn_id))) LOGGER.debug('Request: {:s}'.format(str(request))) - response = jsonify({}) - try: - target = get_service(self.context_client, vpn_id) - if target is not None: - if target.service_id.service_uuid.uuid != vpn_id: # pylint: disable=no-member - raise Exception('Service retrieval failed. Wrong Service Id was returned') - service_ready_status = ServiceStatusEnum.SERVICESTATUS_ACTIVE - service_status = target.service_status.service_status # pylint: disable=no-member - response.status_code = HTTP_OK if service_status == service_ready_status else HTTP_GATEWAYTIMEOUT - return response + context_client = ContextClient() - target = get_slice(self.context_client, vpn_id) - if target is not None: - if target.slice_id.slice_uuid.uuid != vpn_id: # pylint: disable=no-member - raise Exception('Slice retrieval failed. Wrong Slice Id was returned') - slice_ready_status = SliceStatusEnum.SLICESTATUS_ACTIVE - slice_status = target.slice_status.slice_status # pylint: disable=no-member - response.status_code = HTTP_OK if slice_status == slice_ready_status else HTTP_GATEWAYTIMEOUT - return response + target = get_slice(context_client, vpn_id, rw_copy=True) + if target is None: + raise Exception('VPN({:s}) not found in database'.format(str(vpn_id))) + + if target.slice_id.slice_uuid.uuid != vpn_id: # pylint: disable=no-member + raise Exception('Slice retrieval failed. Wrong Slice Id was returned') - raise Exception('VPN({:s}) not found in database'.format(str(vpn_id))) + slice_ready_status = SliceStatusEnum.SLICESTATUS_ACTIVE + slice_status = target.slice_status.slice_status # pylint: disable=no-member + response = jsonify({}) + response.status_code = HTTP_OK if slice_status == slice_ready_status else HTTP_GATEWAYTIMEOUT except Exception as e: # pylint: disable=broad-except - LOGGER.exception('Something went wrong Retrieving VPN({:s})'.format(str(request))) + LOGGER.exception('Something went wrong Retrieving VPN({:s})'.format(str(vpn_id))) response = jsonify({'error': str(e)}) response.status_code = HTTP_SERVERERROR return response @@ -74,17 +57,21 @@ class L2VPN_Service(Resource): LOGGER.debug('VPN_Id: {:s}'.format(str(vpn_id))) LOGGER.debug('Request: {:s}'.format(str(request))) - # pylint: disable=no-member - service_id_request = ServiceId() - service_id_request.context_id.context_uuid.uuid = DEFAULT_CONTEXT_UUID - service_id_request.service_uuid.uuid = vpn_id - try: - self.service_client.DeleteService(service_id_request) + context_client = ContextClient() + + target = get_slice(context_client, vpn_id) + if target is None: + LOGGER.warning('VPN({:s}) not found in database. Nothing done.'.format(str(vpn_id))) + else: + if target.slice_id.slice_uuid.uuid != vpn_id: # pylint: disable=no-member + raise Exception('Slice retrieval failed. Wrong Slice Id was returned') + slice_client = SliceClient() + slice_client.DeleteSlice(target.slice_id) response = jsonify({}) response.status_code = HTTP_NOCONTENT except Exception as e: # pylint: disable=broad-except - LOGGER.exception('Something went wrong Deleting Service {:s}'.format(str(request))) + LOGGER.exception('Something went wrong Deleting VPN({:s})'.format(str(vpn_id))) response = jsonify({'error': str(e)}) response.status_code = HTTP_SERVERERROR return response diff --git a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Services.py b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Services.py index 6d39cfe2db2ccba5ca75fe6861599b8ef178a038..f27d852f017a08cb8b854cc19568280b9de14470 100644 --- a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Services.py +++ b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Services.py @@ -19,11 +19,8 @@ from flask.json import jsonify from flask_restful import Resource from werkzeug.exceptions import UnsupportedMediaType from common.Constants import DEFAULT_CONTEXT_UUID -from common.Settings import get_setting -from service.client.ServiceClient import ServiceClient -from service.proto.context_pb2 import Service, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import SliceStatusEnum, Slice from slice.client.SliceClient import SliceClient -from slice.proto.context_pb2 import SliceStatusEnum, Slice from .schemas.vpn_service import SCHEMA_VPN_SERVICE from .tools.Authentication import HTTP_AUTH from .tools.HttpStatusCodes import HTTP_CREATED, HTTP_SERVERERROR @@ -32,13 +29,6 @@ from .tools.Validator import validate_message LOGGER = logging.getLogger(__name__) class L2VPN_Services(Resource): - def __init__(self) -> None: - super().__init__() - self.service_client = ServiceClient( - get_setting('SERVICESERVICE_SERVICE_HOST'), get_setting('SERVICESERVICE_SERVICE_PORT_GRPC')) - self.slice_client = SliceClient( - get_setting('SLICESERVICE_SERVICE_HOST'), get_setting('SLICESERVICE_SERVICE_PORT_GRPC')) - @HTTP_AUTH.login_required def get(self): return {} @@ -53,28 +43,16 @@ class L2VPN_Services(Resource): vpn_services : List[Dict] = request_data['ietf-l2vpn-svc:vpn-service'] for vpn_service in vpn_services: try: - vpn_service_type = vpn_service['vpn-svc-type'] - if vpn_service_type == 'vpws': - # pylint: disable=no-member - service_request = Service() - service_request.service_id.context_id.context_uuid.uuid = DEFAULT_CONTEXT_UUID - service_request.service_id.service_uuid.uuid = vpn_service['vpn-id'] - service_request.service_type = ServiceTypeEnum.SERVICETYPE_L3NM - service_request.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED - - service_reply = self.service_client.CreateService(service_request) - if service_reply != service_request.service_id: # pylint: disable=no-member - raise Exception('Service creation failed. Wrong Service Id was returned') - elif vpn_service_type == 'vpls': - # pylint: disable=no-member - slice_request = Slice() - slice_request.slice_id.context_id.context_uuid.uuid = DEFAULT_CONTEXT_UUID - slice_request.slice_id.slice_uuid.uuid = vpn_service['vpn-id'] - slice_request.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_PLANNED - - slice_reply = self.slice_client.CreateSlice(slice_request) - if slice_reply != slice_request.slice_id: # pylint: disable=no-member - raise Exception('Slice creation failed. Wrong Slice Id was returned') + # pylint: disable=no-member + slice_request = Slice() + slice_request.slice_id.context_id.context_uuid.uuid = DEFAULT_CONTEXT_UUID + slice_request.slice_id.slice_uuid.uuid = vpn_service['vpn-id'] + slice_request.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_PLANNED + + slice_client = SliceClient() + slice_reply = slice_client.CreateSlice(slice_request) + if slice_reply != slice_request.slice_id: # pylint: disable=no-member + raise Exception('Slice creation failed. Wrong Slice Id was returned') response = jsonify({}) response.status_code = HTTP_CREATED diff --git a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_SiteNetworkAccesses.py b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_SiteNetworkAccesses.py index 2c0245b9ae790dd91509f51d821530c589fedf9c..771968d88001ec1d3ea0d825a54b64cf985ff4d9 100644 --- a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_SiteNetworkAccesses.py +++ b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/L2VPN_SiteNetworkAccesses.py @@ -12,168 +12,114 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ctypes import Union -import json, logging -from typing import Dict +import logging +from typing import Dict, Optional from flask import request from flask.json import jsonify from flask.wrappers import Response from flask_restful import Resource from werkzeug.exceptions import UnsupportedMediaType -from common.Settings import get_setting +from common.proto.context_pb2 import Slice +from common.tools.context_queries.Slice import get_slice +from common.tools.grpc.ConfigRules import update_config_rule_custom +from common.tools.grpc.Constraints import ( + update_constraint_custom_dict, update_constraint_endpoint_location, update_constraint_endpoint_priority, + update_constraint_sla_availability) +from common.tools.grpc.EndPointIds import update_endpoint_ids from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient -from context.proto.context_pb2 import ConfigActionEnum, Service, Slice -from service.client.ServiceClient import ServiceClient from slice.client.SliceClient import SliceClient from .schemas.site_network_access import SCHEMA_SITE_NETWORK_ACCESS from .tools.Authentication import HTTP_AUTH from .tools.ContextMethods import get_service, get_slice from .tools.HttpStatusCodes import HTTP_NOCONTENT, HTTP_SERVERERROR from .tools.Validator import validate_message -from .Constants import BEARER_MAPPINGS, DEFAULT_ADDRESS_FAMILIES, DEFAULT_BGP_AS, DEFAULT_BGP_ROUTE_TARGET, DEFAULT_MTU +from .Constants import ( + BEARER_MAPPINGS, DEFAULT_ADDRESS_FAMILIES, DEFAULT_BGP_AS, DEFAULT_BGP_ROUTE_TARGET, DEFAULT_MTU) LOGGER = logging.getLogger(__name__) -def process_site_network_access(context_client : ContextClient, site_network_access : Dict) -> Service: +def process_site_network_access(context_client : ContextClient, site_id : str, site_network_access : Dict) -> Slice: vpn_id = site_network_access['vpn-attachment']['vpn-id'] - cvlan_id = site_network_access['connection']['tagged-interface']['dot1q-vlan-tagged']['cvlan-id'] + encapsulation_type = site_network_access['connection']['encapsulation-type'] + cvlan_id = site_network_access['connection']['tagged-interface'][encapsulation_type]['cvlan-id'] + bearer_reference = site_network_access['bearer']['bearer-reference'] + access_priority : Optional[int] = site_network_access.get('availability', {}).get('access-priority') + single_active : bool = len(site_network_access.get('availability', {}).get('single-active', [])) > 0 + all_active : bool = len(site_network_access.get('availability', {}).get('all-active', [])) > 0 + + diversity_constraints = site_network_access.get('access-diversity', {}).get('constraints', {}).get('constraint', []) + raise_if_differs = True + diversity_constraints = { + constraint['constraint-type']:([ + target[0] + for target in constraint['target'].items() + if len(target[1]) == 1 + ][0], raise_if_differs) + for constraint in diversity_constraints + } + mapping = BEARER_MAPPINGS.get(bearer_reference) if mapping is None: msg = 'Specified Bearer({:s}) is not configured.' raise Exception(msg.format(str(bearer_reference))) - device_uuid,endpoint_uuid,router_id,route_distinguisher,sub_if_index,address_ip,address_prefix = mapping + ( + device_uuid, endpoint_uuid, router_id, route_dist, sub_if_index, + address_ip, address_prefix, remote_router, circuit_id + ) = mapping - target : Union[Service, Slice, None] = None - if target is None: target = get_service(context_client, vpn_id) - if target is None: target = get_slice (context_client, vpn_id) + target = get_slice(context_client, vpn_id, rw_copy=True) if target is None: raise Exception('VPN({:s}) not found in database'.format(str(vpn_id))) - # pylint: disable=no-member - endpoint_ids = target.service_endpoint_ids if isinstance(target, Service) else target.slice_endpoint_ids - - for endpoint_id in endpoint_ids: - if endpoint_id.device_id.device_uuid.uuid != device_uuid: continue - if endpoint_id.endpoint_uuid.uuid != endpoint_uuid: continue - break # found, do nothing - else: - # not found, add it - endpoint_id = endpoint_ids.add() - endpoint_id.device_id.device_uuid.uuid = device_uuid - endpoint_id.endpoint_uuid.uuid = endpoint_uuid - - if isinstance(target, Slice): return target - - for config_rule in target.service_config.config_rules: # pylint: disable=no-member - if config_rule.resource_key != '/settings': continue - json_settings = json.loads(config_rule.resource_value) - - if 'mtu' not in json_settings: # missing, add it - json_settings['mtu'] = DEFAULT_MTU - elif json_settings['mtu'] != DEFAULT_MTU: # differs, raise exception - msg = 'Specified MTU({:s}) differs from Service MTU({:s})' - raise Exception(msg.format(str(json_settings['mtu']), str(DEFAULT_MTU))) - - if 'address_families' not in json_settings: # missing, add it - json_settings['address_families'] = DEFAULT_ADDRESS_FAMILIES - elif json_settings['address_families'] != DEFAULT_ADDRESS_FAMILIES: # differs, raise exception - msg = 'Specified AddressFamilies({:s}) differs from Service AddressFamilies({:s})' - raise Exception(msg.format(str(json_settings['address_families']), str(DEFAULT_ADDRESS_FAMILIES))) - - if 'bgp_as' not in json_settings: # missing, add it - json_settings['bgp_as'] = DEFAULT_BGP_AS - elif json_settings['bgp_as'] != DEFAULT_BGP_AS: # differs, raise exception - msg = 'Specified BgpAs({:s}) differs from Service BgpAs({:s})' - raise Exception(msg.format(str(json_settings['bgp_as']), str(DEFAULT_BGP_AS))) - - if 'bgp_route_target' not in json_settings: # missing, add it - json_settings['bgp_route_target'] = DEFAULT_BGP_ROUTE_TARGET - elif json_settings['bgp_route_target'] != DEFAULT_BGP_ROUTE_TARGET: # differs, raise exception - msg = 'Specified BgpRouteTarget({:s}) differs from Service BgpRouteTarget({:s})' - raise Exception(msg.format(str(json_settings['bgp_route_target']), str(DEFAULT_BGP_ROUTE_TARGET))) - - config_rule.resource_value = json.dumps(json_settings, sort_keys=True) - break - else: - # not found, add it - config_rule = target.service_config.config_rules.add() # pylint: disable=no-member - config_rule.action = ConfigActionEnum.CONFIGACTION_SET - config_rule.resource_key = '/settings' - config_rule.resource_value = json.dumps({ - 'mtu' : DEFAULT_MTU, - 'address_families': DEFAULT_ADDRESS_FAMILIES, - 'bgp_as' : DEFAULT_BGP_AS, - 'bgp_route_target': DEFAULT_BGP_ROUTE_TARGET, - }, sort_keys=True) + endpoint_ids = target.slice_endpoint_ids # pylint: disable=no-member + config_rules = target.slice_config.config_rules # pylint: disable=no-member + constraints = target.slice_constraints # pylint: disable=no-member + + endpoint_id = update_endpoint_ids(endpoint_ids, device_uuid, endpoint_uuid) + + service_settings_key = '/settings' + update_config_rule_custom(config_rules, service_settings_key, { + 'mtu' : (DEFAULT_MTU, True), + 'address_families': (DEFAULT_ADDRESS_FAMILIES, True), + 'bgp_as' : (DEFAULT_BGP_AS, True), + 'bgp_route_target': (DEFAULT_BGP_ROUTE_TARGET, True), + }) endpoint_settings_key = '/device[{:s}]/endpoint[{:s}]/settings'.format(device_uuid, endpoint_uuid) - for config_rule in target.service_config.config_rules: # pylint: disable=no-member - if config_rule.resource_key != endpoint_settings_key: continue - json_settings = json.loads(config_rule.resource_value) - - if 'router_id' not in json_settings: # missing, add it - json_settings['router_id'] = router_id - elif json_settings['router_id'] != router_id: # differs, raise exception - msg = 'Specified RouterId({:s}) differs from Service RouterId({:s})' - raise Exception(msg.format(str(json_settings['router_id']), str(router_id))) - - if 'route_distinguisher' not in json_settings: # missing, add it - json_settings['route_distinguisher'] = route_distinguisher - elif json_settings['route_distinguisher'] != route_distinguisher: # differs, raise exception - msg = 'Specified RouteDistinguisher({:s}) differs from Service RouteDistinguisher({:s})' - raise Exception(msg.format(str(json_settings['route_distinguisher']), str(route_distinguisher))) - - if 'sub_interface_index' not in json_settings: # missing, add it - json_settings['sub_interface_index'] = sub_if_index - elif json_settings['sub_interface_index'] != sub_if_index: # differs, raise exception - msg = 'Specified SubInterfaceIndex({:s}) differs from Service SubInterfaceIndex({:s})' - raise Exception(msg.format( - str(json_settings['sub_interface_index']), str(sub_if_index))) - - if 'vlan_id' not in json_settings: # missing, add it - json_settings['vlan_id'] = cvlan_id - elif json_settings['vlan_id'] != cvlan_id: # differs, raise exception - msg = 'Specified VLANId({:s}) differs from Service VLANId({:s})' - raise Exception(msg.format( - str(json_settings['vlan_id']), str(cvlan_id))) - - if 'address_ip' not in json_settings: # missing, add it - json_settings['address_ip'] = address_ip - elif json_settings['address_ip'] != address_ip: # differs, raise exception - msg = 'Specified AddressIP({:s}) differs from Service AddressIP({:s})' - raise Exception(msg.format( - str(json_settings['address_ip']), str(address_ip))) - - if 'address_prefix' not in json_settings: # missing, add it - json_settings['address_prefix'] = address_prefix - elif json_settings['address_prefix'] != address_prefix: # differs, raise exception - msg = 'Specified AddressPrefix({:s}) differs from Service AddressPrefix({:s})' - raise Exception(msg.format( - str(json_settings['address_prefix']), str(address_prefix))) - - config_rule.resource_value = json.dumps(json_settings, sort_keys=True) - break - else: - # not found, add it - config_rule = target.service_config.config_rules.add() # pylint: disable=no-member - config_rule.action = ConfigActionEnum.CONFIGACTION_SET - config_rule.resource_key = endpoint_settings_key - config_rule.resource_value = json.dumps({ - 'router_id': router_id, - 'route_distinguisher': route_distinguisher, - 'sub_interface_index': sub_if_index, - 'vlan_id': cvlan_id, - 'address_ip': address_ip, - 'address_prefix': address_prefix, - }, sort_keys=True) + field_updates = {} + if router_id is not None: field_updates['router_id' ] = (router_id, True) + if route_dist is not None: field_updates['route_distinguisher'] = (route_dist, True) + if sub_if_index is not None: field_updates['sub_interface_index'] = (sub_if_index, True) + if cvlan_id is not None: field_updates['vlan_id' ] = (cvlan_id, True) + if address_ip is not None: field_updates['address_ip' ] = (address_ip, True) + if address_prefix is not None: field_updates['address_prefix' ] = (address_prefix, True) + if remote_router is not None: field_updates['remote_router' ] = (remote_router, True) + if circuit_id is not None: field_updates['circuit_id' ] = (circuit_id, True) + update_config_rule_custom(config_rules, endpoint_settings_key, field_updates) + + if len(diversity_constraints) > 0: + update_constraint_custom_dict(constraints, 'diversity', diversity_constraints) + + update_constraint_endpoint_location(constraints, endpoint_id, region=site_id) + if access_priority is not None: update_constraint_endpoint_priority(constraints, endpoint_id, access_priority) + if single_active or all_active: + # assume 1 disjoint path per endpoint/location included in service/slice + location_endpoints = {} + for constraint in constraints: + if constraint.WhichOneof('constraint') != 'endpoint_location': continue + str_endpoint_id = grpc_message_to_json_string(constraint.endpoint_location.endpoint_id) + str_location_id = grpc_message_to_json_string(constraint.endpoint_location.location) + location_endpoints.setdefault(str_location_id, set()).add(str_endpoint_id) + num_endpoints_per_location = {len(endpoints) for endpoints in location_endpoints.values()} + num_disjoint_paths = min(num_endpoints_per_location) + update_constraint_sla_availability(constraints, num_disjoint_paths, all_active) return target def process_list_site_network_access( - context_client : ContextClient, service_client : ServiceClient, slice_client : SliceClient, - request_data : Dict + context_client : ContextClient, slice_client : SliceClient, site_id : str, request_data : Dict ) -> Response: LOGGER.debug('Request: {:s}'.format(str(request_data))) @@ -181,21 +127,14 @@ def process_list_site_network_access( errors = [] for site_network_access in request_data['ietf-l2vpn-svc:site-network-access']: - sna_request = process_site_network_access(context_client, site_network_access) + sna_request = process_site_network_access(context_client, site_id, site_network_access) LOGGER.debug('sna_request = {:s}'.format(grpc_message_to_json_string(sna_request))) try: - if isinstance(sna_request, Service): - sna_reply = service_client.UpdateService(sna_request) - if sna_reply != sna_request.service_id: # pylint: disable=no-member - raise Exception('Service update failed. Wrong Service Id was returned') - elif isinstance(sna_request, Slice): - sna_reply = slice_client.UpdateSlice(sna_request) - if sna_reply != sna_request.slice_id: # pylint: disable=no-member - raise Exception('Slice update failed. Wrong Slice Id was returned') - else: - raise NotImplementedError('Support for Class({:s}) not implemented'.format(str(type(sna_request)))) + sna_reply = slice_client.UpdateSlice(sna_request) + if sna_reply != sna_request.slice_id: # pylint: disable=no-member + raise Exception('Slice update failed. Wrong Slice Id was returned') except Exception as e: # pylint: disable=broad-except - msg = 'Something went wrong Updating Service {:s}' + msg = 'Something went wrong Updating VPN {:s}' LOGGER.exception(msg.format(grpc_message_to_json_string(sna_request))) errors.append({'error': str(e)}) @@ -204,25 +143,18 @@ def process_list_site_network_access( return response class L2VPN_SiteNetworkAccesses(Resource): - def __init__(self) -> None: - super().__init__() - self.context_client = ContextClient( - get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC')) - self.service_client = ServiceClient( - get_setting('SERVICESERVICE_SERVICE_HOST'), get_setting('SERVICESERVICE_SERVICE_PORT_GRPC')) - self.slice_client = SliceClient( - get_setting('SLICESERVICE_SERVICE_HOST'), get_setting('SLICESERVICE_SERVICE_PORT_GRPC')) - @HTTP_AUTH.login_required def post(self, site_id : str): if not request.is_json: raise UnsupportedMediaType('JSON payload is required') LOGGER.debug('Site_Id: {:s}'.format(str(site_id))) - return process_list_site_network_access( - self.context_client, self.service_client, self.slice_client, request.json) + context_client = ContextClient() + slice_client = SliceClient() + return process_list_site_network_access(context_client, slice_client, site_id, request.json) @HTTP_AUTH.login_required def put(self, site_id : str): if not request.is_json: raise UnsupportedMediaType('JSON payload is required') LOGGER.debug('Site_Id: {:s}'.format(str(site_id))) - return process_list_site_network_access( - self.context_client, self.service_client, self.slice_client, request.json) + context_client = ContextClient() + slice_client = SliceClient() + return process_list_site_network_access(context_client, slice_client, site_id, request.json) diff --git a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/__init__.py b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/__init__.py index 79be6b7433a4e448febb37777cd0b310d5bf132d..c8b23bcee09bb7f16d75bde02e6f3a7f4ca66b4d 100644 --- a/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/__init__.py +++ b/src/compute/service/rest_server/nbi_plugins/ietf_l2vpn/__init__.py @@ -21,7 +21,7 @@ from .L2VPN_Services import L2VPN_Services from .L2VPN_Service import L2VPN_Service from .L2VPN_SiteNetworkAccesses import L2VPN_SiteNetworkAccesses -URL_PREFIX = '/ietf-l2vpn-svc:l2vpn-svc' +URL_PREFIX = '/ietf-l2vpn-svc:l2vpn-svc' def _add_resource(rest_server : RestServer, resource : Resource, *urls, **kwargs): urls = [(URL_PREFIX + url) for url in urls] diff --git a/src/compute/tests/Constants.py b/src/compute/tests/Constants.py index 8d4e2ba8fe6144e6fc11c61bbe2c8296d74fc910..cb1331c7445888070c6c3d5ecef6136f9f149916 100644 --- a/src/compute/tests/Constants.py +++ b/src/compute/tests/Constants.py @@ -22,7 +22,7 @@ WIM_MAPPING = [ #'device_interface_id' : ??, # pop_switch_port 'service_endpoint_id' : 'ep-1', # wan_service_endpoint_id 'service_mapping_info': { # wan_service_mapping_info, other extra info - 'bearer': {'bearer-reference': 'R1-INF:13/2/1'}, + 'bearer': {'bearer-reference': 'R1-EMU:13/1/2'}, 'site-id': '1', }, #'switch_dpid' : ??, # wan_switch_dpid @@ -34,7 +34,7 @@ WIM_MAPPING = [ #'device_interface_id' : ??, # pop_switch_port 'service_endpoint_id' : 'ep-2', # wan_service_endpoint_id 'service_mapping_info': { # wan_service_mapping_info, other extra info - 'bearer': {'bearer-reference': 'R2-EMU:13/2/1'}, + 'bearer': {'bearer-reference': 'R2-EMU:13/1/2'}, 'site-id': '2', }, #'switch_dpid' : ??, # wan_switch_dpid @@ -46,7 +46,7 @@ WIM_MAPPING = [ #'device_interface_id' : ??, # pop_switch_port 'service_endpoint_id' : 'ep-3', # wan_service_endpoint_id 'service_mapping_info': { # wan_service_mapping_info, other extra info - 'bearer': {'bearer-reference': 'R3-INF:13/2/1'}, + 'bearer': {'bearer-reference': 'R3-EMU:13/1/2'}, 'site-id': '3', }, #'switch_dpid' : ??, # wan_switch_dpid @@ -58,7 +58,7 @@ WIM_MAPPING = [ #'device_interface_id' : ??, # pop_switch_port 'service_endpoint_id' : 'ep-4', # wan_service_endpoint_id 'service_mapping_info': { # wan_service_mapping_info, other extra info - 'bearer': {'bearer-reference': 'R4-EMU:13/2/1'}, + 'bearer': {'bearer-reference': 'R4-EMU:13/1/2'}, 'site-id': '4', }, #'switch_dpid' : ??, # wan_switch_dpid @@ -82,4 +82,4 @@ SERVICE_CONNECTION_POINTS_2 = [ {'service_endpoint_id': 'ep-3', 'service_endpoint_encapsulation_type': 'dot1q', 'service_endpoint_encapsulation_info': {'vlan': 1234}}, -] +] \ No newline at end of file diff --git a/src/compute/tests/MockService_Dependencies.py b/src/compute/tests/MockService_Dependencies.py new file mode 100644 index 0000000000000000000000000000000000000000..5ed9d4da9fa23ff43bbd72eb021ae4e4fecd9b9b --- /dev/null +++ b/src/compute/tests/MockService_Dependencies.py @@ -0,0 +1,58 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import os +from typing import Union +from common.Constants import ServiceNameEnum +from common.Settings import ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name +from common.proto.context_pb2_grpc import add_ContextServiceServicer_to_server +from common.proto.service_pb2_grpc import add_ServiceServiceServicer_to_server +from common.proto.slice_pb2_grpc import add_SliceServiceServicer_to_server +from common.tests.MockServicerImpl_Context import MockServicerImpl_Context +from common.tests.MockServicerImpl_Service import MockServicerImpl_Service +from common.tests.MockServicerImpl_Slice import MockServicerImpl_Slice +from common.tools.service.GenericGrpcService import GenericGrpcService + +LOCAL_HOST = '127.0.0.1' + +SERVICE_CONTEXT = ServiceNameEnum.CONTEXT +SERVICE_SERVICE = ServiceNameEnum.SERVICE +SERVICE_SLICE = ServiceNameEnum.SLICE + +class MockService_Dependencies(GenericGrpcService): + # Mock Service implementing Context, Service and Slice to simplify unitary tests of Compute + + def __init__(self, bind_port: Union[str, int]) -> None: + super().__init__(bind_port, LOCAL_HOST, enable_health_servicer=False, cls_name='MockService') + + # pylint: disable=attribute-defined-outside-init + def install_servicers(self): + self.context_servicer = MockServicerImpl_Context() + add_ContextServiceServicer_to_server(self.context_servicer, self.server) + + self.service_servicer = MockServicerImpl_Service() + add_ServiceServiceServicer_to_server(self.service_servicer, self.server) + + self.slice_servicer = MockServicerImpl_Slice() + add_SliceServiceServicer_to_server(self.slice_servicer, self.server) + + def configure_env_vars(self): + os.environ[get_env_var_name(SERVICE_CONTEXT, ENVVAR_SUFIX_SERVICE_HOST )] = str(self.bind_address) + os.environ[get_env_var_name(SERVICE_CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_GRPC)] = str(self.bind_port) + + os.environ[get_env_var_name(SERVICE_SERVICE, ENVVAR_SUFIX_SERVICE_HOST )] = str(self.bind_address) + os.environ[get_env_var_name(SERVICE_SERVICE, ENVVAR_SUFIX_SERVICE_PORT_GRPC)] = str(self.bind_port) + + os.environ[get_env_var_name(SERVICE_SLICE, ENVVAR_SUFIX_SERVICE_HOST )] = str(self.bind_address) + os.environ[get_env_var_name(SERVICE_SLICE, ENVVAR_SUFIX_SERVICE_PORT_GRPC)] = str(self.bind_port) diff --git a/src/compute/tests/PrepareTestScenario.py b/src/compute/tests/PrepareTestScenario.py new file mode 100644 index 0000000000000000000000000000000000000000..06fb34f9ee7508f4bd6fa769da78c50eb78c3bb8 --- /dev/null +++ b/src/compute/tests/PrepareTestScenario.py @@ -0,0 +1,52 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import os, pytest, time +from common.Constants import ServiceNameEnum +from common.Settings import ( + ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_HTTP, get_env_var_name, get_service_port_http) +from compute.service.rest_server.RestServer import RestServer +from compute.service.rest_server.nbi_plugins.ietf_l2vpn import register_ietf_l2vpn +from compute.tests.MockService_Dependencies import MockService_Dependencies +from tests.tools.mock_osm.MockOSM import MockOSM +from .Constants import WIM_MAPPING, WIM_USERNAME, WIM_PASSWORD + +LOCAL_HOST = '127.0.0.1' +MOCKSERVICE_PORT = 10000 +COMPUTE_SERVICE_PORT = MOCKSERVICE_PORT + get_service_port_http(ServiceNameEnum.COMPUTE) # avoid privileged ports +os.environ[get_env_var_name(ServiceNameEnum.COMPUTE, ENVVAR_SUFIX_SERVICE_HOST )] = str(LOCAL_HOST) +os.environ[get_env_var_name(ServiceNameEnum.COMPUTE, ENVVAR_SUFIX_SERVICE_PORT_HTTP)] = str(COMPUTE_SERVICE_PORT) + +@pytest.fixture(scope='session') +def mock_service(): + _service = MockService_Dependencies(MOCKSERVICE_PORT) + _service.configure_env_vars() + _service.start() + yield _service + _service.stop() + +@pytest.fixture(scope='session') +def compute_service_rest(mock_service): # pylint: disable=redefined-outer-name + _rest_server = RestServer() + register_ietf_l2vpn(_rest_server) + _rest_server.start() + time.sleep(1) # bring time for the server to start + yield _rest_server + _rest_server.shutdown() + _rest_server.join() + +@pytest.fixture(scope='session') +def osm_wim(compute_service_rest): # pylint: disable=redefined-outer-name + wim_url = 'http://{:s}:{:d}'.format(LOCAL_HOST, COMPUTE_SERVICE_PORT) + return MockOSM(wim_url, WIM_MAPPING, WIM_USERNAME, WIM_PASSWORD) diff --git a/src/compute/tests/test_unitary.py b/src/compute/tests/test_unitary.py index 1fbc74ecc7fc49129b789ba99af7276a94bd662e..acef6d4a68cb1e89df2fa567d437412c8805b35f 100644 --- a/src/compute/tests/test_unitary.py +++ b/src/compute/tests/test_unitary.py @@ -12,75 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging, os, pytest, time -from common.tests.MockService import MockService -from common.tests.MockServicerImpl_Context import MockServicerImpl_Context -from common.tests.MockServicerImpl_Service import MockServicerImpl_Service -from common.tests.MockServicerImpl_Slice import MockServicerImpl_Slice -from compute.Config import RESTAPI_SERVICE_PORT, RESTAPI_BASE_URL -from compute.service.rest_server.RestServer import RestServer -from context.proto.context_pb2_grpc import add_ContextServiceServicer_to_server -from service.proto.service_pb2_grpc import add_ServiceServiceServicer_to_server -from slice.proto.slice_pb2_grpc import add_SliceServiceServicer_to_server -from .mock_osm.MockOSM import MockOSM -from .Constants import ( - SERVICE_CONNECTION_POINTS_1, SERVICE_CONNECTION_POINTS_2, SERVICE_TYPE, WIM_MAPPING, WIM_USERNAME, WIM_PASSWORD) +import logging +from tests.tools.mock_osm.MockOSM import MockOSM +from .Constants import SERVICE_CONNECTION_POINTS_1, SERVICE_CONNECTION_POINTS_2, SERVICE_TYPE +from .PrepareTestScenario import ( # pylint: disable=unused-import + # be careful, order of symbols is important here! + mock_service, compute_service_rest, osm_wim) LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -LOCALHOST = '127.0.0.1' -MOCKSERVER_GRPC_PORT = 10000 -COMPUTE_RESTAPI_PORT = 10000 + RESTAPI_SERVICE_PORT # avoid privileged ports - -class MockService_ContextService(MockService): - # Mock Server implementing Context and Service to simplify unitary tests of Compute - - def __init__(self, cls_name='MockService_Service'): - super().__init__(LOCALHOST, MOCKSERVER_GRPC_PORT, cls_name=cls_name) - - # pylint: disable=attribute-defined-outside-init - def install_servicers(self): - self.context_servicer = MockServicerImpl_Context() - add_ContextServiceServicer_to_server(self.context_servicer, self.server) - self.service_servicer = MockServicerImpl_Service() - add_ServiceServiceServicer_to_server(self.service_servicer, self.server) - self.slice_servicer = MockServicerImpl_Slice() - add_SliceServiceServicer_to_server(self.slice_servicer, self.server) - -os.environ['CONTEXTSERVICE_SERVICE_HOST'] = LOCALHOST -os.environ['CONTEXTSERVICE_SERVICE_PORT_GRPC'] = str(MOCKSERVER_GRPC_PORT) -os.environ['SERVICESERVICE_SERVICE_HOST'] = LOCALHOST -os.environ['SERVICESERVICE_SERVICE_PORT_GRPC'] = str(MOCKSERVER_GRPC_PORT) -os.environ['SLICESERVICE_SERVICE_HOST'] = LOCALHOST -os.environ['SLICESERVICE_SERVICE_PORT_GRPC'] = str(MOCKSERVER_GRPC_PORT) - -# NBI Plugin IETF L2VPN requires environment variables CONTEXTSERVICE_SERVICE_HOST, CONTEXTSERVICE_SERVICE_PORT_GRPC, -# SERVICESERVICE_SERVICE_HOST, and SERVICESERVICE_SERVICE_PORT_GRPC to work properly. -# pylint: disable=wrong-import-position,ungrouped-imports -from compute.service.rest_server.nbi_plugins.ietf_l2vpn import register_ietf_l2vpn - -@pytest.fixture(scope='session') -def mockservice(): - _service = MockService_ContextService() - _service.start() - yield _service - _service.stop() - -@pytest.fixture(scope='session') -def compute_service_rest(mockservice): # pylint: disable=redefined-outer-name - _rest_server = RestServer(port=COMPUTE_RESTAPI_PORT, base_url=RESTAPI_BASE_URL) - register_ietf_l2vpn(_rest_server) - _rest_server.start() - time.sleep(1) # bring time for the server to start - yield _rest_server - _rest_server.shutdown() - _rest_server.join() - -@pytest.fixture(scope='session') -def osm_wim(compute_service_rest): # pylint: disable=redefined-outer-name - wim_url = 'http://{:s}:{:d}'.format(LOCALHOST, COMPUTE_RESTAPI_PORT) - return MockOSM(wim_url, WIM_MAPPING, WIM_USERNAME, WIM_PASSWORD) def test_compute_create_connectivity_service_rest_api(osm_wim : MockOSM): # pylint: disable=redefined-outer-name osm_wim.create_connectivity_service(SERVICE_TYPE, SERVICE_CONNECTION_POINTS_1) diff --git a/src/context/.gitlab-ci.yml b/src/context/.gitlab-ci.yml index c0cbef8d7d8e2165e5d2f64c79fa2e6215ef8b96..0da2b582edf879f793341887adef9cef5ad4fff2 100644 --- a/src/context/.gitlab-ci.yml +++ b/src/context/.gitlab-ci.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Build, tag and push the Docker image to the GitLab registry +# Build, tag, and push the Docker image to the GitLab Docker registry build context: variables: IMAGE_NAME: 'context' # name of the microservice @@ -21,15 +21,17 @@ build context: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ + - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: + - src/common/**/*.py + - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py @@ -53,12 +55,11 @@ unit test context: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker pull "redis:6.2" - docker run --name redis -d --network=teraflowbridge redis:6.2 - - docker run --name $IMAGE_NAME -d -p 1010:1010 --env "DB_BACKEND=redis" --env "REDIS_SERVICE_HOST=redis" --env "REDIS_SERVICE_PORT=6379" --env "REDIS_DATABASE_ID=0" -v "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - sleep 10 + - docker run --name $IMAGE_NAME -d -p 1010:1010 --env "DB_BACKEND=redis" --env "REDIS_SERVICE_HOST=redis" --env "REDIS_SERVICE_PORT=6379" --env "REDIS_DATABASE_ID=0" -v "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - - docker exec -i $IMAGE_NAME bash -c "coverage xml -o /opt/results/${IMAGE_NAME}_coverage.xml" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: @@ -67,8 +68,10 @@ unit test context: - docker network rm teraflowbridge rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: + - src/common/**/*.py + - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py @@ -79,7 +82,6 @@ unit test context: when: always reports: junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml - cobertura: src/$IMAGE_NAME/tests/${IMAGE_NAME}_coverage.xml # Deployment of the service in Kubernetes Cluster deploy context: diff --git a/src/context/Config.py b/src/context/Config.py index 328610fc81561f60d97b8ef3080930c4affce20e..6f5d1dc0b347dc5db27a2cfae973a4e5bdf7b4cc 100644 --- a/src/context/Config.py +++ b/src/context/Config.py @@ -12,22 +12,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging - -# General settings -LOG_LEVEL = logging.INFO - -# gRPC settings -GRPC_SERVICE_PORT = 1010 -GRPC_MAX_WORKERS = 200 # multiple clients might keep connections alive for Get*Events() RPC methods -GRPC_GRACE_PERIOD = 60 - -# REST-API settings -RESTAPI_SERVICE_PORT = 8080 -RESTAPI_BASE_URL = '/api' - -# Prometheus settings -METRICS_PORT = 9192 - # Autopopulate the component with fake data for testing purposes? POPULATE_FAKE_DATA = False diff --git a/src/context/Dockerfile b/src/context/Dockerfile index 1599e588fb6d1dc6acae5f664208b4ce8d2d921b..97aa46964c65773e8e14401b044ff2e331f16c03 100644 --- a/src/context/Dockerfile +++ b/src/context/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM python:3-slim +FROM python:3.9-slim # Install dependencies RUN apt-get --yes --quiet --quiet update && \ @@ -28,22 +28,41 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ chmod +x /bin/grpc_health_probe # Get generic Python packages -RUN python3 -m pip install --upgrade pip setuptools wheel pip-tools +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install --upgrade setuptools wheel +RUN python3 -m pip install --upgrade pip-tools -# Set working directory +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components WORKDIR /var/teraflow +COPY common_requirements.in common_requirements.in +RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in +RUN python3 -m pip install -r common_requirements.txt -# Create module sub-folders -RUN mkdir -p /var/teraflow/context +# Add common files into working directory +WORKDIR /var/teraflow/common +COPY src/common/. ./ +RUN rm -rf proto + +# Create proto sub-folder, copy .proto files, and generate Python code +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto +RUN touch __init__.py +COPY proto/*.proto ./ +RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto +RUN rm *.proto +RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; -# Get Python packages per module -COPY context/requirements.in context/requirements.in -RUN pip-compile --output-file=context/requirements.txt context/requirements.in -RUN python3 -m pip install -r context/requirements.txt +# Create component sub-folder, get specific Python packages +RUN mkdir -p /var/teraflow/context +WORKDIR /var/teraflow/context +COPY src/context/requirements.in requirements.in +RUN pip-compile --quiet --output-file=requirements.txt requirements.in +RUN python3 -m pip install -r requirements.txt -# Add files into working directory -COPY common/. common -COPY context/. context +# Add component files into working directory +WORKDIR /var/teraflow +COPY src/context/. context/ -# Start context service +# Start the service ENTRYPOINT ["python", "-m", "context.service"] diff --git a/src/context/client/ContextClient.py b/src/context/client/ContextClient.py index 3206e4a366ef2f6cb7d3aeb366b287572b8d49da..f91f36cf5bf73669e4010c8c65d9c4cabd9c6e2e 100644 --- a/src/context/client/ContextClient.py +++ b/src/context/client/ContextClient.py @@ -12,16 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -from typing import Iterator import grpc, logging +from typing import Iterator +from common.Constants import ServiceNameEnum +from common.Settings import get_service_host, get_service_port_grpc from common.tools.client.RetryDecorator import retry, delay_exponential from common.tools.grpc.Tools import grpc_message_to_json_string -from context.proto.context_pb2 import ( - Connection, ConnectionEvent, ConnectionId, ConnectionIdList, ConnectionList, Context, ContextEvent, ContextId, - ContextIdList, ContextList, Device, DeviceEvent, DeviceId, DeviceIdList, DeviceList, Empty, Link, LinkEvent, - LinkId, LinkIdList, LinkList, Service, ServiceEvent, ServiceId, ServiceIdList, ServiceList, Slice, SliceEvent, - SliceId, SliceIdList, SliceList, Topology, TopologyEvent, TopologyId, TopologyIdList, TopologyList) -from context.proto.context_pb2_grpc import ContextServiceStub +from common.proto.context_pb2 import ( + Connection, ConnectionEvent, ConnectionId, ConnectionIdList, ConnectionList, + Context, ContextEvent, ContextId, ContextIdList, ContextList, + Device, DeviceEvent, DeviceId, DeviceIdList, DeviceList, + Empty, + Link, LinkEvent, LinkId, LinkIdList, LinkList, + Service, ServiceEvent, ServiceId, ServiceIdList, ServiceList, + Slice, SliceEvent, SliceId, SliceIdList, SliceList, + Topology, TopologyEvent, TopologyId, TopologyIdList, TopologyList) +from common.proto.context_pb2_grpc import ContextServiceStub +from common.proto.context_policy_pb2_grpc import ContextPolicyServiceStub +from common.proto.policy_pb2 import PolicyRuleIdList, PolicyRuleId, PolicyRuleList, PolicyRule LOGGER = logging.getLogger(__name__) MAX_RETRIES = 15 @@ -29,22 +37,27 @@ DELAY_FUNCTION = delay_exponential(initial=0.01, increment=2.0, maximum=5.0) RETRY_DECORATOR = retry(max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') class ContextClient: - def __init__(self, address, port): - self.endpoint = '{:s}:{:s}'.format(str(address), str(port)) - LOGGER.debug('Creating channel to {:s}...'.format(self.endpoint)) + def __init__(self, host=None, port=None): + if not host: host = get_service_host(ServiceNameEnum.CONTEXT) + if not port: port = get_service_port_grpc(ServiceNameEnum.CONTEXT) + self.endpoint = '{:s}:{:s}'.format(str(host), str(port)) + LOGGER.debug('Creating channel to {:s}...'.format(str(self.endpoint))) self.channel = None self.stub = None + self.policy_stub = None self.connect() LOGGER.debug('Channel created') def connect(self): self.channel = grpc.insecure_channel(self.endpoint) self.stub = ContextServiceStub(self.channel) + self.policy_stub = ContextPolicyServiceStub(self.channel) def close(self): if self.channel is not None: self.channel.close() self.channel = None self.stub = None + self.policy_stub = None @RETRY_DECORATOR def ListContextIds(self, request: Empty) -> ContextIdList: @@ -242,6 +255,13 @@ class ContextClient: LOGGER.debug('SetService result: {:s}'.format(grpc_message_to_json_string(response))) return response + @RETRY_DECORATOR + def UnsetService(self, request: Service) -> ServiceId: + LOGGER.debug('UnsetService request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.stub.UnsetService(request) + LOGGER.debug('UnsetService result: {:s}'.format(grpc_message_to_json_string(response))) + return response + @RETRY_DECORATOR def RemoveService(self, request: ServiceId) -> Empty: LOGGER.debug('RemoveService request: {:s}'.format(grpc_message_to_json_string(request))) @@ -284,6 +304,13 @@ class ContextClient: LOGGER.debug('SetSlice result: {:s}'.format(grpc_message_to_json_string(response))) return response + @RETRY_DECORATOR + def UnsetSlice(self, request: Slice) -> SliceId: + LOGGER.debug('UnsetSlice request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.stub.UnsetSlice(request) + LOGGER.debug('UnsetSlice result: {:s}'.format(grpc_message_to_json_string(response))) + return response + @RETRY_DECORATOR def RemoveSlice(self, request: SliceId) -> Empty: LOGGER.debug('RemoveSlice request: {:s}'.format(grpc_message_to_json_string(request))) @@ -339,3 +366,38 @@ class ContextClient: response = self.stub.GetConnectionEvents(request) LOGGER.debug('GetConnectionEvents result: {:s}'.format(grpc_message_to_json_string(response))) return response + + @RETRY_DECORATOR + def ListPolicyRuleIds(self, request: Empty) -> PolicyRuleIdList: + LOGGER.debug('ListPolicyRuleIds request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.policy_stub.ListPolicyRuleIds(request) + LOGGER.debug('ListPolicyRuleIds result: {:s}'.format(grpc_message_to_json_string(response))) + return response + + @RETRY_DECORATOR + def ListPolicyRules(self, request: Empty) -> PolicyRuleList: + LOGGER.debug('ListPolicyRules request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.policy_stub.ListPolicyRules(request) + LOGGER.debug('ListPolicyRules result: {:s}'.format(grpc_message_to_json_string(response))) + return response + + @RETRY_DECORATOR + def GetPolicyRule(self, request: PolicyRuleId) -> PolicyRule: + LOGGER.info('GetPolicyRule request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.policy_stub.GetPolicyRule(request) + LOGGER.info('GetPolicyRule result: {:s}'.format(grpc_message_to_json_string(response))) + return response + + @RETRY_DECORATOR + def SetPolicyRule(self, request: PolicyRule) -> PolicyRuleId: + LOGGER.debug('SetPolicyRule request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.policy_stub.SetPolicyRule(request) + LOGGER.debug('SetPolicyRule result: {:s}'.format(grpc_message_to_json_string(response))) + return response + + @RETRY_DECORATOR + def RemovePolicyRule(self, request: PolicyRuleId) -> Empty: + LOGGER.debug('RemovePolicyRule request: {:s}'.format(grpc_message_to_json_string(request))) + response = self.policy_stub.RemovePolicyRule(request) + LOGGER.debug('RemovePolicyRule result: {:s}'.format(grpc_message_to_json_string(response))) + return response diff --git a/src/context/client/EventsCollector.py b/src/context/client/EventsCollector.py index f35b43eab40e7bf41334646ace6b4fa46beb5e10..f5fc3fbc735c2f62b39223b9ed20aa3730ecd11d 100644 --- a/src/context/client/EventsCollector.py +++ b/src/context/client/EventsCollector.py @@ -12,55 +12,111 @@ # See the License for the specific language governing permissions and # limitations under the License. -import grpc, logging, queue, threading +from typing import Callable +import grpc, logging, queue, threading, time +from common.proto.context_pb2 import Empty from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient -from context.proto.context_pb2 import Empty LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) +class _Collector(threading.Thread): + def __init__( + self, subscription_func : Callable, events_queue = queue.Queue, + terminate = threading.Event, log_events_received: bool = False + ) -> None: + super().__init__(daemon=False) + self._subscription_func = subscription_func + self._events_queue = events_queue + self._terminate = terminate + self._log_events_received = log_events_received + self._stream = None + + def cancel(self) -> None: + if self._stream is None: return + self._stream.cancel() + + def run(self) -> None: + while not self._terminate.is_set(): + self._stream = self._subscription_func() + try: + for event in self._stream: + if self._log_events_received: + str_event = grpc_message_to_json_string(event) + LOGGER.info('[_collect] event: {:s}'.format(str_event)) + self._events_queue.put_nowait(event) + except grpc.RpcError as e: + if e.code() == grpc.StatusCode.UNAVAILABLE: + LOGGER.info('[_collect] UNAVAILABLE... retrying...') + time.sleep(0.5) + continue + elif e.code() == grpc.StatusCode.CANCELLED: + break + else: + raise # pragma: no cover + class EventsCollector: def __init__( - self, context_client_grpc : ContextClient, log_events_received=False + self, context_client : ContextClient, + log_events_received : bool = False, + activate_context_collector : bool = True, + activate_topology_collector : bool = True, + activate_device_collector : bool = True, + activate_link_collector : bool = True, + activate_service_collector : bool = True, + activate_slice_collector : bool = True, + activate_connection_collector : bool = True, ) -> None: self._events_queue = queue.Queue() + self._terminate = threading.Event() self._log_events_received = log_events_received - self._context_stream = context_client_grpc.GetContextEvents(Empty()) - self._topology_stream = context_client_grpc.GetTopologyEvents(Empty()) - self._device_stream = context_client_grpc.GetDeviceEvents(Empty()) - self._link_stream = context_client_grpc.GetLinkEvents(Empty()) - self._service_stream = context_client_grpc.GetServiceEvents(Empty()) - self._slice_stream = context_client_grpc.GetSliceEvents(Empty()) - self._connection_stream = context_client_grpc.GetConnectionEvents(Empty()) - - self._context_thread = threading.Thread(target=self._collect, args=(self._context_stream ,), daemon=False) - self._topology_thread = threading.Thread(target=self._collect, args=(self._topology_stream ,), daemon=False) - self._device_thread = threading.Thread(target=self._collect, args=(self._device_stream ,), daemon=False) - self._link_thread = threading.Thread(target=self._collect, args=(self._link_stream ,), daemon=False) - self._service_thread = threading.Thread(target=self._collect, args=(self._service_stream ,), daemon=False) - self._slice_thread = threading.Thread(target=self._collect, args=(self._slice_stream ,), daemon=False) - self._connection_thread = threading.Thread(target=self._collect, args=(self._connection_stream,), daemon=False) - - def _collect(self, events_stream) -> None: - try: - for event in events_stream: - if self._log_events_received: - LOGGER.info('[_collect] event: {:s}'.format(grpc_message_to_json_string(event))) - self._events_queue.put_nowait(event) - except grpc.RpcError as e: - if e.code() != grpc.StatusCode.CANCELLED: # pylint: disable=no-member - raise # pragma: no cover + self._context_thread = _Collector( + lambda: context_client.GetContextEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_context_collector else None + + self._topology_thread = _Collector( + lambda: context_client.GetTopologyEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_topology_collector else None + + self._device_thread = _Collector( + lambda: context_client.GetDeviceEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_device_collector else None + + self._link_thread = _Collector( + lambda: context_client.GetLinkEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_link_collector else None + + self._service_thread = _Collector( + lambda: context_client.GetServiceEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_service_collector else None + + self._slice_thread = _Collector( + lambda: context_client.GetSliceEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_slice_collector else None + + self._connection_thread = _Collector( + lambda: context_client.GetConnectionEvents(Empty()), + self._events_queue, self._terminate, self._log_events_received + ) if activate_connection_collector else None def start(self): - self._context_thread.start() - self._topology_thread.start() - self._device_thread.start() - self._link_thread.start() - self._service_thread.start() - self._slice_thread.start() - self._connection_thread.start() + self._terminate.clear() + + if self._context_thread is not None: self._context_thread.start() + if self._topology_thread is not None: self._topology_thread.start() + if self._device_thread is not None: self._device_thread.start() + if self._link_thread is not None: self._link_thread.start() + if self._service_thread is not None: self._service_thread.start() + if self._slice_thread is not None: self._slice_thread.start() + if self._connection_thread is not None: self._connection_thread.start() def get_event(self, block : bool = True, timeout : float = 0.1): try: @@ -71,30 +127,33 @@ class EventsCollector: def get_events(self, block : bool = True, timeout : float = 0.1, count : int = None): events = [] if count is None: - while True: + while not self._terminate.is_set(): event = self.get_event(block=block, timeout=timeout) if event is None: break events.append(event) else: for _ in range(count): + if self._terminate.is_set(): break event = self.get_event(block=block, timeout=timeout) if event is None: continue events.append(event) - return sorted(events, key=lambda e: e.event.timestamp) + return sorted(events, key=lambda e: e.event.timestamp.timestamp) def stop(self): - self._context_stream.cancel() - self._topology_stream.cancel() - self._device_stream.cancel() - self._link_stream.cancel() - self._service_stream.cancel() - self._slice_stream.cancel() - self._connection_stream.cancel() - - self._context_thread.join() - self._topology_thread.join() - self._device_thread.join() - self._link_thread.join() - self._service_thread.join() - self._slice_thread.join() - self._connection_thread.join() + self._terminate.set() + + if self._context_thread is not None: self._context_thread.cancel() + if self._topology_thread is not None: self._topology_thread.cancel() + if self._device_thread is not None: self._device_thread.cancel() + if self._link_thread is not None: self._link_thread.cancel() + if self._service_thread is not None: self._service_thread.cancel() + if self._slice_thread is not None: self._slice_thread.cancel() + if self._connection_thread is not None: self._connection_thread.cancel() + + if self._context_thread is not None: self._context_thread.join() + if self._topology_thread is not None: self._topology_thread.join() + if self._device_thread is not None: self._device_thread.join() + if self._link_thread is not None: self._link_thread.join() + if self._service_thread is not None: self._service_thread.join() + if self._slice_thread is not None: self._slice_thread.join() + if self._connection_thread is not None: self._connection_thread.join() diff --git a/src/context/genproto.sh b/src/context/genproto.sh deleted file mode 100755 index 5c54cd7a2b8f090d520c2f500cfc966838f657ab..0000000000000000000000000000000000000000 --- a/src/context/genproto.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -eu -# -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -# Make folder containing the script the root folder for its execution -cd $(dirname $0) - -rm -rf proto/*.py -rm -rf proto/__pycache__ -tee proto/__init__.py << EOF > /dev/null -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -EOF - -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto context.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto kpi_sample_types.proto - -rm proto/kpi_sample_types_pb2_grpc.py - -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/context_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/context_pb2_grpc.py diff --git a/src/context/proto/context_pb2.py b/src/context/proto/context_pb2.py deleted file mode 100644 index 50d501d3ac053ad644554331af26e3c40cd426a1..0000000000000000000000000000000000000000 --- a/src/context/proto/context_pb2.py +++ /dev/null @@ -1,3071 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: context.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import kpi_sample_types_pb2 as kpi__sample__types__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='context.proto', - package='context', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\rcontext.proto\x12\x07\x63ontext\x1a\x16kpi_sample_types.proto\"\x07\n\x05\x45mpty\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"F\n\x05\x45vent\x12\x11\n\ttimestamp\x18\x01 \x01(\x01\x12*\n\nevent_type\x18\x02 \x01(\x0e\x32\x16.context.EventTypeEnum\"0\n\tContextId\x12#\n\x0c\x63ontext_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\xb6\x01\n\x07\x43ontext\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12)\n\x0ctopology_ids\x18\x02 \x03(\x0b\x32\x13.context.TopologyId\x12\'\n\x0bservice_ids\x18\x03 \x03(\x0b\x32\x12.context.ServiceId\x12/\n\ncontroller\x18\x04 \x01(\x0b\x32\x1b.context.TeraFlowController\"8\n\rContextIdList\x12\'\n\x0b\x63ontext_ids\x18\x01 \x03(\x0b\x32\x12.context.ContextId\"1\n\x0b\x43ontextList\x12\"\n\x08\x63ontexts\x18\x01 \x03(\x0b\x32\x10.context.Context\"U\n\x0c\x43ontextEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12&\n\ncontext_id\x18\x02 \x01(\x0b\x32\x12.context.ContextId\"Z\n\nTopologyId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12$\n\rtopology_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"~\n\x08Topology\x12(\n\x0btopology_id\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12%\n\ndevice_ids\x18\x02 \x03(\x0b\x32\x11.context.DeviceId\x12!\n\x08link_ids\x18\x03 \x03(\x0b\x32\x0f.context.LinkId\";\n\x0eTopologyIdList\x12)\n\x0ctopology_ids\x18\x01 \x03(\x0b\x32\x13.context.TopologyId\"5\n\x0cTopologyList\x12%\n\ntopologies\x18\x01 \x03(\x0b\x32\x11.context.Topology\"X\n\rTopologyEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12(\n\x0btopology_id\x18\x02 \x01(\x0b\x32\x13.context.TopologyId\".\n\x08\x44\x65viceId\x12\"\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\x9a\x02\n\x06\x44\x65vice\x12$\n\tdevice_id\x18\x01 \x01(\x0b\x32\x11.context.DeviceId\x12\x13\n\x0b\x64\x65vice_type\x18\x02 \x01(\t\x12,\n\rdevice_config\x18\x03 \x01(\x0b\x32\x15.context.DeviceConfig\x12G\n\x19\x64\x65vice_operational_status\x18\x04 \x01(\x0e\x32$.context.DeviceOperationalStatusEnum\x12\x31\n\x0e\x64\x65vice_drivers\x18\x05 \x03(\x0e\x32\x19.context.DeviceDriverEnum\x12+\n\x10\x64\x65vice_endpoints\x18\x06 \x03(\x0b\x32\x11.context.EndPoint\"9\n\x0c\x44\x65viceConfig\x12)\n\x0c\x63onfig_rules\x18\x01 \x03(\x0b\x32\x13.context.ConfigRule\"5\n\x0c\x44\x65viceIdList\x12%\n\ndevice_ids\x18\x01 \x03(\x0b\x32\x11.context.DeviceId\".\n\nDeviceList\x12 \n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x0f.context.Device\"R\n\x0b\x44\x65viceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"*\n\x06LinkId\x12 \n\tlink_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"X\n\x04Link\x12 \n\x07link_id\x18\x01 \x01(\x0b\x32\x0f.context.LinkId\x12.\n\x11link_endpoint_ids\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\"/\n\nLinkIdList\x12!\n\x08link_ids\x18\x01 \x03(\x0b\x32\x0f.context.LinkId\"(\n\x08LinkList\x12\x1c\n\x05links\x18\x01 \x03(\x0b\x32\r.context.Link\"L\n\tLinkEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12 \n\x07link_id\x18\x02 \x01(\x0b\x32\x0f.context.LinkId\"X\n\tServiceId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12#\n\x0cservice_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"\xa6\x02\n\x07Service\x12&\n\nservice_id\x18\x01 \x01(\x0b\x32\x12.context.ServiceId\x12.\n\x0cservice_type\x18\x02 \x01(\x0e\x32\x18.context.ServiceTypeEnum\x12\x31\n\x14service_endpoint_ids\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12\x30\n\x13service_constraints\x18\x04 \x03(\x0b\x32\x13.context.Constraint\x12.\n\x0eservice_status\x18\x05 \x01(\x0b\x32\x16.context.ServiceStatus\x12.\n\x0eservice_config\x18\x06 \x01(\x0b\x32\x16.context.ServiceConfig\"C\n\rServiceStatus\x12\x32\n\x0eservice_status\x18\x01 \x01(\x0e\x32\x1a.context.ServiceStatusEnum\":\n\rServiceConfig\x12)\n\x0c\x63onfig_rules\x18\x01 \x03(\x0b\x32\x13.context.ConfigRule\"8\n\rServiceIdList\x12\'\n\x0bservice_ids\x18\x01 \x03(\x0b\x32\x12.context.ServiceId\"1\n\x0bServiceList\x12\"\n\x08services\x18\x01 \x03(\x0b\x32\x10.context.Service\"U\n\x0cServiceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12&\n\nservice_id\x18\x02 \x01(\x0b\x32\x12.context.ServiceId\"T\n\x07SliceId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12!\n\nslice_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"\x95\x02\n\x05Slice\x12\"\n\x08slice_id\x18\x01 \x01(\x0b\x32\x10.context.SliceId\x12/\n\x12slice_endpoint_ids\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\x12.\n\x11slice_constraints\x18\x03 \x03(\x0b\x32\x13.context.Constraint\x12-\n\x11slice_service_ids\x18\x04 \x03(\x0b\x32\x12.context.ServiceId\x12,\n\x12slice_subslice_ids\x18\x05 \x03(\x0b\x32\x10.context.SliceId\x12*\n\x0cslice_status\x18\x06 \x01(\x0b\x32\x14.context.SliceStatus\"=\n\x0bSliceStatus\x12.\n\x0cslice_status\x18\x01 \x01(\x0e\x32\x18.context.SliceStatusEnum\"2\n\x0bSliceIdList\x12#\n\tslice_ids\x18\x01 \x03(\x0b\x32\x10.context.SliceId\"+\n\tSliceList\x12\x1e\n\x06slices\x18\x01 \x03(\x0b\x32\x0e.context.Slice\"O\n\nSliceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12\"\n\x08slice_id\x18\x02 \x01(\x0b\x32\x10.context.SliceId\"6\n\x0c\x43onnectionId\x12&\n\x0f\x63onnection_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\xc4\x01\n\nConnection\x12,\n\rconnection_id\x18\x01 \x01(\x0b\x32\x15.context.ConnectionId\x12&\n\nservice_id\x18\x02 \x01(\x0b\x32\x12.context.ServiceId\x12\x33\n\x16path_hops_endpoint_ids\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12+\n\x0fsub_service_ids\x18\x04 \x03(\x0b\x32\x12.context.ServiceId\"A\n\x10\x43onnectionIdList\x12-\n\x0e\x63onnection_ids\x18\x01 \x03(\x0b\x32\x15.context.ConnectionId\":\n\x0e\x43onnectionList\x12(\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x13.context.Connection\"^\n\x0f\x43onnectionEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12,\n\rconnection_id\x18\x02 \x01(\x0b\x32\x15.context.ConnectionId\"\x82\x01\n\nEndPointId\x12(\n\x0btopology_id\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\x12$\n\rendpoint_uuid\x18\x03 \x01(\x0b\x32\r.context.Uuid\"\x86\x01\n\x08\x45ndPoint\x12(\n\x0b\x65ndpoint_id\x18\x01 \x01(\x0b\x32\x13.context.EndPointId\x12\x15\n\rendpoint_type\x18\x02 \x01(\t\x12\x39\n\x10kpi_sample_types\x18\x03 \x03(\x0e\x32\x1f.kpi_sample_types.KpiSampleType\"e\n\nConfigRule\x12)\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x19.context.ConfigActionEnum\x12\x14\n\x0cresource_key\x18\x02 \x01(\t\x12\x16\n\x0eresource_value\x18\x03 \x01(\t\"?\n\nConstraint\x12\x17\n\x0f\x63onstraint_type\x18\x01 \x01(\t\x12\x18\n\x10\x63onstraint_value\x18\x02 \x01(\t\"^\n\x12TeraFlowController\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x12\n\nip_address\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"U\n\x14\x41uthenticationResult\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x15\n\rauthenticated\x18\x02 \x01(\x08*j\n\rEventTypeEnum\x12\x17\n\x13\x45VENTTYPE_UNDEFINED\x10\x00\x12\x14\n\x10\x45VENTTYPE_CREATE\x10\x01\x12\x14\n\x10\x45VENTTYPE_UPDATE\x10\x02\x12\x14\n\x10\x45VENTTYPE_REMOVE\x10\x03*\xc5\x01\n\x10\x44\x65viceDriverEnum\x12\x1a\n\x16\x44\x45VICEDRIVER_UNDEFINED\x10\x00\x12\x1b\n\x17\x44\x45VICEDRIVER_OPENCONFIG\x10\x01\x12\x1e\n\x1a\x44\x45VICEDRIVER_TRANSPORT_API\x10\x02\x12\x13\n\x0f\x44\x45VICEDRIVER_P4\x10\x03\x12&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOLOGY\x10\x04\x12\x1b\n\x17\x44\x45VICEDRIVER_ONF_TR_352\x10\x05*\x8f\x01\n\x1b\x44\x65viceOperationalStatusEnum\x12%\n!DEVICEOPERATIONALSTATUS_UNDEFINED\x10\x00\x12$\n DEVICEOPERATIONALSTATUS_DISABLED\x10\x01\x12#\n\x1f\x44\x45VICEOPERATIONALSTATUS_ENABLED\x10\x02*\x81\x01\n\x0fServiceTypeEnum\x12\x17\n\x13SERVICETYPE_UNKNOWN\x10\x00\x12\x14\n\x10SERVICETYPE_L3NM\x10\x01\x12\x14\n\x10SERVICETYPE_L2NM\x10\x02\x12)\n%SERVICETYPE_TAPI_CONNECTIVITY_SERVICE\x10\x03*\x88\x01\n\x11ServiceStatusEnum\x12\x1b\n\x17SERVICESTATUS_UNDEFINED\x10\x00\x12\x19\n\x15SERVICESTATUS_PLANNED\x10\x01\x12\x18\n\x14SERVICESTATUS_ACTIVE\x10\x02\x12!\n\x1dSERVICESTATUS_PENDING_REMOVAL\x10\x03*\x8b\x01\n\x0fSliceStatusEnum\x12\x19\n\x15SLICESTATUS_UNDEFINED\x10\x00\x12\x17\n\x13SLICESTATUS_PLANNED\x10\x01\x12\x14\n\x10SLICESTATUS_INIT\x10\x02\x12\x16\n\x12SLICESTATUS_ACTIVE\x10\x03\x12\x16\n\x12SLICESTATUS_DEINIT\x10\x04*]\n\x10\x43onfigActionEnum\x12\x1a\n\x16\x43ONFIGACTION_UNDEFINED\x10\x00\x12\x14\n\x10\x43ONFIGACTION_SET\x10\x01\x12\x17\n\x13\x43ONFIGACTION_DELETE\x10\x02\x32\xef\x12\n\x0e\x43ontextService\x12:\n\x0eListContextIds\x12\x0e.context.Empty\x1a\x16.context.ContextIdList\"\x00\x12\x36\n\x0cListContexts\x12\x0e.context.Empty\x1a\x14.context.ContextList\"\x00\x12\x34\n\nGetContext\x12\x12.context.ContextId\x1a\x10.context.Context\"\x00\x12\x34\n\nSetContext\x12\x10.context.Context\x1a\x12.context.ContextId\"\x00\x12\x35\n\rRemoveContext\x12\x12.context.ContextId\x1a\x0e.context.Empty\"\x00\x12=\n\x10GetContextEvents\x12\x0e.context.Empty\x1a\x15.context.ContextEvent\"\x00\x30\x01\x12@\n\x0fListTopologyIds\x12\x12.context.ContextId\x1a\x17.context.TopologyIdList\"\x00\x12=\n\x0eListTopologies\x12\x12.context.ContextId\x1a\x15.context.TopologyList\"\x00\x12\x37\n\x0bGetTopology\x12\x13.context.TopologyId\x1a\x11.context.Topology\"\x00\x12\x37\n\x0bSetTopology\x12\x11.context.Topology\x1a\x13.context.TopologyId\"\x00\x12\x37\n\x0eRemoveTopology\x12\x13.context.TopologyId\x1a\x0e.context.Empty\"\x00\x12?\n\x11GetTopologyEvents\x12\x0e.context.Empty\x1a\x16.context.TopologyEvent\"\x00\x30\x01\x12\x38\n\rListDeviceIds\x12\x0e.context.Empty\x1a\x15.context.DeviceIdList\"\x00\x12\x34\n\x0bListDevices\x12\x0e.context.Empty\x1a\x13.context.DeviceList\"\x00\x12\x31\n\tGetDevice\x12\x11.context.DeviceId\x1a\x0f.context.Device\"\x00\x12\x31\n\tSetDevice\x12\x0f.context.Device\x1a\x11.context.DeviceId\"\x00\x12\x33\n\x0cRemoveDevice\x12\x11.context.DeviceId\x1a\x0e.context.Empty\"\x00\x12;\n\x0fGetDeviceEvents\x12\x0e.context.Empty\x1a\x14.context.DeviceEvent\"\x00\x30\x01\x12\x34\n\x0bListLinkIds\x12\x0e.context.Empty\x1a\x13.context.LinkIdList\"\x00\x12\x30\n\tListLinks\x12\x0e.context.Empty\x1a\x11.context.LinkList\"\x00\x12+\n\x07GetLink\x12\x0f.context.LinkId\x1a\r.context.Link\"\x00\x12+\n\x07SetLink\x12\r.context.Link\x1a\x0f.context.LinkId\"\x00\x12/\n\nRemoveLink\x12\x0f.context.LinkId\x1a\x0e.context.Empty\"\x00\x12\x37\n\rGetLinkEvents\x12\x0e.context.Empty\x1a\x12.context.LinkEvent\"\x00\x30\x01\x12>\n\x0eListServiceIds\x12\x12.context.ContextId\x1a\x16.context.ServiceIdList\"\x00\x12:\n\x0cListServices\x12\x12.context.ContextId\x1a\x14.context.ServiceList\"\x00\x12\x34\n\nGetService\x12\x12.context.ServiceId\x1a\x10.context.Service\"\x00\x12\x34\n\nSetService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12\x35\n\rRemoveService\x12\x12.context.ServiceId\x1a\x0e.context.Empty\"\x00\x12=\n\x10GetServiceEvents\x12\x0e.context.Empty\x1a\x15.context.ServiceEvent\"\x00\x30\x01\x12:\n\x0cListSliceIds\x12\x12.context.ContextId\x1a\x14.context.SliceIdList\"\x00\x12\x36\n\nListSlices\x12\x12.context.ContextId\x1a\x12.context.SliceList\"\x00\x12.\n\x08GetSlice\x12\x10.context.SliceId\x1a\x0e.context.Slice\"\x00\x12.\n\x08SetSlice\x12\x0e.context.Slice\x1a\x10.context.SliceId\"\x00\x12\x31\n\x0bRemoveSlice\x12\x10.context.SliceId\x1a\x0e.context.Empty\"\x00\x12\x39\n\x0eGetSliceEvents\x12\x0e.context.Empty\x1a\x13.context.SliceEvent\"\x00\x30\x01\x12\x44\n\x11ListConnectionIds\x12\x12.context.ServiceId\x1a\x19.context.ConnectionIdList\"\x00\x12@\n\x0fListConnections\x12\x12.context.ServiceId\x1a\x17.context.ConnectionList\"\x00\x12=\n\rGetConnection\x12\x15.context.ConnectionId\x1a\x13.context.Connection\"\x00\x12=\n\rSetConnection\x12\x13.context.Connection\x1a\x15.context.ConnectionId\"\x00\x12;\n\x10RemoveConnection\x12\x15.context.ConnectionId\x1a\x0e.context.Empty\"\x00\x12\x43\n\x13GetConnectionEvents\x12\x0e.context.Empty\x1a\x18.context.ConnectionEvent\"\x00\x30\x01\x62\x06proto3' - , - dependencies=[kpi__sample__types__pb2.DESCRIPTOR,]) - -_EVENTTYPEENUM = _descriptor.EnumDescriptor( - name='EventTypeEnum', - full_name='context.EventTypeEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_CREATE', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_UPDATE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_REMOVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4310, - serialized_end=4416, -) -_sym_db.RegisterEnumDescriptor(_EVENTTYPEENUM) - -EventTypeEnum = enum_type_wrapper.EnumTypeWrapper(_EVENTTYPEENUM) -_DEVICEDRIVERENUM = _descriptor.EnumDescriptor( - name='DeviceDriverEnum', - full_name='context.DeviceDriverEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_OPENCONFIG', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_TRANSPORT_API', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_P4', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_IETF_NETWORK_TOPOLOGY', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_ONF_TR_352', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4419, - serialized_end=4616, -) -_sym_db.RegisterEnumDescriptor(_DEVICEDRIVERENUM) - -DeviceDriverEnum = enum_type_wrapper.EnumTypeWrapper(_DEVICEDRIVERENUM) -_DEVICEOPERATIONALSTATUSENUM = _descriptor.EnumDescriptor( - name='DeviceOperationalStatusEnum', - full_name='context.DeviceOperationalStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_DISABLED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_ENABLED', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4619, - serialized_end=4762, -) -_sym_db.RegisterEnumDescriptor(_DEVICEOPERATIONALSTATUSENUM) - -DeviceOperationalStatusEnum = enum_type_wrapper.EnumTypeWrapper(_DEVICEOPERATIONALSTATUSENUM) -_SERVICETYPEENUM = _descriptor.EnumDescriptor( - name='ServiceTypeEnum', - full_name='context.ServiceTypeEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_UNKNOWN', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_L3NM', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_L2NM', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_TAPI_CONNECTIVITY_SERVICE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4765, - serialized_end=4894, -) -_sym_db.RegisterEnumDescriptor(_SERVICETYPEENUM) - -ServiceTypeEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICETYPEENUM) -_SERVICESTATUSENUM = _descriptor.EnumDescriptor( - name='ServiceStatusEnum', - full_name='context.ServiceStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_ACTIVE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_PENDING_REMOVAL', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4897, - serialized_end=5033, -) -_sym_db.RegisterEnumDescriptor(_SERVICESTATUSENUM) - -ServiceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICESTATUSENUM) -_SLICESTATUSENUM = _descriptor.EnumDescriptor( - name='SliceStatusEnum', - full_name='context.SliceStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_INIT', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_ACTIVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_DEINIT', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5036, - serialized_end=5175, -) -_sym_db.RegisterEnumDescriptor(_SLICESTATUSENUM) - -SliceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SLICESTATUSENUM) -_CONFIGACTIONENUM = _descriptor.EnumDescriptor( - name='ConfigActionEnum', - full_name='context.ConfigActionEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_SET', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_DELETE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5177, - serialized_end=5270, -) -_sym_db.RegisterEnumDescriptor(_CONFIGACTIONENUM) - -ConfigActionEnum = enum_type_wrapper.EnumTypeWrapper(_CONFIGACTIONENUM) -EVENTTYPE_UNDEFINED = 0 -EVENTTYPE_CREATE = 1 -EVENTTYPE_UPDATE = 2 -EVENTTYPE_REMOVE = 3 -DEVICEDRIVER_UNDEFINED = 0 -DEVICEDRIVER_OPENCONFIG = 1 -DEVICEDRIVER_TRANSPORT_API = 2 -DEVICEDRIVER_P4 = 3 -DEVICEDRIVER_IETF_NETWORK_TOPOLOGY = 4 -DEVICEDRIVER_ONF_TR_352 = 5 -DEVICEOPERATIONALSTATUS_UNDEFINED = 0 -DEVICEOPERATIONALSTATUS_DISABLED = 1 -DEVICEOPERATIONALSTATUS_ENABLED = 2 -SERVICETYPE_UNKNOWN = 0 -SERVICETYPE_L3NM = 1 -SERVICETYPE_L2NM = 2 -SERVICETYPE_TAPI_CONNECTIVITY_SERVICE = 3 -SERVICESTATUS_UNDEFINED = 0 -SERVICESTATUS_PLANNED = 1 -SERVICESTATUS_ACTIVE = 2 -SERVICESTATUS_PENDING_REMOVAL = 3 -SLICESTATUS_UNDEFINED = 0 -SLICESTATUS_PLANNED = 1 -SLICESTATUS_INIT = 2 -SLICESTATUS_ACTIVE = 3 -SLICESTATUS_DEINIT = 4 -CONFIGACTION_UNDEFINED = 0 -CONFIGACTION_SET = 1 -CONFIGACTION_DELETE = 2 - - - -_EMPTY = _descriptor.Descriptor( - name='Empty', - full_name='context.Empty', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=50, - serialized_end=57, -) - - -_UUID = _descriptor.Descriptor( - name='Uuid', - full_name='context.Uuid', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='uuid', full_name='context.Uuid.uuid', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=59, - serialized_end=79, -) - - -_EVENT = _descriptor.Descriptor( - name='Event', - full_name='context.Event', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='context.Event.timestamp', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='event_type', full_name='context.Event.event_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=81, - serialized_end=151, -) - - -_CONTEXTID = _descriptor.Descriptor( - name='ContextId', - full_name='context.ContextId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_uuid', full_name='context.ContextId.context_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=153, - serialized_end=201, -) - - -_CONTEXT = _descriptor.Descriptor( - name='Context', - full_name='context.Context', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.Context.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_ids', full_name='context.Context.topology_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_ids', full_name='context.Context.service_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='controller', full_name='context.Context.controller', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=204, - serialized_end=386, -) - - -_CONTEXTIDLIST = _descriptor.Descriptor( - name='ContextIdList', - full_name='context.ContextIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_ids', full_name='context.ContextIdList.context_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=388, - serialized_end=444, -) - - -_CONTEXTLIST = _descriptor.Descriptor( - name='ContextList', - full_name='context.ContextList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='contexts', full_name='context.ContextList.contexts', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=446, - serialized_end=495, -) - - -_CONTEXTEVENT = _descriptor.Descriptor( - name='ContextEvent', - full_name='context.ContextEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ContextEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='context_id', full_name='context.ContextEvent.context_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=497, - serialized_end=582, -) - - -_TOPOLOGYID = _descriptor.Descriptor( - name='TopologyId', - full_name='context.TopologyId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.TopologyId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_uuid', full_name='context.TopologyId.topology_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=584, - serialized_end=674, -) - - -_TOPOLOGY = _descriptor.Descriptor( - name='Topology', - full_name='context.Topology', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.Topology.topology_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_ids', full_name='context.Topology.device_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_ids', full_name='context.Topology.link_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=676, - serialized_end=802, -) - - -_TOPOLOGYIDLIST = _descriptor.Descriptor( - name='TopologyIdList', - full_name='context.TopologyIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_ids', full_name='context.TopologyIdList.topology_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=804, - serialized_end=863, -) - - -_TOPOLOGYLIST = _descriptor.Descriptor( - name='TopologyList', - full_name='context.TopologyList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topologies', full_name='context.TopologyList.topologies', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=865, - serialized_end=918, -) - - -_TOPOLOGYEVENT = _descriptor.Descriptor( - name='TopologyEvent', - full_name='context.TopologyEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.TopologyEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.TopologyEvent.topology_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=920, - serialized_end=1008, -) - - -_DEVICEID = _descriptor.Descriptor( - name='DeviceId', - full_name='context.DeviceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_uuid', full_name='context.DeviceId.device_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1010, - serialized_end=1056, -) - - -_DEVICE = _descriptor.Descriptor( - name='Device', - full_name='context.Device', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_id', full_name='context.Device.device_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_type', full_name='context.Device.device_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_config', full_name='context.Device.device_config', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_operational_status', full_name='context.Device.device_operational_status', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_drivers', full_name='context.Device.device_drivers', index=4, - number=5, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_endpoints', full_name='context.Device.device_endpoints', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1059, - serialized_end=1341, -) - - -_DEVICECONFIG = _descriptor.Descriptor( - name='DeviceConfig', - full_name='context.DeviceConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_rules', full_name='context.DeviceConfig.config_rules', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1343, - serialized_end=1400, -) - - -_DEVICEIDLIST = _descriptor.Descriptor( - name='DeviceIdList', - full_name='context.DeviceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_ids', full_name='context.DeviceIdList.device_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1402, - serialized_end=1455, -) - - -_DEVICELIST = _descriptor.Descriptor( - name='DeviceList', - full_name='context.DeviceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='devices', full_name='context.DeviceList.devices', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1457, - serialized_end=1503, -) - - -_DEVICEEVENT = _descriptor.Descriptor( - name='DeviceEvent', - full_name='context.DeviceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.DeviceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='context.DeviceEvent.device_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1505, - serialized_end=1587, -) - - -_LINKID = _descriptor.Descriptor( - name='LinkId', - full_name='context.LinkId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_uuid', full_name='context.LinkId.link_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1589, - serialized_end=1631, -) - - -_LINK = _descriptor.Descriptor( - name='Link', - full_name='context.Link', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_id', full_name='context.Link.link_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_endpoint_ids', full_name='context.Link.link_endpoint_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1633, - serialized_end=1721, -) - - -_LINKIDLIST = _descriptor.Descriptor( - name='LinkIdList', - full_name='context.LinkIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_ids', full_name='context.LinkIdList.link_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1723, - serialized_end=1770, -) - - -_LINKLIST = _descriptor.Descriptor( - name='LinkList', - full_name='context.LinkList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='links', full_name='context.LinkList.links', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1772, - serialized_end=1812, -) - - -_LINKEVENT = _descriptor.Descriptor( - name='LinkEvent', - full_name='context.LinkEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.LinkEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_id', full_name='context.LinkEvent.link_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1814, - serialized_end=1890, -) - - -_SERVICEID = _descriptor.Descriptor( - name='ServiceId', - full_name='context.ServiceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.ServiceId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_uuid', full_name='context.ServiceId.service_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1892, - serialized_end=1980, -) - - -_SERVICE = _descriptor.Descriptor( - name='Service', - full_name='context.Service', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_id', full_name='context.Service.service_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_type', full_name='context.Service.service_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_endpoint_ids', full_name='context.Service.service_endpoint_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_constraints', full_name='context.Service.service_constraints', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_status', full_name='context.Service.service_status', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_config', full_name='context.Service.service_config', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1983, - serialized_end=2277, -) - - -_SERVICESTATUS = _descriptor.Descriptor( - name='ServiceStatus', - full_name='context.ServiceStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_status', full_name='context.ServiceStatus.service_status', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2279, - serialized_end=2346, -) - - -_SERVICECONFIG = _descriptor.Descriptor( - name='ServiceConfig', - full_name='context.ServiceConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_rules', full_name='context.ServiceConfig.config_rules', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2348, - serialized_end=2406, -) - - -_SERVICEIDLIST = _descriptor.Descriptor( - name='ServiceIdList', - full_name='context.ServiceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_ids', full_name='context.ServiceIdList.service_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2408, - serialized_end=2464, -) - - -_SERVICELIST = _descriptor.Descriptor( - name='ServiceList', - full_name='context.ServiceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='services', full_name='context.ServiceList.services', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2466, - serialized_end=2515, -) - - -_SERVICEEVENT = _descriptor.Descriptor( - name='ServiceEvent', - full_name='context.ServiceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ServiceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='context.ServiceEvent.service_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2517, - serialized_end=2602, -) - - -_SLICEID = _descriptor.Descriptor( - name='SliceId', - full_name='context.SliceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.SliceId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_uuid', full_name='context.SliceId.slice_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2604, - serialized_end=2688, -) - - -_SLICE = _descriptor.Descriptor( - name='Slice', - full_name='context.Slice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_id', full_name='context.Slice.slice_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_endpoint_ids', full_name='context.Slice.slice_endpoint_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_constraints', full_name='context.Slice.slice_constraints', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_service_ids', full_name='context.Slice.slice_service_ids', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_subslice_ids', full_name='context.Slice.slice_subslice_ids', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_status', full_name='context.Slice.slice_status', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2691, - serialized_end=2968, -) - - -_SLICESTATUS = _descriptor.Descriptor( - name='SliceStatus', - full_name='context.SliceStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_status', full_name='context.SliceStatus.slice_status', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2970, - serialized_end=3031, -) - - -_SLICEIDLIST = _descriptor.Descriptor( - name='SliceIdList', - full_name='context.SliceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_ids', full_name='context.SliceIdList.slice_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3033, - serialized_end=3083, -) - - -_SLICELIST = _descriptor.Descriptor( - name='SliceList', - full_name='context.SliceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slices', full_name='context.SliceList.slices', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3085, - serialized_end=3128, -) - - -_SLICEEVENT = _descriptor.Descriptor( - name='SliceEvent', - full_name='context.SliceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.SliceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_id', full_name='context.SliceEvent.slice_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3130, - serialized_end=3209, -) - - -_CONNECTIONID = _descriptor.Descriptor( - name='ConnectionId', - full_name='context.ConnectionId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_uuid', full_name='context.ConnectionId.connection_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3211, - serialized_end=3265, -) - - -_CONNECTION = _descriptor.Descriptor( - name='Connection', - full_name='context.Connection', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_id', full_name='context.Connection.connection_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='context.Connection.service_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='path_hops_endpoint_ids', full_name='context.Connection.path_hops_endpoint_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sub_service_ids', full_name='context.Connection.sub_service_ids', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3268, - serialized_end=3464, -) - - -_CONNECTIONIDLIST = _descriptor.Descriptor( - name='ConnectionIdList', - full_name='context.ConnectionIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_ids', full_name='context.ConnectionIdList.connection_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3466, - serialized_end=3531, -) - - -_CONNECTIONLIST = _descriptor.Descriptor( - name='ConnectionList', - full_name='context.ConnectionList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connections', full_name='context.ConnectionList.connections', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3533, - serialized_end=3591, -) - - -_CONNECTIONEVENT = _descriptor.Descriptor( - name='ConnectionEvent', - full_name='context.ConnectionEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ConnectionEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='connection_id', full_name='context.ConnectionEvent.connection_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3593, - serialized_end=3687, -) - - -_ENDPOINTID = _descriptor.Descriptor( - name='EndPointId', - full_name='context.EndPointId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.EndPointId.topology_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='context.EndPointId.device_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_uuid', full_name='context.EndPointId.endpoint_uuid', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3690, - serialized_end=3820, -) - - -_ENDPOINT = _descriptor.Descriptor( - name='EndPoint', - full_name='context.EndPoint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='endpoint_id', full_name='context.EndPoint.endpoint_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_type', full_name='context.EndPoint.endpoint_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='kpi_sample_types', full_name='context.EndPoint.kpi_sample_types', index=2, - number=3, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3823, - serialized_end=3957, -) - - -_CONFIGRULE = _descriptor.Descriptor( - name='ConfigRule', - full_name='context.ConfigRule', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='action', full_name='context.ConfigRule.action', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='resource_key', full_name='context.ConfigRule.resource_key', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='resource_value', full_name='context.ConfigRule.resource_value', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3959, - serialized_end=4060, -) - - -_CONSTRAINT = _descriptor.Descriptor( - name='Constraint', - full_name='context.Constraint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='constraint_type', full_name='context.Constraint.constraint_type', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='constraint_value', full_name='context.Constraint.constraint_value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4062, - serialized_end=4125, -) - - -_TERAFLOWCONTROLLER = _descriptor.Descriptor( - name='TeraFlowController', - full_name='context.TeraFlowController', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.TeraFlowController.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='ip_address', full_name='context.TeraFlowController.ip_address', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='port', full_name='context.TeraFlowController.port', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4127, - serialized_end=4221, -) - - -_AUTHENTICATIONRESULT = _descriptor.Descriptor( - name='AuthenticationResult', - full_name='context.AuthenticationResult', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.AuthenticationResult.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='authenticated', full_name='context.AuthenticationResult.authenticated', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4223, - serialized_end=4308, -) - -_EVENT.fields_by_name['event_type'].enum_type = _EVENTTYPEENUM -_CONTEXTID.fields_by_name['context_uuid'].message_type = _UUID -_CONTEXT.fields_by_name['context_id'].message_type = _CONTEXTID -_CONTEXT.fields_by_name['topology_ids'].message_type = _TOPOLOGYID -_CONTEXT.fields_by_name['service_ids'].message_type = _SERVICEID -_CONTEXT.fields_by_name['controller'].message_type = _TERAFLOWCONTROLLER -_CONTEXTIDLIST.fields_by_name['context_ids'].message_type = _CONTEXTID -_CONTEXTLIST.fields_by_name['contexts'].message_type = _CONTEXT -_CONTEXTEVENT.fields_by_name['event'].message_type = _EVENT -_CONTEXTEVENT.fields_by_name['context_id'].message_type = _CONTEXTID -_TOPOLOGYID.fields_by_name['context_id'].message_type = _CONTEXTID -_TOPOLOGYID.fields_by_name['topology_uuid'].message_type = _UUID -_TOPOLOGY.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_TOPOLOGY.fields_by_name['device_ids'].message_type = _DEVICEID -_TOPOLOGY.fields_by_name['link_ids'].message_type = _LINKID -_TOPOLOGYIDLIST.fields_by_name['topology_ids'].message_type = _TOPOLOGYID -_TOPOLOGYLIST.fields_by_name['topologies'].message_type = _TOPOLOGY -_TOPOLOGYEVENT.fields_by_name['event'].message_type = _EVENT -_TOPOLOGYEVENT.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_DEVICEID.fields_by_name['device_uuid'].message_type = _UUID -_DEVICE.fields_by_name['device_id'].message_type = _DEVICEID -_DEVICE.fields_by_name['device_config'].message_type = _DEVICECONFIG -_DEVICE.fields_by_name['device_operational_status'].enum_type = _DEVICEOPERATIONALSTATUSENUM -_DEVICE.fields_by_name['device_drivers'].enum_type = _DEVICEDRIVERENUM -_DEVICE.fields_by_name['device_endpoints'].message_type = _ENDPOINT -_DEVICECONFIG.fields_by_name['config_rules'].message_type = _CONFIGRULE -_DEVICEIDLIST.fields_by_name['device_ids'].message_type = _DEVICEID -_DEVICELIST.fields_by_name['devices'].message_type = _DEVICE -_DEVICEEVENT.fields_by_name['event'].message_type = _EVENT -_DEVICEEVENT.fields_by_name['device_id'].message_type = _DEVICEID -_LINKID.fields_by_name['link_uuid'].message_type = _UUID -_LINK.fields_by_name['link_id'].message_type = _LINKID -_LINK.fields_by_name['link_endpoint_ids'].message_type = _ENDPOINTID -_LINKIDLIST.fields_by_name['link_ids'].message_type = _LINKID -_LINKLIST.fields_by_name['links'].message_type = _LINK -_LINKEVENT.fields_by_name['event'].message_type = _EVENT -_LINKEVENT.fields_by_name['link_id'].message_type = _LINKID -_SERVICEID.fields_by_name['context_id'].message_type = _CONTEXTID -_SERVICEID.fields_by_name['service_uuid'].message_type = _UUID -_SERVICE.fields_by_name['service_id'].message_type = _SERVICEID -_SERVICE.fields_by_name['service_type'].enum_type = _SERVICETYPEENUM -_SERVICE.fields_by_name['service_endpoint_ids'].message_type = _ENDPOINTID -_SERVICE.fields_by_name['service_constraints'].message_type = _CONSTRAINT -_SERVICE.fields_by_name['service_status'].message_type = _SERVICESTATUS -_SERVICE.fields_by_name['service_config'].message_type = _SERVICECONFIG -_SERVICESTATUS.fields_by_name['service_status'].enum_type = _SERVICESTATUSENUM -_SERVICECONFIG.fields_by_name['config_rules'].message_type = _CONFIGRULE -_SERVICEIDLIST.fields_by_name['service_ids'].message_type = _SERVICEID -_SERVICELIST.fields_by_name['services'].message_type = _SERVICE -_SERVICEEVENT.fields_by_name['event'].message_type = _EVENT -_SERVICEEVENT.fields_by_name['service_id'].message_type = _SERVICEID -_SLICEID.fields_by_name['context_id'].message_type = _CONTEXTID -_SLICEID.fields_by_name['slice_uuid'].message_type = _UUID -_SLICE.fields_by_name['slice_id'].message_type = _SLICEID -_SLICE.fields_by_name['slice_endpoint_ids'].message_type = _ENDPOINTID -_SLICE.fields_by_name['slice_constraints'].message_type = _CONSTRAINT -_SLICE.fields_by_name['slice_service_ids'].message_type = _SERVICEID -_SLICE.fields_by_name['slice_subslice_ids'].message_type = _SLICEID -_SLICE.fields_by_name['slice_status'].message_type = _SLICESTATUS -_SLICESTATUS.fields_by_name['slice_status'].enum_type = _SLICESTATUSENUM -_SLICEIDLIST.fields_by_name['slice_ids'].message_type = _SLICEID -_SLICELIST.fields_by_name['slices'].message_type = _SLICE -_SLICEEVENT.fields_by_name['event'].message_type = _EVENT -_SLICEEVENT.fields_by_name['slice_id'].message_type = _SLICEID -_CONNECTIONID.fields_by_name['connection_uuid'].message_type = _UUID -_CONNECTION.fields_by_name['connection_id'].message_type = _CONNECTIONID -_CONNECTION.fields_by_name['service_id'].message_type = _SERVICEID -_CONNECTION.fields_by_name['path_hops_endpoint_ids'].message_type = _ENDPOINTID -_CONNECTION.fields_by_name['sub_service_ids'].message_type = _SERVICEID -_CONNECTIONIDLIST.fields_by_name['connection_ids'].message_type = _CONNECTIONID -_CONNECTIONLIST.fields_by_name['connections'].message_type = _CONNECTION -_CONNECTIONEVENT.fields_by_name['event'].message_type = _EVENT -_CONNECTIONEVENT.fields_by_name['connection_id'].message_type = _CONNECTIONID -_ENDPOINTID.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_ENDPOINTID.fields_by_name['device_id'].message_type = _DEVICEID -_ENDPOINTID.fields_by_name['endpoint_uuid'].message_type = _UUID -_ENDPOINT.fields_by_name['endpoint_id'].message_type = _ENDPOINTID -_ENDPOINT.fields_by_name['kpi_sample_types'].enum_type = kpi__sample__types__pb2._KPISAMPLETYPE -_CONFIGRULE.fields_by_name['action'].enum_type = _CONFIGACTIONENUM -_TERAFLOWCONTROLLER.fields_by_name['context_id'].message_type = _CONTEXTID -_AUTHENTICATIONRESULT.fields_by_name['context_id'].message_type = _CONTEXTID -DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY -DESCRIPTOR.message_types_by_name['Uuid'] = _UUID -DESCRIPTOR.message_types_by_name['Event'] = _EVENT -DESCRIPTOR.message_types_by_name['ContextId'] = _CONTEXTID -DESCRIPTOR.message_types_by_name['Context'] = _CONTEXT -DESCRIPTOR.message_types_by_name['ContextIdList'] = _CONTEXTIDLIST -DESCRIPTOR.message_types_by_name['ContextList'] = _CONTEXTLIST -DESCRIPTOR.message_types_by_name['ContextEvent'] = _CONTEXTEVENT -DESCRIPTOR.message_types_by_name['TopologyId'] = _TOPOLOGYID -DESCRIPTOR.message_types_by_name['Topology'] = _TOPOLOGY -DESCRIPTOR.message_types_by_name['TopologyIdList'] = _TOPOLOGYIDLIST -DESCRIPTOR.message_types_by_name['TopologyList'] = _TOPOLOGYLIST -DESCRIPTOR.message_types_by_name['TopologyEvent'] = _TOPOLOGYEVENT -DESCRIPTOR.message_types_by_name['DeviceId'] = _DEVICEID -DESCRIPTOR.message_types_by_name['Device'] = _DEVICE -DESCRIPTOR.message_types_by_name['DeviceConfig'] = _DEVICECONFIG -DESCRIPTOR.message_types_by_name['DeviceIdList'] = _DEVICEIDLIST -DESCRIPTOR.message_types_by_name['DeviceList'] = _DEVICELIST -DESCRIPTOR.message_types_by_name['DeviceEvent'] = _DEVICEEVENT -DESCRIPTOR.message_types_by_name['LinkId'] = _LINKID -DESCRIPTOR.message_types_by_name['Link'] = _LINK -DESCRIPTOR.message_types_by_name['LinkIdList'] = _LINKIDLIST -DESCRIPTOR.message_types_by_name['LinkList'] = _LINKLIST -DESCRIPTOR.message_types_by_name['LinkEvent'] = _LINKEVENT -DESCRIPTOR.message_types_by_name['ServiceId'] = _SERVICEID -DESCRIPTOR.message_types_by_name['Service'] = _SERVICE -DESCRIPTOR.message_types_by_name['ServiceStatus'] = _SERVICESTATUS -DESCRIPTOR.message_types_by_name['ServiceConfig'] = _SERVICECONFIG -DESCRIPTOR.message_types_by_name['ServiceIdList'] = _SERVICEIDLIST -DESCRIPTOR.message_types_by_name['ServiceList'] = _SERVICELIST -DESCRIPTOR.message_types_by_name['ServiceEvent'] = _SERVICEEVENT -DESCRIPTOR.message_types_by_name['SliceId'] = _SLICEID -DESCRIPTOR.message_types_by_name['Slice'] = _SLICE -DESCRIPTOR.message_types_by_name['SliceStatus'] = _SLICESTATUS -DESCRIPTOR.message_types_by_name['SliceIdList'] = _SLICEIDLIST -DESCRIPTOR.message_types_by_name['SliceList'] = _SLICELIST -DESCRIPTOR.message_types_by_name['SliceEvent'] = _SLICEEVENT -DESCRIPTOR.message_types_by_name['ConnectionId'] = _CONNECTIONID -DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION -DESCRIPTOR.message_types_by_name['ConnectionIdList'] = _CONNECTIONIDLIST -DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST -DESCRIPTOR.message_types_by_name['ConnectionEvent'] = _CONNECTIONEVENT -DESCRIPTOR.message_types_by_name['EndPointId'] = _ENDPOINTID -DESCRIPTOR.message_types_by_name['EndPoint'] = _ENDPOINT -DESCRIPTOR.message_types_by_name['ConfigRule'] = _CONFIGRULE -DESCRIPTOR.message_types_by_name['Constraint'] = _CONSTRAINT -DESCRIPTOR.message_types_by_name['TeraFlowController'] = _TERAFLOWCONTROLLER -DESCRIPTOR.message_types_by_name['AuthenticationResult'] = _AUTHENTICATIONRESULT -DESCRIPTOR.enum_types_by_name['EventTypeEnum'] = _EVENTTYPEENUM -DESCRIPTOR.enum_types_by_name['DeviceDriverEnum'] = _DEVICEDRIVERENUM -DESCRIPTOR.enum_types_by_name['DeviceOperationalStatusEnum'] = _DEVICEOPERATIONALSTATUSENUM -DESCRIPTOR.enum_types_by_name['ServiceTypeEnum'] = _SERVICETYPEENUM -DESCRIPTOR.enum_types_by_name['ServiceStatusEnum'] = _SERVICESTATUSENUM -DESCRIPTOR.enum_types_by_name['SliceStatusEnum'] = _SLICESTATUSENUM -DESCRIPTOR.enum_types_by_name['ConfigActionEnum'] = _CONFIGACTIONENUM -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), { - 'DESCRIPTOR' : _EMPTY, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Empty) - }) -_sym_db.RegisterMessage(Empty) - -Uuid = _reflection.GeneratedProtocolMessageType('Uuid', (_message.Message,), { - 'DESCRIPTOR' : _UUID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Uuid) - }) -_sym_db.RegisterMessage(Uuid) - -Event = _reflection.GeneratedProtocolMessageType('Event', (_message.Message,), { - 'DESCRIPTOR' : _EVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Event) - }) -_sym_db.RegisterMessage(Event) - -ContextId = _reflection.GeneratedProtocolMessageType('ContextId', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextId) - }) -_sym_db.RegisterMessage(ContextId) - -Context = _reflection.GeneratedProtocolMessageType('Context', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Context) - }) -_sym_db.RegisterMessage(Context) - -ContextIdList = _reflection.GeneratedProtocolMessageType('ContextIdList', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextIdList) - }) -_sym_db.RegisterMessage(ContextIdList) - -ContextList = _reflection.GeneratedProtocolMessageType('ContextList', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextList) - }) -_sym_db.RegisterMessage(ContextList) - -ContextEvent = _reflection.GeneratedProtocolMessageType('ContextEvent', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextEvent) - }) -_sym_db.RegisterMessage(ContextEvent) - -TopologyId = _reflection.GeneratedProtocolMessageType('TopologyId', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyId) - }) -_sym_db.RegisterMessage(TopologyId) - -Topology = _reflection.GeneratedProtocolMessageType('Topology', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGY, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Topology) - }) -_sym_db.RegisterMessage(Topology) - -TopologyIdList = _reflection.GeneratedProtocolMessageType('TopologyIdList', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyIdList) - }) -_sym_db.RegisterMessage(TopologyIdList) - -TopologyList = _reflection.GeneratedProtocolMessageType('TopologyList', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyList) - }) -_sym_db.RegisterMessage(TopologyList) - -TopologyEvent = _reflection.GeneratedProtocolMessageType('TopologyEvent', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyEvent) - }) -_sym_db.RegisterMessage(TopologyEvent) - -DeviceId = _reflection.GeneratedProtocolMessageType('DeviceId', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceId) - }) -_sym_db.RegisterMessage(DeviceId) - -Device = _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), { - 'DESCRIPTOR' : _DEVICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Device) - }) -_sym_db.RegisterMessage(Device) - -DeviceConfig = _reflection.GeneratedProtocolMessageType('DeviceConfig', (_message.Message,), { - 'DESCRIPTOR' : _DEVICECONFIG, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceConfig) - }) -_sym_db.RegisterMessage(DeviceConfig) - -DeviceIdList = _reflection.GeneratedProtocolMessageType('DeviceIdList', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceIdList) - }) -_sym_db.RegisterMessage(DeviceIdList) - -DeviceList = _reflection.GeneratedProtocolMessageType('DeviceList', (_message.Message,), { - 'DESCRIPTOR' : _DEVICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceList) - }) -_sym_db.RegisterMessage(DeviceList) - -DeviceEvent = _reflection.GeneratedProtocolMessageType('DeviceEvent', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceEvent) - }) -_sym_db.RegisterMessage(DeviceEvent) - -LinkId = _reflection.GeneratedProtocolMessageType('LinkId', (_message.Message,), { - 'DESCRIPTOR' : _LINKID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkId) - }) -_sym_db.RegisterMessage(LinkId) - -Link = _reflection.GeneratedProtocolMessageType('Link', (_message.Message,), { - 'DESCRIPTOR' : _LINK, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Link) - }) -_sym_db.RegisterMessage(Link) - -LinkIdList = _reflection.GeneratedProtocolMessageType('LinkIdList', (_message.Message,), { - 'DESCRIPTOR' : _LINKIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkIdList) - }) -_sym_db.RegisterMessage(LinkIdList) - -LinkList = _reflection.GeneratedProtocolMessageType('LinkList', (_message.Message,), { - 'DESCRIPTOR' : _LINKLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkList) - }) -_sym_db.RegisterMessage(LinkList) - -LinkEvent = _reflection.GeneratedProtocolMessageType('LinkEvent', (_message.Message,), { - 'DESCRIPTOR' : _LINKEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkEvent) - }) -_sym_db.RegisterMessage(LinkEvent) - -ServiceId = _reflection.GeneratedProtocolMessageType('ServiceId', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceId) - }) -_sym_db.RegisterMessage(ServiceId) - -Service = _reflection.GeneratedProtocolMessageType('Service', (_message.Message,), { - 'DESCRIPTOR' : _SERVICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Service) - }) -_sym_db.RegisterMessage(Service) - -ServiceStatus = _reflection.GeneratedProtocolMessageType('ServiceStatus', (_message.Message,), { - 'DESCRIPTOR' : _SERVICESTATUS, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceStatus) - }) -_sym_db.RegisterMessage(ServiceStatus) - -ServiceConfig = _reflection.GeneratedProtocolMessageType('ServiceConfig', (_message.Message,), { - 'DESCRIPTOR' : _SERVICECONFIG, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceConfig) - }) -_sym_db.RegisterMessage(ServiceConfig) - -ServiceIdList = _reflection.GeneratedProtocolMessageType('ServiceIdList', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceIdList) - }) -_sym_db.RegisterMessage(ServiceIdList) - -ServiceList = _reflection.GeneratedProtocolMessageType('ServiceList', (_message.Message,), { - 'DESCRIPTOR' : _SERVICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceList) - }) -_sym_db.RegisterMessage(ServiceList) - -ServiceEvent = _reflection.GeneratedProtocolMessageType('ServiceEvent', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceEvent) - }) -_sym_db.RegisterMessage(ServiceEvent) - -SliceId = _reflection.GeneratedProtocolMessageType('SliceId', (_message.Message,), { - 'DESCRIPTOR' : _SLICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceId) - }) -_sym_db.RegisterMessage(SliceId) - -Slice = _reflection.GeneratedProtocolMessageType('Slice', (_message.Message,), { - 'DESCRIPTOR' : _SLICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Slice) - }) -_sym_db.RegisterMessage(Slice) - -SliceStatus = _reflection.GeneratedProtocolMessageType('SliceStatus', (_message.Message,), { - 'DESCRIPTOR' : _SLICESTATUS, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceStatus) - }) -_sym_db.RegisterMessage(SliceStatus) - -SliceIdList = _reflection.GeneratedProtocolMessageType('SliceIdList', (_message.Message,), { - 'DESCRIPTOR' : _SLICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceIdList) - }) -_sym_db.RegisterMessage(SliceIdList) - -SliceList = _reflection.GeneratedProtocolMessageType('SliceList', (_message.Message,), { - 'DESCRIPTOR' : _SLICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceList) - }) -_sym_db.RegisterMessage(SliceList) - -SliceEvent = _reflection.GeneratedProtocolMessageType('SliceEvent', (_message.Message,), { - 'DESCRIPTOR' : _SLICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceEvent) - }) -_sym_db.RegisterMessage(SliceEvent) - -ConnectionId = _reflection.GeneratedProtocolMessageType('ConnectionId', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionId) - }) -_sym_db.RegisterMessage(ConnectionId) - -Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTION, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Connection) - }) -_sym_db.RegisterMessage(Connection) - -ConnectionIdList = _reflection.GeneratedProtocolMessageType('ConnectionIdList', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionIdList) - }) -_sym_db.RegisterMessage(ConnectionIdList) - -ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionList) - }) -_sym_db.RegisterMessage(ConnectionList) - -ConnectionEvent = _reflection.GeneratedProtocolMessageType('ConnectionEvent', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionEvent) - }) -_sym_db.RegisterMessage(ConnectionEvent) - -EndPointId = _reflection.GeneratedProtocolMessageType('EndPointId', (_message.Message,), { - 'DESCRIPTOR' : _ENDPOINTID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.EndPointId) - }) -_sym_db.RegisterMessage(EndPointId) - -EndPoint = _reflection.GeneratedProtocolMessageType('EndPoint', (_message.Message,), { - 'DESCRIPTOR' : _ENDPOINT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.EndPoint) - }) -_sym_db.RegisterMessage(EndPoint) - -ConfigRule = _reflection.GeneratedProtocolMessageType('ConfigRule', (_message.Message,), { - 'DESCRIPTOR' : _CONFIGRULE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConfigRule) - }) -_sym_db.RegisterMessage(ConfigRule) - -Constraint = _reflection.GeneratedProtocolMessageType('Constraint', (_message.Message,), { - 'DESCRIPTOR' : _CONSTRAINT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Constraint) - }) -_sym_db.RegisterMessage(Constraint) - -TeraFlowController = _reflection.GeneratedProtocolMessageType('TeraFlowController', (_message.Message,), { - 'DESCRIPTOR' : _TERAFLOWCONTROLLER, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TeraFlowController) - }) -_sym_db.RegisterMessage(TeraFlowController) - -AuthenticationResult = _reflection.GeneratedProtocolMessageType('AuthenticationResult', (_message.Message,), { - 'DESCRIPTOR' : _AUTHENTICATIONRESULT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.AuthenticationResult) - }) -_sym_db.RegisterMessage(AuthenticationResult) - - - -_CONTEXTSERVICE = _descriptor.ServiceDescriptor( - name='ContextService', - full_name='context.ContextService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=5273, - serialized_end=7688, - methods=[ - _descriptor.MethodDescriptor( - name='ListContextIds', - full_name='context.ContextService.ListContextIds', - index=0, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListContexts', - full_name='context.ContextService.ListContexts', - index=1, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetContext', - full_name='context.ContextService.GetContext', - index=2, - containing_service=None, - input_type=_CONTEXTID, - output_type=_CONTEXT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetContext', - full_name='context.ContextService.SetContext', - index=3, - containing_service=None, - input_type=_CONTEXT, - output_type=_CONTEXTID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveContext', - full_name='context.ContextService.RemoveContext', - index=4, - containing_service=None, - input_type=_CONTEXTID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetContextEvents', - full_name='context.ContextService.GetContextEvents', - index=5, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListTopologyIds', - full_name='context.ContextService.ListTopologyIds', - index=6, - containing_service=None, - input_type=_CONTEXTID, - output_type=_TOPOLOGYIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListTopologies', - full_name='context.ContextService.ListTopologies', - index=7, - containing_service=None, - input_type=_CONTEXTID, - output_type=_TOPOLOGYLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetTopology', - full_name='context.ContextService.GetTopology', - index=8, - containing_service=None, - input_type=_TOPOLOGYID, - output_type=_TOPOLOGY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetTopology', - full_name='context.ContextService.SetTopology', - index=9, - containing_service=None, - input_type=_TOPOLOGY, - output_type=_TOPOLOGYID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveTopology', - full_name='context.ContextService.RemoveTopology', - index=10, - containing_service=None, - input_type=_TOPOLOGYID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetTopologyEvents', - full_name='context.ContextService.GetTopologyEvents', - index=11, - containing_service=None, - input_type=_EMPTY, - output_type=_TOPOLOGYEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListDeviceIds', - full_name='context.ContextService.ListDeviceIds', - index=12, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListDevices', - full_name='context.ContextService.ListDevices', - index=13, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetDevice', - full_name='context.ContextService.GetDevice', - index=14, - containing_service=None, - input_type=_DEVICEID, - output_type=_DEVICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetDevice', - full_name='context.ContextService.SetDevice', - index=15, - containing_service=None, - input_type=_DEVICE, - output_type=_DEVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveDevice', - full_name='context.ContextService.RemoveDevice', - index=16, - containing_service=None, - input_type=_DEVICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetDeviceEvents', - full_name='context.ContextService.GetDeviceEvents', - index=17, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListLinkIds', - full_name='context.ContextService.ListLinkIds', - index=18, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListLinks', - full_name='context.ContextService.ListLinks', - index=19, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetLink', - full_name='context.ContextService.GetLink', - index=20, - containing_service=None, - input_type=_LINKID, - output_type=_LINK, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetLink', - full_name='context.ContextService.SetLink', - index=21, - containing_service=None, - input_type=_LINK, - output_type=_LINKID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveLink', - full_name='context.ContextService.RemoveLink', - index=22, - containing_service=None, - input_type=_LINKID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetLinkEvents', - full_name='context.ContextService.GetLinkEvents', - index=23, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListServiceIds', - full_name='context.ContextService.ListServiceIds', - index=24, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SERVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListServices', - full_name='context.ContextService.ListServices', - index=25, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SERVICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetService', - full_name='context.ContextService.GetService', - index=26, - containing_service=None, - input_type=_SERVICEID, - output_type=_SERVICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetService', - full_name='context.ContextService.SetService', - index=27, - containing_service=None, - input_type=_SERVICE, - output_type=_SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveService', - full_name='context.ContextService.RemoveService', - index=28, - containing_service=None, - input_type=_SERVICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetServiceEvents', - full_name='context.ContextService.GetServiceEvents', - index=29, - containing_service=None, - input_type=_EMPTY, - output_type=_SERVICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListSliceIds', - full_name='context.ContextService.ListSliceIds', - index=30, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SLICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListSlices', - full_name='context.ContextService.ListSlices', - index=31, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SLICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetSlice', - full_name='context.ContextService.GetSlice', - index=32, - containing_service=None, - input_type=_SLICEID, - output_type=_SLICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetSlice', - full_name='context.ContextService.SetSlice', - index=33, - containing_service=None, - input_type=_SLICE, - output_type=_SLICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveSlice', - full_name='context.ContextService.RemoveSlice', - index=34, - containing_service=None, - input_type=_SLICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetSliceEvents', - full_name='context.ContextService.GetSliceEvents', - index=35, - containing_service=None, - input_type=_EMPTY, - output_type=_SLICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListConnectionIds', - full_name='context.ContextService.ListConnectionIds', - index=36, - containing_service=None, - input_type=_SERVICEID, - output_type=_CONNECTIONIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListConnections', - full_name='context.ContextService.ListConnections', - index=37, - containing_service=None, - input_type=_SERVICEID, - output_type=_CONNECTIONLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnection', - full_name='context.ContextService.GetConnection', - index=38, - containing_service=None, - input_type=_CONNECTIONID, - output_type=_CONNECTION, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetConnection', - full_name='context.ContextService.SetConnection', - index=39, - containing_service=None, - input_type=_CONNECTION, - output_type=_CONNECTIONID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveConnection', - full_name='context.ContextService.RemoveConnection', - index=40, - containing_service=None, - input_type=_CONNECTIONID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnectionEvents', - full_name='context.ContextService.GetConnectionEvents', - index=41, - containing_service=None, - input_type=_EMPTY, - output_type=_CONNECTIONEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_CONTEXTSERVICE) - -DESCRIPTOR.services_by_name['ContextService'] = _CONTEXTSERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/context/proto/context_pb2_grpc.py b/src/context/proto/context_pb2_grpc.py deleted file mode 100644 index 8b30e91f318cc3113dd098803037a3b2871af9e2..0000000000000000000000000000000000000000 --- a/src/context/proto/context_pb2_grpc.py +++ /dev/null @@ -1,1419 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from . import context_pb2 as context__pb2 - - -class ContextServiceStub(object): - """Missing associated documentation comment in .proto file.""" - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.ListContextIds = channel.unary_unary( - '/context.ContextService/ListContextIds', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.ContextIdList.FromString, - ) - self.ListContexts = channel.unary_unary( - '/context.ContextService/ListContexts', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.ContextList.FromString, - ) - self.GetContext = channel.unary_unary( - '/context.ContextService/GetContext', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.Context.FromString, - ) - self.SetContext = channel.unary_unary( - '/context.ContextService/SetContext', - request_serializer=context__pb2.Context.SerializeToString, - response_deserializer=context__pb2.ContextId.FromString, - ) - self.RemoveContext = channel.unary_unary( - '/context.ContextService/RemoveContext', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetContextEvents = channel.unary_stream( - '/context.ContextService/GetContextEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.ContextEvent.FromString, - ) - self.ListTopologyIds = channel.unary_unary( - '/context.ContextService/ListTopologyIds', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.TopologyIdList.FromString, - ) - self.ListTopologies = channel.unary_unary( - '/context.ContextService/ListTopologies', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.TopologyList.FromString, - ) - self.GetTopology = channel.unary_unary( - '/context.ContextService/GetTopology', - request_serializer=context__pb2.TopologyId.SerializeToString, - response_deserializer=context__pb2.Topology.FromString, - ) - self.SetTopology = channel.unary_unary( - '/context.ContextService/SetTopology', - request_serializer=context__pb2.Topology.SerializeToString, - response_deserializer=context__pb2.TopologyId.FromString, - ) - self.RemoveTopology = channel.unary_unary( - '/context.ContextService/RemoveTopology', - request_serializer=context__pb2.TopologyId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetTopologyEvents = channel.unary_stream( - '/context.ContextService/GetTopologyEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.TopologyEvent.FromString, - ) - self.ListDeviceIds = channel.unary_unary( - '/context.ContextService/ListDeviceIds', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.DeviceIdList.FromString, - ) - self.ListDevices = channel.unary_unary( - '/context.ContextService/ListDevices', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.DeviceList.FromString, - ) - self.GetDevice = channel.unary_unary( - '/context.ContextService/GetDevice', - request_serializer=context__pb2.DeviceId.SerializeToString, - response_deserializer=context__pb2.Device.FromString, - ) - self.SetDevice = channel.unary_unary( - '/context.ContextService/SetDevice', - request_serializer=context__pb2.Device.SerializeToString, - response_deserializer=context__pb2.DeviceId.FromString, - ) - self.RemoveDevice = channel.unary_unary( - '/context.ContextService/RemoveDevice', - request_serializer=context__pb2.DeviceId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetDeviceEvents = channel.unary_stream( - '/context.ContextService/GetDeviceEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.DeviceEvent.FromString, - ) - self.ListLinkIds = channel.unary_unary( - '/context.ContextService/ListLinkIds', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.LinkIdList.FromString, - ) - self.ListLinks = channel.unary_unary( - '/context.ContextService/ListLinks', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.LinkList.FromString, - ) - self.GetLink = channel.unary_unary( - '/context.ContextService/GetLink', - request_serializer=context__pb2.LinkId.SerializeToString, - response_deserializer=context__pb2.Link.FromString, - ) - self.SetLink = channel.unary_unary( - '/context.ContextService/SetLink', - request_serializer=context__pb2.Link.SerializeToString, - response_deserializer=context__pb2.LinkId.FromString, - ) - self.RemoveLink = channel.unary_unary( - '/context.ContextService/RemoveLink', - request_serializer=context__pb2.LinkId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetLinkEvents = channel.unary_stream( - '/context.ContextService/GetLinkEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.LinkEvent.FromString, - ) - self.ListServiceIds = channel.unary_unary( - '/context.ContextService/ListServiceIds', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.ServiceIdList.FromString, - ) - self.ListServices = channel.unary_unary( - '/context.ContextService/ListServices', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.ServiceList.FromString, - ) - self.GetService = channel.unary_unary( - '/context.ContextService/GetService', - request_serializer=context__pb2.ServiceId.SerializeToString, - response_deserializer=context__pb2.Service.FromString, - ) - self.SetService = channel.unary_unary( - '/context.ContextService/SetService', - request_serializer=context__pb2.Service.SerializeToString, - response_deserializer=context__pb2.ServiceId.FromString, - ) - self.RemoveService = channel.unary_unary( - '/context.ContextService/RemoveService', - request_serializer=context__pb2.ServiceId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetServiceEvents = channel.unary_stream( - '/context.ContextService/GetServiceEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.ServiceEvent.FromString, - ) - self.ListSliceIds = channel.unary_unary( - '/context.ContextService/ListSliceIds', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.SliceIdList.FromString, - ) - self.ListSlices = channel.unary_unary( - '/context.ContextService/ListSlices', - request_serializer=context__pb2.ContextId.SerializeToString, - response_deserializer=context__pb2.SliceList.FromString, - ) - self.GetSlice = channel.unary_unary( - '/context.ContextService/GetSlice', - request_serializer=context__pb2.SliceId.SerializeToString, - response_deserializer=context__pb2.Slice.FromString, - ) - self.SetSlice = channel.unary_unary( - '/context.ContextService/SetSlice', - request_serializer=context__pb2.Slice.SerializeToString, - response_deserializer=context__pb2.SliceId.FromString, - ) - self.RemoveSlice = channel.unary_unary( - '/context.ContextService/RemoveSlice', - request_serializer=context__pb2.SliceId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetSliceEvents = channel.unary_stream( - '/context.ContextService/GetSliceEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.SliceEvent.FromString, - ) - self.ListConnectionIds = channel.unary_unary( - '/context.ContextService/ListConnectionIds', - request_serializer=context__pb2.ServiceId.SerializeToString, - response_deserializer=context__pb2.ConnectionIdList.FromString, - ) - self.ListConnections = channel.unary_unary( - '/context.ContextService/ListConnections', - request_serializer=context__pb2.ServiceId.SerializeToString, - response_deserializer=context__pb2.ConnectionList.FromString, - ) - self.GetConnection = channel.unary_unary( - '/context.ContextService/GetConnection', - request_serializer=context__pb2.ConnectionId.SerializeToString, - response_deserializer=context__pb2.Connection.FromString, - ) - self.SetConnection = channel.unary_unary( - '/context.ContextService/SetConnection', - request_serializer=context__pb2.Connection.SerializeToString, - response_deserializer=context__pb2.ConnectionId.FromString, - ) - self.RemoveConnection = channel.unary_unary( - '/context.ContextService/RemoveConnection', - request_serializer=context__pb2.ConnectionId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetConnectionEvents = channel.unary_stream( - '/context.ContextService/GetConnectionEvents', - request_serializer=context__pb2.Empty.SerializeToString, - response_deserializer=context__pb2.ConnectionEvent.FromString, - ) - - -class ContextServiceServicer(object): - """Missing associated documentation comment in .proto file.""" - - def ListContextIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListContexts(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetContext(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetContext(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveContext(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetContextEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListTopologyIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListTopologies(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTopology(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetTopology(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveTopology(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTopologyEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListDeviceIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListDevices(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetDevice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetDevice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveDevice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetDeviceEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListLinkIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListLinks(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetLink(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetLink(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveLink(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetLinkEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListServiceIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListServices(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetService(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetService(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveService(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetServiceEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListSliceIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListSlices(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetSlice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetSlice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveSlice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetSliceEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListConnectionIds(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListConnections(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetConnection(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SetConnection(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RemoveConnection(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetConnectionEvents(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_ContextServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'ListContextIds': grpc.unary_unary_rpc_method_handler( - servicer.ListContextIds, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.ContextIdList.SerializeToString, - ), - 'ListContexts': grpc.unary_unary_rpc_method_handler( - servicer.ListContexts, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.ContextList.SerializeToString, - ), - 'GetContext': grpc.unary_unary_rpc_method_handler( - servicer.GetContext, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.Context.SerializeToString, - ), - 'SetContext': grpc.unary_unary_rpc_method_handler( - servicer.SetContext, - request_deserializer=context__pb2.Context.FromString, - response_serializer=context__pb2.ContextId.SerializeToString, - ), - 'RemoveContext': grpc.unary_unary_rpc_method_handler( - servicer.RemoveContext, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetContextEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetContextEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.ContextEvent.SerializeToString, - ), - 'ListTopologyIds': grpc.unary_unary_rpc_method_handler( - servicer.ListTopologyIds, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.TopologyIdList.SerializeToString, - ), - 'ListTopologies': grpc.unary_unary_rpc_method_handler( - servicer.ListTopologies, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.TopologyList.SerializeToString, - ), - 'GetTopology': grpc.unary_unary_rpc_method_handler( - servicer.GetTopology, - request_deserializer=context__pb2.TopologyId.FromString, - response_serializer=context__pb2.Topology.SerializeToString, - ), - 'SetTopology': grpc.unary_unary_rpc_method_handler( - servicer.SetTopology, - request_deserializer=context__pb2.Topology.FromString, - response_serializer=context__pb2.TopologyId.SerializeToString, - ), - 'RemoveTopology': grpc.unary_unary_rpc_method_handler( - servicer.RemoveTopology, - request_deserializer=context__pb2.TopologyId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetTopologyEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetTopologyEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.TopologyEvent.SerializeToString, - ), - 'ListDeviceIds': grpc.unary_unary_rpc_method_handler( - servicer.ListDeviceIds, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.DeviceIdList.SerializeToString, - ), - 'ListDevices': grpc.unary_unary_rpc_method_handler( - servicer.ListDevices, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.DeviceList.SerializeToString, - ), - 'GetDevice': grpc.unary_unary_rpc_method_handler( - servicer.GetDevice, - request_deserializer=context__pb2.DeviceId.FromString, - response_serializer=context__pb2.Device.SerializeToString, - ), - 'SetDevice': grpc.unary_unary_rpc_method_handler( - servicer.SetDevice, - request_deserializer=context__pb2.Device.FromString, - response_serializer=context__pb2.DeviceId.SerializeToString, - ), - 'RemoveDevice': grpc.unary_unary_rpc_method_handler( - servicer.RemoveDevice, - request_deserializer=context__pb2.DeviceId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetDeviceEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetDeviceEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.DeviceEvent.SerializeToString, - ), - 'ListLinkIds': grpc.unary_unary_rpc_method_handler( - servicer.ListLinkIds, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.LinkIdList.SerializeToString, - ), - 'ListLinks': grpc.unary_unary_rpc_method_handler( - servicer.ListLinks, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.LinkList.SerializeToString, - ), - 'GetLink': grpc.unary_unary_rpc_method_handler( - servicer.GetLink, - request_deserializer=context__pb2.LinkId.FromString, - response_serializer=context__pb2.Link.SerializeToString, - ), - 'SetLink': grpc.unary_unary_rpc_method_handler( - servicer.SetLink, - request_deserializer=context__pb2.Link.FromString, - response_serializer=context__pb2.LinkId.SerializeToString, - ), - 'RemoveLink': grpc.unary_unary_rpc_method_handler( - servicer.RemoveLink, - request_deserializer=context__pb2.LinkId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetLinkEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetLinkEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.LinkEvent.SerializeToString, - ), - 'ListServiceIds': grpc.unary_unary_rpc_method_handler( - servicer.ListServiceIds, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.ServiceIdList.SerializeToString, - ), - 'ListServices': grpc.unary_unary_rpc_method_handler( - servicer.ListServices, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.ServiceList.SerializeToString, - ), - 'GetService': grpc.unary_unary_rpc_method_handler( - servicer.GetService, - request_deserializer=context__pb2.ServiceId.FromString, - response_serializer=context__pb2.Service.SerializeToString, - ), - 'SetService': grpc.unary_unary_rpc_method_handler( - servicer.SetService, - request_deserializer=context__pb2.Service.FromString, - response_serializer=context__pb2.ServiceId.SerializeToString, - ), - 'RemoveService': grpc.unary_unary_rpc_method_handler( - servicer.RemoveService, - request_deserializer=context__pb2.ServiceId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetServiceEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetServiceEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.ServiceEvent.SerializeToString, - ), - 'ListSliceIds': grpc.unary_unary_rpc_method_handler( - servicer.ListSliceIds, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.SliceIdList.SerializeToString, - ), - 'ListSlices': grpc.unary_unary_rpc_method_handler( - servicer.ListSlices, - request_deserializer=context__pb2.ContextId.FromString, - response_serializer=context__pb2.SliceList.SerializeToString, - ), - 'GetSlice': grpc.unary_unary_rpc_method_handler( - servicer.GetSlice, - request_deserializer=context__pb2.SliceId.FromString, - response_serializer=context__pb2.Slice.SerializeToString, - ), - 'SetSlice': grpc.unary_unary_rpc_method_handler( - servicer.SetSlice, - request_deserializer=context__pb2.Slice.FromString, - response_serializer=context__pb2.SliceId.SerializeToString, - ), - 'RemoveSlice': grpc.unary_unary_rpc_method_handler( - servicer.RemoveSlice, - request_deserializer=context__pb2.SliceId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetSliceEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetSliceEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.SliceEvent.SerializeToString, - ), - 'ListConnectionIds': grpc.unary_unary_rpc_method_handler( - servicer.ListConnectionIds, - request_deserializer=context__pb2.ServiceId.FromString, - response_serializer=context__pb2.ConnectionIdList.SerializeToString, - ), - 'ListConnections': grpc.unary_unary_rpc_method_handler( - servicer.ListConnections, - request_deserializer=context__pb2.ServiceId.FromString, - response_serializer=context__pb2.ConnectionList.SerializeToString, - ), - 'GetConnection': grpc.unary_unary_rpc_method_handler( - servicer.GetConnection, - request_deserializer=context__pb2.ConnectionId.FromString, - response_serializer=context__pb2.Connection.SerializeToString, - ), - 'SetConnection': grpc.unary_unary_rpc_method_handler( - servicer.SetConnection, - request_deserializer=context__pb2.Connection.FromString, - response_serializer=context__pb2.ConnectionId.SerializeToString, - ), - 'RemoveConnection': grpc.unary_unary_rpc_method_handler( - servicer.RemoveConnection, - request_deserializer=context__pb2.ConnectionId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetConnectionEvents': grpc.unary_stream_rpc_method_handler( - servicer.GetConnectionEvents, - request_deserializer=context__pb2.Empty.FromString, - response_serializer=context__pb2.ConnectionEvent.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'context.ContextService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class ContextService(object): - """Missing associated documentation comment in .proto file.""" - - @staticmethod - def ListContextIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListContextIds', - context__pb2.Empty.SerializeToString, - context__pb2.ContextIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListContexts(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListContexts', - context__pb2.Empty.SerializeToString, - context__pb2.ContextList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetContext(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetContext', - context__pb2.ContextId.SerializeToString, - context__pb2.Context.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetContext(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetContext', - context__pb2.Context.SerializeToString, - context__pb2.ContextId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveContext(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveContext', - context__pb2.ContextId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetContextEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetContextEvents', - context__pb2.Empty.SerializeToString, - context__pb2.ContextEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListTopologyIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListTopologyIds', - context__pb2.ContextId.SerializeToString, - context__pb2.TopologyIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListTopologies(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListTopologies', - context__pb2.ContextId.SerializeToString, - context__pb2.TopologyList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetTopology(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetTopology', - context__pb2.TopologyId.SerializeToString, - context__pb2.Topology.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetTopology(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetTopology', - context__pb2.Topology.SerializeToString, - context__pb2.TopologyId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveTopology(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveTopology', - context__pb2.TopologyId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetTopologyEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetTopologyEvents', - context__pb2.Empty.SerializeToString, - context__pb2.TopologyEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListDeviceIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListDeviceIds', - context__pb2.Empty.SerializeToString, - context__pb2.DeviceIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListDevices(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListDevices', - context__pb2.Empty.SerializeToString, - context__pb2.DeviceList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetDevice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetDevice', - context__pb2.DeviceId.SerializeToString, - context__pb2.Device.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetDevice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetDevice', - context__pb2.Device.SerializeToString, - context__pb2.DeviceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveDevice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveDevice', - context__pb2.DeviceId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetDeviceEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetDeviceEvents', - context__pb2.Empty.SerializeToString, - context__pb2.DeviceEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListLinkIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListLinkIds', - context__pb2.Empty.SerializeToString, - context__pb2.LinkIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListLinks(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListLinks', - context__pb2.Empty.SerializeToString, - context__pb2.LinkList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetLink(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetLink', - context__pb2.LinkId.SerializeToString, - context__pb2.Link.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetLink(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetLink', - context__pb2.Link.SerializeToString, - context__pb2.LinkId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveLink(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveLink', - context__pb2.LinkId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetLinkEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetLinkEvents', - context__pb2.Empty.SerializeToString, - context__pb2.LinkEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListServiceIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListServiceIds', - context__pb2.ContextId.SerializeToString, - context__pb2.ServiceIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListServices(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListServices', - context__pb2.ContextId.SerializeToString, - context__pb2.ServiceList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetService(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetService', - context__pb2.ServiceId.SerializeToString, - context__pb2.Service.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetService(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetService', - context__pb2.Service.SerializeToString, - context__pb2.ServiceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveService(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveService', - context__pb2.ServiceId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetServiceEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetServiceEvents', - context__pb2.Empty.SerializeToString, - context__pb2.ServiceEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListSliceIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListSliceIds', - context__pb2.ContextId.SerializeToString, - context__pb2.SliceIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListSlices(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListSlices', - context__pb2.ContextId.SerializeToString, - context__pb2.SliceList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetSlice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetSlice', - context__pb2.SliceId.SerializeToString, - context__pb2.Slice.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetSlice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetSlice', - context__pb2.Slice.SerializeToString, - context__pb2.SliceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveSlice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveSlice', - context__pb2.SliceId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetSliceEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetSliceEvents', - context__pb2.Empty.SerializeToString, - context__pb2.SliceEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListConnectionIds(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListConnectionIds', - context__pb2.ServiceId.SerializeToString, - context__pb2.ConnectionIdList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListConnections(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/ListConnections', - context__pb2.ServiceId.SerializeToString, - context__pb2.ConnectionList.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetConnection(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/GetConnection', - context__pb2.ConnectionId.SerializeToString, - context__pb2.Connection.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def SetConnection(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/SetConnection', - context__pb2.Connection.SerializeToString, - context__pb2.ConnectionId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def RemoveConnection(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/context.ContextService/RemoveConnection', - context__pb2.ConnectionId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetConnectionEvents(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_stream(request, target, '/context.ContextService/GetConnectionEvents', - context__pb2.Empty.SerializeToString, - context__pb2.ConnectionEvent.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/context/proto/kpi_sample_types_pb2.py b/src/context/proto/kpi_sample_types_pb2.py deleted file mode 100644 index ea7fd2f82757d4c3db02d7e2c7817e2787b0b490..0000000000000000000000000000000000000000 --- a/src/context/proto/kpi_sample_types_pb2.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: kpi_sample_types.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='kpi_sample_types.proto', - package='kpi_sample_types', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x16kpi_sample_types.proto\x12\x10kpi_sample_types*\xbe\x01\n\rKpiSampleType\x12\x19\n\x15KPISAMPLETYPE_UNKNOWN\x10\x00\x12%\n!KPISAMPLETYPE_PACKETS_TRANSMITTED\x10\x65\x12\"\n\x1eKPISAMPLETYPE_PACKETS_RECEIVED\x10\x66\x12$\n\x1fKPISAMPLETYPE_BYTES_TRANSMITTED\x10\xc9\x01\x12!\n\x1cKPISAMPLETYPE_BYTES_RECEIVED\x10\xca\x01\x62\x06proto3' -) - -_KPISAMPLETYPE = _descriptor.EnumDescriptor( - name='KpiSampleType', - full_name='kpi_sample_types.KpiSampleType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_UNKNOWN', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_PACKETS_TRANSMITTED', index=1, number=101, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_PACKETS_RECEIVED', index=2, number=102, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_BYTES_TRANSMITTED', index=3, number=201, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_BYTES_RECEIVED', index=4, number=202, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=45, - serialized_end=235, -) -_sym_db.RegisterEnumDescriptor(_KPISAMPLETYPE) - -KpiSampleType = enum_type_wrapper.EnumTypeWrapper(_KPISAMPLETYPE) -KPISAMPLETYPE_UNKNOWN = 0 -KPISAMPLETYPE_PACKETS_TRANSMITTED = 101 -KPISAMPLETYPE_PACKETS_RECEIVED = 102 -KPISAMPLETYPE_BYTES_TRANSMITTED = 201 -KPISAMPLETYPE_BYTES_RECEIVED = 202 - - -DESCRIPTOR.enum_types_by_name['KpiSampleType'] = _KPISAMPLETYPE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - -# @@protoc_insertion_point(module_scope) diff --git a/src/context/requirements.in b/src/context/requirements.in index 4c32f5c71c828a57ceeb90f2739e3b551c99abfe..9cc7e71f2428fbb42693f47c911340e5f3f2dbc1 100644 --- a/src/context/requirements.in +++ b/src/context/requirements.in @@ -1,11 +1,4 @@ -Flask==2.0.2 +Flask==2.1.3 Flask-RESTful==0.3.9 -grpcio==1.43.0 -grpcio-health-checking==1.43.0 -prometheus-client==0.13.0 -protobuf==3.19.3 -pytest==6.2.5 -pytest-benchmark==3.4.1 redis==4.1.2 requests==2.27.1 -coverage==6.3 diff --git a/src/context/requirements.txt b/src/context/requirements.txt deleted file mode 100644 index 1f0e17131268493dc57951701dba86aba0fffd92..0000000000000000000000000000000000000000 --- a/src/context/requirements.txt +++ /dev/null @@ -1,72 +0,0 @@ -# -# This file is autogenerated by pip-compile with python 3.9 -# To update, run: -# -# pip-compile src/context/requirements.in -# -aniso8601==9.0.1 - # via flask-restful -attrs==21.2.0 - # via pytest -certifi==2021.5.30 - # via requests -charset-normalizer==2.0.6 - # via requests -click==8.0.1 - # via flask -flask==2.0.1 - # via flask-restful -flask-restful==0.3.9 - # via -r src/context/requirements.in -grpcio==1.41.0 - # via - # -r src/context/requirements.in - # grpcio-health-checking -grpcio-health-checking==1.41.0 - # via -r src/context/requirements.in -idna==3.2 - # via requests -iniconfig==1.1.1 - # via pytest -itsdangerous==2.0.1 - # via flask -jinja2==3.0.1 - # via flask -markupsafe==2.0.1 - # via jinja2 -packaging==21.0 - # via pytest -pluggy==1.0.0 - # via pytest -prometheus-client==0.11.0 - # via -r src/context/requirements.in -protobuf==3.18.0 - # via grpcio-health-checking -py==1.10.0 - # via pytest -py-cpuinfo==8.0.0 - # via pytest-benchmark -pyparsing==2.4.7 - # via packaging -pytest==6.2.5 - # via - # -r src/context/requirements.in - # pytest-benchmark -pytest-benchmark==3.4.1 - # via -r src/context/requirements.in -pytz==2021.1 - # via flask-restful -redis==3.5.3 - # via -r src/context/requirements.in -requests==2.26.0 - # via -r src/context/requirements.in -six==1.16.0 - # via - # flask-restful - # grpcio -toml==0.10.2 - # via pytest -urllib3==1.26.7 - # via requests -werkzeug==2.0.1 - # via flask diff --git a/src/context/service/Populate.py b/src/context/service/Populate.py index f4630182d864a891095caa6689dde9f656ea1c0e..ffb739988d163d30e9426da54b990f66015e70a1 100644 --- a/src/context/service/Populate.py +++ b/src/context/service/Populate.py @@ -13,15 +13,15 @@ # limitations under the License. import copy +from common.proto.context_pb2 import Connection, Context, Device, Link, Service, Topology from context.client.ContextClient import ContextClient -from context.proto.context_pb2 import Connection, Context, Device, Link, Service, Topology from context.tests.Objects import ( CONNECTION_R1_R3, CONTEXT, TOPOLOGY, DEVICE_R1, DEVICE_R1_ID, DEVICE_R2, DEVICE_R2_ID, DEVICE_R3, DEVICE_R3_ID, LINK_R1_R2, LINK_R1_R2_ID, LINK_R1_R3, LINK_R1_R3_ID, LINK_R2_R3, LINK_R2_R3_ID, SERVICE_R1_R2, SERVICE_R1_R3, SERVICE_R2_R3) -def populate(address, port): - client = ContextClient(address=address, port=port) +def populate(host=None, port=None): + client = ContextClient(host=host, port=port) client.SetContext(Context(**CONTEXT)) client.SetTopology(Topology(**TOPOLOGY)) diff --git a/src/context/service/__main__.py b/src/context/service/__main__.py index 180a1f44cb6a37b487e6bce0a13706952ff73bc2..dfd0c8773b6a7d2dea7bafa12c12018d62b7cdb8 100644 --- a/src/context/service/__main__.py +++ b/src/context/service/__main__.py @@ -14,17 +14,15 @@ import logging, signal, sys, threading from prometheus_client import start_http_server -from common.Settings import get_setting +from common.Settings import get_log_level, get_metrics_port, get_setting from common.orm.Database import Database from common.orm.Factory import get_database_backend from common.message_broker.Factory import get_messagebroker_backend from common.message_broker.MessageBroker import MessageBroker -from context.Config import ( - GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD, LOG_LEVEL, POPULATE_FAKE_DATA, RESTAPI_SERVICE_PORT, - RESTAPI_BASE_URL, METRICS_PORT) +from context.Config import POPULATE_FAKE_DATA from .grpc_server.ContextService import ContextService from .rest_server.Resources import RESOURCES -from .rest_server.Server import Server +from .rest_server.RestServer import RestServer from .Populate import populate terminate = threading.Event() @@ -37,17 +35,8 @@ def signal_handler(signal, frame): # pylint: disable=redefined-outer-name def main(): global LOGGER # pylint: disable=global-statement - grpc_service_port = get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC', default=GRPC_SERVICE_PORT ) - max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS ) - grace_period = get_setting('GRACE_PERIOD', default=GRPC_GRACE_PERIOD ) - log_level = get_setting('LOG_LEVEL', default=LOG_LEVEL ) - restapi_service_port = get_setting('CONTEXTSERVICE_SERVICE_PORT_HTTP', default=RESTAPI_SERVICE_PORT) - restapi_base_url = get_setting('RESTAPI_BASE_URL', default=RESTAPI_BASE_URL ) - metrics_port = get_setting('METRICS_PORT', default=METRICS_PORT ) - populate_fake_data = get_setting('POPULATE_FAKE_DATA', default=POPULATE_FAKE_DATA ) - if isinstance(populate_fake_data, str): populate_fake_data = (populate_fake_data.upper() in {'T', '1', 'TRUE'}) - - logging.basicConfig(level=log_level) + log_level = get_log_level() + logging.basicConfig(level=log_level, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") LOGGER = logging.getLogger(__name__) signal.signal(signal.SIGINT, signal_handler) @@ -56,6 +45,7 @@ def main(): LOGGER.info('Starting...') # Start metrics server + metrics_port = get_metrics_port() start_http_server(metrics_port) # Get database instance @@ -65,18 +55,19 @@ def main(): messagebroker = MessageBroker(get_messagebroker_backend()) # Starting context service - grpc_service = ContextService( - database, messagebroker, port=grpc_service_port, max_workers=max_workers, grace_period=grace_period) + grpc_service = ContextService(database, messagebroker) grpc_service.start() - rest_server = Server(port=restapi_service_port, base_url=restapi_base_url) + rest_server = RestServer() for endpoint_name, resource_class, resource_url in RESOURCES: rest_server.add_resource(resource_class, resource_url, endpoint=endpoint_name, resource_class_args=(database,)) rest_server.start() + populate_fake_data = get_setting('POPULATE_FAKE_DATA', default=POPULATE_FAKE_DATA) + if isinstance(populate_fake_data, str): populate_fake_data = (populate_fake_data.upper() in {'T', '1', 'TRUE'}) if populate_fake_data: LOGGER.info('Populating fake data...') - populate('127.0.0.1', grpc_service_port) + populate(host='127.0.0.1', port=grpc_service.bind_port) LOGGER.info('Fake Data populated') # Wait for Ctrl+C or termination signal diff --git a/src/context/service/database/ConfigModel.py b/src/context/service/database/ConfigModel.py index 234e155f026164c14924b67a33a4db4812bae620..5c6ef0079a03116d4f67519440d93185b94f2969 100644 --- a/src/context/service/database/ConfigModel.py +++ b/src/context/service/database/ConfigModel.py @@ -12,9 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -import functools, logging, operator +import functools, json, logging, operator from enum import Enum -from typing import Dict, List, Optional, Tuple, Union +from typing import Dict, List, Optional, Tuple, Type, Union from common.orm.Database import Database from common.orm.HighLevel import get_object, get_or_create_object, update_or_create_object from common.orm.backend.Tools import key_to_str @@ -24,7 +24,9 @@ from common.orm.fields.IntegerField import IntegerField from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model -from context.proto.context_pb2 import ConfigActionEnum +from common.proto.context_pb2 import ConfigActionEnum, ConfigRule +from common.tools.grpc.Tools import grpc_message_to_json_string +#from .EndPointModel import EndPointModel, get_endpoint from .Tools import fast_hasher, grpc_to_enum, remove_dict_key LOGGER = logging.getLogger(__name__) @@ -40,86 +42,187 @@ grpc_to_enum__config_action = functools.partial( class ConfigModel(Model): # pylint: disable=abstract-method pk = PrimaryKeyField() + def delete(self) -> None: + db_config_rule_pks = self.references(ConfigRuleModel) + for pk,_ in db_config_rule_pks: ConfigRuleModel(self.database, pk).delete() + super().delete() + def dump(self) -> List[Dict]: db_config_rule_pks = self.references(ConfigRuleModel) config_rules = [ConfigRuleModel(self.database, pk).dump(include_position=True) for pk,_ in db_config_rule_pks] config_rules = sorted(config_rules, key=operator.itemgetter('position')) return [remove_dict_key(config_rule, 'position') for config_rule in config_rules] +class ConfigRuleCustomModel(Model): # pylint: disable=abstract-method + key = StringField(required=True, allow_empty=False) + value = StringField(required=True, allow_empty=False) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + return {'custom': {'resource_key': self.key, 'resource_value': self.value}} + +class ConfigRuleAclModel(Model): # pylint: disable=abstract-method + # TODO: improve definition of fields in ConfigRuleAclModel + # To simplify, endpoint encoded as JSON-string directly; otherwise causes circular dependencies + #endpoint_fk = ForeignKeyField(EndPointModel) + endpoint_id = StringField(required=True, allow_empty=False) + # To simplify, ACL rule is encoded as a JSON-string directly + acl_data = StringField(required=True, allow_empty=False) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + #json_endpoint_id = EndPointModel(self.database, self.endpoint_fk).dump_id() + json_endpoint_id = json.loads(self.endpoint_id) + json_acl_rule_set = json.loads(self.acl_data) + return {'acl': {'endpoint_id': json_endpoint_id, 'rule_set': json_acl_rule_set}} + +# enum values should match name of field in ConfigRuleModel +class ConfigRuleKindEnum(Enum): + CUSTOM = 'custom' + ACL = 'acl' + +Union_SpecificConfigRule = Union[ + ConfigRuleCustomModel, ConfigRuleAclModel +] + class ConfigRuleModel(Model): # pylint: disable=abstract-method pk = PrimaryKeyField() config_fk = ForeignKeyField(ConfigModel) + kind = EnumeratedField(ConfigRuleKindEnum) position = IntegerField(min_value=0, required=True) action = EnumeratedField(ORM_ConfigActionEnum, required=True) - key = StringField(required=True, allow_empty=False) - value = StringField(required=True, allow_empty=False) + config_rule_custom_fk = ForeignKeyField(ConfigRuleCustomModel, required=False) + config_rule_acl_fk = ForeignKeyField(ConfigRuleAclModel, required=False) + + def delete(self) -> None: + field_name = 'config_rule_{:s}_fk'.format(str(self.kind.value)) + specific_fk_value : Optional[ForeignKeyField] = getattr(self, field_name, None) + if specific_fk_value is None: + raise Exception('Unable to find config_rule key for field_name({:s})'.format(field_name)) + specific_fk_class = getattr(ConfigRuleModel, field_name, None) + foreign_model_class : Model = specific_fk_class.foreign_model + super().delete() + get_object(self.database, foreign_model_class, str(specific_fk_value)).delete() def dump(self, include_position=True) -> Dict: # pylint: disable=arguments-differ - result = { - 'action': self.action.value, - 'resource_key': self.key, - 'resource_value': self.value, - } + field_name = 'config_rule_{:s}_fk'.format(str(self.kind.value)) + specific_fk_value : Optional[ForeignKeyField] = getattr(self, field_name, None) + if specific_fk_value is None: + raise Exception('Unable to find config_rule key for field_name({:s})'.format(field_name)) + specific_fk_class = getattr(ConfigRuleModel, field_name, None) + foreign_model_class : Model = specific_fk_class.foreign_model + config_rule : Union_SpecificConfigRule = get_object(self.database, foreign_model_class, str(specific_fk_value)) + result = config_rule.dump() + result['action'] = self.action.value if include_position: result['position'] = self.position return result +Tuple_ConfigRuleSpecs = Tuple[Type, str, Dict, ConfigRuleKindEnum] + +def parse_config_rule_custom(database : Database, grpc_config_rule) -> Tuple_ConfigRuleSpecs: + config_rule_class = ConfigRuleCustomModel + str_config_rule_id = grpc_config_rule.custom.resource_key + config_rule_data = { + 'key' : grpc_config_rule.custom.resource_key, + 'value': grpc_config_rule.custom.resource_value, + } + return config_rule_class, str_config_rule_id, config_rule_data, ConfigRuleKindEnum.CUSTOM + +def parse_config_rule_acl(database : Database, grpc_config_rule) -> Tuple_ConfigRuleSpecs: + config_rule_class = ConfigRuleAclModel + grpc_endpoint_id = grpc_config_rule.acl.endpoint_id + grpc_rule_set = grpc_config_rule.acl.rule_set + device_uuid = grpc_endpoint_id.device_id.device_uuid.uuid + endpoint_uuid = grpc_endpoint_id.endpoint_uuid.uuid + str_endpoint_key = '/'.join([device_uuid, endpoint_uuid]) + #str_endpoint_key, db_endpoint = get_endpoint(database, grpc_endpoint_id) + str_config_rule_id = ':'.join([str_endpoint_key, grpc_rule_set.name]) + config_rule_data = { + #'endpoint_fk': db_endpoint, + 'endpoint_id': grpc_message_to_json_string(grpc_endpoint_id), + 'acl_data': grpc_message_to_json_string(grpc_rule_set), + } + return config_rule_class, str_config_rule_id, config_rule_data, ConfigRuleKindEnum.ACL + +CONFIGRULE_PARSERS = { + 'custom': parse_config_rule_custom, + 'acl' : parse_config_rule_acl, +} + +Union_ConfigRuleModel = Union[ + ConfigRuleCustomModel, ConfigRuleAclModel, +] + def set_config_rule( - database : Database, db_config : ConfigModel, position : int, resource_key : str, resource_value : str - ) -> Tuple[ConfigRuleModel, bool]: - - str_rule_key_hash = fast_hasher(resource_key) - str_config_rule_key = key_to_str([db_config.pk, str_rule_key_hash], separator=':') - result : Tuple[ConfigRuleModel, bool] = update_or_create_object(database, ConfigRuleModel, str_config_rule_key, { - 'config_fk': db_config, 'position': position, 'action': ORM_ConfigActionEnum.SET, - 'key': resource_key, 'value': resource_value}) + database : Database, db_config : ConfigModel, grpc_config_rule : ConfigRule, position : int +) -> Tuple[Union_ConfigRuleModel, bool]: + grpc_config_rule_kind = str(grpc_config_rule.WhichOneof('config_rule')) + parser = CONFIGRULE_PARSERS.get(grpc_config_rule_kind) + if parser is None: + raise NotImplementedError('ConfigRule of kind {:s} is not implemented: {:s}'.format( + grpc_config_rule_kind, grpc_message_to_json_string(grpc_config_rule))) + + # create specific ConfigRule + config_rule_class, str_config_rule_id, config_rule_data, config_rule_kind = parser(database, grpc_config_rule) + str_config_rule_key_hash = fast_hasher(':'.join([config_rule_kind.value, str_config_rule_id])) + str_config_rule_key = key_to_str([db_config.pk, str_config_rule_key_hash], separator=':') + result : Tuple[Union_ConfigRuleModel, bool] = update_or_create_object( + database, config_rule_class, str_config_rule_key, config_rule_data) + db_specific_config_rule, updated = result + + # create generic ConfigRule + config_rule_fk_field_name = 'config_rule_{:s}_fk'.format(config_rule_kind.value) + config_rule_data = { + 'config_fk': db_config, 'kind': config_rule_kind, 'position': position, + 'action': ORM_ConfigActionEnum.SET, + config_rule_fk_field_name: db_specific_config_rule + } + result : Tuple[ConfigRuleModel, bool] = update_or_create_object( + database, ConfigRuleModel, str_config_rule_key, config_rule_data) db_config_rule, updated = result + return db_config_rule, updated def delete_config_rule( - database : Database, db_config : ConfigModel, resource_key : str - ) -> None: - - str_rule_key_hash = fast_hasher(resource_key) - str_config_rule_key = key_to_str([db_config.pk, str_rule_key_hash], separator=':') + database : Database, db_config : ConfigModel, grpc_config_rule : ConfigRule +) -> None: + grpc_config_rule_kind = str(grpc_config_rule.WhichOneof('config_rule')) + parser = CONFIGRULE_PARSERS.get(grpc_config_rule_kind) + if parser is None: + raise NotImplementedError('ConfigRule of kind {:s} is not implemented: {:s}'.format( + grpc_config_rule_kind, grpc_message_to_json_string(grpc_config_rule))) + + # delete generic config rules; self deletes specific config rule + _, str_config_rule_id, _, config_rule_kind = parser(database, grpc_config_rule) + str_config_rule_key_hash = fast_hasher(':'.join([config_rule_kind.value, str_config_rule_id])) + str_config_rule_key = key_to_str([db_config.pk, str_config_rule_key_hash], separator=':') db_config_rule : Optional[ConfigRuleModel] = get_object( database, ConfigRuleModel, str_config_rule_key, raise_if_not_found=False) if db_config_rule is None: return db_config_rule.delete() -def delete_all_config_rules( - database : Database, db_config : ConfigModel - ) -> None: - - db_config_rule_pks = db_config.references(ConfigRuleModel) - for pk,_ in db_config_rule_pks: ConfigRuleModel(database, pk).delete() - -def grpc_config_rules_to_raw(grpc_config_rules) -> List[Tuple[ORM_ConfigActionEnum, str, str]]: - def translate(grpc_config_rule): - action = grpc_to_enum__config_action(grpc_config_rule.action) - return action, grpc_config_rule.resource_key, grpc_config_rule.resource_value - return [translate(grpc_config_rule) for grpc_config_rule in grpc_config_rules] - def update_config( - database : Database, db_parent_pk : str, config_name : str, - raw_config_rules : List[Tuple[ORM_ConfigActionEnum, str, str]] - ) -> List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]]: + database : Database, db_parent_pk : str, config_name : str, grpc_config_rules +) -> List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]]: - str_config_key = key_to_str([db_parent_pk, config_name], separator=':') + str_config_key = key_to_str([config_name, db_parent_pk], separator=':') result : Tuple[ConfigModel, bool] = get_or_create_object(database, ConfigModel, str_config_key) db_config, created = result - db_objects : List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]] = [(db_config, created)] + db_objects = [(db_config, created)] + + for position,grpc_config_rule in enumerate(grpc_config_rules): + action = grpc_to_enum__config_action(grpc_config_rule.action) - for position,(action, resource_key, resource_value) in enumerate(raw_config_rules): if action == ORM_ConfigActionEnum.SET: result : Tuple[ConfigRuleModel, bool] = set_config_rule( - database, db_config, position, resource_key, resource_value) + database, db_config, grpc_config_rule, position) db_config_rule, updated = result db_objects.append((db_config_rule, updated)) elif action == ORM_ConfigActionEnum.DELETE: - delete_config_rule(database, db_config, resource_key) + delete_config_rule(database, db_config, grpc_config_rule) else: - msg = 'Unsupported action({:s}) for resource_key({:s})/resource_value({:s})' - raise AttributeError(msg.format(str(ConfigActionEnum.Name(action)), str(resource_key), str(resource_value))) + msg = 'Unsupported Action({:s}) for ConfigRule({:s})' + str_action = str(ConfigActionEnum.Name(action)) + str_config_rule = grpc_message_to_json_string(grpc_config_rule) + raise AttributeError(msg.format(str_action, str_config_rule)) return db_objects diff --git a/src/context/service/database/ConnectionModel.py b/src/context/service/database/ConnectionModel.py index dfcab3f8a7f9adf5e0c5773d3672922157d1f2dd..4cbed43a40f3538633216f09060f8a2483fe5e1f 100644 --- a/src/context/service/database/ConnectionModel.py +++ b/src/context/service/database/ConnectionModel.py @@ -22,7 +22,7 @@ from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model from common.orm.HighLevel import get_object, get_or_create_object, get_related_objects, update_or_create_object -from context.proto.context_pb2 import EndPointId +from common.proto.context_pb2 import EndPointId from .EndPointModel import EndPointModel from .ServiceModel import ServiceModel from .Tools import remove_dict_key @@ -32,6 +32,11 @@ LOGGER = logging.getLogger(__name__) class PathModel(Model): # pylint: disable=abstract-method pk = PrimaryKeyField() + def delete(self) -> None: + for db_path_hop_pk,_ in self.references(PathHopModel): + PathHopModel(self.database, db_path_hop_pk).delete() + super().delete() + def dump(self) -> List[Dict]: db_path_hop_pks = self.references(PathHopModel) path_hops = [PathHopModel(self.database, pk).dump(include_position=True) for pk,_ in db_path_hop_pks] @@ -56,6 +61,18 @@ class ConnectionModel(Model): service_fk = ForeignKeyField(ServiceModel, required=False) path_fk = ForeignKeyField(PathModel, required=True) + def delete(self) -> None: + # pylint: disable=import-outside-toplevel + from .RelationModels import ConnectionSubServiceModel + + # Do not remove sub-services automatically. They are supported by real services, so Service component should + # deal with the correct removal workflow to deconfigure the devices. + for db_connection_sub_service_pk,_ in self.references(ConnectionSubServiceModel): + ConnectionSubServiceModel(self.database, db_connection_sub_service_pk).delete() + + super().delete() + PathModel(self.database, self.path_fk).delete() + def dump_id(self) -> Dict: return { 'connection_uuid': {'uuid': self.connection_uuid}, @@ -108,7 +125,7 @@ def set_path( str_path_key = connection_uuid if len(path_name) == 0 else key_to_str([connection_uuid, path_name], separator=':') result : Tuple[PathModel, bool] = get_or_create_object(database, PathModel, str_path_key) - db_path, created = result + db_path, created = result # pylint: disable=unused-variable db_path_hop_pks : Set[str] = set(map(operator.itemgetter(0), db_path.references(PathHopModel))) db_objects : List[Tuple[Union[PathModel, PathHopModel], bool]] = [db_path] @@ -127,7 +144,7 @@ def set_path( db_endpoint : EndPointModel = get_object(database, EndPointModel, str_endpoint_key) result : Tuple[PathHopModel, bool] = set_path_hop(database, db_path, position, db_endpoint) - db_path_hop, updated = result + db_path_hop, updated = result # pylint: disable=unused-variable db_objects.append(db_path_hop) db_path_hop_pks.discard(db_path_hop.instance_key) diff --git a/src/context/service/database/ConstraintModel.py b/src/context/service/database/ConstraintModel.py index 6cd8b31fac64d10f0d11f9b1d5abd3bda1bc049e..449dcedeeaf10686ece58607d3a5fa4f4bf6a070 100644 --- a/src/context/service/database/ConstraintModel.py +++ b/src/context/service/database/ConstraintModel.py @@ -13,72 +13,233 @@ # limitations under the License. import logging, operator -from typing import Dict, List, Tuple, Union +from enum import Enum +from typing import Dict, List, Optional, Tuple, Type, Union from common.orm.Database import Database -from common.orm.HighLevel import get_or_create_object, update_or_create_object +from common.orm.HighLevel import get_object, get_or_create_object, update_or_create_object from common.orm.backend.Tools import key_to_str +from common.orm.fields.BooleanField import BooleanField +from common.orm.fields.EnumeratedField import EnumeratedField +from common.orm.fields.FloatField import FloatField from common.orm.fields.ForeignKeyField import ForeignKeyField from common.orm.fields.IntegerField import IntegerField from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model -from context.proto.context_pb2 import Constraint -from context.service.database.Tools import fast_hasher, remove_dict_key +from common.proto.context_pb2 import Constraint +from common.tools.grpc.Tools import grpc_message_to_json_string +from .EndPointModel import EndPointModel, get_endpoint +from .Tools import fast_hasher, remove_dict_key LOGGER = logging.getLogger(__name__) class ConstraintsModel(Model): # pylint: disable=abstract-method pk = PrimaryKeyField() + def delete(self) -> None: + db_constraint_pks = self.references(ConstraintModel) + for pk,_ in db_constraint_pks: ConstraintModel(self.database, pk).delete() + super().delete() + def dump(self) -> List[Dict]: db_constraint_pks = self.references(ConstraintModel) constraints = [ConstraintModel(self.database, pk).dump(include_position=True) for pk,_ in db_constraint_pks] constraints = sorted(constraints, key=operator.itemgetter('position')) return [remove_dict_key(constraint, 'position') for constraint in constraints] +class ConstraintCustomModel(Model): # pylint: disable=abstract-method + constraint_type = StringField(required=True, allow_empty=False) + constraint_value = StringField(required=True, allow_empty=False) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + return {'custom': {'constraint_type': self.constraint_type, 'constraint_value': self.constraint_value}} + +class ConstraintEndpointLocationRegionModel(Model): # pylint: disable=abstract-method + endpoint_fk = ForeignKeyField(EndPointModel) + region = StringField(required=True, allow_empty=False) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + json_endpoint_id = EndPointModel(self.database, self.endpoint_fk).dump_id() + return {'endpoint_location': {'endpoint_id': json_endpoint_id, 'location': {'region': self.region}}} + +class ConstraintEndpointLocationGpsPositionModel(Model): # pylint: disable=abstract-method + endpoint_fk = ForeignKeyField(EndPointModel) + latitude = FloatField(required=True, min_value=-90.0, max_value=90.0) + longitude = FloatField(required=True, min_value=-180.0, max_value=180.0) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + gps_position = {'latitude': self.latitude, 'longitude': self.longitude} + json_endpoint_id = EndPointModel(self.database, self.endpoint_fk).dump_id() + return {'endpoint_location': {'endpoint_id': json_endpoint_id, 'location': {'gps_position': gps_position}}} + +class ConstraintEndpointPriorityModel(Model): # pylint: disable=abstract-method + endpoint_fk = ForeignKeyField(EndPointModel) + priority = IntegerField(required=True, min_value=0) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + json_endpoint_id = EndPointModel(self.database, self.endpoint_fk).dump_id() + return {'endpoint_priority': {'endpoint_id': json_endpoint_id, 'priority': self.priority}} + +class ConstraintSlaAvailabilityModel(Model): # pylint: disable=abstract-method + num_disjoint_paths = IntegerField(required=True, min_value=1) + all_active = BooleanField(required=True) + + def dump(self) -> Dict: # pylint: disable=arguments-differ + return {'sla_availability': {'num_disjoint_paths': self.num_disjoint_paths, 'all_active': self.all_active}} + +# enum values should match name of field in ConstraintModel +class ConstraintKindEnum(Enum): + CUSTOM = 'custom' + ENDPOINT_LOCATION_REGION = 'ep_loc_region' + ENDPOINT_LOCATION_GPSPOSITION = 'ep_loc_gpspos' + ENDPOINT_PRIORITY = 'ep_priority' + SLA_AVAILABILITY = 'sla_avail' + +Union_SpecificConstraint = Union[ + ConstraintCustomModel, ConstraintEndpointLocationRegionModel, ConstraintEndpointLocationGpsPositionModel, + ConstraintEndpointPriorityModel, ConstraintSlaAvailabilityModel, +] + class ConstraintModel(Model): # pylint: disable=abstract-method pk = PrimaryKeyField() constraints_fk = ForeignKeyField(ConstraintsModel) + kind = EnumeratedField(ConstraintKindEnum) position = IntegerField(min_value=0, required=True) - constraint_type = StringField(required=True, allow_empty=False) - constraint_value = StringField(required=True, allow_empty=False) + constraint_custom_fk = ForeignKeyField(ConstraintCustomModel, required=False) + constraint_ep_loc_region_fk = ForeignKeyField(ConstraintEndpointLocationRegionModel, required=False) + constraint_ep_loc_gpspos_fk = ForeignKeyField(ConstraintEndpointLocationGpsPositionModel, required=False) + constraint_ep_priority_fk = ForeignKeyField(ConstraintEndpointPriorityModel, required=False) + constraint_sla_avail_fk = ForeignKeyField(ConstraintSlaAvailabilityModel, required=False) + + def delete(self) -> None: + field_name = 'constraint_{:s}_fk'.format(str(self.kind.value)) + specific_fk_value : Optional[ForeignKeyField] = getattr(self, field_name, None) + if specific_fk_value is None: + raise Exception('Unable to find constraint key for field_name({:s})'.format(field_name)) + specific_fk_class = getattr(ConstraintModel, field_name, None) + foreign_model_class : Model = specific_fk_class.foreign_model + super().delete() + get_object(self.database, foreign_model_class, str(specific_fk_value)).delete() def dump(self, include_position=True) -> Dict: # pylint: disable=arguments-differ - result = { - 'constraint_type': self.constraint_type, - 'constraint_value': self.constraint_value, - } + field_name = 'constraint_{:s}_fk'.format(str(self.kind.value)) + specific_fk_value : Optional[ForeignKeyField] = getattr(self, field_name, None) + if specific_fk_value is None: + raise Exception('Unable to find constraint key for field_name({:s})'.format(field_name)) + specific_fk_class = getattr(ConstraintModel, field_name, None) + foreign_model_class : Model = specific_fk_class.foreign_model + constraint : Union_SpecificConstraint = get_object(self.database, foreign_model_class, str(specific_fk_value)) + result = constraint.dump() if include_position: result['position'] = self.position return result +Tuple_ConstraintSpecs = Tuple[Type, str, Dict, ConstraintKindEnum] +def parse_constraint_custom(database : Database, grpc_constraint) -> Tuple_ConstraintSpecs: + constraint_class = ConstraintCustomModel + str_constraint_id = grpc_constraint.custom.constraint_type + constraint_data = { + 'constraint_type' : grpc_constraint.custom.constraint_type, + 'constraint_value': grpc_constraint.custom.constraint_value, + } + return constraint_class, str_constraint_id, constraint_data, ConstraintKindEnum.CUSTOM + +def parse_constraint_endpoint_location(database : Database, grpc_constraint) -> Tuple_ConstraintSpecs: + grpc_endpoint_id = grpc_constraint.endpoint_location.endpoint_id + str_endpoint_key, db_endpoint = get_endpoint(database, grpc_endpoint_id) + + str_constraint_id = str_endpoint_key + constraint_data = {'endpoint_fk': db_endpoint} + + grpc_location = grpc_constraint.endpoint_location.location + location_kind = str(grpc_location.WhichOneof('location')) + if location_kind == 'region': + constraint_class = ConstraintEndpointLocationRegionModel + constraint_data.update({'region': grpc_location.region}) + return constraint_class, str_constraint_id, constraint_data, ConstraintKindEnum.ENDPOINT_LOCATION_REGION + elif location_kind == 'gps_position': + constraint_class = ConstraintEndpointLocationGpsPositionModel + gps_position = grpc_location.gps_position + constraint_data.update({'latitude': gps_position.latitude, 'longitude': gps_position.longitude}) + return constraint_class, str_constraint_id, constraint_data, ConstraintKindEnum.ENDPOINT_LOCATION_GPSPOSITION + else: + MSG = 'Location kind {:s} in Constraint of kind endpoint_location is not implemented: {:s}' + raise NotImplementedError(MSG.format(location_kind, grpc_message_to_json_string(grpc_constraint))) + +def parse_constraint_endpoint_priority(database : Database, grpc_constraint) -> Tuple_ConstraintSpecs: + grpc_endpoint_id = grpc_constraint.endpoint_priority.endpoint_id + str_endpoint_key, db_endpoint = get_endpoint(database, grpc_endpoint_id) + + constraint_class = ConstraintEndpointPriorityModel + str_constraint_id = str_endpoint_key + priority = grpc_constraint.endpoint_priority.priority + constraint_data = {'endpoint_fk': db_endpoint, 'priority': priority} + + return constraint_class, str_constraint_id, constraint_data, ConstraintKindEnum.ENDPOINT_PRIORITY + +def parse_constraint_sla_availability(database : Database, grpc_constraint) -> Tuple_ConstraintSpecs: + constraint_class = ConstraintSlaAvailabilityModel + str_constraint_id = '' + constraint_data = { + 'num_disjoint_paths' : grpc_constraint.sla_availability.num_disjoint_paths, + 'all_active': grpc_constraint.sla_availability.all_active, + } + return constraint_class, str_constraint_id, constraint_data, ConstraintKindEnum.SLA_AVAILABILITY + +CONSTRAINT_PARSERS = { + 'custom' : parse_constraint_custom, + 'endpoint_location' : parse_constraint_endpoint_location, + 'endpoint_priority' : parse_constraint_endpoint_priority, + 'sla_availability' : parse_constraint_sla_availability, +} + +Union_ConstraintModel = Union[ + ConstraintCustomModel, ConstraintEndpointLocationGpsPositionModel, ConstraintEndpointLocationRegionModel, + ConstraintEndpointPriorityModel, ConstraintSlaAvailabilityModel +] + def set_constraint( - database : Database, db_constraints : ConstraintsModel, grpc_constraint, position : int - ) -> Tuple[Constraint, bool]: + database : Database, db_constraints : ConstraintsModel, grpc_constraint : Constraint, position : int +) -> Tuple[Union_ConstraintModel, bool]: + grpc_constraint_kind = str(grpc_constraint.WhichOneof('constraint')) + + parser = CONSTRAINT_PARSERS.get(grpc_constraint_kind) + if parser is None: + raise NotImplementedError('Constraint of kind {:s} is not implemented: {:s}'.format( + grpc_constraint_kind, grpc_message_to_json_string(grpc_constraint))) - str_constraint_key_hash = fast_hasher(grpc_constraint.constraint_type) + # create specific constraint + constraint_class, str_constraint_id, constraint_data, constraint_kind = parser(database, grpc_constraint) + str_constraint_key_hash = fast_hasher(':'.join([constraint_kind.value, str_constraint_id])) str_constraint_key = key_to_str([db_constraints.pk, str_constraint_key_hash], separator=':') + result : Tuple[Union_ConstraintModel, bool] = update_or_create_object( + database, constraint_class, str_constraint_key, constraint_data) + db_specific_constraint, updated = result + + # create generic constraint + constraint_fk_field_name = 'constraint_{:s}_fk'.format(constraint_kind.value) + constraint_data = { + 'constraints_fk': db_constraints, 'position': position, 'kind': constraint_kind, + constraint_fk_field_name: db_specific_constraint + } + result : Tuple[ConstraintModel, bool] = update_or_create_object( + database, ConstraintModel, str_constraint_key, constraint_data) + db_constraint, updated = result - result : Tuple[ConstraintModel, bool] = update_or_create_object(database, ConstraintModel, str_constraint_key, { - 'constraints_fk' : db_constraints, - 'position' : position, - 'constraint_type' : grpc_constraint.constraint_type, - 'constraint_value': grpc_constraint.constraint_value, - }) - db_config_rule, updated = result - return db_config_rule, updated + return db_constraint, updated def set_constraints( database : Database, db_parent_pk : str, constraints_name : str, grpc_constraints - ) -> List[Tuple[Union[ConstraintsModel, ConstraintModel], bool]]: +) -> List[Tuple[Union[ConstraintsModel, ConstraintModel], bool]]: - str_constraints_key = key_to_str([db_parent_pk, constraints_name], separator=':') + str_constraints_key = key_to_str([constraints_name, db_parent_pk], separator=':') result : Tuple[ConstraintsModel, bool] = get_or_create_object(database, ConstraintsModel, str_constraints_key) db_constraints, created = result db_objects = [(db_constraints, created)] for position,grpc_constraint in enumerate(grpc_constraints): - result : Tuple[ConstraintModel, bool] = set_constraint(database, db_constraints, grpc_constraint, position) + result : Tuple[ConstraintModel, bool] = set_constraint( + database, db_constraints, grpc_constraint, position) db_constraint, updated = result db_objects.append((db_constraint, updated)) diff --git a/src/context/service/database/DeviceModel.py b/src/context/service/database/DeviceModel.py index b5faaf77d083e2cb6ef140368a383dd6389dfa18..0ffb97fee51da62802a1f7eb730380ba7a89dc0f 100644 --- a/src/context/service/database/DeviceModel.py +++ b/src/context/service/database/DeviceModel.py @@ -22,7 +22,7 @@ from common.orm.fields.ForeignKeyField import ForeignKeyField from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model -from context.proto.context_pb2 import DeviceDriverEnum, DeviceOperationalStatusEnum +from common.proto.context_pb2 import DeviceDriverEnum, DeviceOperationalStatusEnum from .ConfigModel import ConfigModel from .Tools import grpc_to_enum @@ -35,6 +35,7 @@ class ORM_DeviceDriverEnum(Enum): P4 = DeviceDriverEnum.DEVICEDRIVER_P4 IETF_NETWORK_TOPOLOGY = DeviceDriverEnum.DEVICEDRIVER_IETF_NETWORK_TOPOLOGY ONF_TR_352 = DeviceDriverEnum.DEVICEDRIVER_ONF_TR_352 + XR = DeviceDriverEnum.DEVICEDRIVER_XR grpc_to_enum__device_driver = functools.partial( grpc_to_enum, DeviceDriverEnum, ORM_DeviceDriverEnum) @@ -54,6 +55,24 @@ class DeviceModel(Model): device_config_fk = ForeignKeyField(ConfigModel) device_operational_status = EnumeratedField(ORM_DeviceOperationalStatusEnum, required=True) + def delete(self) -> None: + # pylint: disable=import-outside-toplevel + from .EndPointModel import EndPointModel + from .RelationModels import TopologyDeviceModel + + for db_endpoint_pk,_ in self.references(EndPointModel): + EndPointModel(self.database, db_endpoint_pk).delete() + + for db_topology_device_pk,_ in self.references(TopologyDeviceModel): + TopologyDeviceModel(self.database, db_topology_device_pk).delete() + + for db_driver_pk,_ in self.references(DriverModel): + DriverModel(self.database, db_driver_pk).delete() + + super().delete() + + ConfigModel(self.database, self.device_config_fk).delete() + def dump_id(self) -> Dict: return {'device_uuid': {'uuid': self.device_uuid}} diff --git a/src/context/service/database/EndPointModel.py b/src/context/service/database/EndPointModel.py index abeeb1b690b97e47772e3bf38d77016569bf55dc..aeef91b654dfaaaaf14d53f625126632b7303741 100644 --- a/src/context/service/database/EndPointModel.py +++ b/src/context/service/database/EndPointModel.py @@ -13,14 +13,16 @@ # limitations under the License. import logging -from typing import Dict, List +from typing import Dict, List, Optional, Tuple from common.orm.Database import Database +from common.orm.HighLevel import get_object from common.orm.backend.Tools import key_to_str from common.orm.fields.EnumeratedField import EnumeratedField from common.orm.fields.ForeignKeyField import ForeignKeyField from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model +from common.proto.context_pb2 import EndPointId from .DeviceModel import DeviceModel from .KpiSampleType import ORM_KpiSampleTypeEnum, grpc_to_enum__kpi_sample_type from .TopologyModel import TopologyModel @@ -34,6 +36,11 @@ class EndPointModel(Model): endpoint_uuid = StringField(required=True, allow_empty=False) endpoint_type = StringField() + def delete(self) -> None: + for db_kpi_sample_type_pk,_ in self.references(KpiSampleTypeModel): + KpiSampleTypeModel(self.database, db_kpi_sample_type_pk).delete() + super().delete() + def dump_id(self) -> Dict: device_id = DeviceModel(self.database, self.device_fk).dump_id() result = { @@ -75,3 +82,31 @@ def set_kpi_sample_types(database : Database, db_endpoint : EndPointModel, grpc_ db_endpoint_kpi_sample_type.endpoint_fk = db_endpoint db_endpoint_kpi_sample_type.kpi_sample_type = orm_kpi_sample_type db_endpoint_kpi_sample_type.save() + +def get_endpoint( + database : Database, grpc_endpoint_id : EndPointId, + validate_topology_exists : bool = True, validate_device_in_topology : bool = True +) -> Tuple[str, EndPointModel]: + endpoint_uuid = grpc_endpoint_id.endpoint_uuid.uuid + endpoint_device_uuid = grpc_endpoint_id.device_id.device_uuid.uuid + endpoint_topology_uuid = grpc_endpoint_id.topology_id.topology_uuid.uuid + endpoint_topology_context_uuid = grpc_endpoint_id.topology_id.context_id.context_uuid.uuid + str_endpoint_key = key_to_str([endpoint_device_uuid, endpoint_uuid]) + + if len(endpoint_topology_context_uuid) > 0 and len(endpoint_topology_uuid) > 0: + # check topology exists + str_topology_key = key_to_str([endpoint_topology_context_uuid, endpoint_topology_uuid]) + if validate_topology_exists: + from .TopologyModel import TopologyModel + get_object(database, TopologyModel, str_topology_key) + + # check device is in topology + str_topology_device_key = key_to_str([str_topology_key, endpoint_device_uuid], separator='--') + if validate_device_in_topology: + from .RelationModels import TopologyDeviceModel + get_object(database, TopologyDeviceModel, str_topology_device_key) + + str_endpoint_key = key_to_str([str_endpoint_key, str_topology_key], separator=':') + + db_endpoint : EndPointModel = get_object(database, EndPointModel, str_endpoint_key) + return str_endpoint_key, db_endpoint diff --git a/src/context/service/database/Events.py b/src/context/service/database/Events.py index e87d0a0fb88a8a879f5de3483efa0554840e5683..46b1d36c4a40a48cf2928f1e1c80822443e3cf28 100644 --- a/src/context/service/database/Events.py +++ b/src/context/service/database/Events.py @@ -16,12 +16,12 @@ import json, time from typing import Dict from common.message_broker.Message import Message from common.message_broker.MessageBroker import MessageBroker -from context.proto.context_pb2 import EventTypeEnum +from common.proto.context_pb2 import EventTypeEnum def notify_event( messagebroker : MessageBroker, topic_name : str, event_type : EventTypeEnum, fields : Dict[str, str]) -> None: - event = {'event': {'timestamp': time.time(), 'event_type': event_type}} + event = {'event': {'timestamp': {'timestamp': time.time()}, 'event_type': event_type}} for field_name, field_value in fields.items(): event[field_name] = field_value messagebroker.publish(Message(topic_name, json.dumps(event))) diff --git a/src/context/service/database/KpiSampleType.py b/src/context/service/database/KpiSampleType.py index 21662779727b5ab6af868e2ad398eb4760c4602e..0a2015b3fdeaceeed8b01619805f55f2a9267468 100644 --- a/src/context/service/database/KpiSampleType.py +++ b/src/context/service/database/KpiSampleType.py @@ -14,7 +14,7 @@ import functools from enum import Enum -from context.proto.kpi_sample_types_pb2 import KpiSampleType +from common.proto.kpi_sample_types_pb2 import KpiSampleType from .Tools import grpc_to_enum class ORM_KpiSampleTypeEnum(Enum): diff --git a/src/context/service/database/LinkModel.py b/src/context/service/database/LinkModel.py index 742044b9758df297413ad2d0318520c825e8b738..8f1d971c3127371e0d9a1a401d885a02269bd8dd 100644 --- a/src/context/service/database/LinkModel.py +++ b/src/context/service/database/LinkModel.py @@ -25,6 +25,18 @@ class LinkModel(Model): pk = PrimaryKeyField() link_uuid = StringField(required=True, allow_empty=False) + def delete(self) -> None: + #pylint: disable=import-outside-toplevel + from .RelationModels import LinkEndPointModel, TopologyLinkModel + + for db_link_endpoint_pk,_ in self.references(LinkEndPointModel): + LinkEndPointModel(self.database, db_link_endpoint_pk).delete() + + for db_topology_link_pk,_ in self.references(TopologyLinkModel): + TopologyLinkModel(self.database, db_topology_link_pk).delete() + + super().delete() + def dump_id(self) -> Dict: return {'link_uuid': {'uuid': self.link_uuid}} diff --git a/src/monitoring/Config.py b/src/context/service/database/PolicyRuleModel.py similarity index 56% rename from src/monitoring/Config.py rename to src/context/service/database/PolicyRuleModel.py index cbae00509d8196b69bc2d6bacb39bfa5918be495..7c84ea940482091a5667b2f11272748c7b444b6f 100644 --- a/src/monitoring/Config.py +++ b/src/context/service/database/PolicyRuleModel.py @@ -13,28 +13,20 @@ # limitations under the License. import logging +import json +from typing import Dict +from common.orm.fields.PrimaryKeyField import PrimaryKeyField +from common.orm.fields.StringField import StringField +from common.orm.model.Model import Model -# General settings -LOG_LEVEL = logging.WARNING - -# gRPC settings -GRPC_SERVICE_PORT = 7070 -GRPC_MAX_WORKERS = 10 -GRPC_GRACE_PERIOD = 60 -GRPC_SERVICE_HOST = '127.0.0.1' - -# Prometheus settings -METRICS_PORT = 9192 - -# Dependency micro-service connection settings -CONTEXT_SERVICE_HOST = '127.0.0.1' -CONTEXT_GRPC_SERVICE_PORT = 1010 - -DEVICE_SERVICE_HOST = '127.0.0.1' -DEVICE_GRPC_SERVICE_PORT = 2020 -DEVICE_GRPC_MAX_WORKERS = 10 -DEVICE_GRPC_GRACE_PERIOD = 60 - +LOGGER = logging.getLogger(__name__) +class PolicyRuleModel(Model): + pk = PrimaryKeyField() + value = StringField(required=True, allow_empty=False) + def dump_id(self) -> Dict: + return {'uuid': {'uuid': self.pk}} + def dump(self) -> Dict: + return json.loads(self.value) diff --git a/src/context/service/database/ServiceModel.py b/src/context/service/database/ServiceModel.py index 86376f775c54280d06e059aceadc23515d3589e5..8b32d1cc9eeec248d1097f972df93dbd2c0882fa 100644 --- a/src/context/service/database/ServiceModel.py +++ b/src/context/service/database/ServiceModel.py @@ -21,7 +21,7 @@ from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model from common.orm.HighLevel import get_related_objects -from context.proto.context_pb2 import ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ServiceStatusEnum, ServiceTypeEnum from .ConfigModel import ConfigModel from .ConstraintModel import ConstraintsModel from .ContextModel import ContextModel @@ -56,6 +56,18 @@ class ServiceModel(Model): service_status = EnumeratedField(ORM_ServiceStatusEnum, required=True) service_config_fk = ForeignKeyField(ConfigModel) + def delete(self) -> None: + #pylint: disable=import-outside-toplevel + from .RelationModels import ServiceEndPointModel + + for db_service_endpoint_pk,_ in self.references(ServiceEndPointModel): + ServiceEndPointModel(self.database, db_service_endpoint_pk).delete() + + super().delete() + + ConfigModel(self.database, self.service_config_fk).delete() + ConstraintsModel(self.database, self.service_constraints_fk).delete() + def dump_id(self) -> Dict: context_id = ContextModel(self.database, self.context_fk).dump_id() return { diff --git a/src/context/service/database/SliceModel.py b/src/context/service/database/SliceModel.py index 5b560a94864edb7fa9f501ad03377aa167036efc..74bb60b401f656fdcfec8b0466019f87a8f1b41e 100644 --- a/src/context/service/database/SliceModel.py +++ b/src/context/service/database/SliceModel.py @@ -21,7 +21,8 @@ from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model from common.orm.HighLevel import get_related_objects -from context.proto.context_pb2 import SliceStatusEnum +from common.proto.context_pb2 import SliceStatusEnum +from .ConfigModel import ConfigModel from .ConstraintModel import ConstraintsModel from .ContextModel import ContextModel from .Tools import grpc_to_enum @@ -44,6 +45,27 @@ class SliceModel(Model): slice_uuid = StringField(required=True, allow_empty=False) slice_constraints_fk = ForeignKeyField(ConstraintsModel) slice_status = EnumeratedField(ORM_SliceStatusEnum, required=True) + slice_config_fk = ForeignKeyField(ConfigModel) + slice_owner_uuid = StringField(required=False, allow_empty=True) + slice_owner_string = StringField(required=False, allow_empty=True) + + def delete(self) -> None: + # pylint: disable=import-outside-toplevel + from .RelationModels import SliceEndPointModel, SliceServiceModel, SliceSubSliceModel + + for db_slice_endpoint_pk,_ in self.references(SliceEndPointModel): + SliceEndPointModel(self.database, db_slice_endpoint_pk).delete() + + for db_slice_service_pk,_ in self.references(SliceServiceModel): + SliceServiceModel(self.database, db_slice_service_pk).delete() + + for db_slice_subslice_pk,_ in self.references(SliceSubSliceModel): + SliceSubSliceModel(self.database, db_slice_subslice_pk).delete() + + super().delete() + + ConfigModel(self.database, self.slice_config_fk).delete() + ConstraintsModel(self.database, self.slice_constraints_fk).delete() def dump_id(self) -> Dict: context_id = ContextModel(self.database, self.context_fk).dump_id() @@ -60,6 +82,9 @@ class SliceModel(Model): def dump_constraints(self) -> List[Dict]: return ConstraintsModel(self.database, self.slice_constraints_fk).dump() + def dump_config(self) -> Dict: + return ConfigModel(self.database, self.slice_config_fk).dump() + def dump_service_ids(self) -> List[Dict]: from .RelationModels import SliceServiceModel # pylint: disable=import-outside-toplevel db_services = get_related_objects(self, SliceServiceModel, 'service_fk') @@ -68,11 +93,15 @@ class SliceModel(Model): def dump_subslice_ids(self) -> List[Dict]: from .RelationModels import SliceSubSliceModel # pylint: disable=import-outside-toplevel db_subslices = get_related_objects(self, SliceSubSliceModel, 'sub_slice_fk') - return [db_subslice.dump_id() for db_subslice in sorted(db_subslices, key=operator.attrgetter('pk'))] + return [ + db_subslice.dump_id() + for db_subslice in sorted(db_subslices, key=operator.attrgetter('pk')) + if db_subslice.pk != self.pk # if I'm subslice of other slice, I will appear as subslice of myself + ] def dump( # pylint: disable=arguments-differ - self, include_endpoint_ids=True, include_constraints=True, include_service_ids=True, - include_subslice_ids=True + self, include_endpoint_ids=True, include_constraints=True, include_config_rules=True, + include_service_ids=True, include_subslice_ids=True ) -> Dict: result = { 'slice_id': self.dump_id(), @@ -80,6 +109,14 @@ class SliceModel(Model): } if include_endpoint_ids: result['slice_endpoint_ids'] = self.dump_endpoint_ids() if include_constraints: result['slice_constraints'] = self.dump_constraints() + if include_config_rules: result.setdefault('slice_config', {})['config_rules'] = self.dump_config() if include_service_ids: result['slice_service_ids'] = self.dump_service_ids() if include_subslice_ids: result['slice_subslice_ids'] = self.dump_subslice_ids() + + if len(self.slice_owner_uuid) > 0: + result.setdefault('slice_owner', {}).setdefault('owner_uuid', {})['uuid'] = self.slice_owner_uuid + + if len(self.slice_owner_string) > 0: + result.setdefault('slice_owner', {})['owner_string'] = self.slice_owner_string + return result diff --git a/src/context/service/grpc_server/ContextService.py b/src/context/service/grpc_server/ContextService.py index 87ca94a70aa2e1733b8ec443c70a4623d2e0c471..5d4dd8bb991ed64a970f9815bb302fd33d51cf34 100644 --- a/src/context/service/grpc_server/ContextService.py +++ b/src/context/service/grpc_server/ContextService.py @@ -12,61 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -import grpc -import logging -from concurrent import futures -from grpc_health.v1.health import HealthServicer, OVERALL_HEALTH -from grpc_health.v1.health_pb2 import HealthCheckResponse -from grpc_health.v1.health_pb2_grpc import add_HealthServicer_to_server -from context.Config import GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD -from context.proto.context_pb2_grpc import add_ContextServiceServicer_to_server +from common.Constants import ServiceNameEnum +from common.Settings import get_service_port_grpc +from common.message_broker.MessageBroker import MessageBroker +from common.orm.Database import Database +from common.proto.context_pb2_grpc import add_ContextServiceServicer_to_server +from common.proto.context_policy_pb2_grpc import add_ContextPolicyServiceServicer_to_server +from common.tools.service.GenericGrpcService import GenericGrpcService from .ContextServiceServicerImpl import ContextServiceServicerImpl -BIND_ADDRESS = '0.0.0.0' -LOGGER = logging.getLogger(__name__) +# Custom gRPC settings +GRPC_MAX_WORKERS = 200 # multiple clients might keep connections alive for Get*Events() RPC methods -class ContextService: - def __init__( - self, database, messagebroker, address=BIND_ADDRESS, port=GRPC_SERVICE_PORT, max_workers=GRPC_MAX_WORKERS, - grace_period=GRPC_GRACE_PERIOD): +class ContextService(GenericGrpcService): + def __init__(self, database : Database, messagebroker : MessageBroker, cls_name: str = __name__) -> None: + port = get_service_port_grpc(ServiceNameEnum.CONTEXT) + super().__init__(port, max_workers=GRPC_MAX_WORKERS, cls_name=cls_name) + self.context_servicer = ContextServiceServicerImpl(database, messagebroker) - self.database = database - self.messagebroker = messagebroker - self.address = address - self.port = port - self.endpoint = None - self.max_workers = max_workers - self.grace_period = grace_period - self.context_servicer = None - self.health_servicer = None - self.pool = None - self.server = None - - def start(self): - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(self.port)) - LOGGER.info('Starting Service (tentative endpoint: {:s}, max_workers: {:s})...'.format( - str(self.endpoint), str(self.max_workers))) - - self.pool = futures.ThreadPoolExecutor(max_workers=self.max_workers) - self.server = grpc.server(self.pool) # , interceptors=(tracer_interceptor,)) - - self.context_servicer = ContextServiceServicerImpl(self.database, self.messagebroker) + def install_servicers(self): add_ContextServiceServicer_to_server(self.context_servicer, self.server) - - self.health_servicer = HealthServicer( - experimental_non_blocking=True, experimental_thread_pool=futures.ThreadPoolExecutor(max_workers=1)) - add_HealthServicer_to_server(self.health_servicer, self.server) - - port = self.server.add_insecure_port(self.endpoint) - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(port)) - LOGGER.info('Listening on {:s}...'.format(str(self.endpoint))) - self.server.start() - self.health_servicer.set(OVERALL_HEALTH, HealthCheckResponse.SERVING) # pylint: disable=maybe-no-member - - LOGGER.debug('Service started') - - def stop(self): - LOGGER.debug('Stopping service (grace period {:s} seconds)...'.format(str(self.grace_period))) - self.health_servicer.enter_graceful_shutdown() - self.server.stop(self.grace_period) - LOGGER.debug('Service stopped') + add_ContextPolicyServiceServicer_to_server(self.context_servicer, self.server) diff --git a/src/context/service/grpc_server/ContextServiceServicerImpl.py b/src/context/service/grpc_server/ContextServiceServicerImpl.py index 9218d550f824b22f3f90b042363acf433dfe0e59..b7130c7000663791b162bc15d5046d80ed71463d 100644 --- a/src/context/service/grpc_server/ContextServiceServicerImpl.py +++ b/src/context/service/grpc_server/ContextServiceServicerImpl.py @@ -15,51 +15,50 @@ import grpc, json, logging, operator, threading from typing import Iterator, List, Set, Tuple from common.message_broker.MessageBroker import MessageBroker +from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method +from common.method_wrappers.ServiceExceptions import InvalidArgumentException from common.orm.Database import Database from common.orm.HighLevel import ( get_all_objects, get_object, get_or_create_object, get_related_objects, update_or_create_object) from common.orm.backend.Tools import key_to_str -from common.rpc_method_wrapper.Decorator import create_metrics, safe_and_metered_rpc_method -from common.rpc_method_wrapper.ServiceExceptions import InvalidArgumentException -from context.proto.context_pb2 import ( - Connection, ConnectionEvent, ConnectionId, ConnectionIdList, ConnectionList, Context, ContextEvent, ContextId, - ContextIdList, ContextList, Device, DeviceEvent, DeviceId, DeviceIdList, DeviceList, Empty, EventTypeEnum, Link, - LinkEvent, LinkId, LinkIdList, LinkList, Service, ServiceEvent, ServiceId, ServiceIdList, ServiceList, Slice, SliceEvent, - SliceId, SliceIdList, SliceList, Topology, TopologyEvent, TopologyId, TopologyIdList, TopologyList) -from context.proto.context_pb2_grpc import ContextServiceServicer -from context.service.database.ConfigModel import ConfigModel, ConfigRuleModel, grpc_config_rules_to_raw, update_config -from context.service.database.ConnectionModel import ConnectionModel, PathHopModel, PathModel, set_path -from context.service.database.ConstraintModel import ConstraintModel, ConstraintsModel, set_constraints +from common.proto.context_pb2 import ( + Connection, ConnectionEvent, ConnectionId, ConnectionIdList, ConnectionList, + Context, ContextEvent, ContextId, ContextIdList, ContextList, + Device, DeviceEvent, DeviceId, DeviceIdList, DeviceList, + Empty, EventTypeEnum, + Link, LinkEvent, LinkId, LinkIdList, LinkList, + Service, ServiceEvent, ServiceId, ServiceIdList, ServiceList, + Slice, SliceEvent, SliceId, SliceIdList, SliceList, + Topology, TopologyEvent, TopologyId, TopologyIdList, TopologyList) +from common.proto.policy_pb2 import (PolicyRuleIdList, PolicyRuleId, PolicyRuleList, PolicyRule) +from common.proto.context_pb2_grpc import ContextServiceServicer +from common.proto.context_policy_pb2_grpc import ContextPolicyServiceServicer +from common.tools.grpc.Tools import grpc_message_to_json +from context.service.database.ConfigModel import update_config +from context.service.database.ConnectionModel import ConnectionModel, set_path +from context.service.database.ConstraintModel import set_constraints from context.service.database.ContextModel import ContextModel -from context.service.database.DeviceModel import ( - DeviceModel, DriverModel, grpc_to_enum__device_operational_status, set_drivers) -from context.service.database.EndPointModel import EndPointModel, KpiSampleTypeModel, set_kpi_sample_types +from context.service.database.PolicyRuleModel import PolicyRuleModel +from context.service.database.DeviceModel import DeviceModel, grpc_to_enum__device_operational_status, set_drivers +from context.service.database.EndPointModel import EndPointModel, set_kpi_sample_types from context.service.database.Events import notify_event from context.service.database.LinkModel import LinkModel from context.service.database.RelationModels import ( - ConnectionSubServiceModel, LinkEndPointModel, ServiceEndPointModel, SliceEndPointModel, SliceServiceModel, SliceSubSliceModel, TopologyDeviceModel, TopologyLinkModel) + ConnectionSubServiceModel, LinkEndPointModel, ServiceEndPointModel, SliceEndPointModel, SliceServiceModel, + SliceSubSliceModel, TopologyDeviceModel, TopologyLinkModel) from context.service.database.ServiceModel import ( ServiceModel, grpc_to_enum__service_status, grpc_to_enum__service_type) from context.service.database.SliceModel import SliceModel, grpc_to_enum__slice_status from context.service.database.TopologyModel import TopologyModel from .Constants import ( - CONSUME_TIMEOUT, TOPIC_CONNECTION, TOPIC_CONTEXT, TOPIC_DEVICE, TOPIC_LINK, TOPIC_SERVICE, TOPIC_SLICE, TOPIC_TOPOLOGY) + CONSUME_TIMEOUT, TOPIC_CONNECTION, TOPIC_CONTEXT, TOPIC_DEVICE, TOPIC_LINK, TOPIC_SERVICE, TOPIC_SLICE, + TOPIC_TOPOLOGY) LOGGER = logging.getLogger(__name__) -SERVICE_NAME = 'Context' -METHOD_NAMES = [ - 'ListConnectionIds', 'ListConnections', 'GetConnection', 'SetConnection', 'RemoveConnection', 'GetConnectionEvents', - 'ListContextIds', 'ListContexts', 'GetContext', 'SetContext', 'RemoveContext', 'GetContextEvents', - 'ListTopologyIds', 'ListTopologies', 'GetTopology', 'SetTopology', 'RemoveTopology', 'GetTopologyEvents', - 'ListDeviceIds', 'ListDevices', 'GetDevice', 'SetDevice', 'RemoveDevice', 'GetDeviceEvents', - 'ListLinkIds', 'ListLinks', 'GetLink', 'SetLink', 'RemoveLink', 'GetLinkEvents', - 'ListServiceIds', 'ListServices', 'GetService', 'SetService', 'RemoveService', 'GetServiceEvents', - 'ListSliceIds', 'ListSlices', 'GetSlice', 'SetSlice', 'RemoveSlice', 'GetSliceEvents', -] -METRICS = create_metrics(SERVICE_NAME, METHOD_NAMES) - -class ContextServiceServicerImpl(ContextServiceServicer): +METRICS_POOL = MetricsPool('Context', 'RPC') + +class ContextServiceServicerImpl(ContextServiceServicer, ContextPolicyServiceServicer): def __init__(self, database : Database, messagebroker : MessageBroker): LOGGER.debug('Creating Servicer...') self.lock = threading.Lock() @@ -70,28 +69,28 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Context ---------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListContextIds(self, request: Empty, context : grpc.ServicerContext) -> ContextIdList: with self.lock: db_contexts : List[ContextModel] = get_all_objects(self.database, ContextModel) db_contexts = sorted(db_contexts, key=operator.attrgetter('pk')) return ContextIdList(context_ids=[db_context.dump_id() for db_context in db_contexts]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListContexts(self, request: Empty, context : grpc.ServicerContext) -> ContextList: with self.lock: db_contexts : List[ContextModel] = get_all_objects(self.database, ContextModel) db_contexts = sorted(db_contexts, key=operator.attrgetter('pk')) return ContextList(contexts=[db_context.dump() for db_context in db_contexts]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetContext(self, request: ContextId, context : grpc.ServicerContext) -> Context: with self.lock: context_uuid = request.context_uuid.uuid db_context : ContextModel = get_object(self.database, ContextModel, context_uuid) return Context(**db_context.dump(include_services=True, include_topologies=True)) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetContext(self, request: Context, context : grpc.ServicerContext) -> ContextId: with self.lock: context_uuid = request.context_id.context_uuid.uuid @@ -129,7 +128,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_CONTEXT, event_type, {'context_id': dict_context_id}) return ContextId(**dict_context_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveContext(self, request: ContextId, context : grpc.ServicerContext) -> Empty: with self.lock: context_uuid = request.context_uuid.uuid @@ -143,7 +142,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_CONTEXT, event_type, {'context_id': dict_context_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetContextEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[ContextEvent]: for message in self.messagebroker.consume({TOPIC_CONTEXT}, consume_timeout=CONSUME_TIMEOUT): yield ContextEvent(**json.loads(message.content)) @@ -151,7 +150,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Topology --------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListTopologyIds(self, request: ContextId, context : grpc.ServicerContext) -> TopologyIdList: with self.lock: context_uuid = request.context_uuid.uuid @@ -160,7 +159,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_topologies = sorted(db_topologies, key=operator.attrgetter('pk')) return TopologyIdList(topology_ids=[db_topology.dump_id() for db_topology in db_topologies]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListTopologies(self, request: ContextId, context : grpc.ServicerContext) -> TopologyList: with self.lock: context_uuid = request.context_uuid.uuid @@ -169,14 +168,14 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_topologies = sorted(db_topologies, key=operator.attrgetter('pk')) return TopologyList(topologies=[db_topology.dump() for db_topology in db_topologies]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetTopology(self, request: TopologyId, context : grpc.ServicerContext) -> Topology: with self.lock: str_key = key_to_str([request.context_id.context_uuid.uuid, request.topology_uuid.uuid]) db_topology : TopologyModel = get_object(self.database, TopologyModel, str_key) return Topology(**db_topology.dump(include_devices=True, include_links=True)) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetTopology(self, request: Topology, context : grpc.ServicerContext) -> TopologyId: with self.lock: context_uuid = request.topology_id.context_id.context_uuid.uuid @@ -213,7 +212,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_TOPOLOGY, event_type, {'topology_id': dict_topology_id}) return TopologyId(**dict_topology_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveTopology(self, request: TopologyId, context : grpc.ServicerContext) -> Empty: with self.lock: context_uuid = request.context_id.context_uuid.uuid @@ -228,7 +227,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_TOPOLOGY, event_type, {'topology_id': dict_topology_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetTopologyEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[TopologyEvent]: for message in self.messagebroker.consume({TOPIC_TOPOLOGY}, consume_timeout=CONSUME_TIMEOUT): yield TopologyEvent(**json.loads(message.content)) @@ -236,21 +235,21 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Device ----------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListDeviceIds(self, request: Empty, context : grpc.ServicerContext) -> DeviceIdList: with self.lock: db_devices : List[DeviceModel] = get_all_objects(self.database, DeviceModel) db_devices = sorted(db_devices, key=operator.attrgetter('pk')) return DeviceIdList(device_ids=[db_device.dump_id() for db_device in db_devices]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListDevices(self, request: Empty, context : grpc.ServicerContext) -> DeviceList: with self.lock: db_devices : List[DeviceModel] = get_all_objects(self.database, DeviceModel) db_devices = sorted(db_devices, key=operator.attrgetter('pk')) return DeviceList(devices=[db_device.dump() for db_device in db_devices]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetDevice(self, request: DeviceId, context : grpc.ServicerContext) -> Device: with self.lock: device_uuid = request.device_uuid.uuid @@ -258,7 +257,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): return Device(**db_device.dump( include_config_rules=True, include_drivers=True, include_endpoints=True)) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetDevice(self, request: Device, context : grpc.ServicerContext) -> DeviceId: with self.lock: device_uuid = request.device_id.device_uuid.uuid @@ -271,9 +270,9 @@ class ContextServiceServicerImpl(ContextServiceServicer): 'request.device_endpoints[{:d}].device_id.device_uuid.uuid'.format(i), endpoint_device_uuid, ['should be == {:s}({:s})'.format('request.device_id.device_uuid.uuid', device_uuid)]) - config_rules = grpc_config_rules_to_raw(request.device_config.config_rules) - running_config_result = update_config(self.database, device_uuid, 'running', config_rules) - db_running_config = running_config_result[0][0] + running_config_rules = update_config( + self.database, device_uuid, 'device', request.device_config.config_rules) + db_running_config = running_config_rules[0][0] result : Tuple[DeviceModel, bool] = update_or_create_object(self.database, DeviceModel, device_uuid, { 'device_uuid' : device_uuid, @@ -314,7 +313,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): result : Tuple[EndPointModel, bool] = update_or_create_object( self.database, EndPointModel, str_endpoint_key, endpoint_attributes) - db_endpoint, endpoint_updated = result + db_endpoint, endpoint_updated = result # pylint: disable=unused-variable set_kpi_sample_types(self.database, db_endpoint, endpoint.kpi_sample_types) @@ -323,7 +322,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_DEVICE, event_type, {'device_id': dict_device_id}) return DeviceId(**dict_device_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveDevice(self, request: DeviceId, context : grpc.ServicerContext) -> Empty: with self.lock: device_uuid = request.device_uuid.uuid @@ -332,31 +331,13 @@ class ContextServiceServicerImpl(ContextServiceServicer): if not found: return Empty() dict_device_id = db_device.dump_id() - - for db_endpoint_pk,_ in db_device.references(EndPointModel): - db_endpoint = EndPointModel(self.database, db_endpoint_pk) - for db_kpi_sample_type_pk,_ in db_endpoint.references(KpiSampleTypeModel): - KpiSampleTypeModel(self.database, db_kpi_sample_type_pk).delete() - db_endpoint.delete() - - for db_topology_device_pk,_ in db_device.references(TopologyDeviceModel): - TopologyDeviceModel(self.database, db_topology_device_pk).delete() - - for db_driver_pk,_ in db_device.references(DriverModel): - DriverModel(self.database, db_driver_pk).delete() - - db_config = ConfigModel(self.database, db_device.device_config_fk) - for db_config_rule_pk,_ in db_config.references(ConfigRuleModel): - ConfigRuleModel(self.database, db_config_rule_pk).delete() - db_device.delete() - db_config.delete() event_type = EventTypeEnum.EVENTTYPE_REMOVE notify_event(self.messagebroker, TOPIC_DEVICE, event_type, {'device_id': dict_device_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetDeviceEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[DeviceEvent]: for message in self.messagebroker.consume({TOPIC_DEVICE}, consume_timeout=CONSUME_TIMEOUT): yield DeviceEvent(**json.loads(message.content)) @@ -364,28 +345,28 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Link ------------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListLinkIds(self, request: Empty, context : grpc.ServicerContext) -> LinkIdList: with self.lock: db_links : List[LinkModel] = get_all_objects(self.database, LinkModel) db_links = sorted(db_links, key=operator.attrgetter('pk')) return LinkIdList(link_ids=[db_link.dump_id() for db_link in db_links]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListLinks(self, request: Empty, context : grpc.ServicerContext) -> LinkList: with self.lock: db_links : List[LinkModel] = get_all_objects(self.database, LinkModel) db_links = sorted(db_links, key=operator.attrgetter('pk')) return LinkList(links=[db_link.dump() for db_link in db_links]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetLink(self, request: LinkId, context : grpc.ServicerContext) -> Link: with self.lock: link_uuid = request.link_uuid.uuid db_link : LinkModel = get_object(self.database, LinkModel, link_uuid) return Link(**db_link.dump()) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetLink(self, request: Link, context : grpc.ServicerContext) -> LinkId: with self.lock: link_uuid = request.link_id.link_uuid.uuid @@ -430,7 +411,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_LINK, event_type, {'link_id': dict_link_id}) return LinkId(**dict_link_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveLink(self, request: LinkId, context : grpc.ServicerContext) -> Empty: with self.lock: link_uuid = request.link_uuid.uuid @@ -439,19 +420,13 @@ class ContextServiceServicerImpl(ContextServiceServicer): if not found: return Empty() dict_link_id = db_link.dump_id() - - for db_link_endpoint_pk,_ in db_link.references(LinkEndPointModel): - LinkEndPointModel(self.database, db_link_endpoint_pk).delete() - - for db_topology_link_pk,_ in db_link.references(TopologyLinkModel): - TopologyLinkModel(self.database, db_topology_link_pk).delete() - db_link.delete() + event_type = EventTypeEnum.EVENTTYPE_REMOVE notify_event(self.messagebroker, TOPIC_LINK, event_type, {'link_id': dict_link_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetLinkEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[LinkEvent]: for message in self.messagebroker.consume({TOPIC_LINK}, consume_timeout=CONSUME_TIMEOUT): yield LinkEvent(**json.loads(message.content)) @@ -459,7 +434,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Service ---------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListServiceIds(self, request: ContextId, context : grpc.ServicerContext) -> ServiceIdList: with self.lock: db_context : ContextModel = get_object(self.database, ContextModel, request.context_uuid.uuid) @@ -467,7 +442,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_services = sorted(db_services, key=operator.attrgetter('pk')) return ServiceIdList(service_ids=[db_service.dump_id() for db_service in db_services]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListServices(self, request: ContextId, context : grpc.ServicerContext) -> ServiceList: with self.lock: db_context : ContextModel = get_object(self.database, ContextModel, request.context_uuid.uuid) @@ -475,7 +450,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_services = sorted(db_services, key=operator.attrgetter('pk')) return ServiceList(services=[db_service.dump() for db_service in db_services]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetService(self, request: ServiceId, context : grpc.ServicerContext) -> Service: with self.lock: str_key = key_to_str([request.context_id.context_uuid.uuid, request.service_uuid.uuid]) @@ -483,7 +458,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): return Service(**db_service.dump( include_endpoint_ids=True, include_constraints=True, include_config_rules=True)) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetService(self, request: Service, context : grpc.ServicerContext) -> ServiceId: with self.lock: context_uuid = request.service_id.context_id.context_uuid.uuid @@ -502,12 +477,12 @@ class ContextServiceServicerImpl(ContextServiceServicer): str_service_key = key_to_str([context_uuid, service_uuid]) constraints_result = set_constraints( - self.database, str_service_key, 'constraints', request.service_constraints) + self.database, str_service_key, 'service', request.service_constraints) db_constraints = constraints_result[0][0] - config_rules = grpc_config_rules_to_raw(request.service_config.config_rules) - running_config_result = update_config(self.database, str_service_key, 'running', config_rules) - db_running_config = running_config_result[0][0] + running_config_rules = update_config( + self.database, str_service_key, 'service', request.service_config.config_rules) + db_running_config = running_config_rules[0][0] result : Tuple[ServiceModel, bool] = update_or_create_object(self.database, ServiceModel, str_service_key, { 'context_fk' : db_context, @@ -543,7 +518,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_SERVICE, event_type, {'service_id': dict_service_id}) return ServiceId(**dict_service_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveService(self, request: ServiceId, context : grpc.ServicerContext) -> Empty: with self.lock: context_uuid = request.context_id.context_uuid.uuid @@ -553,27 +528,13 @@ class ContextServiceServicerImpl(ContextServiceServicer): if not found: return Empty() dict_service_id = db_service.dump_id() - - for db_service_endpoint_pk,_ in db_service.references(ServiceEndPointModel): - ServiceEndPointModel(self.database, db_service_endpoint_pk).delete() - - db_config = ConfigModel(self.database, db_service.service_config_fk) - for db_config_rule_pk,_ in db_config.references(ConfigRuleModel): - ConfigRuleModel(self.database, db_config_rule_pk).delete() - - db_constraints = ConstraintsModel(self.database, db_service.service_constraints_fk) - for db_constraint_pk,_ in db_constraints.references(ConstraintModel): - ConstraintModel(self.database, db_constraint_pk).delete() - db_service.delete() - db_config.delete() - db_constraints.delete() event_type = EventTypeEnum.EVENTTYPE_REMOVE notify_event(self.messagebroker, TOPIC_SERVICE, event_type, {'service_id': dict_service_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetServiceEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[ServiceEvent]: for message in self.messagebroker.consume({TOPIC_SERVICE}, consume_timeout=CONSUME_TIMEOUT): yield ServiceEvent(**json.loads(message.content)) @@ -581,7 +542,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Slice ---------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListSliceIds(self, request: ContextId, context : grpc.ServicerContext) -> SliceIdList: with self.lock: db_context : ContextModel = get_object(self.database, ContextModel, request.context_uuid.uuid) @@ -589,7 +550,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_slices = sorted(db_slices, key=operator.attrgetter('pk')) return SliceIdList(slice_ids=[db_slice.dump_id() for db_slice in db_slices]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListSlices(self, request: ContextId, context : grpc.ServicerContext) -> SliceList: with self.lock: db_context : ContextModel = get_object(self.database, ContextModel, request.context_uuid.uuid) @@ -597,16 +558,16 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_slices = sorted(db_slices, key=operator.attrgetter('pk')) return SliceList(slices=[db_slice.dump() for db_slice in db_slices]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetSlice(self, request: SliceId, context : grpc.ServicerContext) -> Slice: with self.lock: str_key = key_to_str([request.context_id.context_uuid.uuid, request.slice_uuid.uuid]) db_slice : SliceModel = get_object(self.database, SliceModel, str_key) return Slice(**db_slice.dump( - include_endpoint_ids=True, include_constraints=True, include_service_ids=True, - include_subslice_ids=True)) + include_endpoint_ids=True, include_constraints=True, include_config_rules=True, + include_service_ids=True, include_subslice_ids=True)) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetSlice(self, request: Slice, context : grpc.ServicerContext) -> SliceId: with self.lock: context_uuid = request.slice_id.context_id.context_uuid.uuid @@ -625,14 +586,21 @@ class ContextServiceServicerImpl(ContextServiceServicer): str_slice_key = key_to_str([context_uuid, slice_uuid]) constraints_result = set_constraints( - self.database, str_slice_key, 'constraints', request.slice_constraints) + self.database, str_slice_key, 'slice', request.slice_constraints) db_constraints = constraints_result[0][0] + running_config_rules = update_config( + self.database, str_slice_key, 'slice', request.slice_config.config_rules) + db_running_config = running_config_rules[0][0] + result : Tuple[SliceModel, bool] = update_or_create_object(self.database, SliceModel, str_slice_key, { 'context_fk' : db_context, 'slice_uuid' : slice_uuid, 'slice_constraints_fk': db_constraints, 'slice_status' : grpc_to_enum__slice_status(request.slice_status.slice_status), + 'slice_config_fk' : db_running_config, + 'slice_owner_uuid' : request.slice_owner.owner_uuid.uuid, + 'slice_owner_string' : request.slice_owner.owner_string, }) db_slice, updated = result @@ -649,7 +617,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_endpoint : EndPointModel = get_object(self.database, EndPointModel, str_endpoint_key) - str_slice_endpoint_key = key_to_str([slice_uuid, str_endpoint_key], separator='--') + str_slice_endpoint_key = key_to_str([str_slice_key, str_endpoint_key], separator='--') result : Tuple[SliceEndPointModel, bool] = get_or_create_object( self.database, SliceEndPointModel, str_slice_endpoint_key, { 'slice_fk': db_slice, 'endpoint_fk': db_endpoint}) @@ -684,7 +652,56 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_SLICE, event_type, {'slice_id': dict_slice_id}) return SliceId(**dict_slice_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) + def UnsetSlice(self, request: Slice, context : grpc.ServicerContext) -> SliceId: + with self.lock: + context_uuid = request.slice_id.context_id.context_uuid.uuid + db_context : ContextModel = get_object(self.database, ContextModel, context_uuid) + + for i,endpoint_id in enumerate(request.slice_endpoint_ids): + endpoint_topology_context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid + if len(endpoint_topology_context_uuid) > 0 and context_uuid != endpoint_topology_context_uuid: + raise InvalidArgumentException( + 'request.slice_endpoint_ids[{:d}].topology_id.context_id.context_uuid.uuid'.format(i), + endpoint_topology_context_uuid, + ['should be == {:s}({:s})'.format( + 'request.slice_id.context_id.context_uuid.uuid', context_uuid)]) + + slice_uuid = request.slice_id.slice_uuid.uuid + str_slice_key = key_to_str([context_uuid, slice_uuid]) + + if len(request.slice_constraints) > 0: + raise NotImplementedError('UnsetSlice: removal of constraints') + if len(request.slice_config.config_rules) > 0: + raise NotImplementedError('UnsetSlice: removal of config rules') + if len(request.slice_endpoint_ids) > 0: + raise NotImplementedError('UnsetSlice: removal of endpoints') + + updated = False + + for service_id in request.slice_service_ids: + service_uuid = service_id.service_uuid.uuid + service_context_uuid = service_id.context_id.context_uuid.uuid + str_service_key = key_to_str([service_context_uuid, service_uuid]) + str_slice_service_key = key_to_str([str_slice_key, str_service_key], separator='--') + SliceServiceModel(self.database, str_slice_service_key).delete() + updated = True + + for subslice_id in request.slice_subslice_ids: + subslice_uuid = subslice_id.slice_uuid.uuid + subslice_context_uuid = subslice_id.context_id.context_uuid.uuid + str_subslice_key = key_to_str([subslice_context_uuid, subslice_uuid]) + str_slice_subslice_key = key_to_str([str_slice_key, str_subslice_key], separator='--') + SliceSubSliceModel(self.database, str_slice_subslice_key).delete() + updated = True + + event_type = EventTypeEnum.EVENTTYPE_UPDATE if updated else EventTypeEnum.EVENTTYPE_CREATE + db_slice : SliceModel = get_object(self.database, SliceModel, str_slice_key) + dict_slice_id = db_slice.dump_id() + notify_event(self.messagebroker, TOPIC_SLICE, event_type, {'slice_id': dict_slice_id}) + return SliceId(**dict_slice_id) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveSlice(self, request: SliceId, context : grpc.ServicerContext) -> Empty: with self.lock: context_uuid = request.context_id.context_uuid.uuid @@ -694,28 +711,13 @@ class ContextServiceServicerImpl(ContextServiceServicer): if not found: return Empty() dict_slice_id = db_slice.dump_id() - - for db_slice_endpoint_pk,_ in db_slice.references(SliceEndPointModel): - SliceEndPointModel(self.database, db_slice_endpoint_pk).delete() - - db_constraints = ConstraintsModel(self.database, db_slice.slice_constraints_fk) - for db_constraint_pk,_ in db_constraints.references(ConstraintModel): - ConstraintModel(self.database, db_constraint_pk).delete() - - for db_slice_service_pk,_ in db_slice.references(SliceServiceModel): - SliceServiceModel(self.database, db_slice_service_pk).delete() - - for db_slice_subslice_pk,_ in db_slice.references(SliceSubSliceModel): - SliceSubSliceModel(self.database, db_slice_subslice_pk).delete() - db_slice.delete() - db_constraints.delete() event_type = EventTypeEnum.EVENTTYPE_REMOVE notify_event(self.messagebroker, TOPIC_SLICE, event_type, {'slice_id': dict_slice_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetSliceEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[SliceEvent]: for message in self.messagebroker.consume({TOPIC_SLICE}, consume_timeout=CONSUME_TIMEOUT): yield SliceEvent(**json.loads(message.content)) @@ -723,7 +725,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): # ----- Connection ------------------------------------------------------------------------------------------------- - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListConnectionIds(self, request: ServiceId, context : grpc.ServicerContext) -> ConnectionIdList: with self.lock: str_key = key_to_str([request.context_id.context_uuid.uuid, request.service_uuid.uuid]) @@ -732,7 +734,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_connections = sorted(db_connections, key=operator.attrgetter('pk')) return ConnectionIdList(connection_ids=[db_connection.dump_id() for db_connection in db_connections]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ListConnections(self, request: ContextId, context : grpc.ServicerContext) -> ServiceList: with self.lock: str_key = key_to_str([request.context_id.context_uuid.uuid, request.service_uuid.uuid]) @@ -741,13 +743,13 @@ class ContextServiceServicerImpl(ContextServiceServicer): db_connections = sorted(db_connections, key=operator.attrgetter('pk')) return ConnectionList(connections=[db_connection.dump() for db_connection in db_connections]) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetConnection(self, request: ConnectionId, context : grpc.ServicerContext) -> Connection: with self.lock: db_connection : ConnectionModel = get_object(self.database, ConnectionModel, request.connection_uuid.uuid) return Connection(**db_connection.dump(include_path=True, include_sub_service_ids=True)) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def SetConnection(self, request: Connection, context : grpc.ServicerContext) -> ConnectionId: with self.lock: connection_uuid = request.connection_id.connection_uuid.uuid @@ -786,7 +788,7 @@ class ContextServiceServicerImpl(ContextServiceServicer): notify_event(self.messagebroker, TOPIC_CONNECTION, event_type, {'connection_id': dict_connection_id}) return ConnectionId(**dict_connection_id) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def RemoveConnection(self, request: ConnectionId, context : grpc.ServicerContext) -> Empty: with self.lock: db_connection = ConnectionModel(self.database, request.connection_uuid.uuid, auto_load=False) @@ -794,26 +796,66 @@ class ContextServiceServicerImpl(ContextServiceServicer): if not found: return Empty() dict_connection_id = db_connection.dump_id() - - db_path = PathModel(self.database, db_connection.path_fk) - for db_path_hop_pk,_ in db_path.references(PathHopModel): - PathHopModel(self.database, db_path_hop_pk).delete() - - # Do not remove sub-services automatically. They are supported by real services, so Service component should - # deal with the correct removal workflow to deconfigure the devices. - for db_connection_sub_service_pk,_ in db_connection.references(ConnectionSubServiceModel): - db_connection_sub_service : ConnectionSubServiceModel = get_object( - self.database, ConnectionSubServiceModel, db_connection_sub_service_pk) - db_connection_sub_service.delete() - db_connection.delete() - db_path.delete() event_type = EventTypeEnum.EVENTTYPE_REMOVE notify_event(self.messagebroker, TOPIC_CONNECTION, event_type, {'connection_id': dict_connection_id}) return Empty() - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetConnectionEvents(self, request: Empty, context : grpc.ServicerContext) -> Iterator[ConnectionEvent]: for message in self.messagebroker.consume({TOPIC_CONNECTION}, consume_timeout=CONSUME_TIMEOUT): yield ConnectionEvent(**json.loads(message.content)) + + + # ----- Policy ----------------------------------------------------------------------------------------------------- + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) + def ListPolicyRuleIds(self, request: Empty, context: grpc.ServicerContext) -> PolicyRuleIdList: + with self.lock: + db_policy_rules: List[PolicyRuleModel] = get_all_objects(self.database, PolicyRuleModel) + db_policy_rules = sorted(db_policy_rules, key=operator.attrgetter('pk')) + return PolicyRuleIdList(policyRuleIdList=[db_policy_rule.dump_id() for db_policy_rule in db_policy_rules]) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) + def ListPolicyRules(self, request: Empty, context: grpc.ServicerContext) -> PolicyRuleList: + with self.lock: + db_policy_rules: List[PolicyRuleModel] = get_all_objects(self.database, PolicyRuleModel) + db_policy_rules = sorted(db_policy_rules, key=operator.attrgetter('pk')) + return PolicyRuleList(policyRules=[db_policy_rule.dump() for db_policy_rule in db_policy_rules]) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) + def GetPolicyRule(self, request: PolicyRuleId, context: grpc.ServicerContext) -> PolicyRule: + with self.lock: + policy_rule_uuid = request.uuid.uuid + db_policy_rule: PolicyRuleModel = get_object(self.database, PolicyRuleModel, policy_rule_uuid) + return PolicyRule(**db_policy_rule.dump()) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) + def SetPolicyRule(self, request: PolicyRule, context: grpc.ServicerContext) -> PolicyRuleId: + with self.lock: + policy_rule_type = request.WhichOneof('policy_rule') + policy_rule_json = grpc_message_to_json(request) + policy_rule_uuid = policy_rule_json[policy_rule_type]['policyRuleBasic']['policyRuleId']['uuid']['uuid'] + result: Tuple[PolicyRuleModel, bool] = update_or_create_object( + self.database, PolicyRuleModel, policy_rule_uuid, {'value': json.dumps(policy_rule_json)}) + db_policy, updated = result # pylint: disable=unused-variable + + #event_type = EventTypeEnum.EVENTTYPE_UPDATE if updated else EventTypeEnum.EVENTTYPE_CREATE + dict_policy_id = db_policy.dump_id() + #notify_event(self.messagebroker, TOPIC_POLICY, event_type, {"policy_id": dict_policy_id}) + return PolicyRuleId(**dict_policy_id) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) + def RemovePolicyRule(self, request: PolicyRuleId, context: grpc.ServicerContext) -> Empty: + with self.lock: + policy_uuid = request.uuid.uuid + db_policy = PolicyRuleModel(self.database, policy_uuid, auto_load=False) + found = db_policy.load() + if not found: return Empty() + + dict_policy_id = db_policy.dump_id() + db_policy.delete() + #event_type = EventTypeEnum.EVENTTYPE_REMOVE + #notify_event(self.messagebroker, TOPIC_POLICY, event_type, {"policy_id": dict_policy_id}) + return Empty() diff --git a/src/context/service/rest_server/Resources.py b/src/context/service/rest_server/Resources.py index 95c06d83cf1b708e2420e3f6ecff140bcb098598..5f03132a34004388596ce1fdfac470f029c093ea 100644 --- a/src/context/service/rest_server/Resources.py +++ b/src/context/service/rest_server/Resources.py @@ -16,8 +16,9 @@ from flask import make_response from flask.json import jsonify from flask_restful import Resource from common.orm.Database import Database +from common.proto.context_pb2 import ConnectionId, ContextId, DeviceId, Empty, LinkId, ServiceId, SliceId, TopologyId +from common.proto.policy_pb2 import PolicyRuleId from common.tools.grpc.Tools import grpc_message_to_json -from context.proto.context_pb2 import ConnectionId, ContextId, DeviceId, Empty, LinkId, ServiceId, SliceId, TopologyId from context.service.grpc_server.ContextServiceServicerImpl import ContextServiceServicerImpl def format_grpc_to_json(grpc_reply): @@ -61,6 +62,11 @@ def grpc_topology_id(context_uuid, topology_uuid): 'topology_uuid': {'uuid': topology_uuid} }) +def grpc_policy_rule_id(policy_rule_uuid): + return PolicyRuleId(**{ + 'uuid': {'uuid': policy_rule_uuid} + }) + class _Resource(Resource): def __init__(self, database : Database) -> None: super().__init__() @@ -151,6 +157,18 @@ class Connection(_Resource): def get(self, connection_uuid : str): return format_grpc_to_json(self.servicer.GetConnection(grpc_connection_id(connection_uuid), None)) +class PolicyRuleIds(_Resource): + def get(self): + return format_grpc_to_json(self.servicer.ListPolicyRuleIds(Empty(), None)) + +class PolicyRules(_Resource): + def get(self): + return format_grpc_to_json(self.servicer.ListPolicyRules(Empty(), None)) + +class PolicyRule(_Resource): + def get(self, policy_rule_uuid : str): + return format_grpc_to_json(self.servicer.GetPolicyRule(grpc_policy_rule_id(policy_rule_uuid), None)) + class DumpText(Resource): def __init__(self, database : Database) -> None: super().__init__() @@ -219,6 +237,10 @@ RESOURCES = [ ('api.connections', Connections, '/context//service//connections'), ('api.connection', Connection, '/connection/'), + ('api.policyrule_ids', PolicyRuleIds, '/policyrule_ids'), + ('api.policyrules', PolicyRules, '/policyrules'), + ('api.policyrule', PolicyRule, '/policyrule/'), + ('api.dump.text', DumpText, '/dump/text'), ('api.dump.html', DumpHtml, '/dump/html'), ] diff --git a/src/context/service/rest_server/RestServer.py b/src/context/service/rest_server/RestServer.py new file mode 100644 index 0000000000000000000000000000000000000000..289e92a3c1b74e207a261b133130a551c3c55918 --- /dev/null +++ b/src/context/service/rest_server/RestServer.py @@ -0,0 +1,23 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +from common.Constants import ServiceNameEnum +from common.Settings import get_service_baseurl_http, get_service_port_http +from common.tools.service.GenericRestServer import GenericRestServer + +class RestServer(GenericRestServer): + def __init__(self, cls_name: str = __name__) -> None: + bind_port = get_service_port_http(ServiceNameEnum.CONTEXT) + base_url = get_service_baseurl_http(ServiceNameEnum.CONTEXT) + super().__init__(bind_port, base_url, cls_name=cls_name) diff --git a/src/context/service/rest_server/Server.py b/src/context/service/rest_server/Server.py deleted file mode 100644 index ac4888d41bd9a84c57fc2d2f308bde4558787cbc..0000000000000000000000000000000000000000 --- a/src/context/service/rest_server/Server.py +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -import logging, threading -from flask import Flask -from flask_restful import Api -from werkzeug.serving import make_server -from context.Config import RESTAPI_BASE_URL, RESTAPI_SERVICE_PORT - -logging.getLogger('werkzeug').setLevel(logging.WARNING) - -BIND_ADDRESS = '0.0.0.0' -LOGGER = logging.getLogger(__name__) - -class Server(threading.Thread): - def __init__(self, host=BIND_ADDRESS, port=RESTAPI_SERVICE_PORT, base_url=RESTAPI_BASE_URL): - threading.Thread.__init__(self, daemon=True) - self.host = host - self.port = port - self.base_url = base_url - self.srv = None - self.ctx = None - self.app = Flask(__name__) - self.api = Api(self.app, prefix=self.base_url) - - def add_resource(self, resource, *urls, **kwargs): - self.api.add_resource(resource, *urls, **kwargs) - - def run(self): - self.srv = make_server(self.host, self.port, self.app, threaded=True) - self.ctx = self.app.app_context() - self.ctx.push() - - endpoint = 'http://{:s}:{:s}{:s}'.format(str(self.host), str(self.port), str(self.base_url)) - LOGGER.info('Listening on {:s}...'.format(str(endpoint))) - self.srv.serve_forever() - - def shutdown(self): - self.srv.shutdown() diff --git a/src/context/tests/Objects.py b/src/context/tests/Objects.py index 35c6cd51b7b286630a0171e5c614ea5effd1aa2d..1cf929cfa578e8bbf8f95885cc2a7bc7e7b9f3ef 100644 --- a/src/context/tests/Objects.py +++ b/src/context/tests/Objects.py @@ -13,16 +13,17 @@ # limitations under the License. from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID +from common.proto.kpi_sample_types_pb2 import KpiSampleType from common.tools.object_factory.ConfigRule import json_config_rule_set from common.tools.object_factory.Connection import json_connection, json_connection_id -from common.tools.object_factory.Constraint import json_constraint +from common.tools.object_factory.Constraint import json_constraint_custom from common.tools.object_factory.Context import json_context, json_context_id from common.tools.object_factory.Device import json_device_id, json_device_packetrouter_disabled from common.tools.object_factory.EndPoint import json_endpoint, json_endpoint_id from common.tools.object_factory.Link import json_link, json_link_id from common.tools.object_factory.Service import json_service_id, json_service_l3nm_planned from common.tools.object_factory.Topology import json_topology, json_topology_id -from context.proto.kpi_sample_types_pb2 import KpiSampleType +from common.tools.object_factory.PolicyRule import json_policy_rule, json_policy_rule_id # ----- Context -------------------------------------------------------------------------------------------------------- @@ -129,8 +130,8 @@ SERVICE_R1_R2_EPIDS = [ json_endpoint_id(DEVICE_R2_ID, 'EP100', topology_id=TOPOLOGY_ID), ] SERVICE_R1_R2_CONST = [ - json_constraint('latency_ms', '15.2'), - json_constraint('jitter_us', '1.2'), + json_constraint_custom('latency[ms]', '15.2'), + json_constraint_custom('jitter[us]', '1.2'), ] SERVICE_R1_R2_RULES = [ json_config_rule_set('svc/rsrc1/value', 'value7'), @@ -149,8 +150,8 @@ SERVICE_R1_R3_EPIDS = [ json_endpoint_id(DEVICE_R3_ID, 'EP100', topology_id=TOPOLOGY_ID), ] SERVICE_R1_R3_CONST = [ - json_constraint('latency_ms', '5.8'), - json_constraint('jitter_us', '0.1'), + json_constraint_custom('latency[ms]', '5.8'), + json_constraint_custom('jitter[us]', '0.1'), ] SERVICE_R1_R3_RULES = [ json_config_rule_set('svc/rsrc1/value', 'value7'), @@ -169,8 +170,8 @@ SERVICE_R2_R3_EPIDS = [ json_endpoint_id(DEVICE_R3_ID, 'EP100', topology_id=TOPOLOGY_ID), ] SERVICE_R2_R3_CONST = [ - json_constraint('latency_ms', '23.1'), - json_constraint('jitter_us', '3.4'), + json_constraint_custom('latency[ms]', '23.1'), + json_constraint_custom('jitter[us]', '3.4'), ] SERVICE_R2_R3_RULES = [ json_config_rule_set('svc/rsrc1/value', 'value7'), @@ -197,3 +198,9 @@ CONNECTION_R1_R3_SVCIDS = [SERVICE_R1_R2_ID, SERVICE_R2_R3_ID] CONNECTION_R1_R3 = json_connection( CONNECTION_R1_R3_UUID, service_id=SERVICE_R1_R3_ID, path_hops_endpoint_ids=CONNECTION_R1_R3_EPIDS, sub_service_ids=CONNECTION_R1_R3_SVCIDS) + + +# ----- PolicyRule ------------------------------------------------------------------------------------------------------- +POLICY_RULE_UUID = '56380225-3e40-4f74-9162-529f8dcb96a1' +POLICY_RULE_ID = json_policy_rule_id(POLICY_RULE_UUID) +POLICY_RULE = json_policy_rule(POLICY_RULE_UUID) diff --git a/src/context/tests/test_unitary.py b/src/context/tests/test_unitary.py index 10f44d9ad87a71d5935151f4ae724e9d04b5d5ce..022c0472039d526e488f8a69096fae8c0edbdb48 100644 --- a/src/context/tests/test_unitary.py +++ b/src/context/tests/test_unitary.py @@ -15,43 +15,51 @@ # pylint: disable=too-many-lines import copy, grpc, logging, os, pytest, requests, time, urllib from typing import Tuple -from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID +from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID, ServiceNameEnum +from common.Settings import ( + ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, ENVVAR_SUFIX_SERVICE_PORT_HTTP, get_env_var_name, + get_service_baseurl_http, get_service_port_grpc, get_service_port_http) from common.orm.Database import Database from common.orm.Factory import get_database_backend, BackendEnum as DatabaseBackendEnum from common.message_broker.Factory import get_messagebroker_backend, BackendEnum as MessageBrokerBackendEnum from common.message_broker.MessageBroker import MessageBroker +from common.proto.context_pb2 import ( + Connection, ConnectionEvent, ConnectionId, Context, ContextEvent, ContextId, Device, DeviceEvent, DeviceId, + DeviceOperationalStatusEnum, Empty, EventTypeEnum, Link, LinkEvent, LinkId, Service, ServiceEvent, ServiceId, + ServiceStatusEnum, ServiceTypeEnum, Topology, TopologyEvent, TopologyId) +from common.proto.policy_pb2 import (PolicyRuleIdList, PolicyRuleId, PolicyRuleList, PolicyRule) from common.type_checkers.Assertions import ( validate_connection, validate_connection_ids, validate_connections, validate_context, validate_context_ids, validate_contexts, validate_device, validate_device_ids, validate_devices, validate_link, validate_link_ids, validate_links, validate_service, validate_service_ids, validate_services, validate_topologies, validate_topology, validate_topology_ids) -from context.Config import ( - GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD, RESTAPI_SERVICE_PORT, RESTAPI_BASE_URL) from context.client.ContextClient import ContextClient from context.client.EventsCollector import EventsCollector -from context.proto.context_pb2 import ( - Connection, ConnectionEvent, ConnectionId, Context, ContextEvent, ContextId, Device, DeviceEvent, DeviceId, - DeviceOperationalStatusEnum, Empty, EventTypeEnum, Link, LinkEvent, LinkId, Service, ServiceEvent, ServiceId, - ServiceStatusEnum, ServiceTypeEnum, Topology, TopologyEvent, TopologyId) from context.service.database.Tools import ( FASTHASHER_DATA_ACCEPTED_FORMAT, FASTHASHER_ITEM_ACCEPTED_FORMAT, fast_hasher) from context.service.grpc_server.ContextService import ContextService from context.service.Populate import populate -from context.service.rest_server.Server import Server as RestServer +from context.service.rest_server.RestServer import RestServer from context.service.rest_server.Resources import RESOURCES from .Objects import ( CONNECTION_R1_R3, CONNECTION_R1_R3_ID, CONNECTION_R1_R3_UUID, CONTEXT, CONTEXT_ID, DEVICE_R1, DEVICE_R1_ID, DEVICE_R1_UUID, DEVICE_R2, DEVICE_R2_ID, DEVICE_R2_UUID, DEVICE_R3, DEVICE_R3_ID, DEVICE_R3_UUID, LINK_R1_R2, LINK_R1_R2_ID, LINK_R1_R2_UUID, SERVICE_R1_R2, SERVICE_R1_R2_ID, SERVICE_R1_R2_UUID, SERVICE_R1_R3, - SERVICE_R1_R3_ID, SERVICE_R1_R3_UUID, SERVICE_R2_R3, SERVICE_R2_R3_ID, SERVICE_R2_R3_UUID, TOPOLOGY, TOPOLOGY_ID) + SERVICE_R1_R3_ID, SERVICE_R1_R3_UUID, SERVICE_R2_R3, SERVICE_R2_R3_ID, SERVICE_R2_R3_UUID, TOPOLOGY, TOPOLOGY_ID, + POLICY_RULE, POLICY_RULE_ID, POLICY_RULE_UUID) LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -GRPC_PORT = 10000 + GRPC_SERVICE_PORT # avoid privileged ports -RESTAPI_PORT = 10000 + RESTAPI_SERVICE_PORT # avoid privileged ports +LOCAL_HOST = '127.0.0.1' +GRPC_PORT = 10000 + int(get_service_port_grpc(ServiceNameEnum.CONTEXT)) # avoid privileged ports +HTTP_PORT = 10000 + int(get_service_port_http(ServiceNameEnum.CONTEXT)) # avoid privileged ports + +os.environ[get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_HOST )] = str(LOCAL_HOST) +os.environ[get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_GRPC)] = str(GRPC_PORT) +os.environ[get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_HTTP)] = str(HTTP_PORT) -DEFAULT_REDIS_SERVICE_HOST = '127.0.0.1' +DEFAULT_REDIS_SERVICE_HOST = LOCAL_HOST DEFAULT_REDIS_SERVICE_PORT = 6379 DEFAULT_REDIS_DATABASE_ID = 0 @@ -62,8 +70,8 @@ REDIS_CONFIG = { } SCENARIOS = [ - ('all_inmemory', DatabaseBackendEnum.INMEMORY, {}, MessageBrokerBackendEnum.INMEMORY, {} ), - ('all_redis', DatabaseBackendEnum.REDIS, REDIS_CONFIG, MessageBrokerBackendEnum.REDIS, REDIS_CONFIG), + ('all_inmemory', DatabaseBackendEnum.INMEMORY, {}, MessageBrokerBackendEnum.INMEMORY, {} ) +# ('all_redis', DatabaseBackendEnum.REDIS, REDIS_CONFIG, MessageBrokerBackendEnum.REDIS, REDIS_CONFIG), ] @pytest.fixture(scope='session', ids=[str(scenario[0]) for scenario in SCENARIOS], params=SCENARIOS) @@ -78,9 +86,7 @@ def context_db_mb(request) -> Tuple[Database, MessageBroker]: @pytest.fixture(scope='session') def context_service_grpc(context_db_mb : Tuple[Database, MessageBroker]): # pylint: disable=redefined-outer-name - _service = ContextService( - context_db_mb[0], context_db_mb[1], port=GRPC_PORT, max_workers=GRPC_MAX_WORKERS, - grace_period=GRPC_GRACE_PERIOD) + _service = ContextService(context_db_mb[0], context_db_mb[1]) _service.start() yield _service _service.stop() @@ -88,7 +94,7 @@ def context_service_grpc(context_db_mb : Tuple[Database, MessageBroker]): # pyli @pytest.fixture(scope='session') def context_service_rest(context_db_mb : Tuple[Database, MessageBroker]): # pylint: disable=redefined-outer-name database = context_db_mb[0] - _rest_server = RestServer(port=RESTAPI_PORT, base_url=RESTAPI_BASE_URL) + _rest_server = RestServer() for endpoint_name, resource_class, resource_url in RESOURCES: _rest_server.add_resource(resource_class, resource_url, endpoint=endpoint_name, resource_class_args=(database,)) _rest_server.start() @@ -99,12 +105,13 @@ def context_service_rest(context_db_mb : Tuple[Database, MessageBroker]): # pyli @pytest.fixture(scope='session') def context_client_grpc(context_service_grpc : ContextService): # pylint: disable=redefined-outer-name - _client = ContextClient(address='127.0.0.1', port=GRPC_PORT) + _client = ContextClient() yield _client _client.close() def do_rest_request(url : str): - request_url = 'http://127.0.0.1:{:s}{:s}{:s}'.format(str(RESTAPI_PORT), str(RESTAPI_BASE_URL), url) + base_url = get_service_baseurl_http(ServiceNameEnum.CONTEXT) + request_url = 'http://{:s}:{:s}{:s}{:s}'.format(str(LOCAL_HOST), str(HTTP_PORT), str(base_url), url) LOGGER.warning('Request: GET {:s}'.format(str(request_url))) reply = requests.get(request_url) LOGGER.warning('Reply: {:s}'.format(str(reply.text))) @@ -454,7 +461,7 @@ def test_grpc_device( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 40 + assert len(db_entries) == 47 # ----- Get when the object exists --------------------------------------------------------------------------------- response = context_client_grpc.GetDevice(DeviceId(**DEVICE_R1_ID)) @@ -507,7 +514,7 @@ def test_grpc_device( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 40 + assert len(db_entries) == 47 # ----- Remove the object ------------------------------------------------------------------------------------------ context_client_grpc.RemoveDevice(DeviceId(**DEVICE_R1_ID)) @@ -606,7 +613,7 @@ def test_grpc_link( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 67 + assert len(db_entries) == 80 # ----- Create the object ------------------------------------------------------------------------------------------ response = context_client_grpc.SetLink(Link(**LINK_R1_R2)) @@ -634,7 +641,7 @@ def test_grpc_link( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 75 + assert len(db_entries) == 88 # ----- Get when the object exists --------------------------------------------------------------------------------- response = context_client_grpc.GetLink(LinkId(**LINK_R1_R2_ID)) @@ -680,7 +687,7 @@ def test_grpc_link( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 75 + assert len(db_entries) == 88 # ----- Remove the object ------------------------------------------------------------------------------------------ context_client_grpc.RemoveLink(LinkId(**LINK_R1_R2_ID)) @@ -789,7 +796,7 @@ def test_grpc_service( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 67 + assert len(db_entries) == 80 # ----- Create the object ------------------------------------------------------------------------------------------ with pytest.raises(grpc.RpcError) as e: @@ -841,7 +848,7 @@ def test_grpc_service( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 84 + assert len(db_entries) == 108 # ----- Get when the object exists --------------------------------------------------------------------------------- response = context_client_grpc.GetService(ServiceId(**SERVICE_R1_R2_ID)) @@ -1037,7 +1044,7 @@ def test_grpc_connection( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 137 + assert len(db_entries) == 187 # ----- Create the object ------------------------------------------------------------------------------------------ with pytest.raises(grpc.RpcError) as e: @@ -1077,7 +1084,7 @@ def test_grpc_connection( for db_entry in db_entries: LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover LOGGER.info('-----------------------------------------------------------') - assert len(db_entries) == 153 + assert len(db_entries) == 203 # ----- Get when the object exists --------------------------------------------------------------------------------- response = context_client_grpc.GetConnection(ConnectionId(**CONNECTION_R1_R3_ID)) @@ -1164,6 +1171,101 @@ def test_grpc_connection( assert len(db_entries) == 0 +def test_grpc_policy( + context_client_grpc : ContextClient, # pylint: disable=redefined-outer-name + context_db_mb : Tuple[Database, MessageBroker]): # pylint: disable=redefined-outer-name + context_database = context_db_mb[0] + + # ----- Clean the database ----------------------------------------------------------------------------------------- + context_database.clear_all() + + # ----- Initialize the EventsCollector ----------------------------------------------------------------------------- + #events_collector = EventsCollector(context_client_grpc) + #events_collector.start() + + # ----- Get when the object does not exist ------------------------------------------------------------------------- + POLICY_ID = 'no-uuid' + DEFAULT_POLICY_ID = {'uuid': {'uuid': POLICY_ID}} + + with pytest.raises(grpc.RpcError) as e: + context_client_grpc.GetPolicyRule(PolicyRuleId(**DEFAULT_POLICY_ID)) + + assert e.value.code() == grpc.StatusCode.NOT_FOUND + assert e.value.details() == 'PolicyRule({:s}) not found'.format(POLICY_ID) + + # ----- List when the object does not exist ------------------------------------------------------------------------ + response = context_client_grpc.ListPolicyRuleIds(Empty()) + assert len(response.policyRuleIdList) == 0 + + response = context_client_grpc.ListPolicyRules(Empty()) + assert len(response.policyRules) == 0 + + # ----- Dump state of database before create the object ------------------------------------------------------------ + db_entries = context_database.dump() + LOGGER.info('----- Database Dump [{:3d} entries] -------------------------'.format(len(db_entries))) + for db_entry in db_entries: + LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover + LOGGER.info('-----------------------------------------------------------') + assert len(db_entries) == 0 + + # ----- Create the object ------------------------------------------------------------------------------------------ + response = context_client_grpc.SetPolicyRule(PolicyRule(**POLICY_RULE)) + assert response.uuid.uuid == POLICY_RULE_UUID + + # ----- Check create event ----------------------------------------------------------------------------------------- + # events = events_collector.get_events(block=True, count=1) + # assert isinstance(events[0], PolicyEvent) + # assert events[0].event.event_type == EventTypeEnum.EVENTTYPE_CREATE + # assert events[0].policy_id.uuid.uuid == POLICY_RULE_UUID + + # ----- Update the object ------------------------------------------------------------------------------------------ + response = context_client_grpc.SetPolicyRule(PolicyRule(**POLICY_RULE)) + assert response.uuid.uuid == POLICY_RULE_UUID + + # ----- Dump state of database after create/update the object ------------------------------------------------------ + db_entries = context_database.dump() + LOGGER.info('----- Database Dump [{:3d} entries] -------------------------'.format(len(db_entries))) + for db_entry in db_entries: + LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover + LOGGER.info('-----------------------------------------------------------') + assert len(db_entries) == 2 + + # ----- Get when the object exists --------------------------------------------------------------------------------- + response = context_client_grpc.GetPolicyRule(PolicyRuleId(**POLICY_RULE_ID)) + assert response.device.policyRuleBasic.policyRuleId.uuid.uuid == POLICY_RULE_UUID + + # ----- List when the object exists -------------------------------------------------------------------------------- + response = context_client_grpc.ListPolicyRuleIds(Empty()) + assert len(response.policyRuleIdList) == 1 + assert response.policyRuleIdList[0].uuid.uuid == POLICY_RULE_UUID + + response = context_client_grpc.ListPolicyRules(Empty()) + assert len(response.policyRules) == 1 + + # ----- Remove the object ------------------------------------------------------------------------------------------ + context_client_grpc.RemovePolicyRule(PolicyRuleId(**POLICY_RULE_ID)) + + # ----- Check remove event ----------------------------------------------------------------------------------------- + # events = events_collector.get_events(block=True, count=2) + + # assert isinstance(events[0], PolicyEvent) + # assert events[0].event.event_type == EventTypeEnum.EVENTTYPE_REMOVE + # assert events[0].policy_id.uuid.uuid == POLICY_RULE_UUID + + + # ----- Stop the EventsCollector ----------------------------------------------------------------------------------- + # events_collector.stop() + + # ----- Dump state of database after remove the object ------------------------------------------------------------- + db_entries = context_database.dump() + LOGGER.info('----- Database Dump [{:3d} entries] -------------------------'.format(len(db_entries))) + for db_entry in db_entries: + LOGGER.info(' [{:>4s}] {:40s} :: {:s}'.format(*db_entry)) # pragma: no cover + LOGGER.info('-----------------------------------------------------------') + assert len(db_entries) == 0 + + + # ----- Test REST API methods ------------------------------------------------------------------------------------------ def test_rest_populate_database( @@ -1172,7 +1274,7 @@ def test_rest_populate_database( ): database = context_db_mb[0] database.clear_all() - populate('127.0.0.1', GRPC_PORT) + populate(LOCAL_HOST, GRPC_PORT) def test_rest_get_context_ids(context_service_rest : RestServer): # pylint: disable=redefined-outer-name reply = do_rest_request('/context_ids') @@ -1219,6 +1321,22 @@ def test_rest_get_service(context_service_rest : RestServer): # pylint: disable= reply = do_rest_request('/context/{:s}/service/{:s}'.format(context_uuid, service_uuid)) validate_service(reply) +def test_rest_get_slice_ids(context_service_rest : RestServer): # pylint: disable=redefined-outer-name + context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_UUID) + reply = do_rest_request('/context/{:s}/slice_ids'.format(context_uuid)) + #validate_slice_ids(reply) + +def test_rest_get_slices(context_service_rest : RestServer): # pylint: disable=redefined-outer-name + context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_UUID) + reply = do_rest_request('/context/{:s}/slices'.format(context_uuid)) + #validate_slices(reply) + +#def test_rest_get_slice(context_service_rest : RestServer): # pylint: disable=redefined-outer-name +# context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_UUID) +# slice_uuid = urllib.parse.quote(SLICE_R1_R2_UUID, safe='') +# reply = do_rest_request('/context/{:s}/slice/{:s}'.format(context_uuid, slice_uuid)) +# #validate_slice(reply) + def test_rest_get_device_ids(context_service_rest : RestServer): # pylint: disable=redefined-outer-name reply = do_rest_request('/device_ids') validate_device_ids(reply) @@ -1262,6 +1380,19 @@ def test_rest_get_connection(context_service_rest : RestServer): # pylint: disab reply = do_rest_request('/connection/{:s}'.format(connection_uuid)) validate_connection(reply) +def test_rest_get_policyrule_ids(context_service_rest : RestServer): # pylint: disable=redefined-outer-name + reply = do_rest_request('/policyrule_ids') + #validate_policyrule_ids(reply) + +def test_rest_get_policyrules(context_service_rest : RestServer): # pylint: disable=redefined-outer-name + reply = do_rest_request('/policyrules') + #validate_policyrules(reply) + +#def test_rest_get_policyrule(context_service_rest : RestServer): # pylint: disable=redefined-outer-name +# policyrule_uuid = urllib.parse.quote(POLICYRULE_UUID, safe='') +# reply = do_rest_request('/policyrule/{:s}'.format(policyrule_uuid)) +# #validate_policyrule(reply) + # ----- Test misc. Context internal tools ------------------------------------------------------------------------------ diff --git a/src/dbscanserving/.gitlab-ci.yml b/src/dbscanserving/.gitlab-ci.yml index 1e499fae232ff805fe3f70d1b1c586a9c9a8de5f..fd0d66bac25bbb5417a9f90415f3d0732312516b 100644 --- a/src/dbscanserving/.gitlab-ci.yml +++ b/src/dbscanserving/.gitlab-ci.yml @@ -56,7 +56,6 @@ unit test dbscanserving: - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - - docker exec -i $IMAGE_NAME bash -c "coverage xml -o /opt/results/${IMAGE_NAME}_coverage.xml" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: @@ -76,7 +75,6 @@ unit test dbscanserving: when: always reports: junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml - cobertura: src/$IMAGE_NAME/tests/${IMAGE_NAME}_coverage.xml # Deployment of the dbscanserving service in Kubernetes Cluster diff --git a/src/dbscanserving/service/DbscanServiceServicerImpl.py b/src/dbscanserving/service/DbscanServiceServicerImpl.py index 5560eec1e333c16c0ea980a5af14e856c3909431..b14729d36d403a2b246183751d9ecb077a92caeb 100644 --- a/src/dbscanserving/service/DbscanServiceServicerImpl.py +++ b/src/dbscanserving/service/DbscanServiceServicerImpl.py @@ -14,15 +14,13 @@ import os, grpc, logging from sklearn.cluster import DBSCAN -from common.rpc_method_wrapper.Decorator import create_metrics, safe_and_metered_rpc_method +from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method from dbscanserving.proto.dbscanserving_pb2 import DetectionRequest, DetectionResponse from dbscanserving.proto.dbscanserving_pb2_grpc import DetectorServicer LOGGER = logging.getLogger(__name__) -SERVICE_NAME = 'DbscanServing' -METHOD_NAMES = ['Detect'] -METRICS = create_metrics(SERVICE_NAME, METHOD_NAMES) +METRICS_POOL = MetricsPool('DbscanServing', 'RPC') class DbscanServiceServicerImpl(DetectorServicer): @@ -31,7 +29,7 @@ class DbscanServiceServicerImpl(DetectorServicer): LOGGER.debug('Creating Servicer...') LOGGER.debug('Servicer Created') - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def Detect(self, request : DetectionRequest, context : grpc.ServicerContext) -> DetectionResponse: if request.num_samples != len(request.samples): context.set_details("The sample dimension declared does not match with the number of samples received.") diff --git a/src/device/.gitlab-ci.yml b/src/device/.gitlab-ci.yml index aa2f9114a8c1507397171286e79d4daf8c348899..3da19e7a38c9659fb8c86afd7beaefc7e08a6d7c 100644 --- a/src/device/.gitlab-ci.yml +++ b/src/device/.gitlab-ci.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Build, tag and push the Docker image to the GitLab registry +# Build, tag, and push the Docker image to the GitLab Docker registry build device: variables: IMAGE_NAME: 'device' # name of the microservice @@ -21,15 +21,17 @@ build device: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ + - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: + - src/common/**/*.py + - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py @@ -54,8 +56,7 @@ unit test device: - sleep 5 - docker ps -a - docker logs $IMAGE_NAME - - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - - docker exec -i $IMAGE_NAME bash -c "coverage xml -o /opt/results/${IMAGE_NAME}_coverage.xml" + - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary_emulated.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: @@ -63,8 +64,10 @@ unit test device: - docker network rm teraflowbridge rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: + - src/common/**/*.py + - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py @@ -75,7 +78,6 @@ unit test device: when: always reports: junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml - cobertura: src/$IMAGE_NAME/tests/${IMAGE_NAME}_coverage.xml # Deployment of the service in Kubernetes Cluster deploy device: diff --git a/src/device/Config.py b/src/device/Config.py index 415ae7b01ced740a0dc09f215ae71ad553a2672e..70a33251242c51f49140e596b8208a19dd5245f7 100644 --- a/src/device/Config.py +++ b/src/device/Config.py @@ -12,21 +12,3 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging - -# General settings -LOG_LEVEL = logging.WARNING - -# gRPC settings -GRPC_SERVICE_PORT = 2020 -GRPC_MAX_WORKERS = 10 -GRPC_GRACE_PERIOD = 60 - -# Prometheus settings -METRICS_PORT = 9192 - -# Dependency micro-service connection settings -CONTEXT_SERVICE_HOST = '127.0.0.1' -CONTEXT_SERVICE_PORT = 1010 -MONITORING_SERVICE_HOST = '127.0.0.1' -MONITORING_SERVICE_PORT = 7070 diff --git a/src/device/Dockerfile b/src/device/Dockerfile index 2f63e775c3004efda3b76e074155bd0e1962920f..ad513d965d03102834230f709267bcf7ece321d8 100644 --- a/src/device/Dockerfile +++ b/src/device/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM python:3-slim +FROM python:3.9-slim # Install dependencies RUN apt-get --yes --quiet --quiet update && \ @@ -28,24 +28,43 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ chmod +x /bin/grpc_health_probe # Get generic Python packages -RUN python3 -m pip install --upgrade pip setuptools wheel pip-tools +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install --upgrade setuptools wheel +RUN python3 -m pip install --upgrade pip-tools -# Set working directory +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components WORKDIR /var/teraflow +COPY common_requirements.in common_requirements.in +RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in +RUN python3 -m pip install -r common_requirements.txt -# Create module sub-folders -RUN mkdir -p /var/teraflow/device +# Add common files into working directory +WORKDIR /var/teraflow/common +COPY src/common/. ./ +RUN rm -rf proto + +# Create proto sub-folder, copy .proto files, and generate Python code +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto +RUN touch __init__.py +COPY proto/*.proto ./ +RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto +RUN rm *.proto +RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; -# Get Python packages per module -COPY device/requirements.in device/requirements.in -RUN pip-compile --output-file=device/requirements.txt device/requirements.in -RUN python3 -m pip install -r device/requirements.txt +# Create component sub-folders, get specific Python packages +RUN mkdir -p /var/teraflow/device +WORKDIR /var/teraflow/device +COPY src/device/requirements.in requirements.in +RUN pip-compile --quiet --output-file=requirements.txt requirements.in +RUN python3 -m pip install -r requirements.txt -# Add files into working directory -COPY common/. common -COPY context/. context -COPY device/. device -COPY monitoring/. monitoring +# Add component files into working directory +WORKDIR /var/teraflow +COPY src/context/. context/ +COPY src/device/. device/ +COPY src/monitoring/. monitoring/ -# Start device service +# Start the service ENTRYPOINT ["python", "-m", "device.service"] diff --git a/src/device/client/DeviceClient.py b/src/device/client/DeviceClient.py index 2a9512411a2d9e55e4c5b0fa75d48fc54d810713..875496cbb6c5f85452bb8a2427288c6bdf13669d 100644 --- a/src/device/client/DeviceClient.py +++ b/src/device/client/DeviceClient.py @@ -13,10 +13,13 @@ # limitations under the License. import grpc, logging +from common.Constants import ServiceNameEnum +from common.Settings import get_service_host, get_service_port_grpc +from common.proto.context_pb2 import Device, DeviceConfig, DeviceId, Empty +from common.proto.device_pb2 import MonitoringSettings +from common.proto.device_pb2_grpc import DeviceServiceStub from common.tools.client.RetryDecorator import retry, delay_exponential -from device.proto.context_pb2 import Device, DeviceConfig, DeviceId, Empty -from device.proto.device_pb2 import MonitoringSettings -from device.proto.device_pb2_grpc import DeviceServiceStub +from common.tools.grpc.Tools import grpc_message_to_json_string LOGGER = logging.getLogger(__name__) MAX_RETRIES = 15 @@ -24,8 +27,10 @@ DELAY_FUNCTION = delay_exponential(initial=0.01, increment=2.0, maximum=5.0) RETRY_DECORATOR = retry(max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') class DeviceClient: - def __init__(self, address, port): - self.endpoint = '{:s}:{:s}'.format(str(address), str(port)) + def __init__(self, host=None, port=None): + if not host: host = get_service_host(ServiceNameEnum.DEVICE) + if not port: port = get_service_port_grpc(ServiceNameEnum.DEVICE) + self.endpoint = '{:s}:{:s}'.format(str(host), str(port)) LOGGER.debug('Creating channel to {:s}...'.format(str(self.endpoint))) self.channel = None self.stub = None @@ -37,41 +42,41 @@ class DeviceClient: self.stub = DeviceServiceStub(self.channel) def close(self): - if(self.channel is not None): self.channel.close() + if self.channel is not None: self.channel.close() self.channel = None self.stub = None @RETRY_DECORATOR def AddDevice(self, request : Device) -> DeviceId: - LOGGER.debug('AddDevice request: {:s}'.format(str(request))) + LOGGER.debug('AddDevice request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.AddDevice(request) - LOGGER.debug('AddDevice result: {:s}'.format(str(response))) + LOGGER.debug('AddDevice result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def ConfigureDevice(self, request : Device) -> DeviceId: - LOGGER.debug('ConfigureDevice request: {:s}'.format(str(request))) + LOGGER.debug('ConfigureDevice request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.ConfigureDevice(request) - LOGGER.debug('ConfigureDevice result: {:s}'.format(str(response))) + LOGGER.debug('ConfigureDevice result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def DeleteDevice(self, request : DeviceId) -> Empty: - LOGGER.debug('DeleteDevice request: {:s}'.format(str(request))) + LOGGER.debug('DeleteDevice request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.DeleteDevice(request) - LOGGER.debug('DeleteDevice result: {:s}'.format(str(response))) + LOGGER.debug('DeleteDevice result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def GetInitialConfig(self, request : DeviceId) -> DeviceConfig: - LOGGER.debug('GetInitialConfig request: {:s}'.format(str(request))) + LOGGER.debug('GetInitialConfig request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.GetInitialConfig(request) - LOGGER.debug('GetInitialConfig result: {:s}'.format(str(response))) + LOGGER.debug('GetInitialConfig result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def MonitorDeviceKpi(self, request : MonitoringSettings) -> Empty: - LOGGER.debug('MonitorDeviceKpi request: {:s}'.format(str(request))) + LOGGER.debug('MonitorDeviceKpi request: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.MonitorDeviceKpi(request) - LOGGER.debug('MonitorDeviceKpi result: {:s}'.format(str(response))) + LOGGER.debug('MonitorDeviceKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response diff --git a/src/device/genproto.sh b/src/device/genproto.sh deleted file mode 100755 index 49b1d10ad23742fda1549e264ef0fa741112c6fc..0000000000000000000000000000000000000000 --- a/src/device/genproto.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -eu -# -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -# Make folder containing the script the root folder for its execution -cd $(dirname $0) - -rm -rf proto/*.py -rm -rf proto/__pycache__ -tee proto/__init__.py << EOF > /dev/null -# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) -# -# 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. - -EOF - -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto context.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto device.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto kpi_sample_types.proto -python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto monitoring.proto - -rm proto/context_pb2_grpc.py -rm proto/kpi_sample_types_pb2_grpc.py -rm proto/monitoring_pb2_grpc.py - -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/context_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/device_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/device_pb2_grpc.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/kpi_sample_types_pb2.py -sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/monitoring_pb2.py diff --git a/src/device/proto/context_pb2.py b/src/device/proto/context_pb2.py deleted file mode 100644 index 50d501d3ac053ad644554331af26e3c40cd426a1..0000000000000000000000000000000000000000 --- a/src/device/proto/context_pb2.py +++ /dev/null @@ -1,3071 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: context.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import kpi_sample_types_pb2 as kpi__sample__types__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='context.proto', - package='context', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\rcontext.proto\x12\x07\x63ontext\x1a\x16kpi_sample_types.proto\"\x07\n\x05\x45mpty\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"F\n\x05\x45vent\x12\x11\n\ttimestamp\x18\x01 \x01(\x01\x12*\n\nevent_type\x18\x02 \x01(\x0e\x32\x16.context.EventTypeEnum\"0\n\tContextId\x12#\n\x0c\x63ontext_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\xb6\x01\n\x07\x43ontext\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12)\n\x0ctopology_ids\x18\x02 \x03(\x0b\x32\x13.context.TopologyId\x12\'\n\x0bservice_ids\x18\x03 \x03(\x0b\x32\x12.context.ServiceId\x12/\n\ncontroller\x18\x04 \x01(\x0b\x32\x1b.context.TeraFlowController\"8\n\rContextIdList\x12\'\n\x0b\x63ontext_ids\x18\x01 \x03(\x0b\x32\x12.context.ContextId\"1\n\x0b\x43ontextList\x12\"\n\x08\x63ontexts\x18\x01 \x03(\x0b\x32\x10.context.Context\"U\n\x0c\x43ontextEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12&\n\ncontext_id\x18\x02 \x01(\x0b\x32\x12.context.ContextId\"Z\n\nTopologyId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12$\n\rtopology_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"~\n\x08Topology\x12(\n\x0btopology_id\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12%\n\ndevice_ids\x18\x02 \x03(\x0b\x32\x11.context.DeviceId\x12!\n\x08link_ids\x18\x03 \x03(\x0b\x32\x0f.context.LinkId\";\n\x0eTopologyIdList\x12)\n\x0ctopology_ids\x18\x01 \x03(\x0b\x32\x13.context.TopologyId\"5\n\x0cTopologyList\x12%\n\ntopologies\x18\x01 \x03(\x0b\x32\x11.context.Topology\"X\n\rTopologyEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12(\n\x0btopology_id\x18\x02 \x01(\x0b\x32\x13.context.TopologyId\".\n\x08\x44\x65viceId\x12\"\n\x0b\x64\x65vice_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\x9a\x02\n\x06\x44\x65vice\x12$\n\tdevice_id\x18\x01 \x01(\x0b\x32\x11.context.DeviceId\x12\x13\n\x0b\x64\x65vice_type\x18\x02 \x01(\t\x12,\n\rdevice_config\x18\x03 \x01(\x0b\x32\x15.context.DeviceConfig\x12G\n\x19\x64\x65vice_operational_status\x18\x04 \x01(\x0e\x32$.context.DeviceOperationalStatusEnum\x12\x31\n\x0e\x64\x65vice_drivers\x18\x05 \x03(\x0e\x32\x19.context.DeviceDriverEnum\x12+\n\x10\x64\x65vice_endpoints\x18\x06 \x03(\x0b\x32\x11.context.EndPoint\"9\n\x0c\x44\x65viceConfig\x12)\n\x0c\x63onfig_rules\x18\x01 \x03(\x0b\x32\x13.context.ConfigRule\"5\n\x0c\x44\x65viceIdList\x12%\n\ndevice_ids\x18\x01 \x03(\x0b\x32\x11.context.DeviceId\".\n\nDeviceList\x12 \n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x0f.context.Device\"R\n\x0b\x44\x65viceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"*\n\x06LinkId\x12 \n\tlink_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"X\n\x04Link\x12 \n\x07link_id\x18\x01 \x01(\x0b\x32\x0f.context.LinkId\x12.\n\x11link_endpoint_ids\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\"/\n\nLinkIdList\x12!\n\x08link_ids\x18\x01 \x03(\x0b\x32\x0f.context.LinkId\"(\n\x08LinkList\x12\x1c\n\x05links\x18\x01 \x03(\x0b\x32\r.context.Link\"L\n\tLinkEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12 \n\x07link_id\x18\x02 \x01(\x0b\x32\x0f.context.LinkId\"X\n\tServiceId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12#\n\x0cservice_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"\xa6\x02\n\x07Service\x12&\n\nservice_id\x18\x01 \x01(\x0b\x32\x12.context.ServiceId\x12.\n\x0cservice_type\x18\x02 \x01(\x0e\x32\x18.context.ServiceTypeEnum\x12\x31\n\x14service_endpoint_ids\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12\x30\n\x13service_constraints\x18\x04 \x03(\x0b\x32\x13.context.Constraint\x12.\n\x0eservice_status\x18\x05 \x01(\x0b\x32\x16.context.ServiceStatus\x12.\n\x0eservice_config\x18\x06 \x01(\x0b\x32\x16.context.ServiceConfig\"C\n\rServiceStatus\x12\x32\n\x0eservice_status\x18\x01 \x01(\x0e\x32\x1a.context.ServiceStatusEnum\":\n\rServiceConfig\x12)\n\x0c\x63onfig_rules\x18\x01 \x03(\x0b\x32\x13.context.ConfigRule\"8\n\rServiceIdList\x12\'\n\x0bservice_ids\x18\x01 \x03(\x0b\x32\x12.context.ServiceId\"1\n\x0bServiceList\x12\"\n\x08services\x18\x01 \x03(\x0b\x32\x10.context.Service\"U\n\x0cServiceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12&\n\nservice_id\x18\x02 \x01(\x0b\x32\x12.context.ServiceId\"T\n\x07SliceId\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12!\n\nslice_uuid\x18\x02 \x01(\x0b\x32\r.context.Uuid\"\x95\x02\n\x05Slice\x12\"\n\x08slice_id\x18\x01 \x01(\x0b\x32\x10.context.SliceId\x12/\n\x12slice_endpoint_ids\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\x12.\n\x11slice_constraints\x18\x03 \x03(\x0b\x32\x13.context.Constraint\x12-\n\x11slice_service_ids\x18\x04 \x03(\x0b\x32\x12.context.ServiceId\x12,\n\x12slice_subslice_ids\x18\x05 \x03(\x0b\x32\x10.context.SliceId\x12*\n\x0cslice_status\x18\x06 \x01(\x0b\x32\x14.context.SliceStatus\"=\n\x0bSliceStatus\x12.\n\x0cslice_status\x18\x01 \x01(\x0e\x32\x18.context.SliceStatusEnum\"2\n\x0bSliceIdList\x12#\n\tslice_ids\x18\x01 \x03(\x0b\x32\x10.context.SliceId\"+\n\tSliceList\x12\x1e\n\x06slices\x18\x01 \x03(\x0b\x32\x0e.context.Slice\"O\n\nSliceEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12\"\n\x08slice_id\x18\x02 \x01(\x0b\x32\x10.context.SliceId\"6\n\x0c\x43onnectionId\x12&\n\x0f\x63onnection_uuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\xc4\x01\n\nConnection\x12,\n\rconnection_id\x18\x01 \x01(\x0b\x32\x15.context.ConnectionId\x12&\n\nservice_id\x18\x02 \x01(\x0b\x32\x12.context.ServiceId\x12\x33\n\x16path_hops_endpoint_ids\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12+\n\x0fsub_service_ids\x18\x04 \x03(\x0b\x32\x12.context.ServiceId\"A\n\x10\x43onnectionIdList\x12-\n\x0e\x63onnection_ids\x18\x01 \x03(\x0b\x32\x15.context.ConnectionId\":\n\x0e\x43onnectionList\x12(\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32\x13.context.Connection\"^\n\x0f\x43onnectionEvent\x12\x1d\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0e.context.Event\x12,\n\rconnection_id\x18\x02 \x01(\x0b\x32\x15.context.ConnectionId\"\x82\x01\n\nEndPointId\x12(\n\x0btopology_id\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\x12$\n\rendpoint_uuid\x18\x03 \x01(\x0b\x32\r.context.Uuid\"\x86\x01\n\x08\x45ndPoint\x12(\n\x0b\x65ndpoint_id\x18\x01 \x01(\x0b\x32\x13.context.EndPointId\x12\x15\n\rendpoint_type\x18\x02 \x01(\t\x12\x39\n\x10kpi_sample_types\x18\x03 \x03(\x0e\x32\x1f.kpi_sample_types.KpiSampleType\"e\n\nConfigRule\x12)\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x19.context.ConfigActionEnum\x12\x14\n\x0cresource_key\x18\x02 \x01(\t\x12\x16\n\x0eresource_value\x18\x03 \x01(\t\"?\n\nConstraint\x12\x17\n\x0f\x63onstraint_type\x18\x01 \x01(\t\x12\x18\n\x10\x63onstraint_value\x18\x02 \x01(\t\"^\n\x12TeraFlowController\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x12\n\nip_address\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"U\n\x14\x41uthenticationResult\x12&\n\ncontext_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x15\n\rauthenticated\x18\x02 \x01(\x08*j\n\rEventTypeEnum\x12\x17\n\x13\x45VENTTYPE_UNDEFINED\x10\x00\x12\x14\n\x10\x45VENTTYPE_CREATE\x10\x01\x12\x14\n\x10\x45VENTTYPE_UPDATE\x10\x02\x12\x14\n\x10\x45VENTTYPE_REMOVE\x10\x03*\xc5\x01\n\x10\x44\x65viceDriverEnum\x12\x1a\n\x16\x44\x45VICEDRIVER_UNDEFINED\x10\x00\x12\x1b\n\x17\x44\x45VICEDRIVER_OPENCONFIG\x10\x01\x12\x1e\n\x1a\x44\x45VICEDRIVER_TRANSPORT_API\x10\x02\x12\x13\n\x0f\x44\x45VICEDRIVER_P4\x10\x03\x12&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOLOGY\x10\x04\x12\x1b\n\x17\x44\x45VICEDRIVER_ONF_TR_352\x10\x05*\x8f\x01\n\x1b\x44\x65viceOperationalStatusEnum\x12%\n!DEVICEOPERATIONALSTATUS_UNDEFINED\x10\x00\x12$\n DEVICEOPERATIONALSTATUS_DISABLED\x10\x01\x12#\n\x1f\x44\x45VICEOPERATIONALSTATUS_ENABLED\x10\x02*\x81\x01\n\x0fServiceTypeEnum\x12\x17\n\x13SERVICETYPE_UNKNOWN\x10\x00\x12\x14\n\x10SERVICETYPE_L3NM\x10\x01\x12\x14\n\x10SERVICETYPE_L2NM\x10\x02\x12)\n%SERVICETYPE_TAPI_CONNECTIVITY_SERVICE\x10\x03*\x88\x01\n\x11ServiceStatusEnum\x12\x1b\n\x17SERVICESTATUS_UNDEFINED\x10\x00\x12\x19\n\x15SERVICESTATUS_PLANNED\x10\x01\x12\x18\n\x14SERVICESTATUS_ACTIVE\x10\x02\x12!\n\x1dSERVICESTATUS_PENDING_REMOVAL\x10\x03*\x8b\x01\n\x0fSliceStatusEnum\x12\x19\n\x15SLICESTATUS_UNDEFINED\x10\x00\x12\x17\n\x13SLICESTATUS_PLANNED\x10\x01\x12\x14\n\x10SLICESTATUS_INIT\x10\x02\x12\x16\n\x12SLICESTATUS_ACTIVE\x10\x03\x12\x16\n\x12SLICESTATUS_DEINIT\x10\x04*]\n\x10\x43onfigActionEnum\x12\x1a\n\x16\x43ONFIGACTION_UNDEFINED\x10\x00\x12\x14\n\x10\x43ONFIGACTION_SET\x10\x01\x12\x17\n\x13\x43ONFIGACTION_DELETE\x10\x02\x32\xef\x12\n\x0e\x43ontextService\x12:\n\x0eListContextIds\x12\x0e.context.Empty\x1a\x16.context.ContextIdList\"\x00\x12\x36\n\x0cListContexts\x12\x0e.context.Empty\x1a\x14.context.ContextList\"\x00\x12\x34\n\nGetContext\x12\x12.context.ContextId\x1a\x10.context.Context\"\x00\x12\x34\n\nSetContext\x12\x10.context.Context\x1a\x12.context.ContextId\"\x00\x12\x35\n\rRemoveContext\x12\x12.context.ContextId\x1a\x0e.context.Empty\"\x00\x12=\n\x10GetContextEvents\x12\x0e.context.Empty\x1a\x15.context.ContextEvent\"\x00\x30\x01\x12@\n\x0fListTopologyIds\x12\x12.context.ContextId\x1a\x17.context.TopologyIdList\"\x00\x12=\n\x0eListTopologies\x12\x12.context.ContextId\x1a\x15.context.TopologyList\"\x00\x12\x37\n\x0bGetTopology\x12\x13.context.TopologyId\x1a\x11.context.Topology\"\x00\x12\x37\n\x0bSetTopology\x12\x11.context.Topology\x1a\x13.context.TopologyId\"\x00\x12\x37\n\x0eRemoveTopology\x12\x13.context.TopologyId\x1a\x0e.context.Empty\"\x00\x12?\n\x11GetTopologyEvents\x12\x0e.context.Empty\x1a\x16.context.TopologyEvent\"\x00\x30\x01\x12\x38\n\rListDeviceIds\x12\x0e.context.Empty\x1a\x15.context.DeviceIdList\"\x00\x12\x34\n\x0bListDevices\x12\x0e.context.Empty\x1a\x13.context.DeviceList\"\x00\x12\x31\n\tGetDevice\x12\x11.context.DeviceId\x1a\x0f.context.Device\"\x00\x12\x31\n\tSetDevice\x12\x0f.context.Device\x1a\x11.context.DeviceId\"\x00\x12\x33\n\x0cRemoveDevice\x12\x11.context.DeviceId\x1a\x0e.context.Empty\"\x00\x12;\n\x0fGetDeviceEvents\x12\x0e.context.Empty\x1a\x14.context.DeviceEvent\"\x00\x30\x01\x12\x34\n\x0bListLinkIds\x12\x0e.context.Empty\x1a\x13.context.LinkIdList\"\x00\x12\x30\n\tListLinks\x12\x0e.context.Empty\x1a\x11.context.LinkList\"\x00\x12+\n\x07GetLink\x12\x0f.context.LinkId\x1a\r.context.Link\"\x00\x12+\n\x07SetLink\x12\r.context.Link\x1a\x0f.context.LinkId\"\x00\x12/\n\nRemoveLink\x12\x0f.context.LinkId\x1a\x0e.context.Empty\"\x00\x12\x37\n\rGetLinkEvents\x12\x0e.context.Empty\x1a\x12.context.LinkEvent\"\x00\x30\x01\x12>\n\x0eListServiceIds\x12\x12.context.ContextId\x1a\x16.context.ServiceIdList\"\x00\x12:\n\x0cListServices\x12\x12.context.ContextId\x1a\x14.context.ServiceList\"\x00\x12\x34\n\nGetService\x12\x12.context.ServiceId\x1a\x10.context.Service\"\x00\x12\x34\n\nSetService\x12\x10.context.Service\x1a\x12.context.ServiceId\"\x00\x12\x35\n\rRemoveService\x12\x12.context.ServiceId\x1a\x0e.context.Empty\"\x00\x12=\n\x10GetServiceEvents\x12\x0e.context.Empty\x1a\x15.context.ServiceEvent\"\x00\x30\x01\x12:\n\x0cListSliceIds\x12\x12.context.ContextId\x1a\x14.context.SliceIdList\"\x00\x12\x36\n\nListSlices\x12\x12.context.ContextId\x1a\x12.context.SliceList\"\x00\x12.\n\x08GetSlice\x12\x10.context.SliceId\x1a\x0e.context.Slice\"\x00\x12.\n\x08SetSlice\x12\x0e.context.Slice\x1a\x10.context.SliceId\"\x00\x12\x31\n\x0bRemoveSlice\x12\x10.context.SliceId\x1a\x0e.context.Empty\"\x00\x12\x39\n\x0eGetSliceEvents\x12\x0e.context.Empty\x1a\x13.context.SliceEvent\"\x00\x30\x01\x12\x44\n\x11ListConnectionIds\x12\x12.context.ServiceId\x1a\x19.context.ConnectionIdList\"\x00\x12@\n\x0fListConnections\x12\x12.context.ServiceId\x1a\x17.context.ConnectionList\"\x00\x12=\n\rGetConnection\x12\x15.context.ConnectionId\x1a\x13.context.Connection\"\x00\x12=\n\rSetConnection\x12\x13.context.Connection\x1a\x15.context.ConnectionId\"\x00\x12;\n\x10RemoveConnection\x12\x15.context.ConnectionId\x1a\x0e.context.Empty\"\x00\x12\x43\n\x13GetConnectionEvents\x12\x0e.context.Empty\x1a\x18.context.ConnectionEvent\"\x00\x30\x01\x62\x06proto3' - , - dependencies=[kpi__sample__types__pb2.DESCRIPTOR,]) - -_EVENTTYPEENUM = _descriptor.EnumDescriptor( - name='EventTypeEnum', - full_name='context.EventTypeEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_CREATE', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_UPDATE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EVENTTYPE_REMOVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4310, - serialized_end=4416, -) -_sym_db.RegisterEnumDescriptor(_EVENTTYPEENUM) - -EventTypeEnum = enum_type_wrapper.EnumTypeWrapper(_EVENTTYPEENUM) -_DEVICEDRIVERENUM = _descriptor.EnumDescriptor( - name='DeviceDriverEnum', - full_name='context.DeviceDriverEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_OPENCONFIG', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_TRANSPORT_API', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_P4', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_IETF_NETWORK_TOPOLOGY', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEDRIVER_ONF_TR_352', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4419, - serialized_end=4616, -) -_sym_db.RegisterEnumDescriptor(_DEVICEDRIVERENUM) - -DeviceDriverEnum = enum_type_wrapper.EnumTypeWrapper(_DEVICEDRIVERENUM) -_DEVICEOPERATIONALSTATUSENUM = _descriptor.EnumDescriptor( - name='DeviceOperationalStatusEnum', - full_name='context.DeviceOperationalStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_DISABLED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DEVICEOPERATIONALSTATUS_ENABLED', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4619, - serialized_end=4762, -) -_sym_db.RegisterEnumDescriptor(_DEVICEOPERATIONALSTATUSENUM) - -DeviceOperationalStatusEnum = enum_type_wrapper.EnumTypeWrapper(_DEVICEOPERATIONALSTATUSENUM) -_SERVICETYPEENUM = _descriptor.EnumDescriptor( - name='ServiceTypeEnum', - full_name='context.ServiceTypeEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_UNKNOWN', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_L3NM', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_L2NM', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICETYPE_TAPI_CONNECTIVITY_SERVICE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4765, - serialized_end=4894, -) -_sym_db.RegisterEnumDescriptor(_SERVICETYPEENUM) - -ServiceTypeEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICETYPEENUM) -_SERVICESTATUSENUM = _descriptor.EnumDescriptor( - name='ServiceStatusEnum', - full_name='context.ServiceStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_ACTIVE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SERVICESTATUS_PENDING_REMOVAL', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4897, - serialized_end=5033, -) -_sym_db.RegisterEnumDescriptor(_SERVICESTATUSENUM) - -ServiceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICESTATUSENUM) -_SLICESTATUSENUM = _descriptor.EnumDescriptor( - name='SliceStatusEnum', - full_name='context.SliceStatusEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_INIT', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_ACTIVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SLICESTATUS_DEINIT', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5036, - serialized_end=5175, -) -_sym_db.RegisterEnumDescriptor(_SLICESTATUSENUM) - -SliceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SLICESTATUSENUM) -_CONFIGACTIONENUM = _descriptor.EnumDescriptor( - name='ConfigActionEnum', - full_name='context.ConfigActionEnum', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_UNDEFINED', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_SET', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CONFIGACTION_DELETE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5177, - serialized_end=5270, -) -_sym_db.RegisterEnumDescriptor(_CONFIGACTIONENUM) - -ConfigActionEnum = enum_type_wrapper.EnumTypeWrapper(_CONFIGACTIONENUM) -EVENTTYPE_UNDEFINED = 0 -EVENTTYPE_CREATE = 1 -EVENTTYPE_UPDATE = 2 -EVENTTYPE_REMOVE = 3 -DEVICEDRIVER_UNDEFINED = 0 -DEVICEDRIVER_OPENCONFIG = 1 -DEVICEDRIVER_TRANSPORT_API = 2 -DEVICEDRIVER_P4 = 3 -DEVICEDRIVER_IETF_NETWORK_TOPOLOGY = 4 -DEVICEDRIVER_ONF_TR_352 = 5 -DEVICEOPERATIONALSTATUS_UNDEFINED = 0 -DEVICEOPERATIONALSTATUS_DISABLED = 1 -DEVICEOPERATIONALSTATUS_ENABLED = 2 -SERVICETYPE_UNKNOWN = 0 -SERVICETYPE_L3NM = 1 -SERVICETYPE_L2NM = 2 -SERVICETYPE_TAPI_CONNECTIVITY_SERVICE = 3 -SERVICESTATUS_UNDEFINED = 0 -SERVICESTATUS_PLANNED = 1 -SERVICESTATUS_ACTIVE = 2 -SERVICESTATUS_PENDING_REMOVAL = 3 -SLICESTATUS_UNDEFINED = 0 -SLICESTATUS_PLANNED = 1 -SLICESTATUS_INIT = 2 -SLICESTATUS_ACTIVE = 3 -SLICESTATUS_DEINIT = 4 -CONFIGACTION_UNDEFINED = 0 -CONFIGACTION_SET = 1 -CONFIGACTION_DELETE = 2 - - - -_EMPTY = _descriptor.Descriptor( - name='Empty', - full_name='context.Empty', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=50, - serialized_end=57, -) - - -_UUID = _descriptor.Descriptor( - name='Uuid', - full_name='context.Uuid', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='uuid', full_name='context.Uuid.uuid', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=59, - serialized_end=79, -) - - -_EVENT = _descriptor.Descriptor( - name='Event', - full_name='context.Event', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='context.Event.timestamp', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='event_type', full_name='context.Event.event_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=81, - serialized_end=151, -) - - -_CONTEXTID = _descriptor.Descriptor( - name='ContextId', - full_name='context.ContextId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_uuid', full_name='context.ContextId.context_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=153, - serialized_end=201, -) - - -_CONTEXT = _descriptor.Descriptor( - name='Context', - full_name='context.Context', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.Context.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_ids', full_name='context.Context.topology_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_ids', full_name='context.Context.service_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='controller', full_name='context.Context.controller', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=204, - serialized_end=386, -) - - -_CONTEXTIDLIST = _descriptor.Descriptor( - name='ContextIdList', - full_name='context.ContextIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_ids', full_name='context.ContextIdList.context_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=388, - serialized_end=444, -) - - -_CONTEXTLIST = _descriptor.Descriptor( - name='ContextList', - full_name='context.ContextList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='contexts', full_name='context.ContextList.contexts', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=446, - serialized_end=495, -) - - -_CONTEXTEVENT = _descriptor.Descriptor( - name='ContextEvent', - full_name='context.ContextEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ContextEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='context_id', full_name='context.ContextEvent.context_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=497, - serialized_end=582, -) - - -_TOPOLOGYID = _descriptor.Descriptor( - name='TopologyId', - full_name='context.TopologyId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.TopologyId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_uuid', full_name='context.TopologyId.topology_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=584, - serialized_end=674, -) - - -_TOPOLOGY = _descriptor.Descriptor( - name='Topology', - full_name='context.Topology', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.Topology.topology_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_ids', full_name='context.Topology.device_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_ids', full_name='context.Topology.link_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=676, - serialized_end=802, -) - - -_TOPOLOGYIDLIST = _descriptor.Descriptor( - name='TopologyIdList', - full_name='context.TopologyIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_ids', full_name='context.TopologyIdList.topology_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=804, - serialized_end=863, -) - - -_TOPOLOGYLIST = _descriptor.Descriptor( - name='TopologyList', - full_name='context.TopologyList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topologies', full_name='context.TopologyList.topologies', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=865, - serialized_end=918, -) - - -_TOPOLOGYEVENT = _descriptor.Descriptor( - name='TopologyEvent', - full_name='context.TopologyEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.TopologyEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.TopologyEvent.topology_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=920, - serialized_end=1008, -) - - -_DEVICEID = _descriptor.Descriptor( - name='DeviceId', - full_name='context.DeviceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_uuid', full_name='context.DeviceId.device_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1010, - serialized_end=1056, -) - - -_DEVICE = _descriptor.Descriptor( - name='Device', - full_name='context.Device', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_id', full_name='context.Device.device_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_type', full_name='context.Device.device_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_config', full_name='context.Device.device_config', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_operational_status', full_name='context.Device.device_operational_status', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_drivers', full_name='context.Device.device_drivers', index=4, - number=5, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_endpoints', full_name='context.Device.device_endpoints', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1059, - serialized_end=1341, -) - - -_DEVICECONFIG = _descriptor.Descriptor( - name='DeviceConfig', - full_name='context.DeviceConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_rules', full_name='context.DeviceConfig.config_rules', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1343, - serialized_end=1400, -) - - -_DEVICEIDLIST = _descriptor.Descriptor( - name='DeviceIdList', - full_name='context.DeviceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_ids', full_name='context.DeviceIdList.device_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1402, - serialized_end=1455, -) - - -_DEVICELIST = _descriptor.Descriptor( - name='DeviceList', - full_name='context.DeviceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='devices', full_name='context.DeviceList.devices', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1457, - serialized_end=1503, -) - - -_DEVICEEVENT = _descriptor.Descriptor( - name='DeviceEvent', - full_name='context.DeviceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.DeviceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='context.DeviceEvent.device_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1505, - serialized_end=1587, -) - - -_LINKID = _descriptor.Descriptor( - name='LinkId', - full_name='context.LinkId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_uuid', full_name='context.LinkId.link_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1589, - serialized_end=1631, -) - - -_LINK = _descriptor.Descriptor( - name='Link', - full_name='context.Link', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_id', full_name='context.Link.link_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_endpoint_ids', full_name='context.Link.link_endpoint_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1633, - serialized_end=1721, -) - - -_LINKIDLIST = _descriptor.Descriptor( - name='LinkIdList', - full_name='context.LinkIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='link_ids', full_name='context.LinkIdList.link_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1723, - serialized_end=1770, -) - - -_LINKLIST = _descriptor.Descriptor( - name='LinkList', - full_name='context.LinkList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='links', full_name='context.LinkList.links', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1772, - serialized_end=1812, -) - - -_LINKEVENT = _descriptor.Descriptor( - name='LinkEvent', - full_name='context.LinkEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.LinkEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='link_id', full_name='context.LinkEvent.link_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1814, - serialized_end=1890, -) - - -_SERVICEID = _descriptor.Descriptor( - name='ServiceId', - full_name='context.ServiceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.ServiceId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_uuid', full_name='context.ServiceId.service_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1892, - serialized_end=1980, -) - - -_SERVICE = _descriptor.Descriptor( - name='Service', - full_name='context.Service', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_id', full_name='context.Service.service_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_type', full_name='context.Service.service_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_endpoint_ids', full_name='context.Service.service_endpoint_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_constraints', full_name='context.Service.service_constraints', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_status', full_name='context.Service.service_status', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_config', full_name='context.Service.service_config', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1983, - serialized_end=2277, -) - - -_SERVICESTATUS = _descriptor.Descriptor( - name='ServiceStatus', - full_name='context.ServiceStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_status', full_name='context.ServiceStatus.service_status', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2279, - serialized_end=2346, -) - - -_SERVICECONFIG = _descriptor.Descriptor( - name='ServiceConfig', - full_name='context.ServiceConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_rules', full_name='context.ServiceConfig.config_rules', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2348, - serialized_end=2406, -) - - -_SERVICEIDLIST = _descriptor.Descriptor( - name='ServiceIdList', - full_name='context.ServiceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='service_ids', full_name='context.ServiceIdList.service_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2408, - serialized_end=2464, -) - - -_SERVICELIST = _descriptor.Descriptor( - name='ServiceList', - full_name='context.ServiceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='services', full_name='context.ServiceList.services', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2466, - serialized_end=2515, -) - - -_SERVICEEVENT = _descriptor.Descriptor( - name='ServiceEvent', - full_name='context.ServiceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ServiceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='context.ServiceEvent.service_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2517, - serialized_end=2602, -) - - -_SLICEID = _descriptor.Descriptor( - name='SliceId', - full_name='context.SliceId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.SliceId.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_uuid', full_name='context.SliceId.slice_uuid', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2604, - serialized_end=2688, -) - - -_SLICE = _descriptor.Descriptor( - name='Slice', - full_name='context.Slice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_id', full_name='context.Slice.slice_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_endpoint_ids', full_name='context.Slice.slice_endpoint_ids', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_constraints', full_name='context.Slice.slice_constraints', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_service_ids', full_name='context.Slice.slice_service_ids', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_subslice_ids', full_name='context.Slice.slice_subslice_ids', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_status', full_name='context.Slice.slice_status', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2691, - serialized_end=2968, -) - - -_SLICESTATUS = _descriptor.Descriptor( - name='SliceStatus', - full_name='context.SliceStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_status', full_name='context.SliceStatus.slice_status', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2970, - serialized_end=3031, -) - - -_SLICEIDLIST = _descriptor.Descriptor( - name='SliceIdList', - full_name='context.SliceIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slice_ids', full_name='context.SliceIdList.slice_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3033, - serialized_end=3083, -) - - -_SLICELIST = _descriptor.Descriptor( - name='SliceList', - full_name='context.SliceList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='slices', full_name='context.SliceList.slices', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3085, - serialized_end=3128, -) - - -_SLICEEVENT = _descriptor.Descriptor( - name='SliceEvent', - full_name='context.SliceEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.SliceEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='slice_id', full_name='context.SliceEvent.slice_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3130, - serialized_end=3209, -) - - -_CONNECTIONID = _descriptor.Descriptor( - name='ConnectionId', - full_name='context.ConnectionId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_uuid', full_name='context.ConnectionId.connection_uuid', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3211, - serialized_end=3265, -) - - -_CONNECTION = _descriptor.Descriptor( - name='Connection', - full_name='context.Connection', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_id', full_name='context.Connection.connection_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='context.Connection.service_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='path_hops_endpoint_ids', full_name='context.Connection.path_hops_endpoint_ids', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sub_service_ids', full_name='context.Connection.sub_service_ids', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3268, - serialized_end=3464, -) - - -_CONNECTIONIDLIST = _descriptor.Descriptor( - name='ConnectionIdList', - full_name='context.ConnectionIdList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connection_ids', full_name='context.ConnectionIdList.connection_ids', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3466, - serialized_end=3531, -) - - -_CONNECTIONLIST = _descriptor.Descriptor( - name='ConnectionList', - full_name='context.ConnectionList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='connections', full_name='context.ConnectionList.connections', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3533, - serialized_end=3591, -) - - -_CONNECTIONEVENT = _descriptor.Descriptor( - name='ConnectionEvent', - full_name='context.ConnectionEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='event', full_name='context.ConnectionEvent.event', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='connection_id', full_name='context.ConnectionEvent.connection_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3593, - serialized_end=3687, -) - - -_ENDPOINTID = _descriptor.Descriptor( - name='EndPointId', - full_name='context.EndPointId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='topology_id', full_name='context.EndPointId.topology_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='context.EndPointId.device_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_uuid', full_name='context.EndPointId.endpoint_uuid', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3690, - serialized_end=3820, -) - - -_ENDPOINT = _descriptor.Descriptor( - name='EndPoint', - full_name='context.EndPoint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='endpoint_id', full_name='context.EndPoint.endpoint_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_type', full_name='context.EndPoint.endpoint_type', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='kpi_sample_types', full_name='context.EndPoint.kpi_sample_types', index=2, - number=3, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3823, - serialized_end=3957, -) - - -_CONFIGRULE = _descriptor.Descriptor( - name='ConfigRule', - full_name='context.ConfigRule', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='action', full_name='context.ConfigRule.action', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='resource_key', full_name='context.ConfigRule.resource_key', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='resource_value', full_name='context.ConfigRule.resource_value', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3959, - serialized_end=4060, -) - - -_CONSTRAINT = _descriptor.Descriptor( - name='Constraint', - full_name='context.Constraint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='constraint_type', full_name='context.Constraint.constraint_type', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='constraint_value', full_name='context.Constraint.constraint_value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4062, - serialized_end=4125, -) - - -_TERAFLOWCONTROLLER = _descriptor.Descriptor( - name='TeraFlowController', - full_name='context.TeraFlowController', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.TeraFlowController.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='ip_address', full_name='context.TeraFlowController.ip_address', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='port', full_name='context.TeraFlowController.port', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4127, - serialized_end=4221, -) - - -_AUTHENTICATIONRESULT = _descriptor.Descriptor( - name='AuthenticationResult', - full_name='context.AuthenticationResult', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='context_id', full_name='context.AuthenticationResult.context_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='authenticated', full_name='context.AuthenticationResult.authenticated', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4223, - serialized_end=4308, -) - -_EVENT.fields_by_name['event_type'].enum_type = _EVENTTYPEENUM -_CONTEXTID.fields_by_name['context_uuid'].message_type = _UUID -_CONTEXT.fields_by_name['context_id'].message_type = _CONTEXTID -_CONTEXT.fields_by_name['topology_ids'].message_type = _TOPOLOGYID -_CONTEXT.fields_by_name['service_ids'].message_type = _SERVICEID -_CONTEXT.fields_by_name['controller'].message_type = _TERAFLOWCONTROLLER -_CONTEXTIDLIST.fields_by_name['context_ids'].message_type = _CONTEXTID -_CONTEXTLIST.fields_by_name['contexts'].message_type = _CONTEXT -_CONTEXTEVENT.fields_by_name['event'].message_type = _EVENT -_CONTEXTEVENT.fields_by_name['context_id'].message_type = _CONTEXTID -_TOPOLOGYID.fields_by_name['context_id'].message_type = _CONTEXTID -_TOPOLOGYID.fields_by_name['topology_uuid'].message_type = _UUID -_TOPOLOGY.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_TOPOLOGY.fields_by_name['device_ids'].message_type = _DEVICEID -_TOPOLOGY.fields_by_name['link_ids'].message_type = _LINKID -_TOPOLOGYIDLIST.fields_by_name['topology_ids'].message_type = _TOPOLOGYID -_TOPOLOGYLIST.fields_by_name['topologies'].message_type = _TOPOLOGY -_TOPOLOGYEVENT.fields_by_name['event'].message_type = _EVENT -_TOPOLOGYEVENT.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_DEVICEID.fields_by_name['device_uuid'].message_type = _UUID -_DEVICE.fields_by_name['device_id'].message_type = _DEVICEID -_DEVICE.fields_by_name['device_config'].message_type = _DEVICECONFIG -_DEVICE.fields_by_name['device_operational_status'].enum_type = _DEVICEOPERATIONALSTATUSENUM -_DEVICE.fields_by_name['device_drivers'].enum_type = _DEVICEDRIVERENUM -_DEVICE.fields_by_name['device_endpoints'].message_type = _ENDPOINT -_DEVICECONFIG.fields_by_name['config_rules'].message_type = _CONFIGRULE -_DEVICEIDLIST.fields_by_name['device_ids'].message_type = _DEVICEID -_DEVICELIST.fields_by_name['devices'].message_type = _DEVICE -_DEVICEEVENT.fields_by_name['event'].message_type = _EVENT -_DEVICEEVENT.fields_by_name['device_id'].message_type = _DEVICEID -_LINKID.fields_by_name['link_uuid'].message_type = _UUID -_LINK.fields_by_name['link_id'].message_type = _LINKID -_LINK.fields_by_name['link_endpoint_ids'].message_type = _ENDPOINTID -_LINKIDLIST.fields_by_name['link_ids'].message_type = _LINKID -_LINKLIST.fields_by_name['links'].message_type = _LINK -_LINKEVENT.fields_by_name['event'].message_type = _EVENT -_LINKEVENT.fields_by_name['link_id'].message_type = _LINKID -_SERVICEID.fields_by_name['context_id'].message_type = _CONTEXTID -_SERVICEID.fields_by_name['service_uuid'].message_type = _UUID -_SERVICE.fields_by_name['service_id'].message_type = _SERVICEID -_SERVICE.fields_by_name['service_type'].enum_type = _SERVICETYPEENUM -_SERVICE.fields_by_name['service_endpoint_ids'].message_type = _ENDPOINTID -_SERVICE.fields_by_name['service_constraints'].message_type = _CONSTRAINT -_SERVICE.fields_by_name['service_status'].message_type = _SERVICESTATUS -_SERVICE.fields_by_name['service_config'].message_type = _SERVICECONFIG -_SERVICESTATUS.fields_by_name['service_status'].enum_type = _SERVICESTATUSENUM -_SERVICECONFIG.fields_by_name['config_rules'].message_type = _CONFIGRULE -_SERVICEIDLIST.fields_by_name['service_ids'].message_type = _SERVICEID -_SERVICELIST.fields_by_name['services'].message_type = _SERVICE -_SERVICEEVENT.fields_by_name['event'].message_type = _EVENT -_SERVICEEVENT.fields_by_name['service_id'].message_type = _SERVICEID -_SLICEID.fields_by_name['context_id'].message_type = _CONTEXTID -_SLICEID.fields_by_name['slice_uuid'].message_type = _UUID -_SLICE.fields_by_name['slice_id'].message_type = _SLICEID -_SLICE.fields_by_name['slice_endpoint_ids'].message_type = _ENDPOINTID -_SLICE.fields_by_name['slice_constraints'].message_type = _CONSTRAINT -_SLICE.fields_by_name['slice_service_ids'].message_type = _SERVICEID -_SLICE.fields_by_name['slice_subslice_ids'].message_type = _SLICEID -_SLICE.fields_by_name['slice_status'].message_type = _SLICESTATUS -_SLICESTATUS.fields_by_name['slice_status'].enum_type = _SLICESTATUSENUM -_SLICEIDLIST.fields_by_name['slice_ids'].message_type = _SLICEID -_SLICELIST.fields_by_name['slices'].message_type = _SLICE -_SLICEEVENT.fields_by_name['event'].message_type = _EVENT -_SLICEEVENT.fields_by_name['slice_id'].message_type = _SLICEID -_CONNECTIONID.fields_by_name['connection_uuid'].message_type = _UUID -_CONNECTION.fields_by_name['connection_id'].message_type = _CONNECTIONID -_CONNECTION.fields_by_name['service_id'].message_type = _SERVICEID -_CONNECTION.fields_by_name['path_hops_endpoint_ids'].message_type = _ENDPOINTID -_CONNECTION.fields_by_name['sub_service_ids'].message_type = _SERVICEID -_CONNECTIONIDLIST.fields_by_name['connection_ids'].message_type = _CONNECTIONID -_CONNECTIONLIST.fields_by_name['connections'].message_type = _CONNECTION -_CONNECTIONEVENT.fields_by_name['event'].message_type = _EVENT -_CONNECTIONEVENT.fields_by_name['connection_id'].message_type = _CONNECTIONID -_ENDPOINTID.fields_by_name['topology_id'].message_type = _TOPOLOGYID -_ENDPOINTID.fields_by_name['device_id'].message_type = _DEVICEID -_ENDPOINTID.fields_by_name['endpoint_uuid'].message_type = _UUID -_ENDPOINT.fields_by_name['endpoint_id'].message_type = _ENDPOINTID -_ENDPOINT.fields_by_name['kpi_sample_types'].enum_type = kpi__sample__types__pb2._KPISAMPLETYPE -_CONFIGRULE.fields_by_name['action'].enum_type = _CONFIGACTIONENUM -_TERAFLOWCONTROLLER.fields_by_name['context_id'].message_type = _CONTEXTID -_AUTHENTICATIONRESULT.fields_by_name['context_id'].message_type = _CONTEXTID -DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY -DESCRIPTOR.message_types_by_name['Uuid'] = _UUID -DESCRIPTOR.message_types_by_name['Event'] = _EVENT -DESCRIPTOR.message_types_by_name['ContextId'] = _CONTEXTID -DESCRIPTOR.message_types_by_name['Context'] = _CONTEXT -DESCRIPTOR.message_types_by_name['ContextIdList'] = _CONTEXTIDLIST -DESCRIPTOR.message_types_by_name['ContextList'] = _CONTEXTLIST -DESCRIPTOR.message_types_by_name['ContextEvent'] = _CONTEXTEVENT -DESCRIPTOR.message_types_by_name['TopologyId'] = _TOPOLOGYID -DESCRIPTOR.message_types_by_name['Topology'] = _TOPOLOGY -DESCRIPTOR.message_types_by_name['TopologyIdList'] = _TOPOLOGYIDLIST -DESCRIPTOR.message_types_by_name['TopologyList'] = _TOPOLOGYLIST -DESCRIPTOR.message_types_by_name['TopologyEvent'] = _TOPOLOGYEVENT -DESCRIPTOR.message_types_by_name['DeviceId'] = _DEVICEID -DESCRIPTOR.message_types_by_name['Device'] = _DEVICE -DESCRIPTOR.message_types_by_name['DeviceConfig'] = _DEVICECONFIG -DESCRIPTOR.message_types_by_name['DeviceIdList'] = _DEVICEIDLIST -DESCRIPTOR.message_types_by_name['DeviceList'] = _DEVICELIST -DESCRIPTOR.message_types_by_name['DeviceEvent'] = _DEVICEEVENT -DESCRIPTOR.message_types_by_name['LinkId'] = _LINKID -DESCRIPTOR.message_types_by_name['Link'] = _LINK -DESCRIPTOR.message_types_by_name['LinkIdList'] = _LINKIDLIST -DESCRIPTOR.message_types_by_name['LinkList'] = _LINKLIST -DESCRIPTOR.message_types_by_name['LinkEvent'] = _LINKEVENT -DESCRIPTOR.message_types_by_name['ServiceId'] = _SERVICEID -DESCRIPTOR.message_types_by_name['Service'] = _SERVICE -DESCRIPTOR.message_types_by_name['ServiceStatus'] = _SERVICESTATUS -DESCRIPTOR.message_types_by_name['ServiceConfig'] = _SERVICECONFIG -DESCRIPTOR.message_types_by_name['ServiceIdList'] = _SERVICEIDLIST -DESCRIPTOR.message_types_by_name['ServiceList'] = _SERVICELIST -DESCRIPTOR.message_types_by_name['ServiceEvent'] = _SERVICEEVENT -DESCRIPTOR.message_types_by_name['SliceId'] = _SLICEID -DESCRIPTOR.message_types_by_name['Slice'] = _SLICE -DESCRIPTOR.message_types_by_name['SliceStatus'] = _SLICESTATUS -DESCRIPTOR.message_types_by_name['SliceIdList'] = _SLICEIDLIST -DESCRIPTOR.message_types_by_name['SliceList'] = _SLICELIST -DESCRIPTOR.message_types_by_name['SliceEvent'] = _SLICEEVENT -DESCRIPTOR.message_types_by_name['ConnectionId'] = _CONNECTIONID -DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION -DESCRIPTOR.message_types_by_name['ConnectionIdList'] = _CONNECTIONIDLIST -DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST -DESCRIPTOR.message_types_by_name['ConnectionEvent'] = _CONNECTIONEVENT -DESCRIPTOR.message_types_by_name['EndPointId'] = _ENDPOINTID -DESCRIPTOR.message_types_by_name['EndPoint'] = _ENDPOINT -DESCRIPTOR.message_types_by_name['ConfigRule'] = _CONFIGRULE -DESCRIPTOR.message_types_by_name['Constraint'] = _CONSTRAINT -DESCRIPTOR.message_types_by_name['TeraFlowController'] = _TERAFLOWCONTROLLER -DESCRIPTOR.message_types_by_name['AuthenticationResult'] = _AUTHENTICATIONRESULT -DESCRIPTOR.enum_types_by_name['EventTypeEnum'] = _EVENTTYPEENUM -DESCRIPTOR.enum_types_by_name['DeviceDriverEnum'] = _DEVICEDRIVERENUM -DESCRIPTOR.enum_types_by_name['DeviceOperationalStatusEnum'] = _DEVICEOPERATIONALSTATUSENUM -DESCRIPTOR.enum_types_by_name['ServiceTypeEnum'] = _SERVICETYPEENUM -DESCRIPTOR.enum_types_by_name['ServiceStatusEnum'] = _SERVICESTATUSENUM -DESCRIPTOR.enum_types_by_name['SliceStatusEnum'] = _SLICESTATUSENUM -DESCRIPTOR.enum_types_by_name['ConfigActionEnum'] = _CONFIGACTIONENUM -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), { - 'DESCRIPTOR' : _EMPTY, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Empty) - }) -_sym_db.RegisterMessage(Empty) - -Uuid = _reflection.GeneratedProtocolMessageType('Uuid', (_message.Message,), { - 'DESCRIPTOR' : _UUID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Uuid) - }) -_sym_db.RegisterMessage(Uuid) - -Event = _reflection.GeneratedProtocolMessageType('Event', (_message.Message,), { - 'DESCRIPTOR' : _EVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Event) - }) -_sym_db.RegisterMessage(Event) - -ContextId = _reflection.GeneratedProtocolMessageType('ContextId', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextId) - }) -_sym_db.RegisterMessage(ContextId) - -Context = _reflection.GeneratedProtocolMessageType('Context', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Context) - }) -_sym_db.RegisterMessage(Context) - -ContextIdList = _reflection.GeneratedProtocolMessageType('ContextIdList', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextIdList) - }) -_sym_db.RegisterMessage(ContextIdList) - -ContextList = _reflection.GeneratedProtocolMessageType('ContextList', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextList) - }) -_sym_db.RegisterMessage(ContextList) - -ContextEvent = _reflection.GeneratedProtocolMessageType('ContextEvent', (_message.Message,), { - 'DESCRIPTOR' : _CONTEXTEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ContextEvent) - }) -_sym_db.RegisterMessage(ContextEvent) - -TopologyId = _reflection.GeneratedProtocolMessageType('TopologyId', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyId) - }) -_sym_db.RegisterMessage(TopologyId) - -Topology = _reflection.GeneratedProtocolMessageType('Topology', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGY, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Topology) - }) -_sym_db.RegisterMessage(Topology) - -TopologyIdList = _reflection.GeneratedProtocolMessageType('TopologyIdList', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyIdList) - }) -_sym_db.RegisterMessage(TopologyIdList) - -TopologyList = _reflection.GeneratedProtocolMessageType('TopologyList', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyList) - }) -_sym_db.RegisterMessage(TopologyList) - -TopologyEvent = _reflection.GeneratedProtocolMessageType('TopologyEvent', (_message.Message,), { - 'DESCRIPTOR' : _TOPOLOGYEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TopologyEvent) - }) -_sym_db.RegisterMessage(TopologyEvent) - -DeviceId = _reflection.GeneratedProtocolMessageType('DeviceId', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceId) - }) -_sym_db.RegisterMessage(DeviceId) - -Device = _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), { - 'DESCRIPTOR' : _DEVICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Device) - }) -_sym_db.RegisterMessage(Device) - -DeviceConfig = _reflection.GeneratedProtocolMessageType('DeviceConfig', (_message.Message,), { - 'DESCRIPTOR' : _DEVICECONFIG, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceConfig) - }) -_sym_db.RegisterMessage(DeviceConfig) - -DeviceIdList = _reflection.GeneratedProtocolMessageType('DeviceIdList', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceIdList) - }) -_sym_db.RegisterMessage(DeviceIdList) - -DeviceList = _reflection.GeneratedProtocolMessageType('DeviceList', (_message.Message,), { - 'DESCRIPTOR' : _DEVICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceList) - }) -_sym_db.RegisterMessage(DeviceList) - -DeviceEvent = _reflection.GeneratedProtocolMessageType('DeviceEvent', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.DeviceEvent) - }) -_sym_db.RegisterMessage(DeviceEvent) - -LinkId = _reflection.GeneratedProtocolMessageType('LinkId', (_message.Message,), { - 'DESCRIPTOR' : _LINKID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkId) - }) -_sym_db.RegisterMessage(LinkId) - -Link = _reflection.GeneratedProtocolMessageType('Link', (_message.Message,), { - 'DESCRIPTOR' : _LINK, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Link) - }) -_sym_db.RegisterMessage(Link) - -LinkIdList = _reflection.GeneratedProtocolMessageType('LinkIdList', (_message.Message,), { - 'DESCRIPTOR' : _LINKIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkIdList) - }) -_sym_db.RegisterMessage(LinkIdList) - -LinkList = _reflection.GeneratedProtocolMessageType('LinkList', (_message.Message,), { - 'DESCRIPTOR' : _LINKLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkList) - }) -_sym_db.RegisterMessage(LinkList) - -LinkEvent = _reflection.GeneratedProtocolMessageType('LinkEvent', (_message.Message,), { - 'DESCRIPTOR' : _LINKEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.LinkEvent) - }) -_sym_db.RegisterMessage(LinkEvent) - -ServiceId = _reflection.GeneratedProtocolMessageType('ServiceId', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceId) - }) -_sym_db.RegisterMessage(ServiceId) - -Service = _reflection.GeneratedProtocolMessageType('Service', (_message.Message,), { - 'DESCRIPTOR' : _SERVICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Service) - }) -_sym_db.RegisterMessage(Service) - -ServiceStatus = _reflection.GeneratedProtocolMessageType('ServiceStatus', (_message.Message,), { - 'DESCRIPTOR' : _SERVICESTATUS, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceStatus) - }) -_sym_db.RegisterMessage(ServiceStatus) - -ServiceConfig = _reflection.GeneratedProtocolMessageType('ServiceConfig', (_message.Message,), { - 'DESCRIPTOR' : _SERVICECONFIG, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceConfig) - }) -_sym_db.RegisterMessage(ServiceConfig) - -ServiceIdList = _reflection.GeneratedProtocolMessageType('ServiceIdList', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceIdList) - }) -_sym_db.RegisterMessage(ServiceIdList) - -ServiceList = _reflection.GeneratedProtocolMessageType('ServiceList', (_message.Message,), { - 'DESCRIPTOR' : _SERVICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceList) - }) -_sym_db.RegisterMessage(ServiceList) - -ServiceEvent = _reflection.GeneratedProtocolMessageType('ServiceEvent', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ServiceEvent) - }) -_sym_db.RegisterMessage(ServiceEvent) - -SliceId = _reflection.GeneratedProtocolMessageType('SliceId', (_message.Message,), { - 'DESCRIPTOR' : _SLICEID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceId) - }) -_sym_db.RegisterMessage(SliceId) - -Slice = _reflection.GeneratedProtocolMessageType('Slice', (_message.Message,), { - 'DESCRIPTOR' : _SLICE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Slice) - }) -_sym_db.RegisterMessage(Slice) - -SliceStatus = _reflection.GeneratedProtocolMessageType('SliceStatus', (_message.Message,), { - 'DESCRIPTOR' : _SLICESTATUS, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceStatus) - }) -_sym_db.RegisterMessage(SliceStatus) - -SliceIdList = _reflection.GeneratedProtocolMessageType('SliceIdList', (_message.Message,), { - 'DESCRIPTOR' : _SLICEIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceIdList) - }) -_sym_db.RegisterMessage(SliceIdList) - -SliceList = _reflection.GeneratedProtocolMessageType('SliceList', (_message.Message,), { - 'DESCRIPTOR' : _SLICELIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceList) - }) -_sym_db.RegisterMessage(SliceList) - -SliceEvent = _reflection.GeneratedProtocolMessageType('SliceEvent', (_message.Message,), { - 'DESCRIPTOR' : _SLICEEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.SliceEvent) - }) -_sym_db.RegisterMessage(SliceEvent) - -ConnectionId = _reflection.GeneratedProtocolMessageType('ConnectionId', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionId) - }) -_sym_db.RegisterMessage(ConnectionId) - -Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTION, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Connection) - }) -_sym_db.RegisterMessage(Connection) - -ConnectionIdList = _reflection.GeneratedProtocolMessageType('ConnectionIdList', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONIDLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionIdList) - }) -_sym_db.RegisterMessage(ConnectionIdList) - -ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONLIST, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionList) - }) -_sym_db.RegisterMessage(ConnectionList) - -ConnectionEvent = _reflection.GeneratedProtocolMessageType('ConnectionEvent', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTIONEVENT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConnectionEvent) - }) -_sym_db.RegisterMessage(ConnectionEvent) - -EndPointId = _reflection.GeneratedProtocolMessageType('EndPointId', (_message.Message,), { - 'DESCRIPTOR' : _ENDPOINTID, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.EndPointId) - }) -_sym_db.RegisterMessage(EndPointId) - -EndPoint = _reflection.GeneratedProtocolMessageType('EndPoint', (_message.Message,), { - 'DESCRIPTOR' : _ENDPOINT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.EndPoint) - }) -_sym_db.RegisterMessage(EndPoint) - -ConfigRule = _reflection.GeneratedProtocolMessageType('ConfigRule', (_message.Message,), { - 'DESCRIPTOR' : _CONFIGRULE, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.ConfigRule) - }) -_sym_db.RegisterMessage(ConfigRule) - -Constraint = _reflection.GeneratedProtocolMessageType('Constraint', (_message.Message,), { - 'DESCRIPTOR' : _CONSTRAINT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.Constraint) - }) -_sym_db.RegisterMessage(Constraint) - -TeraFlowController = _reflection.GeneratedProtocolMessageType('TeraFlowController', (_message.Message,), { - 'DESCRIPTOR' : _TERAFLOWCONTROLLER, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.TeraFlowController) - }) -_sym_db.RegisterMessage(TeraFlowController) - -AuthenticationResult = _reflection.GeneratedProtocolMessageType('AuthenticationResult', (_message.Message,), { - 'DESCRIPTOR' : _AUTHENTICATIONRESULT, - '__module__' : 'context_pb2' - # @@protoc_insertion_point(class_scope:context.AuthenticationResult) - }) -_sym_db.RegisterMessage(AuthenticationResult) - - - -_CONTEXTSERVICE = _descriptor.ServiceDescriptor( - name='ContextService', - full_name='context.ContextService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=5273, - serialized_end=7688, - methods=[ - _descriptor.MethodDescriptor( - name='ListContextIds', - full_name='context.ContextService.ListContextIds', - index=0, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListContexts', - full_name='context.ContextService.ListContexts', - index=1, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetContext', - full_name='context.ContextService.GetContext', - index=2, - containing_service=None, - input_type=_CONTEXTID, - output_type=_CONTEXT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetContext', - full_name='context.ContextService.SetContext', - index=3, - containing_service=None, - input_type=_CONTEXT, - output_type=_CONTEXTID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveContext', - full_name='context.ContextService.RemoveContext', - index=4, - containing_service=None, - input_type=_CONTEXTID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetContextEvents', - full_name='context.ContextService.GetContextEvents', - index=5, - containing_service=None, - input_type=_EMPTY, - output_type=_CONTEXTEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListTopologyIds', - full_name='context.ContextService.ListTopologyIds', - index=6, - containing_service=None, - input_type=_CONTEXTID, - output_type=_TOPOLOGYIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListTopologies', - full_name='context.ContextService.ListTopologies', - index=7, - containing_service=None, - input_type=_CONTEXTID, - output_type=_TOPOLOGYLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetTopology', - full_name='context.ContextService.GetTopology', - index=8, - containing_service=None, - input_type=_TOPOLOGYID, - output_type=_TOPOLOGY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetTopology', - full_name='context.ContextService.SetTopology', - index=9, - containing_service=None, - input_type=_TOPOLOGY, - output_type=_TOPOLOGYID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveTopology', - full_name='context.ContextService.RemoveTopology', - index=10, - containing_service=None, - input_type=_TOPOLOGYID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetTopologyEvents', - full_name='context.ContextService.GetTopologyEvents', - index=11, - containing_service=None, - input_type=_EMPTY, - output_type=_TOPOLOGYEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListDeviceIds', - full_name='context.ContextService.ListDeviceIds', - index=12, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListDevices', - full_name='context.ContextService.ListDevices', - index=13, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetDevice', - full_name='context.ContextService.GetDevice', - index=14, - containing_service=None, - input_type=_DEVICEID, - output_type=_DEVICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetDevice', - full_name='context.ContextService.SetDevice', - index=15, - containing_service=None, - input_type=_DEVICE, - output_type=_DEVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveDevice', - full_name='context.ContextService.RemoveDevice', - index=16, - containing_service=None, - input_type=_DEVICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetDeviceEvents', - full_name='context.ContextService.GetDeviceEvents', - index=17, - containing_service=None, - input_type=_EMPTY, - output_type=_DEVICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListLinkIds', - full_name='context.ContextService.ListLinkIds', - index=18, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListLinks', - full_name='context.ContextService.ListLinks', - index=19, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetLink', - full_name='context.ContextService.GetLink', - index=20, - containing_service=None, - input_type=_LINKID, - output_type=_LINK, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetLink', - full_name='context.ContextService.SetLink', - index=21, - containing_service=None, - input_type=_LINK, - output_type=_LINKID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveLink', - full_name='context.ContextService.RemoveLink', - index=22, - containing_service=None, - input_type=_LINKID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetLinkEvents', - full_name='context.ContextService.GetLinkEvents', - index=23, - containing_service=None, - input_type=_EMPTY, - output_type=_LINKEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListServiceIds', - full_name='context.ContextService.ListServiceIds', - index=24, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SERVICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListServices', - full_name='context.ContextService.ListServices', - index=25, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SERVICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetService', - full_name='context.ContextService.GetService', - index=26, - containing_service=None, - input_type=_SERVICEID, - output_type=_SERVICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetService', - full_name='context.ContextService.SetService', - index=27, - containing_service=None, - input_type=_SERVICE, - output_type=_SERVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveService', - full_name='context.ContextService.RemoveService', - index=28, - containing_service=None, - input_type=_SERVICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetServiceEvents', - full_name='context.ContextService.GetServiceEvents', - index=29, - containing_service=None, - input_type=_EMPTY, - output_type=_SERVICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListSliceIds', - full_name='context.ContextService.ListSliceIds', - index=30, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SLICEIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListSlices', - full_name='context.ContextService.ListSlices', - index=31, - containing_service=None, - input_type=_CONTEXTID, - output_type=_SLICELIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetSlice', - full_name='context.ContextService.GetSlice', - index=32, - containing_service=None, - input_type=_SLICEID, - output_type=_SLICE, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetSlice', - full_name='context.ContextService.SetSlice', - index=33, - containing_service=None, - input_type=_SLICE, - output_type=_SLICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveSlice', - full_name='context.ContextService.RemoveSlice', - index=34, - containing_service=None, - input_type=_SLICEID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetSliceEvents', - full_name='context.ContextService.GetSliceEvents', - index=35, - containing_service=None, - input_type=_EMPTY, - output_type=_SLICEEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListConnectionIds', - full_name='context.ContextService.ListConnectionIds', - index=36, - containing_service=None, - input_type=_SERVICEID, - output_type=_CONNECTIONIDLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ListConnections', - full_name='context.ContextService.ListConnections', - index=37, - containing_service=None, - input_type=_SERVICEID, - output_type=_CONNECTIONLIST, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnection', - full_name='context.ContextService.GetConnection', - index=38, - containing_service=None, - input_type=_CONNECTIONID, - output_type=_CONNECTION, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='SetConnection', - full_name='context.ContextService.SetConnection', - index=39, - containing_service=None, - input_type=_CONNECTION, - output_type=_CONNECTIONID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='RemoveConnection', - full_name='context.ContextService.RemoveConnection', - index=40, - containing_service=None, - input_type=_CONNECTIONID, - output_type=_EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetConnectionEvents', - full_name='context.ContextService.GetConnectionEvents', - index=41, - containing_service=None, - input_type=_EMPTY, - output_type=_CONNECTIONEVENT, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_CONTEXTSERVICE) - -DESCRIPTOR.services_by_name['ContextService'] = _CONTEXTSERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/device/proto/device_pb2.py b/src/device/proto/device_pb2.py deleted file mode 100644 index 4d4dbb82567256dd79595884f0ed9c2f13498d31..0000000000000000000000000000000000000000 --- a/src/device/proto/device_pb2.py +++ /dev/null @@ -1,162 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: device.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import context_pb2 as context__pb2 -from . import monitoring_pb2 as monitoring__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='device.proto', - package='device', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0c\x64\x65vice.proto\x12\x06\x64\x65vice\x1a\rcontext.proto\x1a\x10monitoring.proto\"\xa4\x01\n\x12MonitoringSettings\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x31\n\x0ekpi_descriptor\x18\x02 \x01(\x0b\x32\x19.monitoring.KpiDescriptor\x12\x1b\n\x13sampling_duration_s\x18\x03 \x01(\x02\x12\x1b\n\x13sampling_interval_s\x18\x04 \x01(\x02\x32\xb2\x02\n\rDeviceService\x12\x31\n\tAddDevice\x12\x0f.context.Device\x1a\x11.context.DeviceId\"\x00\x12\x37\n\x0f\x43onfigureDevice\x12\x0f.context.Device\x1a\x11.context.DeviceId\"\x00\x12\x33\n\x0c\x44\x65leteDevice\x12\x11.context.DeviceId\x1a\x0e.context.Empty\"\x00\x12>\n\x10GetInitialConfig\x12\x11.context.DeviceId\x1a\x15.context.DeviceConfig\"\x00\x12@\n\x10MonitorDeviceKpi\x12\x1a.device.MonitoringSettings\x1a\x0e.context.Empty\"\x00\x62\x06proto3' - , - dependencies=[context__pb2.DESCRIPTOR,monitoring__pb2.DESCRIPTOR,]) - - - - -_MONITORINGSETTINGS = _descriptor.Descriptor( - name='MonitoringSettings', - full_name='device.MonitoringSettings', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='kpi_id', full_name='device.MonitoringSettings.kpi_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='kpi_descriptor', full_name='device.MonitoringSettings.kpi_descriptor', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sampling_duration_s', full_name='device.MonitoringSettings.sampling_duration_s', index=2, - number=3, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sampling_interval_s', full_name='device.MonitoringSettings.sampling_interval_s', index=3, - number=4, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=58, - serialized_end=222, -) - -_MONITORINGSETTINGS.fields_by_name['kpi_id'].message_type = monitoring__pb2._KPIID -_MONITORINGSETTINGS.fields_by_name['kpi_descriptor'].message_type = monitoring__pb2._KPIDESCRIPTOR -DESCRIPTOR.message_types_by_name['MonitoringSettings'] = _MONITORINGSETTINGS -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -MonitoringSettings = _reflection.GeneratedProtocolMessageType('MonitoringSettings', (_message.Message,), { - 'DESCRIPTOR' : _MONITORINGSETTINGS, - '__module__' : 'device_pb2' - # @@protoc_insertion_point(class_scope:device.MonitoringSettings) - }) -_sym_db.RegisterMessage(MonitoringSettings) - - - -_DEVICESERVICE = _descriptor.ServiceDescriptor( - name='DeviceService', - full_name='device.DeviceService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=225, - serialized_end=531, - methods=[ - _descriptor.MethodDescriptor( - name='AddDevice', - full_name='device.DeviceService.AddDevice', - index=0, - containing_service=None, - input_type=context__pb2._DEVICE, - output_type=context__pb2._DEVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='ConfigureDevice', - full_name='device.DeviceService.ConfigureDevice', - index=1, - containing_service=None, - input_type=context__pb2._DEVICE, - output_type=context__pb2._DEVICEID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='DeleteDevice', - full_name='device.DeviceService.DeleteDevice', - index=2, - containing_service=None, - input_type=context__pb2._DEVICEID, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetInitialConfig', - full_name='device.DeviceService.GetInitialConfig', - index=3, - containing_service=None, - input_type=context__pb2._DEVICEID, - output_type=context__pb2._DEVICECONFIG, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='MonitorDeviceKpi', - full_name='device.DeviceService.MonitorDeviceKpi', - index=4, - containing_service=None, - input_type=_MONITORINGSETTINGS, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_DEVICESERVICE) - -DESCRIPTOR.services_by_name['DeviceService'] = _DEVICESERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/device/proto/device_pb2_grpc.py b/src/device/proto/device_pb2_grpc.py deleted file mode 100644 index 2b9bfc47da3b33b632ff46a8454496a499305a6c..0000000000000000000000000000000000000000 --- a/src/device/proto/device_pb2_grpc.py +++ /dev/null @@ -1,199 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from . import context_pb2 as context__pb2 -from . import device_pb2 as device__pb2 - - -class DeviceServiceStub(object): - """Missing associated documentation comment in .proto file.""" - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.AddDevice = channel.unary_unary( - '/device.DeviceService/AddDevice', - request_serializer=context__pb2.Device.SerializeToString, - response_deserializer=context__pb2.DeviceId.FromString, - ) - self.ConfigureDevice = channel.unary_unary( - '/device.DeviceService/ConfigureDevice', - request_serializer=context__pb2.Device.SerializeToString, - response_deserializer=context__pb2.DeviceId.FromString, - ) - self.DeleteDevice = channel.unary_unary( - '/device.DeviceService/DeleteDevice', - request_serializer=context__pb2.DeviceId.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - self.GetInitialConfig = channel.unary_unary( - '/device.DeviceService/GetInitialConfig', - request_serializer=context__pb2.DeviceId.SerializeToString, - response_deserializer=context__pb2.DeviceConfig.FromString, - ) - self.MonitorDeviceKpi = channel.unary_unary( - '/device.DeviceService/MonitorDeviceKpi', - request_serializer=device__pb2.MonitoringSettings.SerializeToString, - response_deserializer=context__pb2.Empty.FromString, - ) - - -class DeviceServiceServicer(object): - """Missing associated documentation comment in .proto file.""" - - def AddDevice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ConfigureDevice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteDevice(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetInitialConfig(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def MonitorDeviceKpi(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_DeviceServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'AddDevice': grpc.unary_unary_rpc_method_handler( - servicer.AddDevice, - request_deserializer=context__pb2.Device.FromString, - response_serializer=context__pb2.DeviceId.SerializeToString, - ), - 'ConfigureDevice': grpc.unary_unary_rpc_method_handler( - servicer.ConfigureDevice, - request_deserializer=context__pb2.Device.FromString, - response_serializer=context__pb2.DeviceId.SerializeToString, - ), - 'DeleteDevice': grpc.unary_unary_rpc_method_handler( - servicer.DeleteDevice, - request_deserializer=context__pb2.DeviceId.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - 'GetInitialConfig': grpc.unary_unary_rpc_method_handler( - servicer.GetInitialConfig, - request_deserializer=context__pb2.DeviceId.FromString, - response_serializer=context__pb2.DeviceConfig.SerializeToString, - ), - 'MonitorDeviceKpi': grpc.unary_unary_rpc_method_handler( - servicer.MonitorDeviceKpi, - request_deserializer=device__pb2.MonitoringSettings.FromString, - response_serializer=context__pb2.Empty.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'device.DeviceService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class DeviceService(object): - """Missing associated documentation comment in .proto file.""" - - @staticmethod - def AddDevice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/device.DeviceService/AddDevice', - context__pb2.Device.SerializeToString, - context__pb2.DeviceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ConfigureDevice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/device.DeviceService/ConfigureDevice', - context__pb2.Device.SerializeToString, - context__pb2.DeviceId.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def DeleteDevice(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/device.DeviceService/DeleteDevice', - context__pb2.DeviceId.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetInitialConfig(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/device.DeviceService/GetInitialConfig', - context__pb2.DeviceId.SerializeToString, - context__pb2.DeviceConfig.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def MonitorDeviceKpi(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/device.DeviceService/MonitorDeviceKpi', - device__pb2.MonitoringSettings.SerializeToString, - context__pb2.Empty.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/device/proto/kpi_sample_types_pb2.py b/src/device/proto/kpi_sample_types_pb2.py deleted file mode 100644 index ea7fd2f82757d4c3db02d7e2c7817e2787b0b490..0000000000000000000000000000000000000000 --- a/src/device/proto/kpi_sample_types_pb2.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: kpi_sample_types.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='kpi_sample_types.proto', - package='kpi_sample_types', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x16kpi_sample_types.proto\x12\x10kpi_sample_types*\xbe\x01\n\rKpiSampleType\x12\x19\n\x15KPISAMPLETYPE_UNKNOWN\x10\x00\x12%\n!KPISAMPLETYPE_PACKETS_TRANSMITTED\x10\x65\x12\"\n\x1eKPISAMPLETYPE_PACKETS_RECEIVED\x10\x66\x12$\n\x1fKPISAMPLETYPE_BYTES_TRANSMITTED\x10\xc9\x01\x12!\n\x1cKPISAMPLETYPE_BYTES_RECEIVED\x10\xca\x01\x62\x06proto3' -) - -_KPISAMPLETYPE = _descriptor.EnumDescriptor( - name='KpiSampleType', - full_name='kpi_sample_types.KpiSampleType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_UNKNOWN', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_PACKETS_TRANSMITTED', index=1, number=101, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_PACKETS_RECEIVED', index=2, number=102, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_BYTES_TRANSMITTED', index=3, number=201, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='KPISAMPLETYPE_BYTES_RECEIVED', index=4, number=202, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=45, - serialized_end=235, -) -_sym_db.RegisterEnumDescriptor(_KPISAMPLETYPE) - -KpiSampleType = enum_type_wrapper.EnumTypeWrapper(_KPISAMPLETYPE) -KPISAMPLETYPE_UNKNOWN = 0 -KPISAMPLETYPE_PACKETS_TRANSMITTED = 101 -KPISAMPLETYPE_PACKETS_RECEIVED = 102 -KPISAMPLETYPE_BYTES_TRANSMITTED = 201 -KPISAMPLETYPE_BYTES_RECEIVED = 202 - - -DESCRIPTOR.enum_types_by_name['KpiSampleType'] = _KPISAMPLETYPE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - - -# @@protoc_insertion_point(module_scope) diff --git a/src/device/proto/monitoring_pb2.py b/src/device/proto/monitoring_pb2.py deleted file mode 100644 index b313ebb68f0da37a540898e8c362fd204a799076..0000000000000000000000000000000000000000 --- a/src/device/proto/monitoring_pb2.py +++ /dev/null @@ -1,452 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: monitoring.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import context_pb2 as context__pb2 -from . import kpi_sample_types_pb2 as kpi__sample__types__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='monitoring.proto', - package='monitoring', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x10monitoring.proto\x12\nmonitoring\x1a\rcontext.proto\x1a\x16kpi_sample_types.proto\"\xda\x01\n\rKpiDescriptor\x12\x17\n\x0fkpi_description\x18\x01 \x01(\t\x12\x38\n\x0fkpi_sample_type\x18\x02 \x01(\x0e\x32\x1f.kpi_sample_types.KpiSampleType\x12$\n\tdevice_id\x18\x03 \x01(\x0b\x32\x11.context.DeviceId\x12(\n\x0b\x65ndpoint_id\x18\x04 \x01(\x0b\x32\x13.context.EndPointId\x12&\n\nservice_id\x18\x05 \x01(\x0b\x32\x12.context.ServiceId\"p\n\x11MonitorKpiRequest\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x1b\n\x13sampling_duration_s\x18\x02 \x01(\x02\x12\x1b\n\x13sampling_interval_s\x18\x03 \x01(\x02\"&\n\x05KpiId\x12\x1d\n\x06kpi_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"d\n\x03Kpi\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\'\n\tkpi_value\x18\x04 \x01(\x0b\x32\x14.monitoring.KpiValue\"a\n\x08KpiValue\x12\x10\n\x06intVal\x18\x01 \x01(\rH\x00\x12\x12\n\x08\x66loatVal\x18\x02 \x01(\x02H\x00\x12\x13\n\tstringVal\x18\x03 \x01(\tH\x00\x12\x11\n\x07\x62oolVal\x18\x04 \x01(\x08H\x00\x42\x07\n\x05value\",\n\x07KpiList\x12!\n\x08kpi_list\x18\x01 \x03(\x0b\x32\x0f.monitoring.Kpi2\xf3\x02\n\x11MonitoringService\x12;\n\tCreateKpi\x12\x19.monitoring.KpiDescriptor\x1a\x11.monitoring.KpiId\"\x00\x12\x42\n\x10GetKpiDescriptor\x12\x11.monitoring.KpiId\x1a\x19.monitoring.KpiDescriptor\"\x00\x12/\n\nIncludeKpi\x12\x0f.monitoring.Kpi\x1a\x0e.context.Empty\"\x00\x12=\n\nMonitorKpi\x12\x1d.monitoring.MonitorKpiRequest\x1a\x0e.context.Empty\"\x00\x12\x36\n\x0cGetStreamKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x30\x01\x12\x35\n\rGetInstantKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x62\x06proto3' - , - dependencies=[context__pb2.DESCRIPTOR,kpi__sample__types__pb2.DESCRIPTOR,]) - - - - -_KPIDESCRIPTOR = _descriptor.Descriptor( - name='KpiDescriptor', - full_name='monitoring.KpiDescriptor', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='kpi_description', full_name='monitoring.KpiDescriptor.kpi_description', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='kpi_sample_type', full_name='monitoring.KpiDescriptor.kpi_sample_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id', full_name='monitoring.KpiDescriptor.device_id', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='endpoint_id', full_name='monitoring.KpiDescriptor.endpoint_id', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='service_id', full_name='monitoring.KpiDescriptor.service_id', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=72, - serialized_end=290, -) - - -_MONITORKPIREQUEST = _descriptor.Descriptor( - name='MonitorKpiRequest', - full_name='monitoring.MonitorKpiRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='kpi_id', full_name='monitoring.MonitorKpiRequest.kpi_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sampling_duration_s', full_name='monitoring.MonitorKpiRequest.sampling_duration_s', index=1, - number=2, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sampling_interval_s', full_name='monitoring.MonitorKpiRequest.sampling_interval_s', index=2, - number=3, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=292, - serialized_end=404, -) - - -_KPIID = _descriptor.Descriptor( - name='KpiId', - full_name='monitoring.KpiId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='kpi_id', full_name='monitoring.KpiId.kpi_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=406, - serialized_end=444, -) - - -_KPI = _descriptor.Descriptor( - name='Kpi', - full_name='monitoring.Kpi', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='kpi_id', full_name='monitoring.Kpi.kpi_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='timestamp', full_name='monitoring.Kpi.timestamp', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='kpi_value', full_name='monitoring.Kpi.kpi_value', index=2, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=446, - serialized_end=546, -) - - -_KPIVALUE = _descriptor.Descriptor( - name='KpiValue', - full_name='monitoring.KpiValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='intVal', full_name='monitoring.KpiValue.intVal', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='floatVal', full_name='monitoring.KpiValue.floatVal', index=1, - number=2, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='stringVal', full_name='monitoring.KpiValue.stringVal', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='boolVal', full_name='monitoring.KpiValue.boolVal', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='value', full_name='monitoring.KpiValue.value', - index=0, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=548, - serialized_end=645, -) - - -_KPILIST = _descriptor.Descriptor( - name='KpiList', - full_name='monitoring.KpiList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='kpi_list', full_name='monitoring.KpiList.kpi_list', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=647, - serialized_end=691, -) - -_KPIDESCRIPTOR.fields_by_name['kpi_sample_type'].enum_type = kpi__sample__types__pb2._KPISAMPLETYPE -_KPIDESCRIPTOR.fields_by_name['device_id'].message_type = context__pb2._DEVICEID -_KPIDESCRIPTOR.fields_by_name['endpoint_id'].message_type = context__pb2._ENDPOINTID -_KPIDESCRIPTOR.fields_by_name['service_id'].message_type = context__pb2._SERVICEID -_MONITORKPIREQUEST.fields_by_name['kpi_id'].message_type = _KPIID -_KPIID.fields_by_name['kpi_id'].message_type = context__pb2._UUID -_KPI.fields_by_name['kpi_id'].message_type = _KPIID -_KPI.fields_by_name['kpi_value'].message_type = _KPIVALUE -_KPIVALUE.oneofs_by_name['value'].fields.append( - _KPIVALUE.fields_by_name['intVal']) -_KPIVALUE.fields_by_name['intVal'].containing_oneof = _KPIVALUE.oneofs_by_name['value'] -_KPIVALUE.oneofs_by_name['value'].fields.append( - _KPIVALUE.fields_by_name['floatVal']) -_KPIVALUE.fields_by_name['floatVal'].containing_oneof = _KPIVALUE.oneofs_by_name['value'] -_KPIVALUE.oneofs_by_name['value'].fields.append( - _KPIVALUE.fields_by_name['stringVal']) -_KPIVALUE.fields_by_name['stringVal'].containing_oneof = _KPIVALUE.oneofs_by_name['value'] -_KPIVALUE.oneofs_by_name['value'].fields.append( - _KPIVALUE.fields_by_name['boolVal']) -_KPIVALUE.fields_by_name['boolVal'].containing_oneof = _KPIVALUE.oneofs_by_name['value'] -_KPILIST.fields_by_name['kpi_list'].message_type = _KPI -DESCRIPTOR.message_types_by_name['KpiDescriptor'] = _KPIDESCRIPTOR -DESCRIPTOR.message_types_by_name['MonitorKpiRequest'] = _MONITORKPIREQUEST -DESCRIPTOR.message_types_by_name['KpiId'] = _KPIID -DESCRIPTOR.message_types_by_name['Kpi'] = _KPI -DESCRIPTOR.message_types_by_name['KpiValue'] = _KPIVALUE -DESCRIPTOR.message_types_by_name['KpiList'] = _KPILIST -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -KpiDescriptor = _reflection.GeneratedProtocolMessageType('KpiDescriptor', (_message.Message,), { - 'DESCRIPTOR' : _KPIDESCRIPTOR, - '__module__' : 'monitoring_pb2' - # @@protoc_insertion_point(class_scope:monitoring.KpiDescriptor) - }) -_sym_db.RegisterMessage(KpiDescriptor) - -MonitorKpiRequest = _reflection.GeneratedProtocolMessageType('MonitorKpiRequest', (_message.Message,), { - 'DESCRIPTOR' : _MONITORKPIREQUEST, - '__module__' : 'monitoring_pb2' - # @@protoc_insertion_point(class_scope:monitoring.MonitorKpiRequest) - }) -_sym_db.RegisterMessage(MonitorKpiRequest) - -KpiId = _reflection.GeneratedProtocolMessageType('KpiId', (_message.Message,), { - 'DESCRIPTOR' : _KPIID, - '__module__' : 'monitoring_pb2' - # @@protoc_insertion_point(class_scope:monitoring.KpiId) - }) -_sym_db.RegisterMessage(KpiId) - -Kpi = _reflection.GeneratedProtocolMessageType('Kpi', (_message.Message,), { - 'DESCRIPTOR' : _KPI, - '__module__' : 'monitoring_pb2' - # @@protoc_insertion_point(class_scope:monitoring.Kpi) - }) -_sym_db.RegisterMessage(Kpi) - -KpiValue = _reflection.GeneratedProtocolMessageType('KpiValue', (_message.Message,), { - 'DESCRIPTOR' : _KPIVALUE, - '__module__' : 'monitoring_pb2' - # @@protoc_insertion_point(class_scope:monitoring.KpiValue) - }) -_sym_db.RegisterMessage(KpiValue) - -KpiList = _reflection.GeneratedProtocolMessageType('KpiList', (_message.Message,), { - 'DESCRIPTOR' : _KPILIST, - '__module__' : 'monitoring_pb2' - # @@protoc_insertion_point(class_scope:monitoring.KpiList) - }) -_sym_db.RegisterMessage(KpiList) - - - -_MONITORINGSERVICE = _descriptor.ServiceDescriptor( - name='MonitoringService', - full_name='monitoring.MonitoringService', - file=DESCRIPTOR, - index=0, - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_start=694, - serialized_end=1065, - methods=[ - _descriptor.MethodDescriptor( - name='CreateKpi', - full_name='monitoring.MonitoringService.CreateKpi', - index=0, - containing_service=None, - input_type=_KPIDESCRIPTOR, - output_type=_KPIID, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetKpiDescriptor', - full_name='monitoring.MonitoringService.GetKpiDescriptor', - index=1, - containing_service=None, - input_type=_KPIID, - output_type=_KPIDESCRIPTOR, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='IncludeKpi', - full_name='monitoring.MonitoringService.IncludeKpi', - index=2, - containing_service=None, - input_type=_KPI, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='MonitorKpi', - full_name='monitoring.MonitoringService.MonitorKpi', - index=3, - containing_service=None, - input_type=_MONITORKPIREQUEST, - output_type=context__pb2._EMPTY, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetStreamKpi', - full_name='monitoring.MonitoringService.GetStreamKpi', - index=4, - containing_service=None, - input_type=_KPIID, - output_type=_KPI, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), - _descriptor.MethodDescriptor( - name='GetInstantKpi', - full_name='monitoring.MonitoringService.GetInstantKpi', - index=5, - containing_service=None, - input_type=_KPIID, - output_type=_KPI, - serialized_options=None, - create_key=_descriptor._internal_create_key, - ), -]) -_sym_db.RegisterServiceDescriptor(_MONITORINGSERVICE) - -DESCRIPTOR.services_by_name['MonitoringService'] = _MONITORINGSERVICE - -# @@protoc_insertion_point(module_scope) diff --git a/src/device/requirements.in b/src/device/requirements.in index dde08cf195ecb503c7a10f75a2df9ca9f1a0c651..2b9c199c86a580b72190a9d0e74a161e567abed2 100644 --- a/src/device/requirements.in +++ b/src/device/requirements.in @@ -1,20 +1,22 @@ anytree==2.8.0 APScheduler==3.8.1 fastcache==1.1.0 -grpcio==1.43.0 -grpcio-health-checking==1.43.0 Jinja2==3.0.3 -netconf-client==2.0.0 #1.7.3 +ncclient==0.6.13 p4runtime==1.3.0 paramiko==2.9.2 -prometheus-client==0.13.0 -protobuf==3.19.3 -pytest==6.2.5 -pytest-benchmark==3.4.1 -python-dateutil==2.8.2 python-json-logger==2.0.2 pytz==2021.3 redis==4.1.2 requests==2.27.1 +requests-mock==1.9.3 xmltodict==0.12.0 -coverage==6.3 +tabulate +ipaddress +macaddress + +# pip's dependency resolver does not take into account installed packages. +# p4runtime does not specify the version of grpcio/protobuf it needs, so it tries to install latest one +# adding here again grpcio==1.47.* and protobuf==3.20.* with explicit versions to prevent collisions +grpcio==1.47.* +protobuf==3.20.* diff --git a/src/device/service/DeviceService.py b/src/device/service/DeviceService.py index bb2cc09535af579a24cf05687d2883d81c7c914b..59134f26d3dd8c3fa0a9dddbcd1d3df298ec076a 100644 --- a/src/device/service/DeviceService.py +++ b/src/device/service/DeviceService.py @@ -12,76 +12,34 @@ # See the License for the specific language governing permissions and # limitations under the License. -import grpc, logging -from concurrent import futures -from grpc_health.v1.health import HealthServicer, OVERALL_HEALTH -from grpc_health.v1.health_pb2 import HealthCheckResponse -from grpc_health.v1.health_pb2_grpc import add_HealthServicer_to_server +from common.Constants import ServiceNameEnum +from common.Settings import get_service_port_grpc from common.orm.backend.BackendEnum import BackendEnum from common.orm.Database import Database from common.orm.Factory import get_database_backend -from context.client.ContextClient import ContextClient -from device.Config import GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD -from device.proto.device_pb2_grpc import add_DeviceServiceServicer_to_server -from monitoring.client.monitoring_client import MonitoringClient +from common.proto.device_pb2_grpc import add_DeviceServiceServicer_to_server +from common.tools.service.GenericGrpcService import GenericGrpcService from .driver_api.DriverInstanceCache import DriverInstanceCache from .DeviceServiceServicerImpl import DeviceServiceServicerImpl from .MonitoringLoops import MonitoringLoops -BIND_ADDRESS = '0.0.0.0' -LOGGER = logging.getLogger(__name__) +# Custom gRPC settings +# Multiple clients might keep connections alive waiting for RPC methods to be executed. +# Requests needs to be serialized to ensure correct device configurations +GRPC_MAX_WORKERS = 200 -class DeviceService: - def __init__( - self, context_client : ContextClient, monitoring_client : MonitoringClient, - driver_instance_cache : DriverInstanceCache, - address=BIND_ADDRESS, port=GRPC_SERVICE_PORT, max_workers=GRPC_MAX_WORKERS, grace_period=GRPC_GRACE_PERIOD): - - self.context_client = context_client - self.monitoring_client = monitoring_client - self.driver_instance_cache = driver_instance_cache - self.address = address - self.port = port - self.endpoint = None - self.max_workers = max_workers - self.grace_period = grace_period - self.device_servicer = None - self.health_servicer = None - self.pool = None - self.server = None - - self.database = Database(get_database_backend(backend=BackendEnum.INMEMORY)) - self.monitoring_loops = MonitoringLoops(monitoring_client, self.database) - - def start(self): - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(self.port)) - LOGGER.info('Starting Service (tentative endpoint: {:s}, max_workers: {:s})...'.format( - str(self.endpoint), str(self.max_workers))) +class DeviceService(GenericGrpcService): + def __init__(self, driver_instance_cache : DriverInstanceCache, cls_name: str = __name__) -> None: + port = get_service_port_grpc(ServiceNameEnum.DEVICE) + super().__init__(port, max_workers=GRPC_MAX_WORKERS, cls_name=cls_name) + database = Database(get_database_backend(backend=BackendEnum.INMEMORY)) + self.monitoring_loops = MonitoringLoops(database) + self.device_servicer = DeviceServiceServicerImpl(database, driver_instance_cache, self.monitoring_loops) + def install_servicers(self): self.monitoring_loops.start() - - self.pool = futures.ThreadPoolExecutor(max_workers=self.max_workers) - self.server = grpc.server(self.pool) # , interceptors=(tracer_interceptor,)) - - self.device_servicer = DeviceServiceServicerImpl( - self.context_client, self.database, self.driver_instance_cache, self.monitoring_loops) add_DeviceServiceServicer_to_server(self.device_servicer, self.server) - self.health_servicer = HealthServicer( - experimental_non_blocking=True, experimental_thread_pool=futures.ThreadPoolExecutor(max_workers=1)) - add_HealthServicer_to_server(self.health_servicer, self.server) - - port = self.server.add_insecure_port(self.endpoint) - self.endpoint = '{:s}:{:s}'.format(str(self.address), str(port)) - LOGGER.info('Listening on {:s}...'.format(str(self.endpoint))) - self.server.start() - self.health_servicer.set(OVERALL_HEALTH, HealthCheckResponse.SERVING) # pylint: disable=maybe-no-member - - LOGGER.debug('Service started') - def stop(self): - LOGGER.debug('Stopping service (grace period {:s} seconds)...'.format(str(self.grace_period))) - self.health_servicer.enter_graceful_shutdown() - self.server.stop(self.grace_period) + super().stop() self.monitoring_loops.stop() - LOGGER.debug('Service stopped') diff --git a/src/device/service/DeviceServiceServicerImpl.py b/src/device/service/DeviceServiceServicerImpl.py index 8e00b344f0462ae56b289cfc5d33e6c1b1c42b7e..88f49de6fb5c07e39b7efc9d26ccba135f95c929 100644 --- a/src/device/service/DeviceServiceServicerImpl.py +++ b/src/device/service/DeviceServiceServicerImpl.py @@ -14,17 +14,18 @@ import grpc, json, logging, re from typing import Any, Dict, List, Tuple +from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method +from common.method_wrappers.ServiceExceptions import InvalidArgumentException, OperationFailedException from common.orm.Database import Database from common.orm.HighLevel import get_object, update_or_create_object from common.orm.backend.Tools import key_to_str -from common.rpc_method_wrapper.Decorator import create_metrics, safe_and_metered_rpc_method -from common.rpc_method_wrapper.ServiceExceptions import InvalidArgumentException, OperationFailedException +from common.proto.context_pb2 import ConfigActionEnum, Device, DeviceConfig, DeviceId, Empty +from common.proto.device_pb2 import MonitoringSettings +from common.proto.device_pb2_grpc import DeviceServiceServicer +from common.proto.kpi_sample_types_pb2 import KpiSampleType from common.tools.grpc.Tools import grpc_message_to_json +from common.tools.mutex_queues.MutexQueues import MutexQueues from context.client.ContextClient import ContextClient -from context.proto.kpi_sample_types_pb2 import KpiSampleType -from device.proto.context_pb2 import ConfigActionEnum, Device, DeviceConfig, DeviceId, Empty -from device.proto.device_pb2 import MonitoringSettings -from device.proto.device_pb2_grpc import DeviceServiceServicer from .database.ConfigModel import ( ConfigModel, ConfigRuleModel, ORM_ConfigActionEnum, get_config_rules, grpc_config_rules_to_raw, update_config) from .database.DatabaseTools import ( @@ -43,23 +44,21 @@ from .MonitoringLoops import MonitoringLoops LOGGER = logging.getLogger(__name__) -SERVICE_NAME = 'Device' -METHOD_NAMES = ['AddDevice', 'ConfigureDevice', 'DeleteDevice', 'GetInitialConfig', 'MonitorDeviceKpi'] -METRICS = create_metrics(SERVICE_NAME, METHOD_NAMES) +METRICS_POOL = MetricsPool('Device', 'RPC') class DeviceServiceServicerImpl(DeviceServiceServicer): def __init__( - self, context_client : ContextClient, database : Database, driver_instance_cache : DriverInstanceCache, - monitoring_loops : MonitoringLoops): - + self, database : Database, driver_instance_cache : DriverInstanceCache, monitoring_loops : MonitoringLoops + ) -> None: LOGGER.debug('Creating Servicer...') - self.context_client = context_client + self.context_client = ContextClient() self.database = database self.driver_instance_cache = driver_instance_cache self.monitoring_loops = monitoring_loops + self.mutex_queues = MutexQueues() LOGGER.debug('Servicer Created') - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def AddDevice(self, request : Device, context : grpc.ServicerContext) -> DeviceId: device_id = request.device_id device_uuid = device_id.device_uuid.uuid @@ -68,15 +67,18 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): unexpected_config_rules = [] for config_rule in request.device_config.config_rules: if (config_rule.action == ConfigActionEnum.CONFIGACTION_SET) and \ - (config_rule.resource_key.startswith('_connect/')): - connection_config_rules[config_rule.resource_key.replace('_connect/', '')] = config_rule.resource_value + (config_rule.WhichOneof('config_rule') == 'custom') and \ + (config_rule.custom.resource_key.startswith('_connect/')): + connection_config_rules[ + config_rule.custom.resource_key.replace('_connect/', '') + ] = config_rule.custom.resource_value else: unexpected_config_rules.append(config_rule) if len(unexpected_config_rules) > 0: unexpected_config_rules = grpc_message_to_json(request.device_config) unexpected_config_rules = unexpected_config_rules['config_rules'] unexpected_config_rules = list(filter( - lambda cr: cr['resource_key'].replace('_connect/', '') not in connection_config_rules, + lambda cr: cr.get('custom', {})['resource_key'].replace('_connect/', '') not in connection_config_rules, unexpected_config_rules)) str_unexpected_config_rules = json.dumps(unexpected_config_rules, sort_keys=True) raise InvalidArgumentException( @@ -99,348 +101,368 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): json_request['device_config'] = {} request = Device(**json_request) - sync_device_from_context(device_uuid, self.context_client, self.database) - db_device,_ = update_device_in_local_database(self.database, request) - - driver_filter_fields = get_device_driver_filter_fields(db_device) - - #LOGGER.info('[AddDevice] connection_config_rules = {:s}'.format(str(connection_config_rules))) - address = connection_config_rules.pop('address', None) - port = connection_config_rules.pop('port', None) - settings = connection_config_rules.pop('settings', '{}') - try: - settings = json.loads(settings) - except ValueError as e: - raise InvalidArgumentException( - 'device.device_config.config_rules[settings]', settings, - extra_details='_connect/settings Config Rules provided cannot be decoded as JSON dictionary.') from e - driver : _Driver = self.driver_instance_cache.get( - device_uuid, filter_fields=driver_filter_fields, address=address, port=port, settings=settings) - driver.Connect() - - endpoints = driver.GetConfig([RESOURCE_ENDPOINTS]) + self.mutex_queues.wait_my_turn(device_uuid) try: - for resource_key, resource_value in endpoints: + sync_device_from_context(device_uuid, self.context_client, self.database) + db_device,_ = update_device_in_local_database(self.database, request) + + driver_filter_fields = get_device_driver_filter_fields(db_device) + + #LOGGER.info('[AddDevice] connection_config_rules = {:s}'.format(str(connection_config_rules))) + address = connection_config_rules.pop('address', None) + port = connection_config_rules.pop('port', None) + settings = connection_config_rules.pop('settings', '{}') + try: + settings = json.loads(settings) + except ValueError as e: + raise InvalidArgumentException( + 'device.device_config.config_rules[settings]', settings, + extra_details='_connect/settings Config Rules provided cannot be decoded as JSON dictionary.') from e + driver : _Driver = self.driver_instance_cache.get( + device_uuid, filter_fields=driver_filter_fields, address=address, port=port, settings=settings) + driver.Connect() + + endpoints = driver.GetConfig([RESOURCE_ENDPOINTS]) + try: + for resource_key, resource_value in endpoints: + if isinstance(resource_value, Exception): + LOGGER.error('Error retrieving "{:s}": {:s}'.format(str(RESOURCE_ENDPOINTS), str(resource_value))) + continue + endpoint_uuid = resource_value.get('uuid') + endpoint_type = resource_value.get('type') + str_endpoint_key = key_to_str([device_uuid, endpoint_uuid]) + db_endpoint, _ = update_or_create_object( + self.database, EndPointModel, str_endpoint_key, { + 'device_fk' : db_device, + 'endpoint_uuid': endpoint_uuid, + 'endpoint_type': endpoint_type, + 'resource_key' : resource_key, + }) + sample_types : Dict[int, str] = resource_value.get('sample_types', {}) + for sample_type, monitor_resource_key in sample_types.items(): + str_endpoint_monitor_key = key_to_str([str_endpoint_key, str(sample_type)]) + update_or_create_object(self.database, EndPointMonitorModel, str_endpoint_monitor_key, { + 'endpoint_fk' : db_endpoint, + 'resource_key' : monitor_resource_key, + 'kpi_sample_type': grpc_to_enum__kpi_sample_type(sample_type), + }) + except: # pylint: disable=bare-except + LOGGER.exception('[AddDevice] endpoints = {:s}'.format(str(endpoints))) + + raw_running_config_rules = driver.GetConfig() + running_config_rules = [] + for resource_key, resource_value in raw_running_config_rules: if isinstance(resource_value, Exception): - LOGGER.error('Error retrieving "{:s}": {:s}'.format(str(RESOURCE_ENDPOINTS), str(resource_value))) + msg = 'Error retrieving config rules: {:s} => {:s}' + LOGGER.error(msg.format(str(resource_key), str(resource_value))) continue - endpoint_uuid = resource_value.get('uuid') - endpoint_type = resource_value.get('type') - str_endpoint_key = key_to_str([device_uuid, endpoint_uuid]) - db_endpoint, _ = update_or_create_object( - self.database, EndPointModel, str_endpoint_key, { - 'device_fk' : db_device, - 'endpoint_uuid': endpoint_uuid, - 'endpoint_type': endpoint_type, - 'resource_key' : resource_key, - }) - sample_types : Dict[int, str] = resource_value.get('sample_types', {}) - for sample_type, monitor_resource_key in sample_types.items(): - str_endpoint_monitor_key = key_to_str([str_endpoint_key, str(sample_type)]) - update_or_create_object(self.database, EndPointMonitorModel, str_endpoint_monitor_key, { - 'endpoint_fk' : db_endpoint, - 'resource_key' : monitor_resource_key, - 'kpi_sample_type': grpc_to_enum__kpi_sample_type(sample_type), - }) - except: # pylint: disable=bare-except - LOGGER.exception('[AddDevice] endpoints = {:s}'.format(str(endpoints))) - - raw_running_config_rules = driver.GetConfig() - running_config_rules = [] - for resource_key, resource_value in raw_running_config_rules: - if isinstance(resource_value, Exception): - msg = 'Error retrieving config rules: {:s} => {:s}' - LOGGER.error(msg.format(str(resource_key), str(resource_value))) - continue - config_rule = (ORM_ConfigActionEnum.SET, resource_key, json.dumps(resource_value, sort_keys=True)) - running_config_rules.append(config_rule) + config_rule = (ORM_ConfigActionEnum.SET, resource_key, json.dumps(resource_value, sort_keys=True)) + running_config_rules.append(config_rule) - #for running_config_rule in running_config_rules: - # LOGGER.info('[AddDevice] running_config_rule: {:s}'.format(str(running_config_rule))) - update_config(self.database, device_uuid, 'running', running_config_rules) + #for running_config_rule in running_config_rules: + # LOGGER.info('[AddDevice] running_config_rule: {:s}'.format(str(running_config_rule))) + update_config(self.database, device_uuid, 'running', running_config_rules) - initial_config_rules = driver.GetInitialConfig() - update_config(self.database, device_uuid, 'initial', initial_config_rules) + initial_config_rules = driver.GetInitialConfig() + update_config(self.database, device_uuid, 'initial', initial_config_rules) - #LOGGER.info('[AddDevice] db_device = {:s}'.format(str(db_device.dump( - # include_config_rules=True, include_drivers=True, include_endpoints=True)))) + #LOGGER.info('[AddDevice] db_device = {:s}'.format(str(db_device.dump( + # include_config_rules=True, include_drivers=True, include_endpoints=True)))) - sync_device_to_context(db_device, self.context_client) - return DeviceId(**db_device.dump_id()) + sync_device_to_context(db_device, self.context_client) + return DeviceId(**db_device.dump_id()) + finally: + self.mutex_queues.signal_done(device_uuid) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ConfigureDevice(self, request : Device, context : grpc.ServicerContext) -> DeviceId: device_id = request.device_id device_uuid = device_id.device_uuid.uuid - sync_device_from_context(device_uuid, self.context_client, self.database) + self.mutex_queues.wait_my_turn(device_uuid) + try: + sync_device_from_context(device_uuid, self.context_client, self.database) - context_config_rules = get_config_rules(self.database, device_uuid, 'running') - context_config_rules = {config_rule[1]: config_rule[2] for config_rule in context_config_rules} - #LOGGER.info('[ConfigureDevice] context_config_rules = {:s}'.format(str(context_config_rules))) + context_config_rules = get_config_rules(self.database, device_uuid, 'running') + context_config_rules = {config_rule[1]: config_rule[2] for config_rule in context_config_rules} + #LOGGER.info('[ConfigureDevice] context_config_rules = {:s}'.format(str(context_config_rules))) - db_device,_ = update_device_in_local_database(self.database, request) + db_device,_ = update_device_in_local_database(self.database, request) - request_config_rules = grpc_config_rules_to_raw(request.device_config.config_rules) - #LOGGER.info('[ConfigureDevice] request_config_rules = {:s}'.format(str(request_config_rules))) + request_config_rules = grpc_config_rules_to_raw(request.device_config.config_rules) + #LOGGER.info('[ConfigureDevice] request_config_rules = {:s}'.format(str(request_config_rules))) - resources_to_set : List[Tuple[str, Any]] = [] # key, value - resources_to_delete : List[Tuple[str, Any]] = [] # key, value + resources_to_set : List[Tuple[str, Any]] = [] # key, value + resources_to_delete : List[Tuple[str, Any]] = [] # key, value - for config_rule in request_config_rules: - action, key, value = config_rule - if action == ORM_ConfigActionEnum.SET: - if (key not in context_config_rules) or (context_config_rules[key] != value): - resources_to_set.append((key, value)) - elif action == ORM_ConfigActionEnum.DELETE: - if key in context_config_rules: - resources_to_delete.append((key, value)) + for config_rule in request_config_rules: + action, key, value = config_rule + if action == ORM_ConfigActionEnum.SET: + if (key not in context_config_rules) or (context_config_rules[key] != value): + resources_to_set.append((key, value)) + elif action == ORM_ConfigActionEnum.DELETE: + if key in context_config_rules: + resources_to_delete.append((key, value)) - #LOGGER.info('[ConfigureDevice] resources_to_set = {:s}'.format(str(resources_to_set))) - #LOGGER.info('[ConfigureDevice] resources_to_delete = {:s}'.format(str(resources_to_delete))) + #LOGGER.info('[ConfigureDevice] resources_to_set = {:s}'.format(str(resources_to_set))) + #LOGGER.info('[ConfigureDevice] resources_to_delete = {:s}'.format(str(resources_to_delete))) - # TODO: use of datastores (might be virtual ones) to enable rollbacks + # TODO: use of datastores (might be virtual ones) to enable rollbacks - errors = [] + errors = [] - driver : _Driver = self.driver_instance_cache.get(device_uuid) - if driver is None: - errors.append('Device({:s}) has not been added to this Device instance'.format(str(device_uuid))) + driver : _Driver = self.driver_instance_cache.get(device_uuid) + if driver is None: + errors.append('Device({:s}) has not been added to this Device instance'.format(str(device_uuid))) - if len(errors) == 0: - results_setconfig = driver.SetConfig(resources_to_set) - errors.extend(check_set_errors(resources_to_set, results_setconfig)) + if len(errors) == 0: + results_setconfig = driver.SetConfig(resources_to_set) + errors.extend(check_set_errors(resources_to_set, results_setconfig)) - if len(errors) == 0: - results_deleteconfig = driver.DeleteConfig(resources_to_delete) - errors.extend(check_delete_errors(resources_to_delete, results_deleteconfig)) + if len(errors) == 0: + results_deleteconfig = driver.DeleteConfig(resources_to_delete) + errors.extend(check_delete_errors(resources_to_delete, results_deleteconfig)) - if len(errors) > 0: - raise OperationFailedException('ConfigureDevice', extra_details=errors) + if len(errors) > 0: + raise OperationFailedException('ConfigureDevice', extra_details=errors) - running_config_rules = driver.GetConfig() - running_config_rules = [ - (ORM_ConfigActionEnum.SET, config_rule[0], json.dumps(config_rule[1], sort_keys=True)) - for config_rule in running_config_rules - ] - #for running_config_rule in running_config_rules: - # LOGGER.info('[ConfigureDevice] running_config_rule: {:s}'.format(str(running_config_rule))) - update_config(self.database, device_uuid, 'running', running_config_rules) + running_config_rules = driver.GetConfig() + running_config_rules = [ + (ORM_ConfigActionEnum.SET, config_rule[0], json.dumps(config_rule[1], sort_keys=True)) + for config_rule in running_config_rules if not isinstance(config_rule[1], Exception) + ] + #for running_config_rule in running_config_rules: + # LOGGER.info('[ConfigureDevice] running_config_rule: {:s}'.format(str(running_config_rule))) + update_config(self.database, device_uuid, 'running', running_config_rules) - sync_device_to_context(db_device, self.context_client) - return DeviceId(**db_device.dump_id()) + sync_device_to_context(db_device, self.context_client) + return DeviceId(**db_device.dump_id()) + finally: + self.mutex_queues.signal_done(device_uuid) - @safe_and_metered_rpc_method(METRICS, LOGGER) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def DeleteDevice(self, request : DeviceId, context : grpc.ServicerContext) -> Empty: device_uuid = request.device_uuid.uuid - self.monitoring_loops.remove(device_uuid) - - sync_device_from_context(device_uuid, self.context_client, self.database) - db_device : DeviceModel = get_object(self.database, DeviceModel, device_uuid, raise_if_not_found=False) - if db_device is None: return Empty() - - self.driver_instance_cache.delete(device_uuid) - delete_device_from_context(db_device, self.context_client) - - for db_kpi_pk,_ in db_device.references(KpiModel): - db_kpi = get_object(self.database, KpiModel, db_kpi_pk) - for db_endpoint_monitor_kpi_pk,_ in db_kpi.references(EndPointMonitorKpiModel): - get_object(self.database, EndPointMonitorKpiModel, db_endpoint_monitor_kpi_pk).delete() - db_kpi.delete() - - for db_endpoint_pk,_ in db_device.references(EndPointModel): - db_endpoint = EndPointModel(self.database, db_endpoint_pk) - for db_endpoint_monitor_pk,_ in db_endpoint.references(EndPointMonitorModel): - get_object(self.database, EndPointMonitorModel, db_endpoint_monitor_pk).delete() - db_endpoint.delete() - - for db_driver_pk,_ in db_device.references(DriverModel): - get_object(self.database, DriverModel, db_driver_pk).delete() - - db_initial_config = ConfigModel(self.database, db_device.device_initial_config_fk) - for db_config_rule_pk,_ in db_initial_config.references(ConfigRuleModel): - get_object(self.database, ConfigRuleModel, db_config_rule_pk).delete() - - db_running_config = ConfigModel(self.database, db_device.device_running_config_fk) - for db_config_rule_pk,_ in db_running_config.references(ConfigRuleModel): - get_object(self.database, ConfigRuleModel, db_config_rule_pk).delete() - - db_device.delete() - db_initial_config.delete() - db_running_config.delete() - return Empty() + self.mutex_queues.wait_my_turn(device_uuid) + try: + self.monitoring_loops.remove(device_uuid) - @safe_and_metered_rpc_method(METRICS, LOGGER) + sync_device_from_context(device_uuid, self.context_client, self.database) + db_device : DeviceModel = get_object(self.database, DeviceModel, device_uuid, raise_if_not_found=False) + if db_device is None: return Empty() + + self.driver_instance_cache.delete(device_uuid) + delete_device_from_context(db_device, self.context_client) + + for db_kpi_pk,_ in db_device.references(KpiModel): + db_kpi = get_object(self.database, KpiModel, db_kpi_pk) + for db_endpoint_monitor_kpi_pk,_ in db_kpi.references(EndPointMonitorKpiModel): + get_object(self.database, EndPointMonitorKpiModel, db_endpoint_monitor_kpi_pk).delete() + db_kpi.delete() + + for db_endpoint_pk,_ in db_device.references(EndPointModel): + db_endpoint = EndPointModel(self.database, db_endpoint_pk) + for db_endpoint_monitor_pk,_ in db_endpoint.references(EndPointMonitorModel): + get_object(self.database, EndPointMonitorModel, db_endpoint_monitor_pk).delete() + db_endpoint.delete() + + for db_driver_pk,_ in db_device.references(DriverModel): + get_object(self.database, DriverModel, db_driver_pk).delete() + + db_initial_config = ConfigModel(self.database, db_device.device_initial_config_fk) + for db_config_rule_pk,_ in db_initial_config.references(ConfigRuleModel): + get_object(self.database, ConfigRuleModel, db_config_rule_pk).delete() + + db_running_config = ConfigModel(self.database, db_device.device_running_config_fk) + for db_config_rule_pk,_ in db_running_config.references(ConfigRuleModel): + get_object(self.database, ConfigRuleModel, db_config_rule_pk).delete() + + db_device.delete() + db_initial_config.delete() + db_running_config.delete() + return Empty() + finally: + self.mutex_queues.signal_done(device_uuid) + + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetInitialConfig(self, request : DeviceId, context : grpc.ServicerContext) -> DeviceConfig: device_uuid = request.device_uuid.uuid - sync_device_from_context(device_uuid, self.context_client, self.database) - db_device : DeviceModel = get_object(self.database, DeviceModel, device_uuid, raise_if_not_found=False) + self.mutex_queues.wait_my_turn(device_uuid) + try: + sync_device_from_context(device_uuid, self.context_client, self.database) + db_device : DeviceModel = get_object(self.database, DeviceModel, device_uuid, raise_if_not_found=False) - config_rules = {} if db_device is None else db_device.dump_initial_config() - return DeviceConfig(config_rules=config_rules) + config_rules = {} if db_device is None else db_device.dump_initial_config() + device_config = DeviceConfig(config_rules=config_rules) + return device_config + finally: + self.mutex_queues.signal_done(device_uuid) - @safe_and_metered_rpc_method(METRICS, LOGGER) + @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def MonitorDeviceKpi(self, request : MonitoringSettings, context : grpc.ServicerContext) -> Empty: kpi_uuid = request.kpi_id.kpi_id.uuid + device_uuid = request.kpi_descriptor.device_id.device_uuid.uuid + self.mutex_queues.wait_my_turn(device_uuid) + try: + subscribe = (request.sampling_duration_s > 0.0) and (request.sampling_interval_s > 0.0) + if subscribe: + db_device : DeviceModel = get_object(self.database, DeviceModel, device_uuid, raise_if_not_found=False) + if db_device is None: + msg = 'Device({:s}) has not been added to this Device instance.'.format(str(device_uuid)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + endpoint_id = request.kpi_descriptor.endpoint_id + endpoint_uuid = endpoint_id.endpoint_uuid.uuid + str_endpoint_key = key_to_str([device_uuid, endpoint_uuid]) + endpoint_topology_context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid + endpoint_topology_uuid = endpoint_id.topology_id.topology_uuid.uuid + if len(endpoint_topology_context_uuid) > 0 and len(endpoint_topology_uuid) > 0: + str_topology_key = key_to_str([endpoint_topology_context_uuid, endpoint_topology_uuid]) + str_endpoint_key = key_to_str([str_endpoint_key, str_topology_key], separator=':') + db_endpoint : EndPointModel = get_object( + self.database, EndPointModel, str_endpoint_key, raise_if_not_found=False) + if db_endpoint is None: + msg = 'Device({:s})/EndPoint({:s}) not found. EndPointKey({:s})'.format( + str(device_uuid), str(endpoint_uuid), str(str_endpoint_key)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + driver : _Driver = self.driver_instance_cache.get(device_uuid) + if driver is None: + msg = 'Device({:s}) has not been added to this Device instance'.format(str(device_uuid)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + sample_type = request.kpi_descriptor.kpi_sample_type + + attributes = { + 'kpi_uuid' : request.kpi_id.kpi_id.uuid, + 'kpi_description' : request.kpi_descriptor.kpi_description, + 'kpi_sample_type' : grpc_to_enum__kpi_sample_type(sample_type), + 'device_fk' : db_device, + 'endpoint_fk' : db_endpoint, + 'sampling_duration': request.sampling_duration_s, + 'sampling_interval': request.sampling_interval_s, + } + result : Tuple[KpiModel, bool] = update_or_create_object(self.database, KpiModel, kpi_uuid, attributes) + db_kpi, updated = result + + str_endpoint_monitor_key = key_to_str([str_endpoint_key, str(sample_type)]) + db_endpoint_monitor : EndPointMonitorModel = get_object( + self.database, EndPointMonitorModel, str_endpoint_monitor_key, raise_if_not_found=False) + if db_endpoint_monitor is None: + msg = 'SampleType({:s}/{:s}) not supported for Device({:s})/EndPoint({:s}).'.format( + str(sample_type), str(KpiSampleType.Name(sample_type).upper().replace('KPISAMPLETYPE_', '')), + str(device_uuid), str(endpoint_uuid)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + endpoint_monitor_resource_key = re.sub('[^A-Za-z0-9]', '.', db_endpoint_monitor.resource_key) + str_endpoint_monitor_kpi_key = key_to_str([device_uuid, endpoint_monitor_resource_key], separator=':') + attributes = { + 'endpoint_monitor_fk': db_endpoint_monitor, + 'kpi_fk' : db_kpi, + } + result : Tuple[EndPointMonitorKpiModel, bool] = update_or_create_object( + self.database, EndPointMonitorKpiModel, str_endpoint_monitor_kpi_key, attributes) + db_endpoint_monitor_kpi, updated = result + + resources_to_subscribe : List[Tuple[str, float, float]] = [] # key, sampling_duration, sampling_interval + resources_to_subscribe.append( + (db_endpoint_monitor.resource_key, db_kpi.sampling_duration, db_kpi.sampling_interval)) + results_subscribestate = driver.SubscribeState(resources_to_subscribe) + errors = check_subscribe_errors(resources_to_subscribe, results_subscribestate) + if len(errors) > 0: raise OperationFailedException('MonitorDeviceKpi', extra_details=errors) + + self.monitoring_loops.add(device_uuid, driver) - subscribe = (request.sampling_duration_s > 0.0) and (request.sampling_interval_s > 0.0) - if subscribe: - device_uuid = request.kpi_descriptor.device_id.device_uuid.uuid - - db_device : DeviceModel = get_object(self.database, DeviceModel, device_uuid, raise_if_not_found=False) - if db_device is None: - msg = 'Device({:s}) has not been added to this Device instance.'.format(str(device_uuid)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - endpoint_id = request.kpi_descriptor.endpoint_id - endpoint_uuid = endpoint_id.endpoint_uuid.uuid - str_endpoint_key = key_to_str([device_uuid, endpoint_uuid]) - endpoint_topology_context_uuid = endpoint_id.topology_id.context_id.context_uuid.uuid - endpoint_topology_uuid = endpoint_id.topology_id.topology_uuid.uuid - if len(endpoint_topology_context_uuid) > 0 and len(endpoint_topology_uuid) > 0: - str_topology_key = key_to_str([endpoint_topology_context_uuid, endpoint_topology_uuid]) - str_endpoint_key = key_to_str([str_endpoint_key, str_topology_key], separator=':') - db_endpoint : EndPointModel = get_object( - self.database, EndPointModel, str_endpoint_key, raise_if_not_found=False) - if db_endpoint is None: - msg = 'Device({:s})/EndPoint({:s}) not found. EndPointKey({:s})'.format( - str(device_uuid), str(endpoint_uuid), str(str_endpoint_key)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - driver : _Driver = self.driver_instance_cache.get(device_uuid) - if driver is None: - msg = 'Device({:s}) has not been added to this Device instance'.format(str(device_uuid)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - sample_type = request.kpi_descriptor.kpi_sample_type - - attributes = { - 'kpi_uuid' : request.kpi_id.kpi_id.uuid, - 'kpi_description' : request.kpi_descriptor.kpi_description, - 'kpi_sample_type' : grpc_to_enum__kpi_sample_type(sample_type), - 'device_fk' : db_device, - 'endpoint_fk' : db_endpoint, - 'sampling_duration': request.sampling_duration_s, - 'sampling_interval': request.sampling_interval_s, - } - result : Tuple[KpiModel, bool] = update_or_create_object(self.database, KpiModel, kpi_uuid, attributes) - db_kpi, updated = result - - str_endpoint_monitor_key = key_to_str([str_endpoint_key, str(sample_type)]) - db_endpoint_monitor : EndPointMonitorModel = get_object( - self.database, EndPointMonitorModel, str_endpoint_monitor_key, raise_if_not_found=False) - if db_endpoint_monitor is None: - msg = 'SampleType({:s}/{:s}) not supported for Device({:s})/EndPoint({:s}).'.format( - str(sample_type), str(KpiSampleType.Name(sample_type).upper().replace('KPISAMPLETYPE_', '')), - str(device_uuid), str(endpoint_uuid)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - endpoint_monitor_resource_key = re.sub('[^A-Za-z0-9]', '.', db_endpoint_monitor.resource_key) - str_endpoint_monitor_kpi_key = key_to_str([device_uuid, endpoint_monitor_resource_key], separator=':') - attributes = { - 'endpoint_monitor_fk': db_endpoint_monitor, - 'kpi_fk' : db_kpi, - } - result : Tuple[EndPointMonitorKpiModel, bool] = update_or_create_object( - self.database, EndPointMonitorKpiModel, str_endpoint_monitor_kpi_key, attributes) - db_endpoint_monitor_kpi, updated = result - - resources_to_subscribe : List[Tuple[str, float, float]] = [] # key, sampling_duration, sampling_interval - resources_to_subscribe.append( - (db_endpoint_monitor.resource_key, db_kpi.sampling_duration, db_kpi.sampling_interval)) - results_subscribestate = driver.SubscribeState(resources_to_subscribe) - errors = check_subscribe_errors(resources_to_subscribe, results_subscribestate) - if len(errors) > 0: raise OperationFailedException('MonitorDeviceKpi', extra_details=errors) - - self.monitoring_loops.add(device_uuid, driver) - - else: - db_kpi : KpiModel = get_object( - self.database, KpiModel, kpi_uuid, raise_if_not_found=False) - if db_kpi is None: - msg = 'Kpi({:s}) not found'.format(str(kpi_uuid)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - db_device : DeviceModel = get_object( - self.database, DeviceModel, db_kpi.device_fk, raise_if_not_found=False) - if db_device is None: - msg = 'Device({:s}) not found'.format(str(db_kpi.device_fk)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - device_uuid = db_device.device_uuid - - db_endpoint : EndPointModel = get_object( - self.database, EndPointModel, db_kpi.endpoint_fk, raise_if_not_found=False) - if db_endpoint is None: - msg = 'EndPoint({:s}) not found'.format(str(db_kpi.endpoint_fk)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - endpoint_uuid = db_endpoint.endpoint_uuid - str_endpoint_key = db_endpoint.pk - - kpi_sample_type : ORM_KpiSampleTypeEnum = db_kpi.kpi_sample_type - sample_type = kpi_sample_type.value - str_endpoint_monitor_key = key_to_str([str_endpoint_key, str(sample_type)]) - db_endpoint_monitor : EndPointMonitorModel = get_object( - self.database, EndPointMonitorModel, str_endpoint_monitor_key, raise_if_not_found=False) - if db_endpoint_monitor is None: - msg = 'EndPointMonitor({:s}) not found.'.format(str(str_endpoint_monitor_key)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - endpoint_monitor_resource_key = re.sub('[^A-Za-z0-9]', '.', db_endpoint_monitor.resource_key) - str_endpoint_monitor_kpi_key = key_to_str([device_uuid, endpoint_monitor_resource_key], separator=':') - db_endpoint_monitor_kpi : EndPointMonitorKpiModel = get_object( - self.database, EndPointMonitorKpiModel, str_endpoint_monitor_kpi_key, raise_if_not_found=False) - if db_endpoint_monitor_kpi is None: - msg = 'EndPointMonitorKpi({:s}) not found.'.format(str(str_endpoint_monitor_kpi_key)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - resources_to_unsubscribe : List[Tuple[str, float, float]] = [] # key, sampling_duration, sampling_interval - resources_to_unsubscribe.append( - (db_endpoint_monitor.resource_key, db_kpi.sampling_duration, db_kpi.sampling_interval)) - - driver : _Driver = self.driver_instance_cache.get(device_uuid) - if driver is None: - msg = 'Device({:s}) has not been added to this Device instance'.format(str(device_uuid)) - raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) - - results_unsubscribestate = driver.UnsubscribeState(resources_to_unsubscribe) - errors = check_unsubscribe_errors(resources_to_unsubscribe, results_unsubscribestate) - if len(errors) > 0: raise OperationFailedException('MonitorDeviceKpi', extra_details=errors) - - db_endpoint_monitor_kpi.delete() - db_kpi.delete() - - # There is one monitoring loop per device; keep them active since they are re-used by different monitoring - # requests. - #self.monitoring_loops.remove(device_uuid) - - # Subscriptions are not stored as classical driver config. - # TODO: consider adding it somehow in the configuration. - # Warning: GetConfig might be very slow in OpenConfig devices - #running_config_rules = [ - # (config_rule[0], json.dumps(config_rule[1], sort_keys=True)) - # for config_rule in driver.GetConfig() - #] - #context_config_rules = { - # config_rule[1]: config_rule[2] - # for config_rule in get_config_rules(self.database, device_uuid, 'running') - #} - - ## each in context, not in running => delete in context - ## each in running, not in context => add to context - ## each in context and in running, context.value != running.value => update in context - #running_config_rules_actions : List[Tuple[ORM_ConfigActionEnum, str, str]] = [] - #for config_rule_key,config_rule_value in running_config_rules: - # running_config_rules_actions.append((ORM_ConfigActionEnum.SET, config_rule_key, config_rule_value)) - # context_config_rules.pop(config_rule_key, None) - #for context_rule_key,context_rule_value in context_config_rules.items(): - # running_config_rules_actions.append((ORM_ConfigActionEnum.DELETE, context_rule_key, context_rule_value)) - - ##msg = '[MonitorDeviceKpi] running_config_rules_action[{:d}]: {:s}' - ##for i,running_config_rules_action in enumerate(running_config_rules_actions): - ## LOGGER.info(msg.format(i, str(running_config_rules_action))) - #update_config(self.database, device_uuid, 'running', running_config_rules_actions) - - sync_device_to_context(db_device, self.context_client) - return Empty() + else: + db_kpi : KpiModel = get_object( + self.database, KpiModel, kpi_uuid, raise_if_not_found=False) + if db_kpi is None: + msg = 'Kpi({:s}) not found'.format(str(kpi_uuid)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + db_device : DeviceModel = get_object( + self.database, DeviceModel, db_kpi.device_fk, raise_if_not_found=False) + if db_device is None: + msg = 'Device({:s}) not found'.format(str(db_kpi.device_fk)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + device_uuid = db_device.device_uuid + + db_endpoint : EndPointModel = get_object( + self.database, EndPointModel, db_kpi.endpoint_fk, raise_if_not_found=False) + if db_endpoint is None: + msg = 'EndPoint({:s}) not found'.format(str(db_kpi.endpoint_fk)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + endpoint_uuid = db_endpoint.endpoint_uuid + str_endpoint_key = db_endpoint.pk + + kpi_sample_type : ORM_KpiSampleTypeEnum = db_kpi.kpi_sample_type + sample_type = kpi_sample_type.value + str_endpoint_monitor_key = key_to_str([str_endpoint_key, str(sample_type)]) + db_endpoint_monitor : EndPointMonitorModel = get_object( + self.database, EndPointMonitorModel, str_endpoint_monitor_key, raise_if_not_found=False) + if db_endpoint_monitor is None: + msg = 'EndPointMonitor({:s}) not found.'.format(str(str_endpoint_monitor_key)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + endpoint_monitor_resource_key = re.sub('[^A-Za-z0-9]', '.', db_endpoint_monitor.resource_key) + str_endpoint_monitor_kpi_key = key_to_str([device_uuid, endpoint_monitor_resource_key], separator=':') + db_endpoint_monitor_kpi : EndPointMonitorKpiModel = get_object( + self.database, EndPointMonitorKpiModel, str_endpoint_monitor_kpi_key, raise_if_not_found=False) + if db_endpoint_monitor_kpi is None: + msg = 'EndPointMonitorKpi({:s}) not found.'.format(str(str_endpoint_monitor_kpi_key)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + resources_to_unsubscribe : List[Tuple[str, float, float]] = [] # key, sampling_duration, sampling_interval + resources_to_unsubscribe.append( + (db_endpoint_monitor.resource_key, db_kpi.sampling_duration, db_kpi.sampling_interval)) + + driver : _Driver = self.driver_instance_cache.get(device_uuid) + if driver is None: + msg = 'Device({:s}) has not been added to this Device instance'.format(str(device_uuid)) + raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) + + results_unsubscribestate = driver.UnsubscribeState(resources_to_unsubscribe) + errors = check_unsubscribe_errors(resources_to_unsubscribe, results_unsubscribestate) + if len(errors) > 0: raise OperationFailedException('MonitorDeviceKpi', extra_details=errors) + + db_endpoint_monitor_kpi.delete() + db_kpi.delete() + + # There is one monitoring loop per device; keep them active since they are re-used by different monitoring + # requests. + #self.monitoring_loops.remove(device_uuid) + + # Subscriptions are not stored as classical driver config. + # TODO: consider adding it somehow in the configuration. + # Warning: GetConfig might be very slow in OpenConfig devices + #running_config_rules = [ + # (config_rule[0], json.dumps(config_rule[1], sort_keys=True)) + # for config_rule in driver.GetConfig() + #] + #context_config_rules = { + # config_rule[1]: config_rule[2] + # for config_rule in get_config_rules(self.database, device_uuid, 'running') + #} + + ## each in context, not in running => delete in context + ## each in running, not in context => add to context + ## each in context and in running, context.value != running.value => update in context + #running_config_rules_actions : List[Tuple[ORM_ConfigActionEnum, str, str]] = [] + #for config_rule_key,config_rule_value in running_config_rules: + # running_config_rules_actions.append((ORM_ConfigActionEnum.SET, config_rule_key, config_rule_value)) + # context_config_rules.pop(config_rule_key, None) + #for context_rule_key,context_rule_value in context_config_rules.items(): + # running_config_rules_actions.append((ORM_ConfigActionEnum.DELETE, context_rule_key, context_rule_value)) + + ##msg = '[MonitorDeviceKpi] running_config_rules_action[{:d}]: {:s}' + ##for i,running_config_rules_action in enumerate(running_config_rules_actions): + ## LOGGER.info(msg.format(i, str(running_config_rules_action))) + #update_config(self.database, device_uuid, 'running', running_config_rules_actions) + + sync_device_to_context(db_device, self.context_client) + return Empty() + finally: + self.mutex_queues.signal_done(device_uuid) diff --git a/src/device/service/MonitoringLoops.py b/src/device/service/MonitoringLoops.py index e5b671f7f06beade5ab9f8b6539527999d49b9e8..18faed0d51d8d594368a0c80ef03539a9b0c4d4e 100644 --- a/src/device/service/MonitoringLoops.py +++ b/src/device/service/MonitoringLoops.py @@ -18,8 +18,8 @@ from typing import Dict from common.orm.Database import Database from common.orm.HighLevel import get_object from common.orm.backend.Tools import key_to_str -from monitoring.client.monitoring_client import MonitoringClient -from monitoring.proto.monitoring_pb2 import Kpi +from common.proto.monitoring_pb2 import Kpi +from monitoring.client.MonitoringClient import MonitoringClient from .database.KpiModel import KpiModel from .database.RelationModels import EndPointMonitorKpiModel from .driver_api._Driver import _Driver @@ -55,8 +55,8 @@ class MonitoringLoop: self._collector_thread.join() class MonitoringLoops: - def __init__(self, monitoring_client : MonitoringClient, database : Database) -> None: - self._monitoring_client = monitoring_client + def __init__(self, database : Database) -> None: + self._monitoring_client = MonitoringClient() self._database = database self._samples_queue = queue.Queue() self._running = threading.Event() @@ -82,7 +82,6 @@ class MonitoringLoops: def start(self): self._exporter_thread.start() - self._running.set() @property def is_running(self): return self._running.is_set() @@ -96,6 +95,7 @@ class MonitoringLoops: LOGGER.error('[MonitoringLoops:_export] Database not set. Terminating Exporter.') return + self._running.set() while not self._terminate.is_set(): try: sample = self._samples_queue.get(block=True, timeout=QUEUE_GET_WAIT_TIMEOUT) @@ -129,8 +129,8 @@ class MonitoringLoops: # FIXME: uint32 used for intVal results in out of range issues. Temporarily changed to float # extend the 'kpi_value' to support long integers (uint64 / int64 / ...) if isinstance(value, int): - kpi_value_field_name = 'floatVal' # 'intVal' - kpi_value_field_cast = float # int + kpi_value_field_name = 'int64Val' + kpi_value_field_cast = int elif isinstance(value, float): kpi_value_field_name = 'floatVal' kpi_value_field_cast = float @@ -144,8 +144,10 @@ class MonitoringLoops: try: self._monitoring_client.IncludeKpi(Kpi(**{ 'kpi_id' : {'kpi_id': {'uuid': db_kpi.kpi_uuid}}, - 'timestamp': datetime.utcfromtimestamp(timestamp).isoformat() + 'Z', + 'timestamp': {'timestamp': timestamp}, 'kpi_value': {kpi_value_field_name: kpi_value_field_cast(value)} })) except: # pylint: disable=bare-except LOGGER.exception('Unable to format/send Kpi') + + self._running.clear() diff --git a/src/device/service/__main__.py b/src/device/service/__main__.py index 0e92cabba4ddae84a9d4cd938c7e8b31ab4f0531..5c9b41531e7bc579cbe5cc563f20b193f6bc5a90 100644 --- a/src/device/service/__main__.py +++ b/src/device/service/__main__.py @@ -14,12 +14,10 @@ import logging, signal, sys, threading from prometheus_client import start_http_server -from common.Settings import get_setting, wait_for_environment_variables -from context.client.ContextClient import ContextClient -from device.Config import ( - CONTEXT_SERVICE_HOST, CONTEXT_SERVICE_PORT, GRPC_SERVICE_PORT, GRPC_MAX_WORKERS, GRPC_GRACE_PERIOD, LOG_LEVEL, - METRICS_PORT, MONITORING_SERVICE_HOST, MONITORING_SERVICE_PORT) -from monitoring.client.monitoring_client import MonitoringClient +from common.Constants import ServiceNameEnum +from common.Settings import ( + ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_log_level, get_metrics_port, + wait_for_environment_variables) from .DeviceService import DeviceService from .driver_api.DriverFactory import DriverFactory from .driver_api.DriverInstanceCache import DriverInstanceCache @@ -35,56 +33,33 @@ def signal_handler(signal, frame): # pylint: disable=redefined-outer-name def main(): global LOGGER # pylint: disable=global-statement - grpc_service_port = get_setting('DEVICESERVICE_SERVICE_PORT_GRPC', default=GRPC_SERVICE_PORT ) - max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS ) - grace_period = get_setting('GRACE_PERIOD', default=GRPC_GRACE_PERIOD ) - log_level = get_setting('LOG_LEVEL', default=LOG_LEVEL ) - metrics_port = get_setting('METRICS_PORT', default=METRICS_PORT ) - - logging.basicConfig(level=log_level) + log_level = get_log_level() + logging.basicConfig(level=log_level, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s") logging.getLogger('apscheduler.executors.default').setLevel(logging.WARNING) logging.getLogger('apscheduler.scheduler').setLevel(logging.WARNING) logging.getLogger('monitoring-client').setLevel(logging.WARNING) LOGGER = logging.getLogger(__name__) wait_for_environment_variables([ - 'CONTEXTSERVICE_SERVICE_HOST', 'CONTEXTSERVICE_SERVICE_PORT_GRPC', - 'MONITORINGSERVICE_SERVICE_HOST', 'MONITORINGSERVICE_SERVICE_PORT_GRPC' + get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_HOST ), + get_env_var_name(ServiceNameEnum.CONTEXT, ENVVAR_SUFIX_SERVICE_PORT_GRPC), ]) - context_service_host = get_setting('CONTEXTSERVICE_SERVICE_HOST', default=CONTEXT_SERVICE_HOST ) - context_service_port = get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC', default=CONTEXT_SERVICE_PORT ) - monitoring_service_host = get_setting('MONITORINGSERVICE_SERVICE_HOST', default=MONITORING_SERVICE_HOST) - monitoring_service_port = get_setting('MONITORINGSERVICE_SERVICE_PORT_GRPC', default=MONITORING_SERVICE_PORT) - signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) LOGGER.info('Starting...') # Start metrics server + metrics_port = get_metrics_port() start_http_server(metrics_port) - # Initialize Context Client - if context_service_host is None or context_service_port is None: - raise Exception('Wrong address({:s}):port({:s}) of Context component'.format( - str(context_service_host), str(context_service_port))) - context_client = ContextClient(context_service_host, context_service_port) - - # Initialize Monitoring Client - if monitoring_service_host is None or monitoring_service_port is None: - raise Exception('Wrong address({:s}):port({:s}) of Monitoring component'.format( - str(monitoring_service_host), str(monitoring_service_port))) - monitoring_client = MonitoringClient(monitoring_service_host, monitoring_service_port) - # Initialize Driver framework driver_factory = DriverFactory(DRIVERS) driver_instance_cache = DriverInstanceCache(driver_factory) # Starting device service - grpc_service = DeviceService( - context_client, monitoring_client, driver_instance_cache, port=grpc_service_port, max_workers=max_workers, - grace_period=grace_period) + grpc_service = DeviceService(driver_instance_cache) grpc_service.start() # Wait for Ctrl+C or termination signal diff --git a/src/device/service/database/ConfigModel.py b/src/device/service/database/ConfigModel.py index 466ad2ff4a85a132ee8fd02a6a0b2c0b6f8a232a..8472a44eaefefceaee36dcbe40d9a427eb2cbb36 100644 --- a/src/device/service/database/ConfigModel.py +++ b/src/device/service/database/ConfigModel.py @@ -24,7 +24,8 @@ from common.orm.fields.IntegerField import IntegerField from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model -from device.proto.context_pb2 import ConfigActionEnum +from common.proto.context_pb2 import ConfigActionEnum +from common.tools.grpc.Tools import grpc_message_to_json_string from .Tools import fast_hasher, grpc_to_enum, remove_dict_key LOGGER = logging.getLogger(__name__) @@ -57,8 +58,10 @@ class ConfigRuleModel(Model): # pylint: disable=abstract-method def dump(self, include_position=True) -> Dict: # pylint: disable=arguments-differ result = { 'action': self.action.value, - 'resource_key': self.key, - 'resource_value': self.value, + 'custom': { + 'resource_key': self.key, + 'resource_value': self.value, + }, } if include_position: result['position'] = self.position return result @@ -73,7 +76,11 @@ def delete_all_config_rules(database : Database, db_parent_pk : str, config_name def grpc_config_rules_to_raw(grpc_config_rules) -> List[Tuple[ORM_ConfigActionEnum, str, str]]: def translate(grpc_config_rule): action = grpc_to_enum__config_action(grpc_config_rule.action) - return action, grpc_config_rule.resource_key, grpc_config_rule.resource_value + config_rule_type = str(grpc_config_rule.WhichOneof('config_rule')) + if config_rule_type != 'custom': + raise NotImplementedError('ConfigRule of type {:s} is not implemented: {:s}'.format( + config_rule_type, grpc_message_to_json_string(grpc_config_rule))) + return action, grpc_config_rule.custom.resource_key, grpc_config_rule.custom.resource_value return [translate(grpc_config_rule) for grpc_config_rule in grpc_config_rules] def get_config_rules( @@ -83,15 +90,17 @@ def get_config_rules( str_config_key = key_to_str([db_parent_pk, config_name], separator=':') db_config = get_object(database, ConfigModel, str_config_key, raise_if_not_found=False) return [] if db_config is None else [ + # pylint: disable=no-member, protected-access (ORM_ConfigActionEnum._value2member_map_.get(config_rule['action']), - config_rule['resource_key'], config_rule['resource_value']) + config_rule['custom']['resource_key'], config_rule['custom']['resource_value']) for config_rule in db_config.dump() + if 'custom' in config_rule ] def update_config( database : Database, db_parent_pk : str, config_name : str, raw_config_rules : List[Tuple[ORM_ConfigActionEnum, str, str]] - ) -> List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]]: +) -> List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]]: str_config_key = key_to_str([db_parent_pk, config_name], separator=':') result : Tuple[ConfigModel, bool] = get_or_create_object(database, ConfigModel, str_config_key) @@ -105,7 +114,8 @@ def update_config( result : Tuple[ConfigRuleModel, bool] = update_or_create_object( database, ConfigRuleModel, str_config_rule_key, { 'config_fk': db_config, 'position': position, 'action': action, 'key': resource_key, - 'value': resource_value}) + 'value': resource_value, + }) db_config_rule, updated = result db_objects.append((db_config_rule, updated)) diff --git a/src/device/service/database/ContextModel.py b/src/device/service/database/ContextModel.py index 0ca13269c52d02ea663e10be986ab28d12d8f144..a609e1ba9189f5359064e6628cba6c08d353770e 100644 --- a/src/device/service/database/ContextModel.py +++ b/src/device/service/database/ContextModel.py @@ -24,15 +24,15 @@ class ContextModel(Model): pk = PrimaryKeyField() context_uuid = StringField(required=True, allow_empty=False) -# def dump_id(self) -> Dict: -# return {'context_uuid': {'uuid': self.context_uuid}} + def dump_id(self) -> Dict: + return {'context_uuid': {'uuid': self.context_uuid}} -# def dump_topology_ids(self) -> List[Dict]: -# from .TopologyModel import TopologyModel # pylint: disable=import-outside-toplevel -# db_topology_pks = self.references(TopologyModel) -# return [TopologyModel(self.database, pk).dump_id() for pk,_ in db_topology_pks] + def dump_topology_ids(self) -> List[Dict]: + from .TopologyModel import TopologyModel # pylint: disable=import-outside-toplevel + db_topology_pks = self.references(TopologyModel) + return [TopologyModel(self.database, pk).dump_id() for pk,_ in db_topology_pks] -# def dump(self, include_topologies=True) -> Dict: # pylint: disable=arguments-differ -# result = {'context_id': self.dump_id()} -# if include_topologies: result['topology_ids'] = self.dump_topology_ids() -# return result + def dump(self, include_topologies=False) -> Dict: # pylint: disable=arguments-differ + result = {'context_id': self.dump_id()} + if include_topologies: result['topology_ids'] = self.dump_topology_ids() + return result diff --git a/src/device/service/database/DatabaseTools.py b/src/device/service/database/DatabaseTools.py index 5b1593612dcdba7ee3df3f416aaf519dd11ce9dc..9d3b712cade921849a5b34be3a837e4f6697b76f 100644 --- a/src/device/service/database/DatabaseTools.py +++ b/src/device/service/database/DatabaseTools.py @@ -14,12 +14,12 @@ import grpc from typing import Any, Dict, Tuple +from common.method_wrappers.ServiceExceptions import InvalidArgumentException from common.orm.Database import Database from common.orm.HighLevel import get_or_create_object, update_or_create_object from common.orm.backend.Tools import key_to_str -from common.rpc_method_wrapper.ServiceExceptions import InvalidArgumentException +from common.proto.context_pb2 import Device, DeviceId from context.client.ContextClient import ContextClient -from device.proto.context_pb2 import Device, DeviceId from device.service.driver_api.FilterFields import FilterFieldEnum from .ConfigModel import delete_all_config_rules, grpc_config_rules_to_raw, update_config from .ContextModel import ContextModel diff --git a/src/device/service/database/DeviceModel.py b/src/device/service/database/DeviceModel.py index 555e113084cff367878a3eabf81b17d89dcb6df9..9dd63d36efebf135b7bb38845d917bc9e03dc100 100644 --- a/src/device/service/database/DeviceModel.py +++ b/src/device/service/database/DeviceModel.py @@ -22,7 +22,7 @@ from common.orm.fields.ForeignKeyField import ForeignKeyField from common.orm.fields.PrimaryKeyField import PrimaryKeyField from common.orm.fields.StringField import StringField from common.orm.model.Model import Model -from device.proto.context_pb2 import DeviceDriverEnum, DeviceOperationalStatusEnum +from common.proto.context_pb2 import DeviceDriverEnum, DeviceOperationalStatusEnum from .ConfigModel import ConfigModel from .Tools import grpc_to_enum @@ -35,6 +35,7 @@ class ORM_DeviceDriverEnum(Enum): P4 = DeviceDriverEnum.DEVICEDRIVER_P4 IETF_NETWORK_TOPOLOGY = DeviceDriverEnum.DEVICEDRIVER_IETF_NETWORK_TOPOLOGY ONF_TR_352 = DeviceDriverEnum.DEVICEDRIVER_ONF_TR_352 + XR = DeviceDriverEnum.DEVICEDRIVER_XR grpc_to_enum__device_driver = functools.partial( grpc_to_enum, DeviceDriverEnum, ORM_DeviceDriverEnum) diff --git a/src/device/service/database/EndPointModel.py b/src/device/service/database/EndPointModel.py index 286a51db69738782a6d1acaed5b1d7846ac67b2b..3d4435737349809c527c80546ed412e621afcbdd 100644 --- a/src/device/service/database/EndPointModel.py +++ b/src/device/service/database/EndPointModel.py @@ -15,6 +15,7 @@ import logging from typing import Dict, List from common.orm.Database import Database +from common.orm.HighLevel import update_or_create_object from common.orm.backend.Tools import key_to_str from common.orm.fields.EnumeratedField import EnumeratedField from common.orm.fields.ForeignKeyField import ForeignKeyField @@ -33,7 +34,6 @@ class EndPointModel(Model): device_fk = ForeignKeyField(DeviceModel) endpoint_uuid = StringField(required=True, allow_empty=False) endpoint_type = StringField() - resource_key = StringField(required=True, allow_empty=False) def dump_id(self) -> Dict: device_id = DeviceModel(self.database, self.device_fk).dump_id() @@ -72,9 +72,8 @@ def set_endpoint_monitors(database : Database, db_endpoint : EndPointModel, grpc db_endpoint_pk = db_endpoint.pk for kpi_sample_type in grpc_endpoint_kpi_sample_types: orm_kpi_sample_type = grpc_to_enum__kpi_sample_type(kpi_sample_type) - str_endpoint_kpi_sample_type_key = key_to_str([db_endpoint_pk, orm_kpi_sample_type.name]) - db_endpoint_kpi_sample_type = EndPointMonitorModel(database, str_endpoint_kpi_sample_type_key) - db_endpoint_kpi_sample_type.endpoint_fk = db_endpoint - db_endpoint_kpi_sample_type.resource_key = '' # during initialization, allow empty value - db_endpoint_kpi_sample_type.kpi_sample_type = orm_kpi_sample_type - db_endpoint_kpi_sample_type.save() + str_endpoint_kpi_sample_type_key = key_to_str([db_endpoint_pk, str(orm_kpi_sample_type.value)]) + update_or_create_object(database, EndPointMonitorModel, str_endpoint_kpi_sample_type_key, { + 'endpoint_fk' : db_endpoint, + 'kpi_sample_type': orm_kpi_sample_type, + }) diff --git a/src/device/service/database/KpiSampleType.py b/src/device/service/database/KpiSampleType.py index 43249792f2a33cf56b43d2301ecbae0faca4c767..0a2015b3fdeaceeed8b01619805f55f2a9267468 100644 --- a/src/device/service/database/KpiSampleType.py +++ b/src/device/service/database/KpiSampleType.py @@ -14,7 +14,7 @@ import functools from enum import Enum -from device.proto.kpi_sample_types_pb2 import KpiSampleType +from common.proto.kpi_sample_types_pb2 import KpiSampleType from .Tools import grpc_to_enum class ORM_KpiSampleTypeEnum(Enum): diff --git a/src/device/service/database/TopologyModel.py b/src/device/service/database/TopologyModel.py index a099c8adfd8bb64d94c8326c90094f39d7fe9b6b..f9e9c0b1a26fdf8faca7e1cbe0a64b582bdd4d5d 100644 --- a/src/device/service/database/TopologyModel.py +++ b/src/device/service/database/TopologyModel.py @@ -27,13 +27,13 @@ class TopologyModel(Model): context_fk = ForeignKeyField(ContextModel) topology_uuid = StringField(required=True, allow_empty=False) -# def dump_id(self) -> Dict: -# context_id = ContextModel(self.database, self.context_fk).dump_id() -# return { -# 'context_id': context_id, -# 'topology_uuid': {'uuid': self.topology_uuid}, -# } + def dump_id(self) -> Dict: + context_id = ContextModel(self.database, self.context_fk).dump_id() + return { + 'context_id': context_id, + 'topology_uuid': {'uuid': self.topology_uuid}, + } -# def dump(self) -> Dict: -# result = {'topology_id': self.dump_id()} -# return result + def dump(self) -> Dict: + result = {'topology_id': self.dump_id()} + return result diff --git a/src/device/service/driver_api/DriverFactory.py b/src/device/service/driver_api/DriverFactory.py index 1e79b4ba45593d3f24f7193648010071d766ec58..b2b6c467a9d7c941a430e7bc7aaa1ab123053750 100644 --- a/src/device/service/driver_api/DriverFactory.py +++ b/src/device/service/driver_api/DriverFactory.py @@ -76,6 +76,7 @@ class DriverFactory: field_candidate_driver_classes = field_candidate_driver_classes.union(field_indice_drivers) if candidate_driver_classes is None: + if len(field_candidate_driver_classes) == 0: continue candidate_driver_classes = {k:1 for k in field_candidate_driver_classes} else: for candidate_driver_class in candidate_driver_classes: diff --git a/src/device/service/driver_api/_Driver.py b/src/device/service/driver_api/_Driver.py index f30165a178a5946c414157da5d09df07bf060a39..371f4cccb4e002e4d232823e47e31f577d1a4285 100644 --- a/src/device/service/driver_api/_Driver.py +++ b/src/device/service/driver_api/_Driver.py @@ -15,15 +15,18 @@ import threading from typing import Any, Iterator, List, Optional, Tuple, Union -# Special resource names to request to the driver to retrieve the specified configuration/structural resources. +# Special resource names to request to the driver to retrieve the specified +# configuration/structural resources. # These resource names should be used with GetConfig() method. -RESOURCE_ENDPOINTS = '__endpoints__' -RESOURCE_INTERFACES = '__interfaces__' +RESOURCE_ENDPOINTS = '__endpoints__' +RESOURCE_INTERFACES = '__interfaces__' RESOURCE_NETWORK_INSTANCES = '__network_instances__' -RESOURCE_ROUTING_POLICIES = '__routing_policies__' +RESOURCE_ROUTING_POLICIES = '__routing_policies__' +RESOURCE_ACL = '__acl__' + class _Driver: - def __init__(self, address : str, port : int, **settings) -> None: + def __init__(self, address: str, port: int, **settings) -> None: """ Initialize Driver. Parameters: address : str @@ -55,92 +58,122 @@ class _Driver: """ Retrieve initial configuration of entire device. Returns: values : List[Tuple[str, Any]] - List of tuples (resource key, resource value) for resource keys. + List of tuples (resource key, resource value) for + resource keys. """ raise NotImplementedError() - def GetConfig(self, resource_keys : List[str] = []) -> List[Tuple[str, Union[Any, None, Exception]]]: - """ Retrieve running configuration of entire device, or selected resource keys. + def GetConfig(self, resource_keys: List[str] = []) -> \ + List[Tuple[str, Union[Any, None, Exception]]]: + """ Retrieve running configuration of entire device or + selected resource keys. Parameters: resource_keys : List[str] List of keys pointing to the resources to be retrieved. Returns: values : List[Tuple[str, Union[Any, None, Exception]]] - List of tuples (resource key, resource value) for resource keys requested. If a resource is found, - the appropriate value type must be retrieved. If a resource is not found, None must be retrieved as - value for that resource. In case of Exception, the Exception must be retrieved as value. + List of tuples (resource key, resource value) for + resource keys requested. If a resource is found, + the appropriate value type must be retrieved. + If a resource is not found, None must be retrieved as + value for that resource. In case of Exception, + the Exception must be retrieved as value. """ raise NotImplementedError() - def SetConfig(self, resources : List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: + def SetConfig(self, resources: List[Tuple[str, Any]]) -> \ + List[Union[bool, Exception]]: """ Create/Update configuration for a list of resources. Parameters: resources : List[Tuple[str, Any]] - List of tuples, each containing a resource_key pointing the resource to be modified, and a - resource_value containing the new value to be set. + List of tuples, each containing a resource_key pointing the + resource to be modified, and a resource_value containing + the new value to be set. Returns: results : List[Union[bool, Exception]] - List of results for resource key changes requested. Return values must be in the same order than - resource keys requested. If a resource is properly set, True must be retrieved; otherwise, the - Exception that is raised during the processing must be retrieved. + List of results for resource key changes requested. + Return values must be in the same order as the + resource keys requested. If a resource is properly set, + True must be retrieved; otherwise, the Exception that is + raised during the processing must be retrieved. """ raise NotImplementedError() - def DeleteConfig(self, resources : List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: + def DeleteConfig(self, resources: List[Tuple[str, Any]]) -> \ + List[Union[bool, Exception]]: """ Delete configuration for a list of resources. Parameters: resources : List[Tuple[str, Any]] - List of tuples, each containing a resource_key pointing the resource to be modified, and a - resource_value containing possible additionally required values to locate the value to be removed. + List of tuples, each containing a resource_key pointing the + resource to be modified, and a resource_value containing + possible additionally required values to locate + the value to be removed. Returns: - results : List[bool] - List of results for resource key deletions requested. Return values must be in the same order than - resource keys requested. If a resource is properly deleted, True must be retrieved; otherwise, the - Exception that is raised during the processing must be retrieved. + results : List[Union[bool, Exception]] + List of results for resource key deletions requested. + Return values must be in the same order as the resource keys + requested. If a resource is properly deleted, True must be + retrieved; otherwise, the Exception that is raised during + the processing must be retrieved. """ raise NotImplementedError() - def SubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: - """ Subscribe to state information of entire device, or selected resources. Subscriptions are incremental. + def SubscribeState(self, subscriptions: List[Tuple[str, float, float]]) -> \ + List[Union[bool, Exception]]: + """ Subscribe to state information of entire device or + selected resources. Subscriptions are incremental. Driver should keep track of requested resources. Parameters: subscriptions : List[Tuple[str, float, float]] - List of tuples, each containing a resource_key pointing the resource to be subscribed, a - sampling_duration, and a sampling_interval (both in seconds with float representation) defining, - respectively, for how long monitoring should last, and the desired monitoring interval for the - resource specified. + List of tuples, each containing a resource_key pointing the + resource to be subscribed, a sampling_duration, and a + sampling_interval (both in seconds with float + representation) defining, respectively, for how long + monitoring should last, and the desired monitoring interval + for the resource specified. Returns: - results : List[bool] - List of results for resource key subscriptions requested. Return values must be in the same order - than resource keys requested. If a resource is properly subscribed, True must be retrieved; - otherwise, the Exception that is raised during the processing must be retrieved. + results : List[Union[bool, Exception]] + List of results for resource key subscriptions requested. + Return values must be in the same order as the resource keys + requested. If a resource is properly subscribed, + True must be retrieved; otherwise, the Exception that is + raised during the processing must be retrieved. """ raise NotImplementedError() - def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: - """ Unsubscribe from state information of entire device, or selected resources. Subscriptions are incremental. + def UnsubscribeState(self, subscriptions: List[Tuple[str, float, float]]) \ + -> List[Union[bool, Exception]]: + """ Unsubscribe from state information of entire device + or selected resources. Subscriptions are incremental. Driver should keep track of requested resources. Parameters: subscriptions : List[str] - List of tuples, each containing a resource_key pointing the resource to be subscribed, a - sampling_duration, and a sampling_interval (both in seconds with float representation) defining, - respectively, for how long monitoring should last, and the desired monitoring interval for the - resource specified. + List of tuples, each containing a resource_key pointing the + resource to be subscribed, a sampling_duration, and a + sampling_interval (both in seconds with float + representation) defining, respectively, for how long + monitoring should last, and the desired monitoring interval + for the resource specified. Returns: results : List[Union[bool, Exception]] - List of results for resource key unsubscriptions requested. Return values must be in the same order - than resource keys requested. If a resource is properly unsubscribed, True must be retrieved; - otherwise, the Exception that is raised during the processing must be retrieved. + List of results for resource key un-subscriptions requested. + Return values must be in the same order as the resource keys + requested. If a resource is properly unsubscribed, + True must be retrieved; otherwise, the Exception that is + raised during the processing must be retrieved. """ raise NotImplementedError() def GetState( self, blocking=False, terminate : Optional[threading.Event] = None ) -> Iterator[Tuple[float, str, Any]]: - """ Retrieve last collected values for subscribed resources. Operates as a generator, so this method should be - called once and will block until values are available. When values are available, it should yield each of - them and block again until new values are available. When the driver is destroyed, GetState() can return - instead of yield to terminate the loop. Terminate enables to request interruption of the generation. + """ Retrieve last collected values for subscribed resources. + Operates as a generator, so this method should be called once and will + block until values are available. When values are available, + it should yield each of them and block again until new values are + available. When the driver is destroyed, GetState() can return instead + of yield to terminate the loop. + Terminate enables to request interruption of the generation. Examples: # keep looping waiting for extra samples (generator loop) terminate = threading.Event() @@ -160,20 +193,27 @@ class _Driver: if i == 10: terminate.set() Parameters: blocking : bool - Select the driver behaviour. In both cases, the driver will first retrieve the samples accumulated - and available in the internal queue. Then, if blocking, the driver does not terminate the loop and - waits for additional samples to come, thus behaving as a generator. If non-blocking, the driver - terminates the loop and returns. Non-blocking behaviour can be used for periodically polling the - driver, while blocking can be used when a separate thread is in charge of collecting the samples - produced by the driver. + Select the driver behaviour. In both cases, the driver will + first retrieve the samples accumulated and available in the + internal queue. Then, if blocking, the driver does not + terminate the loop and waits for additional samples to come, + thus behaving as a generator. If non-blocking, the driver + terminates the loop and returns. Non-blocking behaviour can + be used for periodically polling the driver, while blocking + can be used when a separate thread is in charge of + collecting the samples produced by the driver. terminate : threading.Event - Signals the interruption of the GetState method as soon as possible. + Signals the interruption of the GetState method as soon as + possible. Returns: results : Iterator[Tuple[float, str, Any]] - Sequences of state sample. Each State sample contains a float Unix-like timestamps of the samples in - seconds with up to microsecond resolution, the resource_key of the sample, and its resource_value. - Only resources with an active subscription must be retrieved. Interval and duration of the sampling - process are specified when creating the subscription using method SubscribeState(). Order of values - yielded is arbitrary. + Sequences of state sample. Each State sample contains a + float Unix-like timestamps of the samples in seconds with up + to microsecond resolution, the resource_key of the sample, + and its resource_value. + Only resources with an active subscription must be + retrieved. Interval and duration of the sampling process are + specified when creating the subscription using method + SubscribeState(). Order of values yielded is arbitrary. """ raise NotImplementedError() diff --git a/src/device/service/drivers/__init__.py b/src/device/service/drivers/__init__.py index 7479d43641b1ecd0803b3c790f51256a03e2c7fa..4e4a9ac11363958fb4609976ce8609745bb97c01 100644 --- a/src/device/service/drivers/__init__.py +++ b/src/device/service/drivers/__init__.py @@ -12,43 +12,117 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os from common.DeviceTypes import DeviceTypeEnum from ..driver_api.FilterFields import FilterFieldEnum, ORM_DeviceDriverEnum -from .emulated.EmulatedDriver import EmulatedDriver -from .openconfig.OpenConfigDriver import OpenConfigDriver -from .transport_api.TransportApiDriver import TransportApiDriver -from .p4.p4_driver import P4Driver -DRIVERS = [ +TRUE_VALUES = {'T', 'TRUE', 'YES', '1'} +DEVICE_EMULATED_ONLY = os.environ.get('DEVICE_EMULATED_ONLY') +LOAD_ALL_DEVICE_DRIVERS = (DEVICE_EMULATED_ONLY is None) or (DEVICE_EMULATED_ONLY.upper() not in TRUE_VALUES) + +DRIVERS = [] + +from .emulated.EmulatedDriver import EmulatedDriver # pylint: disable=wrong-import-position +DRIVERS.append( (EmulatedDriver, [ + # TODO: multi-filter is not working { FilterFieldEnum.DEVICE_TYPE: [ - DeviceTypeEnum.EMULATED_OPTICAL_LINE_SYSTEM, + DeviceTypeEnum.EMULATED_DATACENTER, + DeviceTypeEnum.EMULATED_MICROWAVE_RADIO_SYSTEM, + DeviceTypeEnum.EMULATED_OPEN_LINE_SYSTEM, + DeviceTypeEnum.EMULATED_OPTICAL_ROADM, + DeviceTypeEnum.EMULATED_OPTICAL_TRANSPONDER, + DeviceTypeEnum.EMULATED_P4_SWITCH, DeviceTypeEnum.EMULATED_PACKET_ROUTER, + DeviceTypeEnum.EMULATED_PACKET_SWITCH, + + #DeviceTypeEnum.DATACENTER, + #DeviceTypeEnum.MICROWAVE_RADIO_SYSTEM, + #DeviceTypeEnum.OPEN_LINE_SYSTEM, + #DeviceTypeEnum.OPTICAL_ROADM, + #DeviceTypeEnum.OPTICAL_TRANSPONDER, + #DeviceTypeEnum.P4_SWITCH, + #DeviceTypeEnum.PACKET_ROUTER, + #DeviceTypeEnum.PACKET_SWITCH, ], - FilterFieldEnum.DRIVER : [ + FilterFieldEnum.DRIVER: [ ORM_DeviceDriverEnum.UNDEFINED, - ORM_DeviceDriverEnum.OPENCONFIG, - ORM_DeviceDriverEnum.TRANSPORT_API ], - } - ]), - (OpenConfigDriver, [ - { - FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.PACKET_ROUTER, - FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.OPENCONFIG, - } - ]), - (TransportApiDriver, [ - { - FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.OPTICAL_LINE_SYSTEM, - FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.TRANSPORT_API, - } - ]), - (P4Driver, [ - { - FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.P4_SWITCH, - FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.P4, - } - ]), -] + }, + #{ + # # Emulated devices, all drivers => use Emulated + # FilterFieldEnum.DEVICE_TYPE: [ + # DeviceTypeEnum.EMULATED_DATACENTER, + # DeviceTypeEnum.EMULATED_MICROWAVE_RADIO_SYSTEM, + # DeviceTypeEnum.EMULATED_OPEN_LINE_SYSTEM, + # DeviceTypeEnum.EMULATED_OPTICAL_ROADM, + # DeviceTypeEnum.EMULATED_OPTICAL_TRANSPONDER, + # DeviceTypeEnum.EMULATED_P4_SWITCH, + # DeviceTypeEnum.EMULATED_PACKET_ROUTER, + # DeviceTypeEnum.EMULATED_PACKET_SWITCH, + # ], + # FilterFieldEnum.DRIVER: [ + # ORM_DeviceDriverEnum.UNDEFINED, + # ORM_DeviceDriverEnum.OPENCONFIG, + # ORM_DeviceDriverEnum.TRANSPORT_API, + # ORM_DeviceDriverEnum.P4, + # ORM_DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, + # ORM_DeviceDriverEnum.ONF_TR_352, + # ], + #} + ])) + +if LOAD_ALL_DEVICE_DRIVERS: + from .openconfig.OpenConfigDriver import OpenConfigDriver # pylint: disable=wrong-import-position + DRIVERS.append( + (OpenConfigDriver, [ + { + # Real Packet Router, specifying OpenConfig Driver => use OpenConfigDriver + FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.PACKET_ROUTER, + FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.OPENCONFIG, + } + ])) + +if LOAD_ALL_DEVICE_DRIVERS: + from .transport_api.TransportApiDriver import TransportApiDriver # pylint: disable=wrong-import-position + DRIVERS.append( + (TransportApiDriver, [ + { + # Real OLS, specifying TAPI Driver => use TransportApiDriver + FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.OPEN_LINE_SYSTEM, + FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.TRANSPORT_API, + } + ])) + +if LOAD_ALL_DEVICE_DRIVERS: + from .p4.p4_driver import P4Driver # pylint: disable=wrong-import-position + DRIVERS.append( + (P4Driver, [ + { + # Real P4 Switch, specifying P4 Driver => use P4Driver + FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.P4_SWITCH, + FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.P4, + } + ])) + +if LOAD_ALL_DEVICE_DRIVERS: + from .microwave.IETFApiDriver import IETFApiDriver # pylint: disable=wrong-import-position + DRIVERS.append( + (IETFApiDriver, [ + { + FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.MICROWAVE_RADIO_SYSTEM, + FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.IETF_NETWORK_TOPOLOGY, + } + ])) + +if LOAD_ALL_DEVICE_DRIVERS: + from .xr.XrDriver import XrDriver # pylint: disable=wrong-import-position + DRIVERS.append( + (XrDriver, [ + { + # Close enough, it does optical switching + FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.XR_CONSTELLATION, + FilterFieldEnum.DRIVER : ORM_DeviceDriverEnum.XR, + } + ])) diff --git a/src/device/service/drivers/emulated/EmulatedDriver.py b/src/device/service/drivers/emulated/EmulatedDriver.py index 2ee9a10ca93ceead96115528873c8876fadcf8ed..6029ff6604b2525b4509a24a2ec0d6f7c38513d0 100644 --- a/src/device/service/drivers/emulated/EmulatedDriver.py +++ b/src/device/service/drivers/emulated/EmulatedDriver.py @@ -19,6 +19,7 @@ from apscheduler.executors.pool import ThreadPoolExecutor from apscheduler.job import Job from apscheduler.jobstores.memory import MemoryJobStore from apscheduler.schedulers.background import BackgroundScheduler +from common.method_wrappers.Decorator import MetricTypeEnum, MetricsPool, metered_subclass_method, INF from common.type_checkers.Checkers import chk_float, chk_length, chk_string, chk_type from device.service.database.KpiSampleType import ORM_KpiSampleTypeEnum, grpc_to_enum__kpi_sample_type from device.service.driver_api._Driver import ( @@ -122,6 +123,24 @@ def do_sampling( value = abs(0.95 * waveform + 0.05 * noise) out_samples.put_nowait((timestamp, resource_key, value)) +HISTOGRAM_BUCKETS = ( + # .005, .01, .025, .05, .075, .1, .25, .5, .75, 1.0, INF + 0.0001, 0.00025, 0.00050, 0.00075, + 0.0010, 0.0025, 0.0050, 0.0075, + 0.0100, 0.0250, 0.0500, 0.0750, + 0.1000, 0.2500, 0.5000, 0.7500, + 1.0000, 2.5000, 5.0000, 7.5000, + 10.0, 25.0, 50.0, 75.0, + 100.0, INF +) +METRICS_POOL = MetricsPool('Device', 'Driver', labels={'driver': 'emulated'}) +METRICS_POOL.get_or_create('GetInitialConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('GetConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('SetConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('DeleteConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('SubscribeState', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('UnsubscribeState', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) + class EmulatedDriver(_Driver): def __init__(self, address : str, port : int, **settings) -> None: # pylint: disable=super-init-not-called self.__lock = threading.Lock() @@ -170,10 +189,12 @@ class EmulatedDriver(_Driver): self.__scheduler.shutdown() return True + @metered_subclass_method(METRICS_POOL) def GetInitialConfig(self) -> List[Tuple[str, Any]]: with self.__lock: return dump_subtree(self.__initial) + @metered_subclass_method(METRICS_POOL) def GetConfig(self, resource_keys : List[str] = []) -> List[Tuple[str, Union[Any, None, Exception]]]: chk_type('resources', resource_keys, list) with self.__lock: @@ -197,6 +218,7 @@ class EmulatedDriver(_Driver): results.extend(dump_subtree(resource_node)) return results + @metered_subclass_method(METRICS_POOL) def SetConfig(self, resources : List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: chk_type('resources', resources, list) if len(resources) == 0: return [] @@ -231,6 +253,7 @@ class EmulatedDriver(_Driver): results.append(True) return results + @metered_subclass_method(METRICS_POOL) def DeleteConfig(self, resources : List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: chk_type('resources', resources, list) if len(resources) == 0: return [] @@ -268,6 +291,7 @@ class EmulatedDriver(_Driver): results.append(True) return results + @metered_subclass_method(METRICS_POOL) def SubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: chk_type('subscriptions', subscriptions, list) if len(subscriptions) == 0: return [] @@ -305,6 +329,7 @@ class EmulatedDriver(_Driver): results.append(True) return results + @metered_subclass_method(METRICS_POOL) def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: chk_type('subscriptions', subscriptions, list) if len(subscriptions) == 0: return [] diff --git a/src/device/service/drivers/microwave/IETFApiDriver.py b/src/device/service/drivers/microwave/IETFApiDriver.py new file mode 100644 index 0000000000000000000000000000000000000000..3660eb7195c96eca3d95ed16f665ba6363c3d7b5 --- /dev/null +++ b/src/device/service/drivers/microwave/IETFApiDriver.py @@ -0,0 +1,129 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import logging, requests, threading +from requests.auth import HTTPBasicAuth +from typing import Any, Iterator, List, Optional, Tuple, Union +from common.method_wrappers.Decorator import MetricsPool, metered_subclass_method +from common.type_checkers.Checkers import chk_string, chk_type +from device.service.driver_api._Driver import _Driver +from . import ALL_RESOURCE_KEYS +from .Tools import create_connectivity_service, find_key, config_getter, delete_connectivity_service + +LOGGER = logging.getLogger(__name__) + +METRICS_POOL = MetricsPool('Device', 'Driver', labels={'driver': 'microwave'}) + +class IETFApiDriver(_Driver): + def __init__(self, address: str, port: int, **settings) -> None: # pylint: disable=super-init-not-called + self.__lock = threading.Lock() + self.__started = threading.Event() + self.__terminate = threading.Event() + username = settings.get('username') + password = settings.get('password') + self.__auth = HTTPBasicAuth(username, password) if username is not None and password is not None else None + scheme = settings.get('scheme', 'http') + self.__ietf_root = '{:s}://{:s}:{:d}'.format(scheme, address, int(port)) + self.__timeout = int(settings.get('timeout', 120)) + self.__node_ids = set(settings.get('node_ids', [])) + + def Connect(self) -> bool: + url = self.__ietf_root + '/nmswebs/restconf/data/ietf-network:networks' + with self.__lock: + if self.__started.is_set(): return True + try: + requests.get(url, timeout=self.__timeout, verify=False, auth=self.__auth) + except requests.exceptions.Timeout: + LOGGER.exception('Timeout connecting {:s}'.format(str(self.__ietf_root))) + return False + except Exception: # pylint: disable=broad-except + LOGGER.exception('Exception connecting {:s}'.format(str(self.__ietf_root))) + return False + else: + self.__started.set() + return True + + def Disconnect(self) -> bool: + with self.__lock: + self.__terminate.set() + return True + + @metered_subclass_method(METRICS_POOL) + def GetInitialConfig(self) -> List[Tuple[str, Any]]: + with self.__lock: + return [] + + @metered_subclass_method(METRICS_POOL) + def GetConfig(self, resource_keys : List[str] = []) -> List[Tuple[str, Union[Any, None, Exception]]]: + chk_type('resources', resource_keys, list) + results = [] + with self.__lock: + if len(resource_keys) == 0: resource_keys = ALL_RESOURCE_KEYS + for i, resource_key in enumerate(resource_keys): + str_resource_name = 'resource_key[#{:d}]'.format(i) + chk_string(str_resource_name, resource_key, allow_empty=False) + results.extend(config_getter( + self.__ietf_root, resource_key, timeout=self.__timeout, auth=self.__auth, + node_ids=self.__node_ids)) + return results + + @metered_subclass_method(METRICS_POOL) + def SetConfig(self, resources: List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: + results = [] + if len(resources) == 0: + return results + with self.__lock: + for resource in resources: + LOGGER.info('resource = {:s}'.format(str(resource))) + + node_id_src = find_key(resource, 'node_id_src') + tp_id_src = find_key(resource, 'tp_id_src') + node_id_dst = find_key(resource, 'node_id_dst') + tp_id_dst = find_key(resource, 'tp_id_dst') + vlan_id = find_key(resource, 'vlan_id') + uuid = find_key(resource, 'uuid') + + data = create_connectivity_service( + self.__ietf_root, uuid, node_id_src, tp_id_src, node_id_dst, tp_id_dst, vlan_id, + timeout=self.__timeout, auth=self.__auth) + results.extend(data) + return results + + @metered_subclass_method(METRICS_POOL) + def DeleteConfig(self, resources: List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: + results = [] + if len(resources) == 0: return results + with self.__lock: + for resource in resources: + LOGGER.info('resource = {:s}'.format(str(resource))) + uuid = find_key(resource, 'uuid') + results.extend(delete_connectivity_service( + self.__ietf_root, uuid, timeout=self.__timeout, auth=self.__auth)) + return results + + @metered_subclass_method(METRICS_POOL) + def SubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: + # TODO: IETF API Driver does not support monitoring by now + return [False for _ in subscriptions] + + @metered_subclass_method(METRICS_POOL) + def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: + # TODO: IETF API Driver does not support monitoring by now + return [False for _ in subscriptions] + + def GetState( + self, blocking=False, terminate : Optional[threading.Event] = None + ) -> Iterator[Tuple[float, str, Any]]: + # TODO: IETF API Driver does not support monitoring by now + return [] diff --git a/src/device/service/drivers/microwave/Tools.py b/src/device/service/drivers/microwave/Tools.py new file mode 100644 index 0000000000000000000000000000000000000000..a91c60af5bf9e7057aa8f3fe9a98947f84859cd3 --- /dev/null +++ b/src/device/service/drivers/microwave/Tools.py @@ -0,0 +1,167 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import json, logging, requests +from requests.auth import HTTPBasicAuth +from typing import Optional, Set +from device.service.driver_api._Driver import RESOURCE_ENDPOINTS + +LOGGER = logging.getLogger(__name__) + +HTTP_OK_CODES = { + 200, # OK + 201, # Created + 202, # Accepted + 204, # No Content +} + +def find_key(resource, key): + return json.loads(resource[1])[key] + +# this function exports only the endpoints which are not already involved in a microwave physical link +# TODO: improvement: create a Set[Tuple[node_id:str, tp_id:str]] containing the endpoints involved in links +# TODO: exportable endpoints are those not in this set. That will prevent looping through links for every endpoint +def is_exportable_endpoint(node, termination_point_id, links): + # for each link we check if the endpoint (termination_point_id) is already used by an existing link + for link in links: + src = link['source'] + dest = link['destination'] + if dest['dest-node'] == node and dest['dest-tp'] == termination_point_id: + return False + if src['source-node'] == node and src['source-tp'] == termination_point_id: + return False + return True + +def config_getter( + root_url : str, resource_key : str, auth : Optional[HTTPBasicAuth] = None, timeout : Optional[int] = None, + node_ids : Set[str] = set() +): + # getting endpoints + network_name = 'SIAE-ETH-TOPOLOGY' + FIELDS = ''.join([ + 'ietf-network-topology:', + 'link(link-id;destination(dest-node;dest-tp);source(source-node;source-tp));', + 'node(node-id;ietf-network-topology:termination-point(tp-id;ietf-te-topology:te/name)))', + ]) + URL_TEMPLATE = '{:s}/nmswebs/restconf/data/ietf-network:networks/network={:s}?fields={:s}' + url = URL_TEMPLATE.format(root_url, network_name, FIELDS) + + result = [] + if resource_key == RESOURCE_ENDPOINTS: + # getting existing endpoints + try: + response = requests.get(url, timeout=timeout, verify=False, auth=auth) + context = json.loads(response.content) + network_instance = context.get('ietf-network:network', {}) + links = network_instance.get('ietf-network-topology:link', []) + for node in network_instance['node']: + node_id = node['node-id'] + if len(node_ids) > 0 and node_id not in node_ids: continue + tp_list = node['ietf-network-topology:termination-point'] + for tp in tp_list: + tp_id = tp['tp-id'] + if not is_exportable_endpoint(node_id, tp_id, links): continue + tp_uuid = '{:s}:{:s}'.format(node_id,tp_id) + resource_key = '/endpoints/endpoint[{:s}]'.format(tp_uuid) + resource_value = {'uuid': tp_uuid, 'type': tp['ietf-te-topology:te']['name']} + result.append((resource_key, resource_value)) + except requests.exceptions.Timeout: + LOGGER.exception('Timeout connecting {:s}'.format(url)) + except Exception as e: # pylint: disable=broad-except + LOGGER.exception('Exception retrieving/parsing endpoints for {:s}'.format(resource_key)) + result.append((resource_key, e)) + else: + # getting created services + url = '{:s}/nmswebs/restconf/data/ietf-eth-tran-service:etht-svc'.format(root_url) + try: + response = requests.get(url, timeout=timeout, verify=False, auth=auth) + context = json.loads(response.content) + etht_service = context.get('ietf-eth-tran-service:etht-svc', {}) + service_instances = etht_service.get('etht-svc-instances', []) + for service in service_instances: + service_name = service['etht-svc-name'] + resource_key = '/services/service[{:s}]'.format(service_name) + result.append((resource_key, service)) + except requests.exceptions.Timeout: + LOGGER.exception('Timeout connecting {:s}'.format(url)) + except Exception as e: # pylint: disable=broad-except + LOGGER.exception('Exception retrieving/parsing services for {:s}'.format(resource_key)) + result.append((resource_key, e)) + + return result + +def create_connectivity_service( + root_url, uuid, node_id_src, tp_id_src, node_id_dst, tp_id_dst, vlan_id, + auth : Optional[HTTPBasicAuth] = None, timeout : Optional[int] = None +): + + url = '{:s}/nmswebs/restconf/data/ietf-eth-tran-service:etht-svc'.format(root_url) + headers = {'content-type': 'application/json'} + data = { + 'etht-svc-instances': [ + { + 'etht-svc-name': uuid, + 'etht-svc-type': 'ietf-eth-tran-types:p2p-svc', + 'etht-svc-end-points': [ + { + 'etht-svc-access-points': [ + {'access-node-id': node_id_src, 'access-ltp-id': tp_id_src, 'access-point-id': '1'} + ], + 'outer-tag': {'vlan-value': vlan_id, 'tag-type': 'ietf-eth-tran-types:classify-c-vlan'}, + 'etht-svc-end-point-name': '{:s}:{:s}'.format(str(node_id_src), str(tp_id_src)), + 'service-classification-type': 'ietf-eth-tran-types:vlan-classification' + }, + { + 'etht-svc-access-points': [ + {'access-node-id': node_id_dst, 'access-ltp-id': tp_id_dst, 'access-point-id': '2'} + ], + 'outer-tag': {'vlan-value': vlan_id, 'tag-type': 'ietf-eth-tran-types:classify-c-vlan'}, + 'etht-svc-end-point-name': '{:s}:{:s}'.format(str(node_id_dst), str(tp_id_dst)), + 'service-classification-type': 'ietf-eth-tran-types:vlan-classification' + } + ] + } + ] + } + results = [] + try: + LOGGER.info('Connectivity service {:s}: {:s}'.format(str(uuid), str(data))) + response = requests.post( + url=url, data=json.dumps(data), timeout=timeout, headers=headers, verify=False, auth=auth) + LOGGER.info('Microwave Driver response: {:s}'.format(str(response))) + except Exception as e: # pylint: disable=broad-except + LOGGER.exception('Exception creating ConnectivityService(uuid={:s}, data={:s})'.format(str(uuid), str(data))) + results.append(e) + else: + if response.status_code not in HTTP_OK_CODES: + msg = 'Could not create ConnectivityService(uuid={:s}, data={:s}). status_code={:s} reply={:s}' + LOGGER.error(msg.format(str(uuid), str(data), str(response.status_code), str(response))) + results.append(response.status_code in HTTP_OK_CODES) + return results + +def delete_connectivity_service(root_url, uuid, auth : Optional[HTTPBasicAuth] = None, timeout : Optional[int] = None): + url = '{:s}/nmswebs/restconf/data/ietf-eth-tran-service:etht-svc/etht-svc-instances={:s}' + url = url.format(root_url, uuid) + results = [] + try: + response = requests.delete(url=url, timeout=timeout, verify=False, auth=auth) + except Exception as e: # pylint: disable=broad-except + LOGGER.exception('Exception deleting ConnectivityService(uuid={:s})'.format(str(uuid))) + results.append(e) + else: + if response.status_code not in HTTP_OK_CODES: + msg = 'Could not delete ConnectivityService(uuid={:s}). status_code={:s} reply={:s}' + LOGGER.error(msg.format(str(uuid), str(response.status_code), str(response))) + results.append(response.status_code in HTTP_OK_CODES) + return results diff --git a/src/tests/ofc22/deploy_in_kubernetes.sh b/src/device/service/drivers/microwave/__init__.py old mode 100755 new mode 100644 similarity index 61% rename from src/tests/ofc22/deploy_in_kubernetes.sh rename to src/device/service/drivers/microwave/__init__.py index 1b725e5d629831d3c80be8ce8a09925e4bcc9c8e..925746998061f4e05c468133dfacaaa0414551c8 --- a/src/tests/ofc22/deploy_in_kubernetes.sh +++ b/src/device/service/drivers/microwave/__init__.py @@ -1,4 +1,3 @@ -#!/bin/bash # Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -13,15 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. +from device.service.driver_api._Driver import RESOURCE_ENDPOINTS, RESOURCE_INTERFACES, RESOURCE_NETWORK_INSTANCES -# OFC 22 deployment settings +ALL_RESOURCE_KEYS = [ + RESOURCE_ENDPOINTS, + RESOURCE_INTERFACES, + RESOURCE_NETWORK_INSTANCES, +] -export REGISTRY_IMAGE="" -export COMPONENTS="context device service compute webui automation monitoring" -export IMAGE_TAG="ofc22" -export K8S_NAMESPACE="ofc22" -export K8S_HOSTNAME="kubernetes-master" -export EXTRA_MANIFESTS="./ofc22/expose_services.yaml" -export GRAFANA_PASSWORD="admin123+" - -./deploy_in_kubernetes.sh +RESOURCE_KEY_MAPPINGS = { + RESOURCE_ENDPOINTS : 'component', + RESOURCE_INTERFACES : 'interface', + RESOURCE_NETWORK_INSTANCES: 'network_instance', +} diff --git a/src/device/service/drivers/openconfig/OpenConfigDriver.py b/src/device/service/drivers/openconfig/OpenConfigDriver.py index 7f582c4880bafd08aee0204c7498ea3a3e7ad279..4aa42b180d9816a9ecdf37a1ec351cb52b9ba41c 100644 --- a/src/device/service/drivers/openconfig/OpenConfigDriver.py +++ b/src/device/service/drivers/openconfig/OpenConfigDriver.py @@ -20,8 +20,8 @@ from apscheduler.executors.pool import ThreadPoolExecutor from apscheduler.job import Job from apscheduler.jobstores.memory import MemoryJobStore from apscheduler.schedulers.background import BackgroundScheduler -from netconf_client.connect import connect_ssh, Session -from netconf_client.ncclient import Manager +from ncclient.manager import Manager, connect_ssh +from common.method_wrappers.Decorator import MetricTypeEnum, MetricsPool, metered_subclass_method, INF from common.tools.client.RetryDecorator import delay_exponential from common.type_checkers.Checkers import chk_length, chk_string, chk_type, chk_float from device.service.driver_api.Exceptions import UnsupportedResourceKeyException @@ -32,7 +32,8 @@ from .templates import ALL_RESOURCE_KEYS, EMPTY_CONFIG, compose_config, get_filt from .RetryDecorator import retry DEBUG_MODE = False -#logging.getLogger('ncclient.transport.ssh').setLevel(logging.DEBUG if DEBUG_MODE else logging.WARNING) +logging.getLogger('ncclient.manager').setLevel(logging.DEBUG if DEBUG_MODE else logging.WARNING) +logging.getLogger('ncclient.transport.ssh').setLevel(logging.DEBUG if DEBUG_MODE else logging.WARNING) logging.getLogger('apscheduler.executors.default').setLevel(logging.INFO if DEBUG_MODE else logging.ERROR) logging.getLogger('apscheduler.scheduler').setLevel(logging.INFO if DEBUG_MODE else logging.ERROR) logging.getLogger('monitoring-client').setLevel(logging.INFO if DEBUG_MODE else logging.ERROR) @@ -59,29 +60,49 @@ class NetconfSessionHandler: self.__connected = threading.Event() self.__address = address self.__port = int(port) - self.__username = settings.get('username') - self.__password = settings.get('password') - self.__timeout = int(settings.get('timeout', 120)) - self.__netconf_session : Session = None - self.__netconf_manager : Manager = None + self.__username = settings.get('username') + self.__password = settings.get('password') + self.__vendor = settings.get('vendor') + self.__key_filename = settings.get('key_filename') + self.__hostkey_verify = settings.get('hostkey_verify', True) + self.__look_for_keys = settings.get('look_for_keys', True) + self.__allow_agent = settings.get('allow_agent', True) + self.__force_running = settings.get('force_running', False) + self.__commit_per_delete = settings.get('delete_rule', False) + self.__device_params = settings.get('device_params', {}) + self.__manager_params = settings.get('manager_params', {}) + self.__nc_params = settings.get('nc_params', {}) + self.__manager : Manager = None + self.__candidate_supported = False def connect(self): with self.__lock: - self.__netconf_session = connect_ssh( - host=self.__address, port=self.__port, username=self.__username, password=self.__password) - self.__netconf_manager = Manager(self.__netconf_session, timeout=self.__timeout) - self.__netconf_manager.set_logger_level(logging.DEBUG if DEBUG_MODE else logging.WARNING) + self.__manager = connect_ssh( + host=self.__address, port=self.__port, username=self.__username, password=self.__password, + device_params=self.__device_params, manager_params=self.__manager_params, nc_params=self.__nc_params, + key_filename=self.__key_filename, hostkey_verify=self.__hostkey_verify, allow_agent=self.__allow_agent, + look_for_keys=self.__look_for_keys) + self.__candidate_supported = ':candidate' in self.__manager.server_capabilities self.__connected.set() def disconnect(self): if not self.__connected.is_set(): return with self.__lock: - self.__netconf_manager.close_session() + self.__manager.close_session() + + @property + def use_candidate(self): return self.__candidate_supported and not self.__force_running + + @property + def commit_per_rule(self): return self.__commit_per_delete + + @property + def vendor(self): return self.__vendor @RETRY_DECORATOR def get(self, filter=None, with_defaults=None): # pylint: disable=redefined-builtin with self.__lock: - return self.__netconf_manager.get(filter=filter, with_defaults=with_defaults) + return self.__manager.get(filter=filter, with_defaults=with_defaults) @RETRY_DECORATOR def edit_config( @@ -90,10 +111,16 @@ class NetconfSessionHandler: ): if config == EMPTY_CONFIG: return with self.__lock: - self.__netconf_manager.edit_config( + self.__manager.edit_config( config, target=target, default_operation=default_operation, test_option=test_option, error_option=error_option, format=format) + def locked(self, target): + return self.__manager.locked(target=target) + + def commit(self, confirmed=False, timeout=None, persist=None, persist_id=None): + return self.__manager.commit(confirmed=confirmed, timeout=timeout, persist=persist, persist_id=persist_id) + def compute_delta_sample(previous_sample, previous_timestamp, current_sample, current_timestamp): if previous_sample is None: return None if previous_timestamp is None: return None @@ -162,6 +189,58 @@ def do_sampling(samples_cache : SamplesCache, resource_key : str, out_samples : except: # pylint: disable=bare-except LOGGER.exception('Error retrieving samples') +def edit_config( + netconf_handler : NetconfSessionHandler, resources : List[Tuple[str, Any]], delete=False, commit_per_rule= False, + target='running', default_operation='merge', test_option=None, error_option=None, + format='xml' # pylint: disable=redefined-builtin +): + str_method = 'DeleteConfig' if delete else 'SetConfig' + LOGGER.info('[{:s}] resources = {:s}'.format(str_method, str(resources))) + results = [None for _ in resources] + for i,resource in enumerate(resources): + str_resource_name = 'resources[#{:d}]'.format(i) + try: + LOGGER.info('[{:s}] resource = {:s}'.format(str_method, str(resource))) + chk_type(str_resource_name, resource, (list, tuple)) + chk_length(str_resource_name, resource, min_length=2, max_length=2) + resource_key,resource_value = resource + chk_string(str_resource_name + '.key', resource_key, allow_empty=False) + str_config_message = compose_config( + resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor) + if str_config_message is None: raise UnsupportedResourceKeyException(resource_key) + LOGGER.info('[{:s}] str_config_message[{:d}] = {:s}'.format( + str_method, len(str_config_message), str(str_config_message))) + netconf_handler.edit_config( + config=str_config_message, target=target, default_operation=default_operation, + test_option=test_option, error_option=error_option, format=format) + if commit_per_rule: + netconf_handler.commit() + results[i] = True + except Exception as e: # pylint: disable=broad-except + str_operation = 'preparing' if target == 'candidate' else ('deleting' if delete else 'setting') + msg = '[{:s}] Exception {:s} {:s}: {:s}' + LOGGER.exception(msg.format(str_method, str_operation, str_resource_name, str(resource))) + results[i] = e # if validation fails, store the exception + return results + +HISTOGRAM_BUCKETS = ( + # .005, .01, .025, .05, .075, .1, .25, .5, .75, 1.0, INF + 0.0001, 0.00025, 0.00050, 0.00075, + 0.0010, 0.0025, 0.0050, 0.0075, + 0.0100, 0.0250, 0.0500, 0.0750, + 0.1000, 0.2500, 0.5000, 0.7500, + 1.0000, 2.5000, 5.0000, 7.5000, + 10.0, 25.0, 50.0, 75.0, + 100.0, INF +) +METRICS_POOL = MetricsPool('Device', 'Driver', labels={'driver': 'openconfig'}) +METRICS_POOL.get_or_create('GetInitialConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('GetConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('SetConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('DeleteConfig', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('SubscribeState', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) +METRICS_POOL.get_or_create('UnsubscribeState', MetricTypeEnum.HISTOGRAM_DURATION, buckets=HISTOGRAM_BUCKETS) + class OpenConfigDriver(_Driver): def __init__(self, address : str, port : int, **settings) -> None: # pylint: disable=super-init-not-called self.__lock = threading.Lock() @@ -200,10 +279,12 @@ class OpenConfigDriver(_Driver): self.__netconf_handler.disconnect() return True + @metered_subclass_method(METRICS_POOL) def GetInitialConfig(self) -> List[Tuple[str, Any]]: with self.__lock: return [] + @metered_subclass_method(METRICS_POOL) def GetConfig(self, resource_keys : List[str] = []) -> List[Tuple[str, Union[Any, None, Exception]]]: chk_type('resources', resource_keys, list) results = [] @@ -224,56 +305,47 @@ class OpenConfigDriver(_Driver): results.append((resource_key, e)) # if validation fails, store the exception return results + @metered_subclass_method(METRICS_POOL) def SetConfig(self, resources : List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: chk_type('resources', resources, list) if len(resources) == 0: return [] - results = [] - LOGGER.info('[SetConfig] resources = {:s}'.format(str(resources))) with self.__lock: - for i,resource in enumerate(resources): - str_resource_name = 'resources[#{:d}]'.format(i) - try: - LOGGER.info('[SetConfig] resource = {:s}'.format(str(resource))) - chk_type(str_resource_name, resource, (list, tuple)) - chk_length(str_resource_name, resource, min_length=2, max_length=2) - resource_key,resource_value = resource - chk_string(str_resource_name + '.key', resource_key, allow_empty=False) - str_config_message = compose_config(resource_key, resource_value) - if str_config_message is None: raise UnsupportedResourceKeyException(resource_key) - LOGGER.info('[SetConfig] str_config_message[{:d}] = {:s}'.format( - len(str_config_message), str(str_config_message))) - self.__netconf_handler.edit_config(str_config_message, target='running') - results.append(True) - except Exception as e: # pylint: disable=broad-except - LOGGER.exception('Exception setting {:s}: {:s}'.format(str_resource_name, str(resource))) - results.append(e) # if validation fails, store the exception + if self.__netconf_handler.use_candidate: + with self.__netconf_handler.locked(target='candidate'): + if self.__netconf_handler.commit_per_rule: + results = edit_config(self.__netconf_handler, resources, target='candidate', commit_per_rule= True) + else: + results = edit_config(self.__netconf_handler, resources, target='candidate') + try: + self.__netconf_handler.commit() + except Exception as e: # pylint: disable=broad-except + LOGGER.exception('[SetConfig] Exception commiting resources: {:s}'.format(str(resources))) + results = [e for _ in resources] # if commit fails, set exception in each resource + else: + results = edit_config(self.__netconf_handler, resources) return results + @metered_subclass_method(METRICS_POOL) def DeleteConfig(self, resources : List[Tuple[str, Any]]) -> List[Union[bool, Exception]]: chk_type('resources', resources, list) if len(resources) == 0: return [] - results = [] - LOGGER.info('[DeleteConfig] resources = {:s}'.format(str(resources))) with self.__lock: - for i,resource in enumerate(resources): - str_resource_name = 'resources[#{:d}]'.format(i) - try: - LOGGER.info('[DeleteConfig] resource = {:s}'.format(str(resource))) - chk_type(str_resource_name, resource, (list, tuple)) - chk_length(str_resource_name, resource, min_length=2, max_length=2) - resource_key,resource_value = resource - chk_string(str_resource_name + '.key', resource_key, allow_empty=False) - str_config_message = compose_config(resource_key, resource_value, delete=True) - if str_config_message is None: raise UnsupportedResourceKeyException(resource_key) - LOGGER.info('[DeleteConfig] str_config_message[{:d}] = {:s}'.format( - len(str_config_message), str(str_config_message))) - self.__netconf_handler.edit_config(str_config_message, target='running') - results.append(True) - except Exception as e: # pylint: disable=broad-except - LOGGER.exception('Exception deleting {:s}: {:s}'.format(str_resource_name, str(resource_key))) - results.append(e) # if validation fails, store the exception + if self.__netconf_handler.use_candidate: + with self.__netconf_handler.locked(target='candidate'): + if self.__netconf_handler.commit_per_rule: + results = edit_config(self.__netconf_handler, resources, target='candidate', delete=True, commit_per_rule= True) + else: + results = edit_config(self.__netconf_handler, resources, target='candidate', delete=True) + try: + self.__netconf_handler.commit() + except Exception as e: # pylint: disable=broad-except + LOGGER.exception('[DeleteConfig] Exception commiting resources: {:s}'.format(str(resources))) + results = [e for _ in resources] # if commit fails, set exception in each resource + else: + results = edit_config(self.__netconf_handler, resources, delete=True) return results + @metered_subclass_method(METRICS_POOL) def SubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: chk_type('subscriptions', subscriptions, list) if len(subscriptions) == 0: return [] @@ -311,6 +383,7 @@ class OpenConfigDriver(_Driver): results.append(True) return results + @metered_subclass_method(METRICS_POOL) def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: chk_type('subscriptions', subscriptions, list) if len(subscriptions) == 0: return [] diff --git a/src/device/service/drivers/openconfig/templates/Acl.py b/src/device/service/drivers/openconfig/templates/Acl.py new file mode 100644 index 0000000000000000000000000000000000000000..6cd90f373427e2ab55550985929c4cfcd8798702 --- /dev/null +++ b/src/device/service/drivers/openconfig/templates/Acl.py @@ -0,0 +1,123 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +import logging, lxml.etree as ET +from typing import Any, Dict, List, Tuple +from .Namespace import NAMESPACES +from .Tools import add_value_from_tag + +LOGGER = logging.getLogger(__name__) + +XPATH_ACL_SET = "//ocacl:acl/ocacl:acl-sets/ocacl:acl-set" +XPATH_A_ACL_ENTRY = ".//ocacl:acl-entries/ocacl:ecl-entry" +XPATH_A_IPv4 = ".//ocacl:ipv4/ocacl:config" +XPATH_A_TRANSPORT = ".//ocacl:transport/ocacl:config" +XPATH_A_ACTIONS = ".//ocacl:actions/ocacl:config" + +XPATH_INTERFACE = "//ocacl:acl/ocacl:interfaces/ocacl:interface" +XPATH_I_INGRESS = ".//ocacl:ingress-acl-sets/ocacl:ingress-acl-set" +XPATH_I_EGRESS = ".//ocacl:egress-acl-sets/ocacl:egress-acl-set" + +def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: + #LOGGER.info('[ACL] xml_data = {:s}'.format(str(ET.tostring(xml_data)))) + + response = [] + acl = {} + + for xml_acl in xml_data.xpath(XPATH_ACL_SET, namespaces=NAMESPACES): + #LOGGER.info('xml_acl = {:s}'.format(str(ET.tostring(xml_acl)))) + + acl_name = xml_acl.find('ocacl:name', namespaces=NAMESPACES) + if acl_name is None or acl_name.text is None: continue + add_value_from_tag(acl, 'name', acl_name) + + acl_type = xml_acl.find('ocacl:type', namespaces=NAMESPACES) + add_value_from_tag(acl, 'type', acl_type) + + for xml_acl_entries in xml_acl.xpath(XPATH_A_ACL_ENTRY, namespaces=NAMESPACES): + + acl_id = xml_acl_entries.find('ocacl:sequence_id', namespaces=NAMESPACES) + add_value_from_tag(acl, 'sequence_id', acl_id) + + for xml_ipv4 in xml_acl_entries.xpath(XPATH_A_IPv4, namespaces=NAMESPACES): + + ipv4_source = xml_ipv4.find('ocacl:source_address', namespaces=NAMESPACES) + add_value_from_tag(acl, 'source_address' , ipv4_source) + + ipv4_destination = xml_ipv4.find('ocacl:destination_address', namespaces=NAMESPACES) + add_value_from_tag(acl, 'destination_address' , ipv4_destination) + + ipv4_protocol = xml_ipv4.find('ocacl:protocol', namespaces=NAMESPACES) + add_value_from_tag(acl, 'protocol' , ipv4_protocol) + + ipv4_dscp = xml_ipv4.find('ocacl:dscp', namespaces=NAMESPACES) + add_value_from_tag(acl, 'dscp' , ipv4_dscp) + + ipv4_hop_limit = xml_ipv4.find('ocacl:hop_limit', namespaces=NAMESPACES) + add_value_from_tag(acl, 'hop_limit' , ipv4_hop_limit) + + for xml_transport in xml_acl_entries.xpath(XPATH_A_TRANSPORT, namespaces=NAMESPACES): + + transport_source = xml_transport.find('ocacl:source_port', namespaces=NAMESPACES) + add_value_from_tag(acl, 'source_port' ,transport_source) + + transport_destination = xml_transport.find('ocacl:destination_port', namespaces=NAMESPACES) + add_value_from_tag(acl, 'destination_port' ,transport_destination) + + transport_tcp_flags = xml_transport.find('ocacl:tcp_flags', namespaces=NAMESPACES) + add_value_from_tag(acl, 'tcp_flags' ,transport_tcp_flags) + + for xml_action in xml_acl_entries.xpath(XPATH_A_ACTIONS, namespaces=NAMESPACES): + + action = xml_action.find('ocacl:forwarding_action', namespaces=NAMESPACES) + add_value_from_tag(acl, 'forwarding_action' ,action) + + log_action = xml_action.find('ocacl:log_action', namespaces=NAMESPACES) + add_value_from_tag(acl, 'log_action' ,log_action) + + resource_key = '/acl/acl-set[{:s}][{:s}]/acl-entry[{:s}]'.format( + acl['name'], acl['type'], acl['sequence-id']) + response.append((resource_key,acl)) + + for xml_interface in xml_data.xpath(XPATH_INTERFACE, namespaces=NAMESPACES): + + interface = {} + + interface_id = xml_interface.find('ocacl:id', namespaces=NAMESPACES) + add_value_from_tag(interface, 'id' , interface_id) + + for xml_ingress in xml_interface.xpath(XPATH_I_INGRESS, namespaces=NAMESPACES): + + i_name = xml_ingress.find('ocacl:set_name_ingress', namespaces=NAMESPACES) + add_value_from_tag(interface, 'ingress_set_name' , i_name) + + i_type = xml_ingress.find('ocacl:type_ingress', namespaces=NAMESPACES) + add_value_from_tag(interface, 'ingress_type' , i_type) + + resource_key = '/acl/interfaces/ingress[{:s}][{:s}]'.format( + acl['name'], acl['type']) + response.append((resource_key,interface)) + + for xml_egress in xml_interface.xpath(XPATH_I_EGRESS, namespaces=NAMESPACES): + + e_name = xml_egress.find('ocacl:set_name_egress', namespaces=NAMESPACES) + add_value_from_tag(interface, 'egress_set_name' , e_name) + + e_type = xml_egress.find('ocacl:type_egress', namespaces=NAMESPACES) + add_value_from_tag(interface, 'egress_type' , e_type) + + resource_key = '/acl/interfaces/egress[{:s}][{:s}]'.format( + acl['name'], acl['type']) + response.append((resource_key,interface)) + return response diff --git a/src/device/service/drivers/openconfig/templates/EndPoints.py b/src/device/service/drivers/openconfig/templates/EndPoints.py index c11b1669d5b4cf3ca47986817ded28f75ae8358f..9bd2e75ac4da0965c91b9154046694fd352dc4f6 100644 --- a/src/device/service/drivers/openconfig/templates/EndPoints.py +++ b/src/device/service/drivers/openconfig/templates/EndPoints.py @@ -20,7 +20,7 @@ from .Tools import add_value_from_collection, add_value_from_tag LOGGER = logging.getLogger(__name__) -XPATH_PORTS = "//ocp:components/ocp:component/ocp:state[ocp:type='PORT']/.." +XPATH_PORTS = "//ocp:components/ocp:component" XPATH_IFACE_COUNTER = "//oci:interfaces/oci:interface[oci:name='{:s}']/state/counters/{:s}" def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: @@ -28,6 +28,13 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: for xml_component in xml_data.xpath(XPATH_PORTS, namespaces=NAMESPACES): #LOGGER.info('xml_component = {:s}'.format(str(ET.tostring(xml_component)))) + component_type = xml_component.find('ocp:state/ocp:type', namespaces=NAMESPACES) + if component_type is None or component_type.text is None: continue + component_type = component_type.text + if component_type not in {'PORT', 'oc-platform-types:PORT'}: continue + + LOGGER.info('PORT xml_component = {:s}'.format(str(ET.tostring(xml_component)))) + endpoint = {} component_name = xml_component.find('ocp:name', namespaces=NAMESPACES) @@ -37,6 +44,7 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: component_type = xml_component.find( 'ocpp:port/ocpp:breakout-mode/ocpp:state/ocpp:channel-speed', namespaces=NAMESPACES) add_value_from_tag(endpoint, 'type', component_type) + if 'type' not in endpoint: endpoint['type'] = '-' sample_types = { ORM_KpiSampleTypeEnum.BYTES_RECEIVED.value : XPATH_IFACE_COUNTER.format(endpoint['uuid'], 'in-octets' ), diff --git a/src/device/service/drivers/openconfig/templates/Interfaces.py b/src/device/service/drivers/openconfig/templates/Interfaces.py index 33f977524c6f65655fbe17f6d2d95a7cfc223967..3f5b104f2de01137c2424e776dc60b8416088de6 100644 --- a/src/device/service/drivers/openconfig/templates/Interfaces.py +++ b/src/device/service/drivers/openconfig/templates/Interfaces.py @@ -37,6 +37,10 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: #interface_type = xml_interface.find('oci:config/oci:type', namespaces=NAMESPACES) #add_value_from_tag(interface, 'type', interface_type) + interface_type = xml_interface.find('oci:config/oci:type', namespaces=NAMESPACES) + interface_type.text = interface_type.text.replace('ianaift:','') + add_value_from_tag(interface, 'type', interface_type) + interface_mtu = xml_interface.find('oci:config/oci:mtu', namespaces=NAMESPACES) add_value_from_tag(interface, 'mtu', interface_mtu, cast=int) @@ -49,12 +53,15 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: subinterface = {} add_value_from_tag(subinterface, 'name', interface_name) + add_value_from_tag(subinterface, 'mtu', interface_mtu) + add_value_from_tag(subinterface, 'type', interface_type) + subinterface_index = xml_subinterface.find('oci:index', namespaces=NAMESPACES) if subinterface_index is None or subinterface_index.text is None: continue add_value_from_tag(subinterface, 'index', subinterface_index, cast=int) - vlan_id = xml_subinterface.find('ocv:vlan/ocv:config/ocv:vlan-id', namespaces=NAMESPACES) + vlan_id = xml_subinterface.find('ocv:vlan/ocv:match/ocv:single-tagged/ocv:config/ocv:vlan-id', namespaces=NAMESPACES) add_value_from_tag(subinterface, 'vlan_id', vlan_id, cast=int) # TODO: implement support for multiple IP addresses per subinterface diff --git a/src/device/service/drivers/openconfig/templates/Namespace.py b/src/device/service/drivers/openconfig/templates/Namespace.py index 35be5827db892541847a3c02af42e2fd08ee0e1d..94af95566f33751a25fb1cb1c817cbffa910eec4 100644 --- a/src/device/service/drivers/openconfig/templates/Namespace.py +++ b/src/device/service/drivers/openconfig/templates/Namespace.py @@ -13,8 +13,9 @@ # limitations under the License. -NAMESPACE_NETCONF = 'urn:ietf:params:xml:ns:netconf:base:1.0' +NAMESPACE_NETCONF = 'urn:ietf:params:xml:ns:netconf:base:1.0' +NAMESPACE_ACL = 'http://openconfig.net/yang/acl' NAMESPACE_BGP_POLICY = 'http://openconfig.net/yang/bgp-policy' NAMESPACE_INTERFACES = 'http://openconfig.net/yang/interfaces' NAMESPACE_INTERFACES_IP = 'http://openconfig.net/yang/interfaces/ip' @@ -30,6 +31,7 @@ NAMESPACE_VLAN = 'http://openconfig.net/yang/vlan' NAMESPACES = { 'nc' : NAMESPACE_NETCONF, + 'ocacl': NAMESPACE_ACL, 'ocbp' : NAMESPACE_BGP_POLICY, 'oci' : NAMESPACE_INTERFACES, 'ociip': NAMESPACE_INTERFACES_IP, diff --git a/src/device/service/drivers/openconfig/templates/NetworkInstances.py b/src/device/service/drivers/openconfig/templates/NetworkInstances.py index b091a0d206195a6c2ce94008628071cd9e30944f..8399402fa76b8b6b00829493cc8ebd28fd6018f4 100644 --- a/src/device/service/drivers/openconfig/templates/NetworkInstances.py +++ b/src/device/service/drivers/openconfig/templates/NetworkInstances.py @@ -27,6 +27,9 @@ XPATH_NI_IIP_AP = ".//ocni:inter-instance-policies/ocni:apply-policy" XPATH_NI_IIP_AP_IMPORT = ".//ocni:config/ocni:import-policy" XPATH_NI_IIP_AP_EXPORT = ".//ocni:config/ocni:export-policy" +XPATH_NI_CPOINTS = ".//ocni:connection-points/ocni:connection-point" +XPATH_NI_CPOINTS_ENDPOINT = ".//ocni:endpoints/ocni:endpoint/ocni:remote/ocni:config" + def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: response = [] for xml_network_instance in xml_data.xpath(XPATH_NETWORK_INSTANCES, namespaces=NAMESPACES): @@ -39,10 +42,11 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: add_value_from_tag(network_instance, 'name', ni_name) ni_type = xml_network_instance.find('ocni:config/ocni:type', namespaces=NAMESPACES) + ni_type.text = ni_type.text.replace('oc-ni-types:','') add_value_from_tag(network_instance, 'type', ni_type) - #ni_router_id = xml_network_instance.find('ocni:config/ocni:router-id', namespaces=NAMESPACES) - #add_value_from_tag(network_instance, 'router_id', ni_router_id) + ni_router_id = xml_network_instance.find('ocni:config/ocni:router-id', namespaces=NAMESPACES) + add_value_from_tag(network_instance, 'router_id', ni_router_id) ni_route_dist = xml_network_instance.find('ocni:config/ocni:route-distinguisher', namespaces=NAMESPACES) add_value_from_tag(network_instance, 'route_distinguisher', ni_route_dist) @@ -53,6 +57,20 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: if len(network_instance) == 0: continue response.append(('/network_instance[{:s}]'.format(network_instance['name']), network_instance)) + for xml_cpoints in xml_network_instance.xpath(XPATH_NI_PROTOCOLS, namespaces=NAMESPACES): + cpoint = {} + add_value_from_tag(cpoint, 'name', ni_name) + + connection_point = xml_cpoints.find('ocni:connection-point-id', namespaces=NAMESPACES) + add_value_from_tag(cpoint, 'connection_point', connection_point) + + for xml_endpoint in xml_cpoints.xpath(XPATH_NI_CPOINTS_ENDPOINT, namespaces=NAMESPACES): + remote_system = xml_endpoint.find('ocni:remote-system', namespaces=NAMESPACES) + add_value_from_tag(cpoint, 'remote_system', remote_system) + + VC_ID = xml_endpoint.find('ocni:virtual-circuit-identifier', namespaces=NAMESPACES) + add_value_from_tag(cpoint, 'VC_ID', VC_ID) + for xml_protocol in xml_network_instance.xpath(XPATH_NI_PROTOCOLS, namespaces=NAMESPACES): #LOGGER.info('xml_protocol = {:s}'.format(str(ET.tostring(xml_protocol)))) @@ -71,6 +89,8 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: if protocol['identifier'] == 'BGP': bgp_as = xml_protocol.find('ocni:bgp/ocni:global/ocni:config/ocni:as', namespaces=NAMESPACES) add_value_from_tag(protocol, 'as', bgp_as, cast=int) + bgp_id = xml_protocol.find('ocni:bgp/ocni:global/ocni:config/ocni:router-id', namespaces=NAMESPACES) + add_value_from_tag(protocol, 'router_id', bgp_id) resource_key = '/network_instance[{:s}]/protocols[{:s}]'.format( network_instance['name'], protocol['identifier']) @@ -94,7 +114,7 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: add_value_from_tag(table_connection, 'address_family', address_family, cast=lambda s: s.replace('oc-types:', '')) - default_import_policy = xml_table_connection.find('ocni:default-import-policy', namespaces=NAMESPACES) + default_import_policy = xml_table_connection.find('ocni:config/ocni:default-import-policy', namespaces=NAMESPACES) add_value_from_tag(table_connection, 'default_import_policy', default_import_policy) resource_key = '/network_instance[{:s}]/table_connections[{:s}][{:s}][{:s}]'.format( @@ -125,4 +145,7 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: iip_ap['name'], iip_ap['export_policy']) response.append((resource_key, iip_ap)) + + + return response diff --git a/src/device/service/drivers/openconfig/templates/RoutingPolicy.py b/src/device/service/drivers/openconfig/templates/RoutingPolicy.py index aae8483706646801dccf6d3018eb9860209bf52b..068ca5430d9135e784dbe9a07f80d81472cbf5cc 100644 --- a/src/device/service/drivers/openconfig/templates/RoutingPolicy.py +++ b/src/device/service/drivers/openconfig/templates/RoutingPolicy.py @@ -15,7 +15,7 @@ import copy, logging, lxml.etree as ET from typing import Any, Dict, List, Tuple from .Namespace import NAMESPACES -from .Tools import add_value_from_collection, add_value_from_tag +from .Tools import add_value_from_tag LOGGER = logging.getLogger(__name__) @@ -74,7 +74,7 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]: resource_key = '/routing_policy/bgp_defined_set[{:s}]'.format(bgp_ext_community_set['ext_community_set_name']) response.append((resource_key, copy.deepcopy(bgp_ext_community_set))) - ext_community_member = xml_bgp_ext_community_set.find('ocbp:ext-community-member', namespaces=NAMESPACES) + ext_community_member = xml_bgp_ext_community_set.find('ocbp:config/ocbp:ext-community-member', namespaces=NAMESPACES) if ext_community_member is not None and ext_community_member.text is not None: add_value_from_tag(bgp_ext_community_set, 'ext_community_member', ext_community_member) diff --git a/src/device/service/drivers/openconfig/templates/__init__.py b/src/device/service/drivers/openconfig/templates/__init__.py index eb7842ea8d5b62798f08429776700a792f69dc91..5e77b25fe3206407db9427085de70b95342d370a 100644 --- a/src/device/service/drivers/openconfig/templates/__init__.py +++ b/src/device/service/drivers/openconfig/templates/__init__.py @@ -13,20 +13,22 @@ # limitations under the License. import json, logging, lxml.etree as ET, re -from typing import Any, Dict +from typing import Any, Dict, Optional from jinja2 import Environment, PackageLoader, select_autoescape from device.service.driver_api._Driver import ( - RESOURCE_ENDPOINTS, RESOURCE_INTERFACES, RESOURCE_NETWORK_INSTANCES, RESOURCE_ROUTING_POLICIES) + RESOURCE_ENDPOINTS, RESOURCE_INTERFACES, RESOURCE_NETWORK_INSTANCES, RESOURCE_ROUTING_POLICIES, RESOURCE_ACL) from .EndPoints import parse as parse_endpoints from .Interfaces import parse as parse_interfaces, parse_counters from .NetworkInstances import parse as parse_network_instances from .RoutingPolicy import parse as parse_routing_policy +from .Acl import parse as parse_acl ALL_RESOURCE_KEYS = [ RESOURCE_ENDPOINTS, RESOURCE_INTERFACES, RESOURCE_ROUTING_POLICIES, # routing policies should come before network instances RESOURCE_NETWORK_INSTANCES, + RESOURCE_ACL, ] RESOURCE_KEY_MAPPINGS = { @@ -34,6 +36,7 @@ RESOURCE_KEY_MAPPINGS = { RESOURCE_INTERFACES : 'interface', RESOURCE_NETWORK_INSTANCES: 'network_instance', RESOURCE_ROUTING_POLICIES : 'routing_policy', + RESOURCE_ACL : 'acl', } RESOURCE_PARSERS = { @@ -42,6 +45,7 @@ RESOURCE_PARSERS = { 'network_instance': parse_network_instances, 'routing_policy' : parse_routing_policy, 'interfaces/interface/state/counters': parse_counters, + 'acl' : parse_acl, } LOGGER = logging.getLogger(__name__) @@ -73,9 +77,11 @@ def parse(resource_key : str, xml_data : ET.Element): if parser is None: return [(resource_key, xml_data)] return parser(xml_data) -def compose_config(resource_key : str, resource_value : str, delete : bool = False) -> str: +def compose_config( + resource_key : str, resource_value : str, delete : bool = False, vendor : Optional[str] = None +) -> str: template_name = '{:s}/edit_config.xml'.format(RE_REMOVE_FILTERS.sub('', resource_key)) template = JINJA_ENV.get_template(template_name) data : Dict[str, Any] = json.loads(resource_value) operation = 'delete' if delete else 'merge' - return '{:s}'.format(template.render(**data, operation=operation).strip()) + return '{:s}'.format(template.render(**data, operation=operation, vendor=vendor).strip()) diff --git a/src/device/service/drivers/openconfig/templates/acl/acl-set/acl-entry/edit_config.xml b/src/device/service/drivers/openconfig/templates/acl/acl-set/acl-entry/edit_config.xml new file mode 100644 index 0000000000000000000000000000000000000000..2769e8b2e9f81326332ae175f915432b7337f24c --- /dev/null +++ b/src/device/service/drivers/openconfig/templates/acl/acl-set/acl-entry/edit_config.xml @@ -0,0 +1,66 @@ + + + + {{name}} + {{type}} + + {{name}} + {{type}} + + + + {{sequence_id}} + + {{sequence_id}} + + {% if operation is not defined or operation != 'delete' %} + {% if type=='ACL_L2' %} + + + {% if source_address is defined %}{{source_address}}{% endif%} + {% if destination_address is defined %}{{destination_address}}{% endif%} + + + {% endif%} + {% if type=='ACL_IPV4' %} + + + {% if source_address is defined %}{{source_address}}{% endif%} + {% if destination_address is defined %}{{destination_address}}{% endif%} + {% if protocol is defined %}{{protocol}}{% endif%} + {% if dscp is defined %}{{dscp}}{% endif%} + {% if hop_limit is defined %}{{hop_limit}}{% endif%} + + + + + {% if source_port is defined %}{{source_port}}{% endif%} + {% if destination_port is defined %}{{destination_port}}{% endif%} + {% if tcp_flags is defined %}{{tcp_flags}}{% endif%} + + + {% endif%} + {% if type=='ACL_IPV6' %} + + + {% if source_address is defined %}{{source_address}}{% endif%} + {% if destination_address is defined %}{{destination_address}}{% endif%} + {% if protocol is defined %}{{protocol}}{% endif%} + {% if dscp is defined %}{{dscp}}{% endif%} + {% if hop_limit is defined %}{{hop_limit}}{% endif%} + + + {% endif%} + + + + {% if forwarding_action is defined %}{{forwarding_action}}{% endif%} + {% if log_action is defined %}{{log_action}}{% endif%} + + + {% endif%} + + + + + diff --git a/src/device/service/drivers/openconfig/templates/acl/get.xml b/src/device/service/drivers/openconfig/templates/acl/get.xml new file mode 100644 index 0000000000000000000000000000000000000000..dfed162427d03953890ecf1f90352cc26a76cbc9 --- /dev/null +++ b/src/device/service/drivers/openconfig/templates/acl/get.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/device/service/drivers/openconfig/templates/acl/interfaces/egress/edit_config.xml b/src/device/service/drivers/openconfig/templates/acl/interfaces/egress/edit_config.xml new file mode 100644 index 0000000000000000000000000000000000000000..b070b305a505890c51f3751d2b83eb415ae4aa43 --- /dev/null +++ b/src/device/service/drivers/openconfig/templates/acl/interfaces/egress/edit_config.xml @@ -0,0 +1,30 @@ + + + + {{id}} + + {{id}} + + {% if interface is defined %} + + + {{interface}} + {% if subinterface is defined %}{{subinterface}}{% endif%} + + + {% endif%} + {% if set_name_egress is defined %} + + > + {{set_name_egress}} + {{type_egress}} + + {{set_name_egress}} + {{type_egress}} + + + + {% endif%} + + + diff --git a/src/device/service/drivers/openconfig/templates/acl/interfaces/ingress/edit_config.xml b/src/device/service/drivers/openconfig/templates/acl/interfaces/ingress/edit_config.xml new file mode 100644 index 0000000000000000000000000000000000000000..d1f18efb26bc1316354c2bb26623cb36f7dc0be6 --- /dev/null +++ b/src/device/service/drivers/openconfig/templates/acl/interfaces/ingress/edit_config.xml @@ -0,0 +1,30 @@ + + + + {{id}} + + {{id}} + + {% if interface is defined %} + + + {{interface}} + {% if subinterface is defined %}{{subinterface}}{% endif%} + + + {% endif%} + {% if set_name_ingress is defined %} + + + {{set_name_ingress}} + {{type_ingress}} + + {{set_name_ingress}} + {{type_ingress}} + + + + {% endif%} + + + diff --git a/src/device/service/drivers/openconfig/templates/interface/edit_config.xml b/src/device/service/drivers/openconfig/templates/interface/edit_config.xml index ff15d1d682ea910208237c32adcc93029fb036d8..4bc53ff1ddfbebbdcef2a0b4c37770210726676b 100644 --- a/src/device/service/drivers/openconfig/templates/interface/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/interface/edit_config.xml @@ -1,14 +1,12 @@ - + {{name}} + {% if operation is defined and operation != 'delete' %} {{name}} - {% if operation is defined and operation == 'delete' %} - {% else %} - {{description}} {{mtu}} - {% endif %} + {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml b/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml index d266f819c41355ba8a30086415f2bba3b68f1f3d..1bdb8efbff495f04ee90dadaffaa7412332531b7 100644 --- a/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml @@ -1,35 +1,46 @@ - + {{name}} - {% if operation is not defined or operation != 'delete' %} {{name}} + ianaift:{{type}} + {% if mtu is defined %}{{mtu}}{% endif%} + true - {% endif %} - + {{index}} - {% if operation is not defined or operation != 'delete' %} {{index}} - true + {{description}} + {% if vendor=="ADVA" and vlan_id is not defined %} + true + {% endif%} + {% if vlan_id is defined %} - - {{vlan_id}} - - - - -
- {{address_ip}} + + - {{address_ip}} - {{address_prefix}} + {{vlan_id}} -
-
-
+ + + + {% endif %} + {% if address_ip is defined %} + + + + {{address_ip}} + + {{address_ip}} + {{address_prefix}} + + + + {% endif %}
diff --git a/src/device/service/drivers/openconfig/templates/network_instance/connection_point/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/connection_point/edit_config.xml new file mode 100644 index 0000000000000000000000000000000000000000..60272e5fba4dd87c9bc48ef596197c2508b75e59 --- /dev/null +++ b/src/device/service/drivers/openconfig/templates/network_instance/connection_point/edit_config.xml @@ -0,0 +1,29 @@ + + + {{name}} + + + {{connection_point}} + + {{connection_point}} + + + + {{connection_point}} + + {{connection_point}} + 1 + oc-ni-types:REMOTE + + + + {{VC_ID}} + {{remote_system}} + + + + + + + + diff --git a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml index 9362c09c6cfebcd1f83b05002f58eda51724b911..6b6b733dab12a107bf0420907da9c9683173faeb 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml @@ -5,16 +5,38 @@ {{name}} oc-ni-types:{{type}} - {{description}} + {% if description is defined %}{{description}}{% endif %} + true + {% if type=='L3VRF' %} {% if router_id is defined %}{{router_id}}{% endif %} {{route_distinguisher}} - true + {% endif %} + {% if type=='L2VSI' %} + 1500 + {% endif %} + {% if type=='L3VRF' or type=='L2VSI' %} + {% if type=='L3VRF' %} oc-ni-types:MPLS + oc-ni-types:INSTANCE_LABEL + {% endif %} + {% if type=='L2VSI' %} + oc-ni-types:MPLS + {% endif %} {% endif %} + {% if type=='L2VSI' %} + + + true + 1000 + 300 + + + {% endif %} + {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml index d5c33d31a6d671216db55c0eded94dc15a56bec8..bf8c0c0770f9344fbed16f3a6b09f7fa99a978ef 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml @@ -2,15 +2,13 @@ {{name}} - + {{id}} - {% if operation is not defined or operation != 'delete' %} {{id}} {{interface}} {{subinterface}} - {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml index da05d0467605e6cec0c3448cc325ff60dfc7cfc9..c9c068e480c0569cfe5f97b78b28fbe03e2595f8 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml @@ -3,19 +3,19 @@ {{name}} - {{identifier}} + oc-pol-types:{{identifier}} {{protocol_name}} {% if operation is not defined or operation != 'delete' %} - {{identifier}} + oc-pol-types:{{identifier}} {{protocol_name}} - true {% if identifier=='BGP' %} {{as}} + {{router_id}} @@ -23,5 +23,18 @@ {% endif %} + {% if operation is not defined or operation != 'delete' %} + + + + oc-pol-types:{{identifier}} + oc-types:IPV4 + + oc-pol-types:{{identifier}} + oc-types:IPV4 + +
+
+ {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/routing_policy/bgp_defined_set/edit_config.xml b/src/device/service/drivers/openconfig/templates/routing_policy/bgp_defined_set/edit_config.xml index df64606ae5ab434e5e3453f7294db02bb749bdce..6843c2dcbd306b149a4168565447d11174eceadc 100644 --- a/src/device/service/drivers/openconfig/templates/routing_policy/bgp_defined_set/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/routing_policy/bgp_defined_set/edit_config.xml @@ -5,7 +5,10 @@ {{ext_community_set_name}} {% if operation is not defined or operation != 'delete' %} - {% if ext_community_member is defined %} {{ext_community_member}}{% endif %} + + {{ext_community_set_name}} + {{ext_community_member}} + {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml b/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml index 711067f424b68da0e69913ce01f5133c5cbbfe02..eda2d99c9f6299f7345767db8bed8e8cc58284ae 100644 --- a/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml @@ -1,8 +1,11 @@ -{% if operation is not defined or operation != 'delete' %} - + {{policy_name}} + {% if operation is not defined or operation != 'delete' %} + + {{policy_name}} + {{statement_name}} @@ -10,11 +13,13 @@ {{statement_name}} + + oc-pol-types:DIRECTLY_CONNECTED + - + {{ext_community_set_name}} - {{match_set_options}} - + @@ -24,7 +29,7 @@ + {% endif %} -{% endif %} diff --git a/src/device/service/drivers/p4/__init__.py b/src/device/service/drivers/p4/__init__.py index 70a33251242c51f49140e596b8208a19dd5245f7..9953c820575d42fa88351cc8de022d880ba96e6a 100644 --- a/src/device/service/drivers/p4/__init__.py +++ b/src/device/service/drivers/p4/__init__.py @@ -11,4 +11,3 @@ # 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. - diff --git a/src/device/service/drivers/p4/p4_client.py b/src/device/service/drivers/p4/p4_client.py new file mode 100644 index 0000000000000000000000000000000000000000..600d08880c7e8a1d6a7238e60d66a87d7167bd8c --- /dev/null +++ b/src/device/service/drivers/p4/p4_client.py @@ -0,0 +1,607 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +""" +P4Runtime client. +""" + +import logging +import queue +import sys +import enum +import threading +from functools import wraps +from typing import NamedTuple +import grpc +import google.protobuf.text_format +from google.rpc import status_pb2, code_pb2 + +from p4.v1 import p4runtime_pb2 +from p4.v1 import p4runtime_pb2_grpc + +STREAM_ATTR_ARBITRATION = "arbitration" +STREAM_ATTR_PACKET = "packet" +STREAM_ATTR_DIGEST = "digest" +STREAM_ATTR_IDLE_NOT = "idle_timeout_notification" +STREAM_ATTR_UNKNOWN = "unknown" + +LOGGER = logging.getLogger(__name__) + + +class P4RuntimeErrorFormatException(Exception): + """ + P4Runtime error format exception. + """ + + +# Used to iterate over the p4.Error messages in a gRPC error Status object +class P4RuntimeErrorIterator: + """ + P4Runtime error iterator. + + Attributes + ---------- + grpc_error : object + gRPC error + """ + + def __init__(self, grpc_error): + assert grpc_error.code() == grpc.StatusCode.UNKNOWN + self.grpc_error = grpc_error + + error = None + # The gRPC Python package does not have a convenient way to access the + # binary details for the error: they are treated as trailing metadata. + for meta in self.grpc_error.trailing_metadata(): + if meta[0] == "grpc-status-details-bin": + error = status_pb2.Status() + error.ParseFromString(meta[1]) + break + if error is None: + raise P4RuntimeErrorFormatException("No binary details field") + + if len(error.details) == 0: + raise P4RuntimeErrorFormatException( + "Binary details field has empty Any details repeated field") + self.errors = error.details + self.idx = 0 + + def __iter__(self): + return self + + def __next__(self): + while self.idx < len(self.errors): + p4_error = p4runtime_pb2.Error() + one_error_any = self.errors[self.idx] + if not one_error_any.Unpack(p4_error): + raise P4RuntimeErrorFormatException( + "Cannot convert Any message to p4.Error") + if p4_error.canonical_code == code_pb2.OK: + continue + val = self.idx, p4_error + self.idx += 1 + return val + raise StopIteration + + +class P4RuntimeWriteException(Exception): + """ + P4Runtime write exception handler. + + Attributes + ---------- + grpc_error : object + gRPC error + """ + + def __init__(self, grpc_error): + assert grpc_error.code() == grpc.StatusCode.UNKNOWN + super().__init__() + self.errors = [] + try: + error_iterator = P4RuntimeErrorIterator(grpc_error) + for error_tuple in error_iterator: + self.errors.append(error_tuple) + except P4RuntimeErrorFormatException as ex: + raise P4RuntimeException(grpc_error) from ex + + def __str__(self): + message = "Error(s) during Write:\n" + for idx, p4_error in self.errors: + code_name = code_pb2._CODE.values_by_number[ + p4_error.canonical_code].name + message += f"\t* At index {idx}: {code_name}, " \ + f"'{p4_error.message}'\n" + return message + + +class P4RuntimeException(Exception): + """ + P4Runtime exception handler. + + Attributes + ---------- + grpc_error : object + gRPC error + """ + + def __init__(self, grpc_error): + super().__init__() + self.grpc_error = grpc_error + + def __str__(self): + message = f"P4Runtime RPC error ({self.grpc_error.code().name}): " \ + f"{self.grpc_error.details()}" + return message + + +def parse_p4runtime_write_error(func): + """ + Parse P4Runtime write error. + + :param func: function + :return: parsed error + """ + + @wraps(func) + def handle(*args, **kwargs): + try: + return func(*args, **kwargs) + except grpc.RpcError as ex: + if ex.code() != grpc.StatusCode.UNKNOWN: + raise ex + raise P4RuntimeWriteException(ex) from None + + return handle + + +def parse_p4runtime_error(func): + """ + Parse P4Runtime error. + + :param func: function + :return: parsed error + """ + + @wraps(func) + def handle(*args, **kwargs): + try: + return func(*args, **kwargs) + except grpc.RpcError as ex: + raise P4RuntimeException(ex) from None + + return handle + + +class SSLOptions(NamedTuple): + """ + Tuple of SSL options. + """ + insecure: bool + cacert: str = None + cert: str = None + key: str = None + + +def read_pem_file(path): + """ + Load and read PEM file. + + :param path: path to PEM file + :return: file descriptor + """ + try: + with open(path, "rb") as f_d: + return f_d.read() + except (FileNotFoundError, IOError, OSError): + logging.critical("Cannot read from PEM file '%s'", path) + sys.exit(1) + + +@enum.unique +class WriteOperation(enum.Enum): + """ + Write Operations. + """ + insert = 1 + update = 2 + delete = 3 + + +def select_operation(mode): + """ + Select P4 operation based upon the operation mode. + + :param mode: operation mode + :return: P4 operation protobuf object + """ + if mode == WriteOperation.insert: + return p4runtime_pb2.Update.INSERT + if mode == WriteOperation.update: + return p4runtime_pb2.Update.UPDATE + if mode == WriteOperation.delete: + return p4runtime_pb2.Update.DELETE + return None + + +def select_entity_type(entity, update): + """ + Select P4 entity type for an update. + + :param entity: P4 entity object + :param update: update operation + :return: the correct update entity or None + """ + if isinstance(entity, p4runtime_pb2.TableEntry): + return update.entity.table_entry + if isinstance(entity, p4runtime_pb2.ActionProfileGroup): + return update.entity.action_profile_group + if isinstance(entity, p4runtime_pb2.ActionProfileMember): + return update.entity.action_profile_member + return None + + +class P4RuntimeClient: + """ + P4Runtime client. + + Attributes + ---------- + device_id : int + P4 device ID + grpc_address : str + IP address and port + election_id : tuple + Mastership election ID + role_name : str + Role name (optional) + ssl_options: tuple + SSL options" named tuple (optional) + """ + + def __init__(self, device_id, grpc_address, + election_id, role_name=None, ssl_options=None): + self.device_id = device_id + self.election_id = election_id + self.role_name = role_name + if ssl_options is None: + self.ssl_options = SSLOptions(True) + else: + self.ssl_options = ssl_options + LOGGER.debug( + "Connecting to device %d at %s", device_id, grpc_address) + + if self.ssl_options.insecure: + logging.debug("Using insecure channel") + self.channel = grpc.insecure_channel(grpc_address) + else: + # root certificates are retrieved from a default location + # chosen by gRPC runtime unless the user provides + # custom certificates. + root_certificates = None + if self.ssl_options.cacert is not None: + root_certificates = read_pem_file(self.ssl_options.cacert) + certificate_chain = None + if self.ssl_options.cert is not None: + certificate_chain = read_pem_file(self.ssl_options.cert) + private_key = None + if self.ssl_options.key is not None: + private_key = read_pem_file(self.ssl_options.key) + creds = grpc.ssl_channel_credentials(root_certificates, private_key, + certificate_chain) + self.channel = grpc.secure_channel(grpc_address, creds) + self.stream_in_q = None + self.stream_out_q = None + self.stream = None + self.stream_recv_thread = None + self.stub = p4runtime_pb2_grpc.P4RuntimeStub(self.channel) + + try: + self.set_up_stream() + except P4RuntimeException: + LOGGER.critical("Failed to connect to P4Runtime server") + sys.exit(1) + LOGGER.info("P4Runtime client is successfully invoked") + + def set_up_stream(self): + """ + Set up a gRPC stream. + """ + self.stream_out_q = queue.Queue() + # queues for different messages + self.stream_in_q = { + STREAM_ATTR_ARBITRATION: queue.Queue(), + STREAM_ATTR_PACKET: queue.Queue(), + STREAM_ATTR_DIGEST: queue.Queue(), + STREAM_ATTR_IDLE_NOT: queue.Queue(), + STREAM_ATTR_UNKNOWN: queue.Queue(), + } + + def stream_req_iterator(): + while True: + stream_p = self.stream_out_q.get() + if stream_p is None: + break + yield stream_p + + def stream_recv_wrapper(stream): + @parse_p4runtime_error + def stream_recv(): + for stream_p in stream: + if stream_p.HasField("arbitration"): + self.stream_in_q["arbitration"].put(stream_p) + elif stream_p.HasField("packet"): + self.stream_in_q["packet"].put(stream_p) + elif stream_p.HasField("digest"): + self.stream_in_q["digest"].put(stream_p) + else: + self.stream_in_q["unknown"].put(stream_p) + + try: + stream_recv() + except P4RuntimeException as ex: + logging.critical("StreamChannel error, closing stream") + logging.critical(ex) + for k in self.stream_in_q: + self.stream_in_q[k].put(None) + + self.stream = self.stub.StreamChannel(stream_req_iterator()) + self.stream_recv_thread = threading.Thread( + target=stream_recv_wrapper, args=(self.stream,)) + self.stream_recv_thread.start() + self.handshake() + + def handshake(self): + """ + Handshake with gRPC server. + """ + + req = p4runtime_pb2.StreamMessageRequest() + arbitration = req.arbitration + arbitration.device_id = self.device_id + election_id = arbitration.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + if self.role_name is not None: + arbitration.role.name = self.role_name + self.stream_out_q.put(req) + + rep = self.get_stream_packet(STREAM_ATTR_ARBITRATION, timeout=2) + if rep is None: + logging.critical("Failed to establish session with server") + sys.exit(1) + is_primary = (rep.arbitration.status.code == code_pb2.OK) + logging.debug("Session established, client is '%s'", + "primary" if is_primary else "backup") + if not is_primary: + print("You are not the primary client," + "you only have read access to the server") + + def get_stream_packet(self, type_, timeout=1): + """ + Get a new message from the stream. + + :param type_: stream type. + :param timeout: time to wait. + :return: message or None + """ + if type_ not in self.stream_in_q: + print("Unknown stream type 's"'', type_) + return None + try: + msg = self.stream_in_q[type_].get(timeout=timeout) + return msg + except queue.Empty: # timeout expired + return None + + @parse_p4runtime_error + def get_p4info(self): + """ + Retrieve P4Info content. + + :return: P4Info object. + """ + logging.debug("Retrieving P4Info file") + req = p4runtime_pb2.GetForwardingPipelineConfigRequest() + req.device_id = self.device_id + req.response_type = \ + p4runtime_pb2.GetForwardingPipelineConfigRequest.P4INFO_AND_COOKIE + rep = self.stub.GetForwardingPipelineConfig(req) + return rep.config.p4info + + @parse_p4runtime_error + def set_fwd_pipe_config(self, p4info_path, bin_path): + """ + Configure the pipeline. + + :param p4info_path: path to the P4Info file + :param bin_path: path to the binary file + :return: + """ + logging.debug("Setting forwarding pipeline config") + req = p4runtime_pb2.SetForwardingPipelineConfigRequest() + req.device_id = self.device_id + if self.role_name is not None: + req.role = self.role_name + election_id = req.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + req.action = \ + p4runtime_pb2.SetForwardingPipelineConfigRequest.VERIFY_AND_COMMIT + with open(p4info_path, "r", encoding="utf-8") as f_info: + with open(bin_path, "rb") as f_bin: + try: + google.protobuf.text_format.Merge( + f_info.read(), req.config.p4info) + except google.protobuf.text_format.ParseError: + logging.error("Error when parsing P4Info") + raise + req.config.p4_device_config = f_bin.read() + return self.stub.SetForwardingPipelineConfig(req) + + def tear_down(self): + """ + Tear connection with the gRPC server down. + """ + if self.stream_out_q: + logging.debug("Cleaning up stream") + self.stream_out_q.put(None) + if self.stream_in_q: + for k in self.stream_in_q: + self.stream_in_q[k].put(None) + if self.stream_recv_thread: + self.stream_recv_thread.join() + self.channel.close() + # avoid a race condition if channel deleted when process terminates + del self.channel + + @parse_p4runtime_write_error + def __write(self, entity, mode=WriteOperation.insert): + """ + Perform a write operation. + + :param entity: P4 entity to write + :param mode: operation mode (defaults to insert) + :return: void + """ + if isinstance(entity, (list, tuple)): + for ent in entity: + self.__write(ent) + return + req = self.__get_new_write_request() + update = req.updates.add() + update.type = select_operation(mode) + msg_entity = select_entity_type(entity, update) + if not msg_entity: + msg = f"{mode.name} operation for entity {entity.__name__}" \ + f"not supported" + raise P4RuntimeWriteException(msg) + msg_entity.CopyFrom(entity) + self.__simple_write(req) + + def __get_new_write_request(self): + """ + Create a new write request message. + + :return: write request message + """ + req = p4runtime_pb2.WriteRequest() + req.device_id = self.device_id + if self.role_name is not None: + req.role = self.role_name + election_id = req.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + return req + + @parse_p4runtime_write_error + def __simple_write(self, req): + """ + Send a write operation into the wire. + + :param req: write operation request + :return: void + """ + try: + return self.stub.Write(req) + except grpc.RpcError as ex: + if ex.code() != grpc.StatusCode.UNKNOWN: + raise ex + raise P4RuntimeWriteException(ex) from ex + + @parse_p4runtime_write_error + def insert(self, entity): + """ + Perform an insert write operation. + + :param entity: P4 entity to insert + :return: void + """ + return self.__write(entity, WriteOperation.insert) + + @parse_p4runtime_write_error + def update(self, entity): + """ + Perform an update write operation. + + :param entity: P4 entity to update + :return: void + """ + return self.__write(entity, WriteOperation.update) + + @parse_p4runtime_write_error + def delete(self, entity): + """ + Perform a delete write operation. + + :param entity: P4 entity to delete + :return: void + """ + return self.__write(entity, WriteOperation.delete) + + @parse_p4runtime_write_error + def write(self, req): + """ + Write device operation. + + :param req: write request message + :return: status + """ + req.device_id = self.device_id + if self.role_name is not None: + req.role = self.role_name + election_id = req.election_id + election_id.high = self.election_id[0] + election_id.low = self.election_id[1] + return self.__simple_write(req) + + @parse_p4runtime_write_error + def write_update(self, update): + """ + Update device operation. + + :param update: update request message + :return: status + """ + req = self.__get_new_write_request() + req.updates.extend([update]) + return self.__simple_write(req) + + # Decorator is useless here: in case of server error, + # the exception is raised during the iteration (when next() is called). + @parse_p4runtime_error + def read_one(self, entity): + """ + Read device operation. + + :param entity: P4 entity for which the read is issued + :return: status + """ + req = p4runtime_pb2.ReadRequest() + if self.role_name is not None: + req.role = self.role_name + req.device_id = self.device_id + req.entities.extend([entity]) + return self.stub.Read(req) + + @parse_p4runtime_error + def api_version(self): + """ + P4Runtime API version. + + :return: API version hex + """ + req = p4runtime_pb2.CapabilitiesRequest() + rep = self.stub.Capabilities(req) + return rep.p4runtime_api_version diff --git a/src/device/service/drivers/p4/p4_common.py b/src/device/service/drivers/p4/p4_common.py new file mode 100644 index 0000000000000000000000000000000000000000..bcafedc1f613bfe1d1739d72f89803155b720155 --- /dev/null +++ b/src/device/service/drivers/p4/p4_common.py @@ -0,0 +1,445 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +""" +This package contains several helper functions for encoding to and decoding from +byte strings: +- integers +- IPv4 address strings +- IPv6 address strings +- Ethernet address strings +as well as static variables used by various P4 driver components. +""" + +import logging +import math +import re +import socket +import ipaddress +from ctypes import c_uint16, sizeof +import macaddress + +from common.type_checkers.Checkers import chk_type +try: + from .p4_exception import UserBadValueError +except ImportError: + from p4_exception import UserBadValueError + +P4_ATTR_DEV_ID = "id" +P4_ATTR_DEV_NAME = "name" +P4_ATTR_DEV_VENDOR = "vendor" +P4_ATTR_DEV_HW_VER = "hw_ver" +P4_ATTR_DEV_SW_VER = "sw_ver" +P4_ATTR_DEV_P4BIN = "p4bin" +P4_ATTR_DEV_P4INFO = "p4info" +P4_ATTR_DEV_TIMEOUT = "timeout" + +P4_VAL_DEF_VENDOR = "Unknown" +P4_VAL_DEF_HW_VER = "BMv2 simple_switch" +P4_VAL_DEF_SW_VER = "Stratum" +P4_VAL_DEF_TIMEOUT = 60 + + +# Logger instance +LOGGER = logging.getLogger(__name__) + + +# MAC address encoding/decoding +mac_pattern = re.compile(r"^([\da-fA-F]{2}:){5}([\da-fA-F]{2})$") + + +def matches_mac(mac_addr_string): + """ + Check whether input string is a valid MAC address or not. + + :param mac_addr_string: string-based MAC address + :return: boolean status + """ + return mac_pattern.match(mac_addr_string) is not None + + +def encode_mac(mac_addr_string): + """ + Convert string-based MAC address into bytes. + + :param mac_addr_string: string-based MAC address + :return: MAC address in bytes + """ + return bytes(macaddress.MAC(mac_addr_string)) + + +def decode_mac(encoded_mac_addr): + """ + Convert a MAC address in bytes into string-based MAC address. + + :param encoded_mac_addr: MAC address in bytes + :return: string-based MAC address + """ + return str(macaddress.MAC(encoded_mac_addr)).replace("-", ":").lower() + + +# IP address encoding/decoding +IPV4_LOCALHOST = "localhost" + + +def matches_ipv4(ip_addr_string): + """ + Check whether input string is a valid IPv4 address or not. + + :param ip_addr_string: string-based IPv4 address + :return: boolean status + """ + if ip_addr_string == IPV4_LOCALHOST: + return True + try: + addr = ipaddress.ip_address(ip_addr_string) + return isinstance(addr, ipaddress.IPv4Address) + except ValueError: + return False + + +def encode_ipv4(ip_addr_string): + """ + Convert string-based IPv4 address into bytes. + + :param ip_addr_string: string-based IPv4 address + :return: IPv4 address in bytes + """ + return socket.inet_aton(ip_addr_string) + + +def decode_ipv4(encoded_ip_addr): + """ + Convert an IPv4 address in bytes into string-based IPv4 address. + + :param encoded_ip_addr: IPv4 address in bytes + :return: string-based IPv4 address + """ + return socket.inet_ntoa(encoded_ip_addr) + + +def matches_ipv6(ip_addr_string): + """ + Check whether input string is a valid IPv6 address or not. + + :param ip_addr_string: string-based IPv6 address + :return: boolean status + """ + try: + addr = ipaddress.ip_address(ip_addr_string) + return isinstance(addr, ipaddress.IPv6Address) + except ValueError: + return False + + +def encode_ipv6(ip_addr_string): + """ + Convert string-based IPv6 address into bytes. + + :param ip_addr_string: string-based IPv6 address + :return: IPv6 address in bytes + """ + return socket.inet_pton(socket.AF_INET6, ip_addr_string) + + +def decode_ipv6(encoded_ip_addr): + """ + Convert an IPv6 address in bytes into string-based IPv6 address. + + :param encoded_ip_addr: IPv6 address in bytes + :return: string-based IPv6 address + """ + return str(ipaddress.ip_address(encoded_ip_addr)) + + +# Numerical encoding/decoding + + +def limits(c_int_type): + """ + Discover limits of numerical type. + + :param c_int_type: numerical type + :return: tuple of numerical type's limits + """ + signed = c_int_type(-1).value < c_int_type(0).value + bit_size = sizeof(c_int_type) * 8 + signed_limit = 2 ** (bit_size - 1) + return (-signed_limit, signed_limit - 1) \ + if signed else (0, 2 * signed_limit - 1) + + +def valid_port(port): + """ + Check whether input is a valid port number or not. + + :param port: port number + :return: boolean status + """ + lim = limits(c_uint16) + return lim[0] <= port <= lim[1] + + +def bitwidth_to_bytes(bitwidth): + """ + Convert number of bits to number of bytes. + + :param bitwidth: number of bits + :return: number of bytes + """ + return int(math.ceil(bitwidth / 8.0)) + + +def encode_num(number, bitwidth): + """ + Convert number into bytes. + + :param number: number to convert + :param bitwidth: number of bits + :return: number in bytes + """ + byte_len = bitwidth_to_bytes(bitwidth) + return number.to_bytes(byte_len, byteorder="big") + + +def decode_num(encoded_number): + """ + Convert number in bytes into its numerical form. + + :param encoded_number: number in bytes to convert + :return: numerical number form + """ + return int.from_bytes(encoded_number, "big") + + +# Umbrella encoder + + +def encode(variable, bitwidth): + """ + Tries to infer the type of `input` and encode it. + + :param variable: target variable + :param bitwidth: size of variable in bits + :return: encoded bytes + """ + byte_len = bitwidth_to_bytes(bitwidth) + if isinstance(variable, (list, tuple)) and len(variable) == 1: + variable = variable[0] + + if isinstance(variable, int): + encoded_bytes = encode_num(variable, bitwidth) + elif isinstance(variable, str): + if matches_mac(variable): + encoded_bytes = encode_mac(variable) + elif matches_ipv4(variable): + encoded_bytes = encode_ipv4(variable) + elif matches_ipv6(variable): + encoded_bytes = encode_ipv6(variable) + else: + try: + value = int(variable, 0) + except ValueError as ex: + raise UserBadValueError( + f"Invalid value '{variable}': " + "could not cast to integer, try in hex with 0x prefix")\ + from ex + encoded_bytes = value.to_bytes(byte_len, byteorder="big") + else: + raise Exception( + f"Encoding objects of {type(variable)} is not supported") + assert len(encoded_bytes) == byte_len + return encoded_bytes + + +# Parsers + + +def get_match_field_value(match_field): + """ + Retrieve the value of a certain match field by name. + + :param match_field: match field + :return: match filed value + """ + match_type = match_field.WhichOneof("field_match_type") + if match_type == "valid": + return match_field.valid.value + if match_type == "exact": + return match_field.exact.value + if match_type == "lpm": + return match_field.lpm.value, match_field.lpm.prefix_len + if match_type == "ternary": + return match_field.ternary.value, match_field.ternary.mask + if match_type == "range": + return match_field.range.low, match_field.range.high + raise Exception(f"Unsupported match type with type {match_type}") + + +def parse_resource_string_from_json(resource, resource_str="table-name"): + """ + Parse a given resource name within a JSON-based object. + + :param resource: JSON-based object + :param resource_str: resource string to parse + :return: value of the parsed resource string + """ + if not resource or (resource_str not in resource): + LOGGER.warning("JSON entry misses '%s' attribute", resource_str) + return None + chk_type(resource_str, resource[resource_str], str) + return resource[resource_str] + + +def parse_resource_number_from_json(resource, resource_nb): + """ + Parse a given resource number within a JSON-based object. + + :param resource: JSON-based object + :param resource_nb: resource number to parse + :return: value of the parsed resource number + """ + if not resource or (resource_nb not in resource): + LOGGER.warning( + "JSON entry misses '%s' attribute", resource_nb) + return None + chk_type(resource_nb, resource[resource_nb], int) + return resource[resource_nb] + + +def parse_resource_integer_from_json(resource, resource_nb): + """ + Parse a given integer number within a JSON-based object. + + :param resource: JSON-based object + :param resource_nb: resource number to parse + :return: value of the parsed resource number + """ + num = parse_resource_number_from_json(resource, resource_nb) + if num: + return int(num) + return -1 + + +def parse_resource_float_from_json(resource, resource_nb): + """ + Parse a given floating point number within a JSON-based object. + + :param resource: JSON-based object + :param resource_nb: resource number to parse + :return: value of the parsed resource number + """ + num = parse_resource_number_from_json(resource, resource_nb) + if num: + return float(num) + return -1.0 + + +def parse_resource_bytes_from_json(resource, resource_bytes): + """ + Parse given resource bytes within a JSON-based object. + + :param resource: JSON-based object + :param resource_bytes: resource bytes to parse + :return: value of the parsed resource bytes + """ + if not resource or (resource_bytes not in resource): + LOGGER.debug( + "JSON entry misses '%s' attribute", resource_bytes) + return None + + if resource_bytes in resource: + chk_type(resource_bytes, resource[resource_bytes], bytes) + return resource[resource_bytes] + return None + + +def parse_match_operations_from_json(resource): + """ + Parse the match operations within a JSON-based object. + + :param resource: JSON-based object + :return: map of match operations + """ + if not resource or ("match-fields" not in resource): + LOGGER.warning( + "JSON entry misses 'match-fields' list of attributes") + return {} + chk_type("match-fields", resource["match-fields"], list) + + match_map = {} + for mf_entry in resource["match-fields"]: + if ("match-field" not in mf_entry) or \ + ("match-value" not in mf_entry): + LOGGER.warning( + "JSON entry misses 'match-field' and/or " + "'match-value' attributes") + return None + chk_type("match-field", mf_entry["match-field"], str) + chk_type("match-value", mf_entry["match-value"], str) + match_map[mf_entry["match-field"]] = mf_entry["match-value"] + + return match_map + + +def parse_action_parameters_from_json(resource): + """ + Parse the action parameters within a JSON-based object. + + :param resource: JSON-based object + :return: map of action parameters + """ + if not resource or ("action-params" not in resource): + LOGGER.warning( + "JSON entry misses 'action-params' list of attributes") + return None + chk_type("action-params", resource["action-params"], list) + + action_name = parse_resource_string_from_json(resource, "action-name") + + action_params = {} + for ac_entry in resource["action-params"]: + if not ac_entry: + LOGGER.debug( + "Missing action parameter for action %s", action_name) + continue + chk_type("action-param", ac_entry["action-param"], str) + chk_type("action-value", ac_entry["action-value"], str) + action_params[ac_entry["action-param"]] = \ + ac_entry["action-value"] + + return action_params + + +def parse_integer_list_from_json(resource, resource_list, resource_item): + """ + Parse the list of integers within a JSON-based object. + + :param resource: JSON-based object + :param resource_list: name of the resource list + :param resource_item: name of the resource item + :return: list of integers + """ + if not resource or (resource_list not in resource): + LOGGER.warning( + "JSON entry misses '%s' list of attributes", resource_list) + return [] + chk_type(resource_list, resource[resource_list], list) + + integers_list = [] + for item in resource[resource_list]: + chk_type(resource_item, item[resource_item], int) + integers_list.append(item[resource_item]) + + return integers_list diff --git a/src/device/service/drivers/p4/p4_context.py b/src/device/service/drivers/p4/p4_context.py new file mode 100644 index 0000000000000000000000000000000000000000..ab01c422fe478cfe26c2f7331fc9b4653521db9f --- /dev/null +++ b/src/device/service/drivers/p4/p4_context.py @@ -0,0 +1,284 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +""" +Build some context around a given P4 info file. +""" + +from collections import Counter +import enum +from functools import partialmethod + + +@enum.unique +class P4Type(enum.Enum): + """ + P4 types. + """ + table = 1 + action = 2 + action_profile = 3 + counter = 4 + direct_counter = 5 + meter = 6 + direct_meter = 7 + controller_packet_metadata = 8 + + +P4Type.table.p4info_name = "tables" +P4Type.action.p4info_name = "actions" +P4Type.action_profile.p4info_name = "action_profiles" +P4Type.counter.p4info_name = "counters" +P4Type.direct_counter.p4info_name = "direct_counters" +P4Type.meter.p4info_name = "meters" +P4Type.direct_meter.p4info_name = "direct_meters" +P4Type.controller_packet_metadata.p4info_name = "controller_packet_metadata" + +for object_type in P4Type: + object_type.pretty_name = object_type.name.replace('_', ' ') + object_type.pretty_names = object_type.pretty_name + 's' + + +@enum.unique +class P4RuntimeEntity(enum.Enum): + """ + P4 runtime entities. + """ + table_entry = 1 + action_profile_member = 2 + action_profile_group = 3 + meter_entry = 4 + direct_meter_entry = 5 + counter_entry = 6 + direct_counter_entry = 7 + packet_replication_engine_entry = 8 + + +class Context: + """ + P4 context. + """ + def __init__(self): + self.p4info = None + self.p4info_obj_map = {} + self.p4info_obj_map_by_id = {} + self.p4info_objs_by_type = {} + + def set_p4info(self, p4info): + """ + Set a p4 info file. + + :param p4info: p4 info file + :return: void + """ + self.p4info = p4info + self._import_p4info_names() + + def get_obj(self, obj_type, name): + """ + Retrieve an object by type and name. + + :param obj_type: P4 object type + :param name: P4 object name + :return: P4 object + """ + key = (obj_type, name) + return self.p4info_obj_map.get(key, None) + + def get_obj_id(self, obj_type, name): + """ + Retrieve a P4 object's ID by type and name. + + :param obj_type: P4 object type + :param name: P4 object name + :return: P4 object ID + """ + obj = self.get_obj(obj_type, name) + if obj is None: + return None + return obj.preamble.id + + def get_param(self, action_name, name): + """ + Get an action parameter by action name. + + :param action_name: P4 action name + :param name: action parameter name + :return: action parameter + """ + action = self.get_obj(P4Type.action, action_name) + if action is None: + return None + for param in action.params: + if param.name == name: + return param + return None + + def get_mf(self, table_name, name): + """ + Get a table's match field by name. + + :param table_name: P4 table name + :param name: match field name + :return: match field + """ + table = self.get_obj(P4Type.table, table_name) + if table is None: + return None + for match_field in table.match_fields: + if match_field.name == name: + return match_field + return None + + def get_param_id(self, action_name, name): + """ + Get an action parameter ID by the action and parameter names. + + :param action_name: P4 action name + :param name: action parameter name + :return: action parameter ID + """ + param = self.get_param(action_name, name) + return None if param is None else param.id + + def get_mf_id(self, table_name, name): + """ + Get a table's match field ID by name. + + :param table_name: P4 table name + :param name: match field name + :return: match field ID + """ + match_field = self.get_mf(table_name, name) + return None if match_field is None else match_field.id + + def get_param_name(self, action_name, id_): + """ + Get an action parameter name by the action name and action ID. + + :param action_name: P4 action name + :param id_: action parameter ID + :return: action parameter name + """ + action = self.get_obj(P4Type.action, action_name) + if action is None: + return None + for param in action.params: + if param.id == id_: + return param.name + return None + + def get_mf_name(self, table_name, id_): + """ + Get a table's match field name by ID. + + :param table_name: P4 table name + :param id_: match field ID + :return: match field name + """ + table = self.get_obj(P4Type.table, table_name) + if table is None: + return None + for match_field in table.match_fields: + if match_field.id == id_: + return match_field.name + return None + + def get_objs(self, obj_type): + """ + Get P4 objects by type. + + :param obj_type: P4 object type + :return: list of tuples (object name, object) + """ + objects = self.p4info_objs_by_type[obj_type] + for name, obj in objects.items(): + yield name, obj + + def get_name_from_id(self, id_): + """ + Get P4 object name by its ID. + + :param id_: P4 object ID + :return: P4 object name + """ + return self.p4info_obj_map_by_id[id_].preamble.name + + def get_obj_by_id(self, id_): + """ + Get P4 object by its ID. + + :param id_: P4 object ID + :return: P4 object + """ + return self.p4info_obj_map_by_id[id_] + + def get_packet_metadata_name_from_id(self, ctrl_pkt_md_name, id_): + """ + Get packet metadata name by ID. + + :param ctrl_pkt_md_name: packet replication entity name + :param id_: packet metadata ID + :return: packet metadata name + """ + ctrl_pkt_md = self.get_obj( + P4Type.controller_packet_metadata, ctrl_pkt_md_name) + if not ctrl_pkt_md: + return None + for meta in ctrl_pkt_md.metadata: + if meta.id == id_: + return meta.name + return None + + # We accept any suffix that uniquely identifies the object + # among p4info objects of the same type. + def _import_p4info_names(self): + """ + Import p4 info into memory. + + :return: void + """ + suffix_count = Counter() + for obj_type in P4Type: + self.p4info_objs_by_type[obj_type] = {} + for obj in getattr(self.p4info, obj_type.p4info_name): + pre = obj.preamble + self.p4info_obj_map_by_id[pre.id] = obj + self.p4info_objs_by_type[obj_type][pre.name] = obj + suffix = None + for suf in reversed(pre.name.split(".")): + suffix = suf if suffix is None else suf + "." + suffix + key = (obj_type, suffix) + self.p4info_obj_map[key] = obj + suffix_count[key] += 1 + for key, cnt in suffix_count.items(): + if cnt > 1: + del self.p4info_obj_map[key] + + +# Add p4info object and object id "getters" for each object type; +# these are just wrappers around Context.get_obj and Context.get_obj_id. +# For example: get_table(x) and get_table_id(x) respectively call +# get_obj(P4Type.table, x) and get_obj_id(P4Type.table, x) +for object_type in P4Type: + object_name = "_".join(["get", object_type.name]) + setattr(Context, object_name, partialmethod( + Context.get_obj, object_type)) + object_name = "_".join(["get", object_type.name, "id"]) + setattr(Context, object_name, partialmethod( + Context.get_obj_id, object_type)) + +for object_type in P4Type: + object_name = "_".join(["get", object_type.p4info_name]) + setattr(Context, object_name, partialmethod(Context.get_objs, object_type)) diff --git a/src/device/service/drivers/p4/p4_driver.py b/src/device/service/drivers/p4/p4_driver.py index af05952b313d1632eacd5962cc34c4aa1b6b5a10..606bb91ebe5e14804bbdd4f34e7c795c6cfd1b32 100644 --- a/src/device/service/drivers/p4/p4_driver.py +++ b/src/device/service/drivers/p4/p4_driver.py @@ -16,13 +16,23 @@ P4 driver plugin for the TeraFlow SDN controller. """ +import os +import json import logging import threading from typing import Any, Iterator, List, Optional, Tuple, Union -from .p4_util import P4RuntimeClient,\ +from common.method_wrappers.Decorator import MetricsPool, metered_subclass_method +from common.type_checkers.Checkers import chk_type, chk_length, chk_string +from .p4_common import matches_ipv4, matches_ipv6, valid_port,\ P4_ATTR_DEV_ID, P4_ATTR_DEV_NAME, P4_ATTR_DEV_VENDOR,\ - P4_ATTR_DEV_HW_VER, P4_ATTR_DEV_SW_VER, P4_ATTR_DEV_PIPECONF,\ - P4_VAL_DEF_VENDOR, P4_VAL_DEF_HW_VER, P4_VAL_DEF_SW_VER, P4_VAL_DEF_PIPECONF + P4_ATTR_DEV_HW_VER, P4_ATTR_DEV_SW_VER,\ + P4_ATTR_DEV_P4BIN, P4_ATTR_DEV_P4INFO, P4_ATTR_DEV_TIMEOUT,\ + P4_VAL_DEF_VENDOR, P4_VAL_DEF_HW_VER, P4_VAL_DEF_SW_VER,\ + P4_VAL_DEF_TIMEOUT +from .p4_manager import P4Manager, KEY_TABLE,\ + KEY_ACTION_PROFILE, KEY_COUNTER, KEY_DIR_COUNTER, KEY_METER, KEY_DIR_METER,\ + KEY_CTL_PKT_METADATA +from .p4_client import WriteOperation try: from _Driver import _Driver @@ -31,6 +41,7 @@ except ImportError: LOGGER = logging.getLogger(__name__) +METRICS_POOL = MetricsPool('Device', 'Driver', labels={'driver': 'p4'}) class P4Driver(_Driver): """ @@ -53,208 +64,548 @@ class P4Driver(_Driver): Hardware version of the P4 device (Optional) sw_ver : str Software version of the P4 device (Optional) - pipeconf : str - P4 device table configuration (Optional) + p4bin : str + Path to P4 binary file (Optional, but must be combined with p4info) + p4info : str + Path to P4 info file (Optional, but must be combined with p4bin) + timeout : int + Device timeout in seconds (Optional) """ def __init__(self, address: str, port: int, **settings) -> None: # pylint: disable=super-init-not-called - self.__client = None + self.__manager = None self.__address = address self.__port = int(port) + self.__endpoint = None self.__settings = settings - - try: - self.__dev_id = self.__settings.get(P4_ATTR_DEV_ID) - except Exception as ex: - LOGGER.error('P4 device ID is a mandatory setting') - raise Exception from ex - - if P4_ATTR_DEV_NAME in self.__settings: - self.__dev_name = self.__settings.get(P4_ATTR_DEV_NAME) - else: - self.__dev_name = str(self.__dev_id) - LOGGER.warning( - 'No device name is provided. Setting default name: %s', - self.__dev_name) - - if P4_ATTR_DEV_VENDOR in self.__settings: - self.__dev_vendor = self.__settings.get(P4_ATTR_DEV_VENDOR) - else: - self.__dev_vendor = P4_VAL_DEF_VENDOR - LOGGER.warning( - 'No vendor is provided. Setting default vendor: %s', - self.__dev_vendor) - - if P4_ATTR_DEV_HW_VER in self.__settings: - self.__dev_hw_version = self.__settings.get(P4_ATTR_DEV_HW_VER) - else: - self.__dev_hw_version = P4_VAL_DEF_HW_VER - LOGGER.warning( - 'No HW version is provided. Setting default HW version: %s', - self.__dev_hw_version) - - if P4_ATTR_DEV_SW_VER in self.__settings: - self.__dev_sw_version = self.__settings.get(P4_ATTR_DEV_SW_VER) - else: - self.__dev_sw_version = P4_VAL_DEF_SW_VER - LOGGER.warning( - 'No SW version is provided. Setting default SW version: %s', - self.__dev_sw_version) - - if P4_ATTR_DEV_PIPECONF in self.__settings: - self.__dev_pipeconf = self.__settings.get(P4_ATTR_DEV_PIPECONF) - else: - self.__dev_pipeconf = P4_VAL_DEF_PIPECONF - LOGGER.warning( - 'No P4 pipeconf is provided. Setting default P4 pipeconf: %s', - self.__dev_pipeconf) - + self.__id = None + self.__name = None + self.__vendor = P4_VAL_DEF_VENDOR + self.__hw_version = P4_VAL_DEF_HW_VER + self.__sw_version = P4_VAL_DEF_SW_VER + self.__p4bin_path = None + self.__p4info_path = None + self.__timeout = P4_VAL_DEF_TIMEOUT self.__lock = threading.Lock() self.__started = threading.Event() self.__terminate = threading.Event() - LOGGER.info('Initializing P4 device at %s:%d with settings:', + self.__parse_and_validate_settings() + + LOGGER.info("Initializing P4 device at %s:%d with settings:", self.__address, self.__port) for key, value in settings.items(): - LOGGER.info('\t%8s = %s', key, value) + LOGGER.info("\t%8s = %s", key, value) def Connect(self) -> bool: """ - Establishes a connection between the P4 device driver and a P4 device. + Establish a connection between the P4 device driver and a P4 device. :return: boolean connection status. """ - LOGGER.info( - 'Connecting to P4 device %s:%d ...', - self.__address, self.__port) + LOGGER.info("Connecting to P4 device %s ...", self.__endpoint) with self.__lock: # Skip if already connected if self.__started.is_set(): return True - # Instantiate a gRPC channel with the P4 device - grpc_address = f'{self.__address}:{self.__port}' + # Dynamically devise an election ID election_id = (1, 0) - self.__client = P4RuntimeClient( - self.__dev_id, grpc_address, election_id) - LOGGER.info('\tConnected!') + + # Spawn a P4 manager for this device + self.__manager = P4Manager( + device_id=self.__id, + ip_address=self.__address, + port=self.__port, + election_id=election_id) + assert self.__manager + + # Start the P4 manager + try: + self.__manager.start(self.__p4bin_path, self.__p4info_path) + except Exception as ex: # pylint: disable=broad-except + raise Exception(ex) from ex + + LOGGER.info("\tConnected via P4Runtime") self.__started.set() return True def Disconnect(self) -> bool: """ - Terminates the connection between the P4 device driver and a P4 device. + Terminate the connection between the P4 device driver and a P4 device. :return: boolean disconnection status. """ - LOGGER.info( - 'Disconnecting from P4 device %s:%d ...', - self.__address, self.__port) + LOGGER.info("Disconnecting from P4 device %s ...", self.__endpoint) # If not started, assume it is already disconnected if not self.__started.is_set(): return True - # gRPC client must already be instantiated - assert self.__client + # P4 manager must already be instantiated + assert self.__manager # Trigger termination of loops and processes self.__terminate.set() # Trigger connection tear down with the P4Runtime server - self.__client.tear_down() - self.__client = None + self.__manager.stop() + self.__manager = None - LOGGER.info('\tDisconnected!') + LOGGER.info("\tDisconnected!") return True + @metered_subclass_method(METRICS_POOL) def GetInitialConfig(self) -> List[Tuple[str, Any]]: """ - Retrieves the initial configuration of a P4 device. + Retrieve the initial configuration of a P4 device. :return: list of initial configuration items. """ - LOGGER.info('P4 GetInitialConfig()') - return [] + initial_conf = [] - def GetConfig(self, resource_keys : List[str] = [])\ + with self.__lock: + if not initial_conf: + LOGGER.warning("No initial configuration for P4 device %s ...", + self.__endpoint) + return [] + + @metered_subclass_method(METRICS_POOL) + def GetConfig(self, resource_keys: List[str] = [])\ -> List[Tuple[str, Union[Any, None, Exception]]]: """ - Retrieves the current configuration of a P4 device. + Retrieve the current configuration of a P4 device. - :param resource_keys: configuration parameters to retrieve. - :return: list of values associated with the requested resource keys. + :param resource_keys: P4 resource keys to retrieve. + :return: list of values associated with the requested resource keys or + None/Exception. """ + LOGGER.info( + "Getting configuration from P4 device %s ...", self.__endpoint) - LOGGER.info('P4 GetConfig()') - return [] + # No resource keys means fetch all configuration + if len(resource_keys) == 0: + LOGGER.warning( + "GetConfig with no resource keys " + "implies getting all resource keys!") + resource_keys = [ + obj_name for obj_name, _ in self.__manager.p4_objects.items() + ] + + # Verify the input type + chk_type("resources", resource_keys, list) + + with self.__lock: + return self.__get_resources(resource_keys) - def SetConfig(self, resources : List[Tuple[str, Any]])\ + @metered_subclass_method(METRICS_POOL) + def SetConfig(self, resources: List[Tuple[str, Any]])\ -> List[Union[bool, Exception]]: """ - Submits a new configuration to a P4 device. + Submit a new configuration to a P4 device. - :param resources: configuration parameters to set. - :return: list of results for resource key changes requested. + :param resources: P4 resources to set. + :return: list of boolean results or Exceptions for resource key + changes requested. """ - LOGGER.info('P4 SetConfig()') - return [] + LOGGER.info( + "Setting configuration to P4 device %s ...", self.__endpoint) - def DeleteConfig(self, resources : List[Tuple[str, Any]])\ + if not resources or len(resources) == 0: + LOGGER.warning( + "SetConfig requires a list of resources to store " + "into the device. Nothing is provided though.") + return [] + + assert isinstance(resources, list) + + with self.__lock: + return self.__set_resources(resources) + + @metered_subclass_method(METRICS_POOL) + def DeleteConfig(self, resources: List[Tuple[str, Any]])\ -> List[Union[bool, Exception]]: """ - Revokes P4 device configuration. + Revoke P4 device configuration. :param resources: list of tuples with resource keys to be deleted. - :return: list of results for resource key deletions requested. + :return: list of boolean results or Exceptions for resource key + deletions requested. """ - LOGGER.info('P4 DeleteConfig()') - return [] + LOGGER.info( + "Deleting configuration from P4 device %s ...", self.__endpoint) + + if not resources or len(resources) == 0: + LOGGER.warning( + "DeleteConfig requires a list of resources to delete " + "from the device. Nothing is provided though.") + return [] - def GetResource(self, endpoint_uuid : str) -> Optional[str]: + with self.__lock: + return self.__delete_resources(resources) + + def GetResource(self, endpoint_uuid: str) -> Optional[str]: """ - Retrieves a certain resource from a P4 device. + Retrieve a certain resource from a P4 device. :param endpoint_uuid: target endpoint UUID. :return: The path of the endpoint or None if not found. """ - LOGGER.info('P4 GetResource()') + LOGGER.warning("GetResource() RPC not yet implemented by the P4 driver") return "" - def GetState(self, blocking=False, terminate : Optional[threading.Event] = None) -> Iterator[Tuple[str, Any]]: + def GetState(self, + blocking=False, + terminate: Optional[threading.Event] = None) -> \ + Iterator[Tuple[str, Any]]: """ - Retrieves the state of a P4 device. + Retrieve the state of a P4 device. :param blocking: if non-blocking, the driver terminates the loop and returns. + :param terminate: termination flag. :return: sequences of state sample. """ - LOGGER.info('P4 GetState()') + LOGGER.warning("GetState() RPC not yet implemented by the P4 driver") return [] - def SubscribeState(self, subscriptions : List[Tuple[str, float, float]])\ + @metered_subclass_method(METRICS_POOL) + def SubscribeState(self, subscriptions: List[Tuple[str, float, float]])\ -> List[Union[bool, Exception]]: """ - Subscribes to certain state information. + Subscribe to certain state information. :param subscriptions: list of tuples with resources to be subscribed. :return: list of results for resource subscriptions requested. """ - LOGGER.info('P4 SubscribeState()') - return [] + LOGGER.warning( + "SubscribeState() RPC not yet implemented by the P4 driver") + return [False for _ in subscriptions] - def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]])\ + @metered_subclass_method(METRICS_POOL) + def UnsubscribeState(self, subscriptions: List[Tuple[str, float, float]])\ -> List[Union[bool, Exception]]: """ - Unsubscribes from certain state information. + Unsubscribe from certain state information. :param subscriptions: list of tuples with resources to be unsubscribed. :return: list of results for resource un-subscriptions requested. """ - LOGGER.info('P4 UnsubscribeState()') - return [] + LOGGER.warning( + "UnsubscribeState() RPC not yet implemented by the P4 driver") + return [False for _ in subscriptions] + + def get_manager(self): + """ + Get an instance of the P4 manager. + + :return: P4 manager instance + """ + return self.__manager + + def __parse_and_validate_settings(self): + """ + Verify that the driver inputs comply to what is expected. + + :return: void or exception in case of validation error + """ + # Device endpoint information + assert matches_ipv4(self.__address) or (matches_ipv6(self.__address)),\ + f"{self.__address} not a valid IPv4 or IPv6 address" + assert valid_port(self.__port), \ + f"{self.__port} not a valid transport port" + self.__endpoint = f"{self.__address}:{self.__port}" + + # Device ID + try: + self.__id = self.__settings.get(P4_ATTR_DEV_ID) + except Exception as ex: + LOGGER.error("P4 device ID is a mandatory setting") + raise Exception from ex + + # Device name + if P4_ATTR_DEV_NAME in self.__settings: + self.__name = self.__settings.get(P4_ATTR_DEV_NAME) + else: + self.__name = str(self.__id) + LOGGER.warning( + "No device name is provided. Setting default name: %s", + self.__name) + + # Device vendor + if P4_ATTR_DEV_VENDOR in self.__settings: + self.__vendor = self.__settings.get(P4_ATTR_DEV_VENDOR) + else: + LOGGER.warning( + "No device vendor is provided. Setting default vendor: %s", + self.__vendor) + + # Device hardware version + if P4_ATTR_DEV_HW_VER in self.__settings: + self.__hw_version = self.__settings.get(P4_ATTR_DEV_HW_VER) + else: + LOGGER.warning( + "No HW version is provided. Setting default HW version: %s", + self.__hw_version) + + # Device software version + if P4_ATTR_DEV_SW_VER in self.__settings: + self.__sw_version = self.__settings.get(P4_ATTR_DEV_SW_VER) + else: + LOGGER.warning( + "No SW version is provided. Setting default SW version: %s", + self.__sw_version) + + # Path to P4 binary file + if P4_ATTR_DEV_P4BIN in self.__settings: + self.__p4bin_path = self.__settings.get(P4_ATTR_DEV_P4BIN) + assert os.path.exists(self.__p4bin_path),\ + "Invalid path to p4bin file" + assert P4_ATTR_DEV_P4INFO in self.__settings,\ + "p4info and p4bin settings must be provided together" + + # Path to P4 info file + if P4_ATTR_DEV_P4INFO in self.__settings: + self.__p4info_path = self.__settings.get(P4_ATTR_DEV_P4INFO) + assert os.path.exists(self.__p4info_path),\ + "Invalid path to p4info file" + assert P4_ATTR_DEV_P4BIN in self.__settings,\ + "p4info and p4bin settings must be provided together" + + if (not self.__p4bin_path) or (not self.__p4info_path): + LOGGER.warning( + "No P4 binary and info files are provided, hence " + "no pipeline will be installed on the whitebox device.\n" + "This driver will attempt to manage whatever pipeline " + "is available on the target device.") + + # Device timeout + if P4_ATTR_DEV_TIMEOUT in self.__settings: + self.__timeout = self.__settings.get(P4_ATTR_DEV_TIMEOUT) + assert self.__timeout > 0,\ + "Device timeout must be a positive integer" + else: + LOGGER.warning( + "No device timeout is provided. Setting default timeout: %s", + self.__timeout) + + def __get_resources(self, resource_keys): + """ + Retrieve the current configuration of a P4 device. + + :param resource_keys: P4 resource keys to retrieve. + :return: list of values associated with the requested resource keys or + None/Exception. + """ + resources = [] + + LOGGER.debug("GetConfig() -> Keys: %s", resource_keys) + + for resource_key in resource_keys: + entries = [] + try: + if KEY_TABLE == resource_key: + for table_name in self.__manager.get_table_names(): + t_entries = self.__manager.table_entries_to_json( + table_name) + if t_entries: + entries.append(t_entries) + elif KEY_COUNTER == resource_key: + for cnt_name in self.__manager.get_counter_names(): + c_entries = self.__manager.counter_entries_to_json( + cnt_name) + if c_entries: + entries.append(c_entries) + elif KEY_DIR_COUNTER == resource_key: + for d_cnt_name in self.__manager.get_direct_counter_names(): + dc_entries = \ + self.__manager.direct_counter_entries_to_json( + d_cnt_name) + if dc_entries: + entries.append(dc_entries) + elif KEY_METER == resource_key: + for meter_name in self.__manager.get_meter_names(): + m_entries = self.__manager.meter_entries_to_json( + meter_name) + if m_entries: + entries.append(m_entries) + elif KEY_DIR_METER == resource_key: + for d_meter_name in self.__manager.get_direct_meter_names(): + dm_entries = \ + self.__manager.direct_meter_entries_to_json( + d_meter_name) + if dm_entries: + entries.append(dm_entries) + elif KEY_ACTION_PROFILE == resource_key: + for ap_name in self.__manager.get_action_profile_names(): + ap_entries = \ + self.__manager.action_prof_member_entries_to_json( + ap_name) + if ap_entries: + entries.append(ap_entries) + elif KEY_CTL_PKT_METADATA == resource_key: + msg = f"{resource_key.capitalize()} is not a " \ + f"retrievable resource" + raise Exception(msg) + else: + msg = f"GetConfig failed due to invalid " \ + f"resource key: {resource_key}" + raise Exception(msg) + resources.append( + (resource_key, entries if entries else None) + ) + except Exception as ex: # pylint: disable=broad-except + resources.append((resource_key, ex)) + + return resources + + def __set_resources(self, resources): + """ + Submit a new configuration to a P4 device. + + :param resources: P4 resources to set. + :return: list of boolean results or Exceptions for resource key + changes requested. + """ + results = [] + + for i, resource in enumerate(resources): + str_resource_name = f"resources[#{i}]" + resource_key = "" + try: + chk_type( + str_resource_name, resource, (list, tuple)) + chk_length( + str_resource_name, resource, min_length=2, max_length=2) + resource_key, resource_value = resource + chk_string( + str_resource_name, resource_key, allow_empty=False) + except Exception as e: # pylint: disable=broad-except + LOGGER.exception( + "Exception validating %s: %s", + str_resource_name, str(resource_key)) + results.append(e) # store the exception if validation fails + continue + + try: + resource_value = json.loads(resource_value) + except Exception: # pylint: disable=broad-except + pass + + LOGGER.debug( + "SetConfig() -> Key: %s - Value: %s", + resource_key, resource_value) + + # Default operation is insert. + # P4 manager has internal logic to judge whether an entry + # to be inserted already exists, thus simply needs an update. + operation = WriteOperation.insert + + try: + self.__apply_operation(resource_key, resource_value, operation) + results.append(True) + except Exception as ex: # pylint: disable=broad-except + results.append(ex) + + print(results) + + return results + + def __delete_resources(self, resources): + """ + Revoke P4 device configuration. + + :param resources: list of tuples with resource keys to be deleted. + :return: list of boolean results or Exceptions for resource key + deletions requested. + """ + results = [] + + for i, resource in enumerate(resources): + str_resource_name = f"resources[#{i}]" + resource_key = "" + try: + chk_type( + str_resource_name, resource, (list, tuple)) + chk_length( + str_resource_name, resource, min_length=2, max_length=2) + resource_key, resource_value = resource + chk_string( + str_resource_name, resource_key, allow_empty=False) + except Exception as e: # pylint: disable=broad-except + LOGGER.exception( + "Exception validating %s: %s", + str_resource_name, str(resource_key)) + results.append(e) # store the exception if validation fails + continue + + try: + resource_value = json.loads(resource_value) + except Exception: # pylint: disable=broad-except + pass + + LOGGER.debug("DeleteConfig() -> Key: %s - Value: %s", + resource_key, resource_value) + + operation = WriteOperation.delete + + try: + self.__apply_operation(resource_key, resource_value, operation) + results.append(True) + except Exception as ex: # pylint: disable=broad-except + results.append(ex) + + print(results) + + return results + + def __apply_operation( + self, resource_key, resource_value, operation: WriteOperation): + """ + Apply a write operation to a P4 resource. + + :param resource_key: P4 resource key + :param resource_value: P4 resource value in JSON format + :param operation: write operation (i.e., insert, update, delete) + to apply + :return: True if operation is successfully applied or raise Exception + """ + + # Apply settings to the various tables + if KEY_TABLE == resource_key: + self.__manager.table_entry_operation_from_json( + resource_value, operation) + elif KEY_COUNTER == resource_key: + self.__manager.counter_entry_operation_from_json( + resource_value, operation) + elif KEY_DIR_COUNTER == resource_key: + self.__manager.direct_counter_entry_operation_from_json( + resource_value, operation) + elif KEY_METER == resource_key: + self.__manager.meter_entry_operation_from_json( + resource_value, operation) + elif KEY_DIR_METER == resource_key: + self.__manager.direct_meter_entry_operation_from_json( + resource_value, operation) + elif KEY_ACTION_PROFILE == resource_key: + self.__manager.action_prof_member_entry_operation_from_json( + resource_value, operation) + self.__manager.action_prof_group_entry_operation_from_json( + resource_value, operation) + elif KEY_CTL_PKT_METADATA == resource_key: + msg = f"{resource_key.capitalize()} is not a " \ + f"configurable resource" + raise Exception(msg) + else: + msg = f"{operation} on invalid key {resource_key}" + LOGGER.error(msg) + raise Exception(msg) + + LOGGER.debug("%s operation: %s", resource_key.capitalize(), operation) + + return True diff --git a/src/device/service/drivers/p4/p4_exception.py b/src/device/service/drivers/p4/p4_exception.py new file mode 100644 index 0000000000000000000000000000000000000000..3e3afb723b3850fd9a9b2b1c4982bf8ae31b20f7 --- /dev/null +++ b/src/device/service/drivers/p4/p4_exception.py @@ -0,0 +1,135 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +""" +P4 driver exceptions. +""" + + +class UserError(Exception): + """ + User error exception. + """ + def __init__(self, info=""): + super().__init__() + self.info = info + + def __str__(self): + return self.info + + # TODO: find better way to get a custom traceback # pylint: disable=W0511 + def _render_traceback_(self): + return [str(self)] + + +class InvalidP4InfoError(Exception): + """ + Invalid P4 info exception. + """ + def __init__(self, info=""): + super().__init__() + self.info = info + + def __str__(self): + return f"Invalid P4Info message: {self.info}" + + def _render_traceback_(self): + return [str(self)] + + +class UnknownOptionName(UserError): + """ + Unknown option name exception. + """ + def __init__(self, option_name): + super().__init__() + self.option_name = option_name + + def __str__(self): + return f"Unknown option name: {self.option_name}" + + +class InvalidOptionValueType(UserError): + """ + Invalid option value type exception. + """ + def __init__(self, option, value): + super().__init__() + self.option = option + self.value = value + + def __str__(self): + return f"Invalid value type for option {self.option.name}. "\ + "Expected {self.option.value.__name__} but got "\ + "value {self.value} with type {type(self.value).__name__}" + + +class UserBadIPv4Error(UserError): + """ + Invalid IPv4 address value exception. + """ + def __init__(self, addr): + super().__init__() + self.addr = addr + + def __str__(self): + return f"{self.addr}' is not a valid IPv4 address" + + def _render_traceback_(self): + return [str(self)] + + +class UserBadIPv6Error(UserError): + """ + Invalid IPv6 address value exception. + """ + def __init__(self, addr): + super().__init__() + self.addr = addr + + def __str__(self): + return f"'{self.addr}' is not a valid IPv6 address" + + def _render_traceback_(self): + return [str(self)] + + +class UserBadMacError(UserError): + """ + Invalid MAC address value exception. + """ + def __init__(self, addr): + super().__init__() + self.addr = addr + + def __str__(self): + return f"'{self.addr}' is not a valid MAC address" + + def _render_traceback_(self): + return [str(self)] + + +class UserBadValueError(UserError): + """ + Invalid value exception. + """ + def __init__(self, info=""): + super().__init__() + self.info = info + + def __str__(self): + return self.info + + def _render_traceback_(self): + return [str(self)] diff --git a/src/device/service/drivers/p4/p4_global_options.py b/src/device/service/drivers/p4/p4_global_options.py new file mode 100644 index 0000000000000000000000000000000000000000..3457c8d556902557aa3991eee20418cf3094666c --- /dev/null +++ b/src/device/service/drivers/p4/p4_global_options.py @@ -0,0 +1,206 @@ +# Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) +# +# 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. + +""" +P4Runtime global options. +""" + +import enum +try: + from .p4_exception import UnknownOptionName, InvalidOptionValueType +except ImportError: + from p4_exception import UnknownOptionName, InvalidOptionValueType + + +@enum.unique +class Options(enum.Enum): + """ + P4 options. + """ + canonical_bytestrings = bool + + +class GlobalOptions: + """ + P4 global options. + """ + option_defaults = { + Options.canonical_bytestrings: True, + } + + option_helpstrings = { + Options.canonical_bytestrings: """ +Use byte-padded legacy format for binary strings sent to the P4Runtime server, +instead of the canonical representation. See P4Runtime specification for +details. +""" + } + + def __init__(self): + self._values = {} + self.reset() + self._option_names = [option.name for option in Options] + self._set_docstring() + + def reset(self): + """ + Reset all options to their defaults. + + :return: void + """ + for option in Options: + assert option in GlobalOptions.option_defaults + self._values[option] = GlobalOptions.option_defaults[option] + + def _supported_options_as_str(self): + """ + Return a comma-separated string of supported options. + + :return: string of supported options + """ + return ", ".join([f"{o.name} ({o.value.__name__})" for o in Options]) + + def _supported_options_as_str_verbose(self): + """ + Return a detailed comma-separated string of supported options. + + :return: string of supported options + """ + opt_str = "" + for option in Options: + opt_str += f"Option name: {option.name}\n" + opt_str += f"Type: {option.value.__name__}\n" + opt_str += f"Default value: " \ + f"{GlobalOptions.option_defaults[option]}\n" + opt_str += f"Description: " \ + f"{GlobalOptions.option_helpstrings.get(option, 'N/A')}\n" + opt_str += "\n" + return opt_str[:-1] + + def _set_docstring(self): + """ + Set the documentation for this object. + + :return: void + """ + self.__doc__ = f""" +Manage global options for the P4Runtime shell. +Supported options are: {self._supported_options_as_str()} +To set the value of a global option, use GLOBAL_OPTIONS["